OpenClaw Troubleshooting Guide: Every Common Error and How to Fix It in 2026

OpenClaw troubleshooting can feel overwhelming when you are staring at a cryptic error message at 11pm and your AI employee has gone silent. I have been running OpenClaw in production for months now, and I have hit nearly every error this platform can throw at you. The good news? Most problems fall into a handful of categories, and the fixes are straightforward once you know what to look for.

This guide covers every common OpenClaw error I have encountered, what causes it, and exactly how to fix it. Bookmark this one. You will need it.

Before You Debug Anything: The 60-Second Health Check

Before diving into specific errors, run this diagnostic ladder in order. It tells you exactly where the problem is in under a minute.

openclaw status
openclaw gateway status
openclaw doctor
openclaw channels status --probe
openclaw logs --follow

Here’s what healthy output looks like:

  • openclaw gateway status shows Runtime: running and RPC probe: ok
  • openclaw doctor reports no blocking config or service issues
  • openclaw channels status --probe shows your channels as connected or ready
  • openclaw logs --follow shows steady activity with no repeating fatal errors

If any of these fail, the sections below will tell you exactly what went wrong and how to fix it.

Error 1: “Unauthorized: Gateway Token Missing” (The Most Common Error)

This is the error that brings most new OpenClaw users to Google. You see something like disconnected (1008) or unauthorized: gateway token missing and suddenly nothing works.

What Causes It

The gateway token authenticates your connection to the OpenClaw gateway. When it is missing or wrong, nothing can communicate with the gateway. This happens because of:

  • Environment variable not set or not loaded by the service
  • Wrong profile being used (your CLI is talking to a different config than your running gateway)
  • Missing or mismatched token in the config file
  • macOS LaunchAgent plist not passing the environment variable through

How to Fix It

Step 1: Find your current token

openclaw config get gateway.auth.token

Step 2: If no token exists, generate one

openclaw doctor --generate-gateway-token

Step 3: If the token exists but the dashboard rejects it, copy it manually

Open your config file (usually ~/.openclaw/openclaw.json) and find the gateway.auth.token value. Paste it into the dashboard authentication field. Remove any extra quotes.

Step 4: If using a LaunchAgent (macOS), make sure the plist passes the token

This is the sneaky one. Your terminal session has the environment variable, but the LaunchAgent that runs the gateway service does not inherit your shell environment. You need to either:

  • Set the token directly in the config file (recommended)
  • Or add the environment variable to the LaunchAgent plist

Step 5: Verify and restart

openclaw doctor
openclaw gateway restart

Pro Tip

If you recently upgraded OpenClaw, note that the config key changed from gateway.token to gateway.auth.token in recent versions. The old key will not work. Run openclaw doctor --fix to catch and correct this automatically.

Error 2: “EADDRINUSE” / “Another Gateway Instance Is Already Listening”

You try to start the gateway and get: GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:18789")

What Causes It

Another process is already using the port that OpenClaw wants to bind to. This is usually:

  • A previous gateway instance that did not shut down cleanly
  • Another OpenClaw profile running on the same port
  • A completely different application using port 18789

How to Fix It

Step 1: Check what is using the port

lsof -i :18789

This shows the process holding the port. If it is an old OpenClaw gateway, kill it:

kill <PID>

Step 2: If you are running multiple gateways, use different ports

openclaw --profile main gateway --port 18789
openclaw --profile rescue gateway --port 19001

Step 3: Reinstall the service if the port keeps getting stuck

openclaw gateway install --force
openclaw gateway restart

Important Note About Multiple Gateways

If you are running more than one gateway on the same machine (for example, a main bot and a rescue bot), each one needs its own:

  • Config file (OPENCLAW_CONFIG_PATH)
  • State directory (OPENCLAW_STATE_DIR)
  • Port (leave at least 20 ports between them so derived browser/canvas ports do not collide)
  • Workspace directory

The easiest way to manage this is with profiles:

openclaw --profile main setup
openclaw --profile rescue setup

Profiles automatically scope the config path, state directory, and service names. This prevents the lock file conflicts and config races that cause mysterious failures.

Error 3: “Gateway Start Blocked: Set gateway.mode=local”

The gateway refuses to start and tells you to set gateway.mode=local.

What Causes It

OpenClaw needs to know whether you are running a local gateway or connecting to a remote one. If this is not configured, it blocks startup as a safety measure.

How to Fix It

openclaw config set gateway.mode local
openclaw gateway restart

If you are running OpenClaw via Podman using a dedicated openclaw user, the config lives at ~openclaw/.openclaw/openclaw.json. Edit it there.

If you went through the onboarding wizard (openclaw onboard), this should be set automatically. If it is not, run openclaw configure to walk through setup again.

Error 4: “Refusing to Bind Gateway Without Auth”

You see: refusing to bind gateway on <address> without auth

What Causes It

You have configured the gateway to bind on a non-loopback address (LAN, Tailnet, or custom) but have not set up authentication. OpenClaw refuses to expose itself on the network without a password or token. This is a security guardrail, not a bug.

How to Fix It

Option A: If you only need local access, bind to loopback

openclaw config set gateway.bind loopback
openclaw gateway restart

Option B: If you need network access, set an auth token

openclaw config set gateway.auth.token <your-secure-token>
openclaw config set gateway.bind lan
openclaw gateway restart

Never expose your gateway to the public internet without authentication. Bind to localhost or use Tailscale for remote access.

Error 5: Unrecognized Config Keys Preventing Startup

The gateway will not start and the logs show errors about unrecognized configuration keys.

What Causes It

This usually happens after an upgrade when config schema changes, or when you manually edit openclaw.json and introduce a typo or an outdated key.

How to Fix It

Step 1: Run the doctor

openclaw doctor --fix

The doctor command validates your config against the expected schema and identifies deviations. The --fix flag attempts automatic repairs.

Step 2: If doctor cannot fix it, check the config manually

openclaw config get

Look for keys that do not belong. Common culprits: – gateway.token (old) should be gateway.auth.token (new) – Typos in provider names or channel configurations – Keys from an older version that no longer exist

Step 3: Reset and reconfigure if needed

openclaw configure

This walks you through the setup wizard again without losing your credentials.

Error 6: Browser Control Not Working / “No Tab Connected”

You try to use the browser tool and get: Chrome extension relay is running, but no tab is connected

What Causes It

OpenClaw’s browser control has two modes: the built-in openclaw browser profile and the Chrome extension relay. If you are using the Chrome extension relay (profile="chrome"), it requires at least one tab to be attached via the OpenClaw Browser Relay toolbar button.

How to Fix It

For the Chrome extension relay: 1. Open Chrome and navigate to the tab you want OpenClaw to control 2. Click the OpenClaw Browser Relay toolbar icon (the badge should turn ON) 3. Try your browser command again

For the built-in openclaw profile:

openclaw browser status
openclaw browser start --browser-profile openclaw

If it fails to start:

openclaw doctor

Check that browser.executablePath points to a valid Chrome/Chromium installation.

Common issue on headless servers: The built-in profile needs a display server or Xvfb. On Linux servers without a desktop environment, install Xvfb:

sudo apt install xvfb
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99

Error 7: No Replies (Channel Connected But Silent)

Your channel shows as connected, but OpenClaw is not responding to messages.

What Causes It

This is almost always a routing or policy issue, not a connection issue. Common causes:

  • Mention gating in groups: Discord groups require an @mention by default
  • Pairing not approved: The sender has not been approved for DM conversations
  • Allowlist filtering: The sender, channel, or group is not on the allowlist

How to Fix It

Step 1: Check the logs for the specific reason

openclaw logs --follow

Send a test message and watch the logs. Common signatures:

  • drop guild message (mention required) means you need to @mention the bot in Discord groups
  • pairing request means the sender needs approval. Run:
    openclaw pairing list discord
    openclaw pairing approve <requestId>
  • blocked or allowlist means the sender/channel is filtered by policy

Step 2: Verify channel configuration

openclaw channels status --probe
openclaw config get channels

Step 3: For Discord specifically, make sure: – The bot has the MESSAGE_CONTENT intent enabled in the Discord Developer Portal – The bot has permissions to read and send messages in the channel – requireMention is set to true for guild channels (or false if you want it to respond without mentions)

Error 8: Cron Jobs and Heartbeats Not Firing

You set up cron jobs or heartbeats, but they never run.

What Causes It

  • Cron scheduler is disabled
  • Quiet hours blocking heartbeats
  • Main session is busy (requests in flight)
  • Invalid delivery target

How to Fix It

Step 1: Check cron status

openclaw cron status
openclaw cron list

If disabled: openclaw config set cron.enabled true

Step 2: Check recent runs for errors

openclaw cron runs --id <jobId> --limit 20

Step 3: For heartbeats, check if quiet hours are blocking them

Look in logs for heartbeat skipped with reason=quiet-hours. If so, adjust your active hours in the config.

Step 4: Verify delivery target exists

If logs show unknown accountId, the account or channel target for delivery does not exist. Update the cron job with a valid target.

Error 9: Node Paired But Tools Fail

Your phone or other node shows as paired, but camera, screen, or exec tools fail.

What Causes It

  • Node app is in the background (must be in foreground for some operations)
  • OS permissions not granted (camera, microphone, location, screen recording)
  • Exec approval pending or command not on allowlist

How to Fix It

openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>

Common signatures:NODE_BACKGROUND_UNAVAILABLE means bring the OpenClaw app to the foreground on the device – *_PERMISSION_REQUIRED means grant the missing OS permission in device settings – SYSTEM_RUN_DENIED: approval required means approve the pending exec request – SYSTEM_RUN_DENIED: allowlist miss means add the command to the exec allowlist

Error 10: Post-Upgrade Breakage

Everything was working fine, then you upgraded OpenClaw and things broke.

What Causes It

Most post-upgrade breakage comes from config drift or stricter defaults being enforced in the new version.

How to Fix It

Step 1: Run the full diagnostic

openclaw status --all
openclaw doctor --fix

Step 2: Check for auth key changes

Recent versions moved from gateway.token to gateway.auth.token. The old key silently fails. Doctor should catch this, but verify:

openclaw config get gateway.auth

Step 3: Check for pairing/device identity changes

Upgrades can reset device identity state. If your dashboard stops connecting or nodes need re-pairing:

openclaw devices list
openclaw pairing list <channel>

Step 4: Nuclear option (reinstall service metadata)

openclaw gateway install --force
openclaw gateway restart

This reinstalls the service configuration from your current profile/state directory without touching your data or credentials.

Quick Reference: Error to Fix Cheat Sheet

Error Message Likely Cause Quick Fix
unauthorized: gateway token missing Token not set or wrong profile openclaw doctor --fix then openclaw gateway restart
EADDRINUSE / another gateway instance Port conflict lsof -i :18789 then kill the process
Gateway start blocked: set gateway.mode=local Gateway mode not configured openclaw config set gateway.mode local
refusing to bind without auth Non-loopback bind without token Set auth token or switch to loopback bind
no tab connected Browser relay not attached Click OpenClaw Browser Relay icon in Chrome
drop guild message (mention required) Discord mention gating @mention the bot or set requireMention: false
pairing request Sender not approved openclaw pairing approve <id>
cron: scheduler disabled Cron not enabled openclaw config set cron.enabled true
Config key errors Old/invalid config keys openclaw doctor --fix
Post-upgrade breakage Config drift / stricter defaults openclaw doctor --fix then openclaw gateway install --force

Prevention: Keep Your OpenClaw Healthy

A few habits that prevent most of these errors:

  1. Run openclaw doctor after every upgrade. It catches config drift before it becomes a problem.
  2. Keep OpenClaw updated. npm update -g openclaw ensures you have the latest fixes.
  3. Use profiles for multiple gateways. Never share config or state directories between instances.
  4. Check logs before asking for help. openclaw logs --follow tells you exactly what went wrong 90% of the time.
  5. Bookmark the official docs. The troubleshooting pages at docs.openclaw.ai are comprehensive and regularly updated.
  6. Join the community. The OpenClaw Discord has an active #help channel where issues get resolved quickly.

Your Turn To Share

What OpenClaw error gave you the hardest time? Did I miss one that stumped you? Drop it in the comments. I am building a living reference here, and the real-world errors you are hitting help everyone in the community.

Leave a Comment