Skip to main content

Health checks

WednesdayAI provides several tools to verify that the gateway, channels, and AI providers are all working correctly.

Quick health commands

openclaw status

Shows a compact local summary:
  • Gateway reachability and mode (local/remote)
  • Linked channel auth age and connectivity
  • Active sessions and recent activity
  • Available update (if newer version is published)
Flags:

openclaw health

Asks the running gateway for a full health snapshot via WebSocket:
The snapshot is cached for 30 seconds. To bypass the cache and force a live probe, pass --probe:
Returns:
  • Per-channel connectivity probes (linked state, auth age, last probe result)
  • Session store summary (path, session count, recent session list)
  • Heartbeat interval and default agent ID
  • Per-agent health summaries
  • Probe duration
The full response is only available to gateway connections authenticated with operator.admin scope. Non-admin connections receive a redacted summary without per-channel credential details. Exits non-zero if the gateway is unreachable or any probe fails.

--json response schema

openclaw health --json returns a HealthSummary object: ChannelHealthSummary (per channel, and per account for multi-account channels): AgentHealthSummary:

openclaw doctor

The repair and validation tool. Checks config, channel state, model auth, service health, and offers fixes:
Doctor checks include:
  • Config file validation (unknown keys, invalid values)
  • Channel auth status and credential freshness
  • Model auth (OAuth expiry, API key presence)
  • Gateway service status (installed but not running)
  • Port collision on the default port 18789
  • Security warnings (open DM policies, missing gateway auth token)
  • Legacy config migrations and on-disk state moves
  • File permission checks (~/.openclaw/openclaw.json should be chmod 600)

Channel-specific health

Send /status in-chat

Send /status as a message in WhatsApp, Telegram, or WebChat to get a status reply without invoking the agent. Useful for verifying that the channel is routing messages end-to-end.

Channel logs

Filter for these log patterns when debugging channel connectivity:
  • web-heartbeat — WebSocket keepalive
  • web-reconnect — reconnect attempts
  • web-auto-reply — auto-reply triggers
  • web-inbound — incoming message handling

WhatsApp credentials

creds.json modification time should be recent. Stale or missing credentials mean the channel is logged out. Relink flow (when logged out or seeing status codes 409–515):

Model provider health

Use --check in monitoring scripts and cron jobs to alert on expiring tokens.

Automated monitoring

Cron / systemd timer

A minimal health-check script:
Wire it into a systemd timer or cron job:

OpenTelemetry / Prometheus

For production deployments, enable diagnostics to export gateway health metrics to your observability stack. See Logging for OTLP configuration. Key metrics to monitor:
  • openclaw.message.processed — message throughput and error rates
  • openclaw.session.stuck — sessions stuck in a state (indicates a hung run)
  • openclaw.webhook.error — channel webhook errors

Common failure patterns

If the service is installed but stopped:
If the port is in use:
The channel credentials have expired or been revoked. Relink:
For WhatsApp: the phone that holds the linked account must be online and reachable during the relink.
Check these in order:
  1. Channel is linked: openclaw status --deep
  2. Sender is in the allowlist: check channels.<channel>.allowFrom in config
  3. For group chats: verify channels.<channel>.groups and mentionPatterns in agent config
  4. Logs show the webhook is firing: openclaw channels logs --channel <name> --follow
  5. Gateway webhook URL is registered: re-run openclaw channels login --channel <name>
For API key auth — add the new key:
For subscription (setup-token) auth: