Troubleshooting
Gateway troubleshooting
Section titled “Gateway troubleshooting”This page is the deep runbook. Start at /help/troubleshooting if you want the fast triage flow first.
Command ladder
Section titled “Command ladder”Run these first, in this order:
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeExpected healthy signals:
openclaw gateway statusshowsRuntime: runningandRPC probe: ok.openclaw doctorreports no blocking config/service issues.openclaw channels status --probeshows connected/ready channels.
Anthropic 429 extra usage required for long context
Section titled “Anthropic 429 extra usage required for long context”Use this when logs/errors include:
HTTP 429: rate_limit_error: Extra usage is required for long context requests.
openclaw logs --followopenclaw models statusopenclaw config get agents.defaults.modelsLook for:
- Selected Anthropic Opus/Sonnet model has
params.context1m: true. - Current Anthropic credential is not eligible for long-context usage.
- Requests fail only on long sessions/model runs that need the 1M beta path.
Fix options:
- Disable
context1mfor that model to fall back to the normal context window. - Use an Anthropic API key with billing, or enable Anthropic Extra Usage on the subscription account.
- Configure fallback models so runs continue when Anthropic long-context requests are rejected.
Related:
- /providers/anthropic
- /reference/token-use
- /help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic
No replies
Section titled “No replies”If channels are up but nothing answers, check routing and policy before reconnecting anything.
openclaw statusopenclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw config get channelsopenclaw logs --followLook for:
- Pairing pending for DM senders.
- Group mention gating (
requireMention,mentionPatterns). - Channel/group allowlist mismatches.
Common signatures:
drop guild message (mention required→ group message ignored until mention.pairing request→ sender needs approval.blocked/allowlist→ sender/channel was filtered by policy.
Related:
Dashboard control ui connectivity
Section titled “Dashboard control ui connectivity”When dashboard/control UI will not connect, validate URL, auth mode, and secure context assumptions.
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --jsonLook for:
- Correct probe URL and dashboard URL.
- Auth mode/token mismatch between client and gateway.
- HTTP usage where device identity is required.
Common signatures:
device identity required→ non-secure context or missing device auth.device nonce required/device nonce mismatch→ client is not completing the challenge-based device auth flow (connect.challenge+device.nonce).device signature invalid/device signature expired→ client signed the wrong payload (or stale timestamp) for the current handshake.AUTH_TOKEN_MISMATCHwithcanRetryWithDeviceToken=true→ client can do one trusted retry with cached device token.- repeated
unauthorizedafter that retry → shared token/device token drift; refresh token config and re-approve/rotate device token if needed. gateway connect failed:→ wrong host/port/url target.
Auth detail codes quick map
Section titled “Auth detail codes quick map”Use error.details.code from the failed connect response to pick the next action:
| Detail code | Meaning | Recommended action |
|---|---|---|
AUTH_TOKEN_MISSING | Client did not send a required shared token. | Paste/set token in the client and retry. For dashboard paths: openclaw config get gateway.auth.token then paste into Control UI settings. |
AUTH_TOKEN_MISMATCH | Shared token did not match gateway auth token. | If canRetryWithDeviceToken=true, allow one trusted retry. If still failing, run the token drift recovery checklist. |
AUTH_DEVICE_TOKEN_MISMATCH | Cached per-device token is stale or revoked. | Rotate/re-approve device token using devices CLI, then reconnect. |
PAIRING_REQUIRED | Device identity is known but not approved for this role. | Approve pending request: openclaw devices list then openclaw devices approve <requestId>. |
Device auth v2 migration check:
openclaw --versionopenclaw doctoropenclaw gateway statusIf logs show nonce/signature errors, update the connecting client and verify it:
- waits for
connect.challenge - signs the challenge-bound payload
- sends
connect.params.device.noncewith the same challenge nonce
Related:
- /web/control-ui
- /gateway/configuration (gateway auth modes)
- /gateway/trusted-proxy-auth
- /gateway/remote
- /cli/devices
Gateway service not running
Section titled “Gateway service not running”Use this when service is installed but process does not stay up.
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --deepLook for:
Runtime: stoppedwith exit hints.- Service config mismatch (
Config (cli)vsConfig (service)). - Port/listener conflicts.
Common signatures:
Gateway start blocked: set gateway.mode=local→ local gateway mode is not enabled. Fix: setgateway.mode="local"in your config (or runopenclaw configure). If you are running OpenClaw via Podman, the default config path is~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ non-loopback bind without token/password.another gateway instance is already listening/EADDRINUSE→ port conflict.
Related:
Channel connected messages not flowing
Section titled “Channel connected messages not flowing”If channel state is connected but message flow is dead, focus on policy, permissions, and channel specific delivery rules.
openclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw status --deepopenclaw logs --followopenclaw config get channelsLook for:
- DM policy (
pairing,allowlist,open,disabled). - Group allowlist and mention requirements.
- Missing channel API permissions/scopes.
Common signatures:
mention required→ message ignored by group mention policy.pairing/ pending approval traces → sender is not approved.missing_scope,not_in_channel,Forbidden,401/403→ channel auth/permissions issue.
Related:
Cron and heartbeat delivery
Section titled “Cron and heartbeat delivery”If cron or heartbeat did not run or did not deliver, verify scheduler state first, then delivery target.
openclaw cron statusopenclaw cron listopenclaw cron runs --id <jobId> --limit 20openclaw system heartbeat lastopenclaw logs --followLook for:
- Cron enabled and next wake present.
- Job run history status (
ok,skipped,error). - Heartbeat skip reasons (
quiet-hours,requests-in-flight,alerts-disabled).
Common signatures:
cron: scheduler disabled; jobs will not run automatically→ cron disabled.cron: timer tick failed→ scheduler tick failed; check file/log/runtime errors.heartbeat skippedwithreason=quiet-hours→ outside active hours window.heartbeat: unknown accountId→ invalid account id for heartbeat delivery target.heartbeat skippedwithreason=dm-blocked→ heartbeat target resolved to a DM-style destination whileagents.defaults.heartbeat.directPolicy(or per-agent override) is set toblock.
Related:
Node paired tool fails
Section titled “Node paired tool fails”If a node is paired but tools fail, isolate foreground, permission, and approval state.
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followopenclaw statusLook for:
- Node online with expected capabilities.
- OS permission grants for camera/mic/location/screen.
- Exec approvals and allowlist state.
Common signatures:
NODE_BACKGROUND_UNAVAILABLE→ node app must be in foreground.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ missing OS permission.SYSTEM_RUN_DENIED: approval required→ exec approval pending.SYSTEM_RUN_DENIED: allowlist miss→ command blocked by allowlist.
Related:
Browser tool fails
Section titled “Browser tool fails”Use this when browser tool actions fail even though the gateway itself is healthy.
openclaw browser statusopenclaw browser start --browser-profile openclawopenclaw browser profilesopenclaw logs --followopenclaw doctorLook for:
- Whether
plugins.allowis set and includesbrowser. - Valid browser executable path.
- CDP profile reachability.
- Local Chrome availability for
existing-session/userprofiles.
Common signatures:
unknown command "browser"orunknown command 'browser'→ the bundled browser plugin is excluded byplugins.allow.- browser tool missing / unavailable while
browser.enabled=true→plugins.allowexcludesbrowser, so the plugin never loaded. Failed to start Chrome CDP on port→ browser process failed to launch.browser.executablePath not found→ configured path is invalid.No Chrome tabs found for profile="user"→ the Chrome MCP attach profile has no open local Chrome tabs.Browser attachOnly is enabled ... not reachable→ attach-only profile has no reachable target.
Related:
If you upgraded and something suddenly broke
Section titled “If you upgraded and something suddenly broke”Most post-upgrade breakage is config drift or stricter defaults now being enforced.
1) Auth and URL override behavior changed
Section titled “1) Auth and URL override behavior changed”openclaw gateway statusopenclaw config get gateway.modeopenclaw config get gateway.remote.urlopenclaw config get gateway.auth.modeWhat to check:
- If
gateway.mode=remote, CLI calls may be targeting remote while your local service is fine. - Explicit
--urlcalls do not fall back to stored credentials.
Common signatures:
gateway connect failed:→ wrong URL target.unauthorized→ endpoint reachable but wrong auth.
2) Bind and auth guardrails are stricter
Section titled “2) Bind and auth guardrails are stricter”openclaw config get gateway.bindopenclaw config get gateway.auth.tokenopenclaw gateway statusopenclaw logs --followWhat to check:
- Non-loopback binds (
lan,tailnet,custom) need auth configured. - Old keys like
gateway.tokendo not replacegateway.auth.token.
Common signatures:
refusing to bind gateway ... without auth→ bind+auth mismatch.RPC probe: failedwhile runtime is running → gateway alive but inaccessible with current auth/url.
3) Pairing and device identity state changed
Section titled “3) Pairing and device identity state changed”openclaw devices listopenclaw pairing list --channel <channel> [--account <id>]openclaw logs --followopenclaw doctorWhat to check:
- Pending device approvals for dashboard/nodes.
- Pending DM pairing approvals after policy or identity changes.
Common signatures:
device identity required→ device auth not satisfied.pairing required→ sender/device must be approved.
If the service config and runtime still disagree after checks, reinstall service metadata from the same profile/state directory:
openclaw gateway install --forceopenclaw gateway restartRelated: