2025-12-09 17:51:05 +00:00
---
2026-02-07 10:28:19 -05:00
summary: "Deep troubleshooting runbook for gateway, channels, automation, nodes, and browser"
2025-12-09 17:51:05 +00:00
read_when:
2026-02-07 10:28:19 -05:00
- The troubleshooting hub pointed you here for deeper diagnosis
- You need stable symptom based runbook sections with exact commands
2026-01-31 16:04:03 -05:00
title: "Troubleshooting"
2025-12-09 17:51:05 +00:00
---
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
# Gateway troubleshooting
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
This page is the deep runbook.
Start at [/help/troubleshooting ](/help/troubleshooting ) if you want the fast triage flow first.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
## Command ladder
2026-01-08 07:58:14 +01:00
2026-02-07 10:28:19 -05:00
Run these first, in this order:
2026-01-31 21:13:13 +09:00
2026-01-25 00:07:13 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
2026-01-25 00:07:13 +00:00
```
2026-02-07 10:28:19 -05:00
Expected healthy signals:
2026-01-24 09:21:11 +00:00
2026-02-07 10:28:19 -05:00
- `openclaw gateway status` shows `Runtime: running` and `RPC probe: ok` .
- `openclaw doctor` reports no blocking config/service issues.
- `openclaw channels status --probe` shows connected/ready channels.
2026-01-24 09:21:11 +00:00
2026-02-07 10:28:19 -05:00
## No replies
2026-01-24 09:21:11 +00:00
2026-02-07 10:28:19 -05:00
If channels are up but nothing answers, check routing and policy before reconnecting anything.
2026-01-24 09:21:11 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw status
openclaw channels status --probe
openclaw pairing list < channel >
openclaw config get channels
openclaw logs --follow
2026-01-24 09:21:11 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2026-01-21 23:58:30 +00:00
2026-02-07 10:28:19 -05:00
- Pairing pending for DM senders.
- Group mention gating (`requireMention` , `mentionPatterns` ).
- Channel/group allowlist mismatches.
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-21 23:58:30 +00:00
2026-02-07 10:28:19 -05:00
- `drop guild message (mention required` → group message ignored until mention.
- `pairing request` → sender needs approval.
- `blocked` / `allowlist` → sender/channel was filtered by policy.
2026-01-05 15:13:51 +02:00
2026-02-07 10:28:19 -05:00
Related:
2026-01-05 15:13:51 +02:00
2026-02-07 10:28:19 -05:00
- [/channels/troubleshooting ](/channels/troubleshooting )
2026-02-07 15:40:35 -05:00
- [/channels/pairing ](/channels/pairing )
- [/channels/groups ](/channels/groups )
2026-01-08 02:28:21 +01:00
2026-02-07 10:28:19 -05:00
## Dashboard control ui connectivity
2026-01-08 02:28:21 +01:00
2026-02-07 10:28:19 -05:00
When dashboard/control UI will not connect, validate URL, auth mode, and secure context assumptions.
2026-01-31 21:13:13 +09:00
2026-01-08 02:28:21 +01:00
```bash
2026-01-30 03:15:10 +01:00
openclaw gateway status
2026-02-07 10:28:19 -05:00
openclaw status
openclaw logs --follow
2026-01-30 03:15:10 +01:00
openclaw doctor
2026-02-07 10:28:19 -05:00
openclaw gateway status --json
2026-01-08 02:28:21 +01:00
```
2026-02-07 10:28:19 -05:00
Look for:
2026-01-20 15:00:03 +00:00
2026-02-07 10:28:19 -05:00
- Correct probe URL and dashboard URL.
- Auth mode/token mismatch between client and gateway.
- HTTP usage where device identity is required.
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-20 15:00:03 +00:00
2026-02-07 10:28:19 -05:00
- `device identity required` → non-secure context or missing device auth.
- `unauthorized` / reconnect loop → token/password mismatch.
- `gateway connect failed:` → wrong host/port/url target.
2026-01-08 07:42:50 +01:00
2026-02-07 10:28:19 -05:00
Related:
2026-01-08 07:42:50 +01:00
2026-02-07 10:28:19 -05:00
- [/web/control-ui ](/web/control-ui )
- [/gateway/authentication ](/gateway/authentication )
- [/gateway/remote ](/gateway/remote )
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
## Gateway service not running
2026-01-08 08:24:16 +01:00
2026-02-07 10:28:19 -05:00
Use this when service is installed but process does not stay up.
2026-01-31 21:13:13 +09:00
2026-01-08 02:28:21 +01:00
```bash
2026-01-30 03:15:10 +01:00
openclaw gateway status
openclaw status
openclaw logs --follow
2026-02-07 10:28:19 -05:00
openclaw doctor
openclaw gateway status --deep
2026-01-09 22:58:11 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- `Runtime: stopped` with exit hints.
- Service config mismatch (`Config (cli)` vs `Config (service)` ).
- Port/listener conflicts.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2025-12-03 15:45:32 +00:00
2026-02-14 18:06:48 +01:00
- `Gateway start blocked: set gateway.mode=local` → local gateway mode is not enabled. Fix: set `gateway.mode="local"` in your config (or run `openclaw configure` ). If you are running OpenClaw via Podman using the dedicated `openclaw` user, the config lives at `~openclaw/.openclaw/openclaw.json` .
2026-02-07 10:28:19 -05:00
- `refusing to bind gateway ... without auth` → non-loopback bind without token/password.
- `another gateway instance is already listening` / `EADDRINUSE` → port conflict.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Related:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- [/gateway/background-process ](/gateway/background-process )
- [/gateway/configuration ](/gateway/configuration )
- [/gateway/doctor ](/gateway/doctor )
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
## Channel connected messages not flowing
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
If channel state is connected but message flow is dead, focus on policy, permissions, and channel specific delivery rules.
2025-12-03 15:45:32 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw channels status --probe
openclaw pairing list < channel >
2026-01-30 03:15:10 +01:00
openclaw status --deep
2026-02-07 10:28:19 -05:00
openclaw logs --follow
openclaw config get channels
2025-12-03 15:45:32 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2025-12-13 13:25:49 +00:00
2026-02-07 10:28:19 -05:00
- DM policy (`pairing` , `allowlist` , `open` , `disabled` ).
- Group allowlist and mention requirements.
- Missing channel API permissions/scopes.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2025-12-13 13:25:49 +00:00
2026-02-07 10:28:19 -05:00
- `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.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Related:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- [/channels/troubleshooting ](/channels/troubleshooting )
- [/channels/whatsapp ](/channels/whatsapp )
- [/channels/telegram ](/channels/telegram )
- [/channels/discord ](/channels/discord )
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
## Cron and heartbeat delivery
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
If cron or heartbeat did not run or did not deliver, verify scheduler state first, then delivery target.
2026-01-31 21:13:13 +09:00
2025-12-03 15:45:32 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw cron status
openclaw cron list
openclaw cron runs --id < jobId > --limit 20
openclaw system heartbeat last
openclaw logs --follow
2025-12-03 15:45:32 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- Cron enabled and next wake present.
- Job run history status (`ok` , `skipped` , `error` ).
- Heartbeat skip reasons (`quiet-hours` , `requests-in-flight` , `alerts-disabled` ).
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
- `cron: scheduler disabled; jobs will not run automatically` → cron disabled.
- `cron: timer tick failed` → scheduler tick failed; check file/log/runtime errors.
- `heartbeat skipped` with `reason=quiet-hours` → outside active hours window.
- `heartbeat: unknown accountId` → invalid account id for heartbeat delivery target.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Related:
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
- [/automation/troubleshooting ](/automation/troubleshooting )
- [/automation/cron-jobs ](/automation/cron-jobs )
- [/gateway/heartbeat ](/gateway/heartbeat )
2026-01-19 03:38:51 +00:00
2026-02-07 10:28:19 -05:00
## Node paired tool fails
2026-01-19 03:38:51 +00:00
2026-02-07 10:28:19 -05:00
If a node is paired but tools fail, isolate foreground, permission, and approval state.
2026-01-31 21:13:13 +09:00
2026-01-19 03:38:51 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw nodes status
openclaw nodes describe --node < idOrNameOrIp >
openclaw approvals get --node < idOrNameOrIp >
openclaw logs --follow
openclaw status
2026-01-19 03:38:51 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2026-01-19 03:38:51 +00:00
2026-02-07 10:28:19 -05:00
- Node online with expected capabilities.
- OS permission grants for camera/mic/location/screen.
- Exec approvals and allowlist state.
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
- `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.
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Related:
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
- [/nodes/troubleshooting ](/nodes/troubleshooting )
- [/nodes/index ](/nodes/index )
- [/tools/exec-approvals ](/tools/exec-approvals )
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
## Browser tool fails
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Use this when browser tool actions fail even though the gateway itself is healthy.
2026-01-16 06:35:10 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw browser status
openclaw browser start --browser-profile openclaw
openclaw browser profiles
openclaw logs --follow
2026-01-30 03:15:10 +01:00
openclaw doctor
2026-01-16 06:35:10 +00:00
```
2026-02-07 10:28:19 -05:00
Look for:
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
- Valid browser executable path.
- CDP profile reachability.
- Extension relay tab attachment for `profile="chrome"` .
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
- `Failed to start Chrome CDP on port` → browser process failed to launch.
- `browser.executablePath not found` → configured path is invalid.
- `Chrome extension relay is running, but no tab is connected` → extension relay not attached.
- `Browser attachOnly is enabled ... not reachable` → attach-only profile has no reachable target.
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Related:
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
- [/tools/browser-linux-troubleshooting ](/tools/browser-linux-troubleshooting )
- [/tools/chrome-extension ](/tools/chrome-extension )
- [/tools/browser ](/tools/browser )
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
## If you upgraded and something suddenly broke
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
Most post-upgrade breakage is config drift or stricter defaults now being enforced.
2026-01-16 06:35:10 +00:00
2026-02-07 10:28:19 -05:00
### 1) Auth and URL override behavior changed
2026-01-31 21:13:13 +09:00
2026-01-01 15:38:27 +01:00
```bash
2026-01-30 03:15:10 +01:00
openclaw gateway status
2026-02-07 10:28:19 -05:00
openclaw config get gateway.mode
openclaw config get gateway.remote.url
openclaw config get gateway.auth.mode
2026-01-01 15:38:27 +01:00
```
2026-02-07 10:28:19 -05:00
What to check:
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
- If `gateway.mode=remote` , CLI calls may be targeting remote while your local service is fine.
- Explicit `--url` calls do not fall back to stored credentials.
2026-01-08 08:24:16 +01:00
2026-02-07 10:28:19 -05:00
Common signatures:
2026-01-31 21:13:13 +09:00
2026-02-07 10:28:19 -05:00
- `gateway connect failed:` → wrong URL target.
- `unauthorized` → endpoint reachable but wrong auth.
2026-01-06 03:25:21 +01:00
2026-02-07 10:28:19 -05:00
### 2) Bind and auth guardrails are stricter
2026-01-31 21:13:13 +09:00
2026-01-11 10:15:37 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw config get gateway.bind
openclaw config get gateway.auth.token
openclaw gateway status
openclaw logs --follow
2026-01-11 10:15:37 +00:00
```
2026-01-01 15:38:27 +01:00
2026-02-07 10:28:19 -05:00
What to check:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- Non-loopback binds (`lan` , `tailnet` , `custom` ) need auth configured.
- Old keys like `gateway.token` do not replace `gateway.auth.token` .
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- `refusing to bind gateway ... without auth` → bind+auth mismatch.
- `RPC probe: failed` while runtime is running → gateway alive but inaccessible with current auth/url.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
### 3) Pairing and device identity state changed
2025-12-03 15:45:32 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw devices list
openclaw pairing list < channel >
2026-01-30 03:15:10 +01:00
openclaw logs --follow
2026-02-07 10:28:19 -05:00
openclaw doctor
2025-12-03 15:45:32 +00:00
```
2026-02-07 10:28:19 -05:00
What to check:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- Pending device approvals for dashboard/nodes.
- Pending DM pairing approvals after policy or identity changes.
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
Common signatures:
2025-12-03 15:45:32 +00:00
2026-02-07 10:28:19 -05:00
- `device identity required` → device auth not satisfied.
- `pairing required` → sender/device must be approved.
2026-01-05 15:16:00 +00:00
2026-02-07 10:28:19 -05:00
If the service config and runtime still disagree after checks, reinstall service metadata from the same profile/state directory:
2026-01-31 21:13:13 +09:00
2026-01-05 15:16:00 +00:00
```bash
2026-02-07 10:28:19 -05:00
openclaw gateway install --force
openclaw gateway restart
2026-01-05 15:16:00 +00:00
```
2026-02-07 10:28:19 -05:00
Related:
2026-01-05 15:16:00 +00:00
2026-02-07 10:28:19 -05:00
- [/gateway/pairing ](/gateway/pairing )
- [/gateway/authentication ](/gateway/authentication )
- [/gateway/background-process ](/gateway/background-process )