Skip to main content
WaGo writes runtime logs to stdout by default. If you run the binary under systemd, Docker, PM2, or another process manager, read logs from that service.

Startup logs

On startup, WaGo logs the runtime flags and server address:
INF Flags address=0.0.0.0 admintoken=... webhookfiles=true connectstartup=true storehistory=false
INF Server Started address=0.0.0.0 port=1337
Useful startup fields:
FieldMeaning
addressInterface the API binds to. Default is 0.0.0.0.
wadebugWhatsApp client debug level. Empty by default.
webhookfilesWhether inbound media files are downloaded and forwarded to webhooks.
connectstartupWhether WaGo reconnects sessions marked connected when the binary starts.
storehistoryWhether history sync data is written to disk.

Runtime flags

Common flags:
./wago -address 0.0.0.0 -admintoken YOUR_ADMIN_TOKEN
FlagDefaultUse
-address0.0.0.0API bind address.
-admintokenqwertAdmin token for session/admin endpoints. Change this in production.
-wadebugemptyEnables WhatsApp client debug logging. Common values are INFO or DEBUG.
-webhookfilestrueDownload inbound media and send it as webhook file upload.
-connectstartuptrueReconnect sessions that were connected before restart.
-storehistoryfalseStore history sync payloads under history/user_<id>/.
-storemessagefalseStore message delivery/read status rows for /message/status.
-retrymessagefalseRetry decrypting failed inbound messages.

Request logs

API requests are logged with method, URL, status, response size, duration, and user ID:
INF Got API Request method=POST url=/send/text status=200 duration=42ms userid=1
Use these fields to answer:
  • Did WaGo receive the request?
  • Which endpoint was called?
  • Did the endpoint return 200, 400, 401, 404, or 500?
  • Which WaGo user/session handled it?
  • Was the request slow?

Session logs

Common session messages:
Log messageMeaning
Starting websocket connection to WhatsappWaGo is creating the underlying WhatsApp connection for a token.
No jid found. Creating new deviceThis token has no saved WhatsApp JID yet, so QR or pair-code login is needed.
QR pair successThe phone scanned the QR or pairing completed.
Already logged in, just connectSaved session credentials exist and WaGo is reconnecting.
Received kill signalSession is being disconnected or logged out by WaGo.

Webhook logs

Common webhook messages:
Log messageMeaning
Calling webhookWaGo found a configured webhook URL for this token.
Skipping webhook. Not subscribed for this typeThe event happened, but the token’s Subscribe list does not include that event type and is not All.
No webhook set for userThe token has no webhook URL configured.
Sending POSTWaGo is posting form data to the webhook URL.
Failed to send POST requestFile webhook delivery failed. Check receiver URL, TLS, timeout, or upload limits.

Message logs

Common message logs:
Log messageMeaning
Message sentWaGo sent an outbound message and has an ID.
Message ReceivedWhatsApp delivered a message event to WaGo.
Failed to download image/audio/document/video/stickerWaGo could not download inbound media for webhook file forwarding.
Message was readA read receipt arrived.
Message deliveredA delivery receipt arrived.

Call logs

Common call logs:
Log messageMeaning
Got call offerIncoming call offer event from WhatsApp.
Got call acceptRemote side accepted a call.
Got call terminateCall ended or was terminated.
Started browser audio receiverWebRTC live audio began receiving browser audio.
Failed to decode browser Opus packetBrowser sent a packet WaGo could not decode. If audio works, occasional short/empty packet logs can be harmless.

What to collect for support

When asking for help, include:
  • WaGo version shown by your binary or release.
  • The endpoint called.
  • HTTP status and response body.
  • Relevant log lines around the request.
  • Whether the token is connected and logged in.
  • Whether the issue happens for all contacts or one contact.
  • For media, the media type and approximate file size.
  • For calls, whether the browser is HTTPS and whether the network may need TURN.