Troubleshooting 🔧
When Clawdbot misbehaves, here’s how to fix it. Start with the FAQ’s First 60 seconds if you just want a quick triage recipe. This page goes deeper on runtime failures and diagnostics. Provider-specific shortcuts: /providers/troubleshootingCommon Issues
Service Installed but Nothing is Running
If the gateway service is installed but the process exits immediately, the daemon can appear “loaded” while nothing is running. Check:- Preferred:
clawdbot logs --follow - File logs (always):
/tmp/clawdbot/clawdbot-YYYY-MM-DD.log(or your configuredlogging.file) - macOS LaunchAgent (if installed):
$CLAWDBOT_STATE_DIR/logs/gateway.logandgateway.err.log - Linux systemd (if installed):
journalctl --user -u clawdbot-gateway.service -n 200 --no-pager - Windows:
schtasks /Query /TN "Clawdbot Gateway" /V /FO LIST
Service Environment (PATH + runtime)
The gateway daemon runs with a minimal PATH to avoid shell/manager cruft:- macOS:
/opt/homebrew/bin,/usr/local/bin,/usr/bin,/bin - Linux:
/usr/local/bin,/usr/bin,/bin
DISPLAY should live in ~/.clawdbot/.env (loaded early by the
gateway).
WhatsApp + Telegram providers require Node; Bun is unsupported. If your
service was installed with Bun or a version-managed Node path, run clawdbot doctor
to migrate to a system Node install.
Service Running but Port Not Listening
If the service reports running but nothing is listening on the gateway port, the Gateway likely refused to bind. What “running” means hereRuntime: runningmeans your supervisor (launchd/systemd/schtasks) thinks the process is alive.RPC probemeans the CLI could actually connect to the gateway WebSocket and callstatus.- Always trust
Probe target:+Config (daemon):as the “what did we actually try?” lines.
gateway.modemust belocalforclawdbot gatewayand the daemon.- If you set
gateway.mode=remote, the CLI defaults to a remote URL. The daemon can still be running locally, but your CLI may be probing the wrong place. Useclawdbot daemon statusto see the daemon’s resolved port + probe target (or pass--url). clawdbot daemon statusandclawdbot doctorsurface the last gateway error from logs when the service looks running but the port is closed.- Non-loopback binds (
lan/tailnet/auto) require auth:gateway.auth.token(orCLAWDBOT_GATEWAY_TOKEN). gateway.remote.tokenis for remote CLI calls only; it does not enable local auth.gateway.tokenis ignored; usegateway.auth.token.
clawdbot daemon status shows a config mismatch
Config (cli): ...andConfig (daemon): ...should normally match.- If they don’t, you’re almost certainly editing one config while the daemon is running another.
- Fix: rerun
clawdbot daemon install --forcefrom the same--profile/CLAWDBOT_STATE_DIRyou want the daemon to use.
clawdbot daemon status reports service config issues
- The supervisor config (launchd/systemd/schtasks) is missing current defaults.
- Fix: run
clawdbot doctorto update it (orclawdbot daemon install --forcefor a full rewrite).
Last gateway error: mentions “refusing to bind … without auth”
- You set
gateway.bindto a non-loopback mode (lan/tailnet/auto) but left auth off. - Fix: set
gateway.auth.mode+gateway.auth.token(or exportCLAWDBOT_GATEWAY_TOKEN) and restart the daemon.
clawdbot daemon status says bind=tailnet but no tailnet interface was found
- The gateway tried to bind to a Tailscale IP (100.64.0.0/10) but none were detected on the host.
- Fix: bring up Tailscale on that machine (or change
gateway.bindtoloopback/lan).
Probe note: says the probe uses loopback
- That’s expected for
bind=lan: the gateway listens on0.0.0.0(all interfaces), and loopback should still connect locally. - For remote clients, use a real LAN IP (not
0.0.0.0) plus the port, and ensure auth is configured.
Address Already in Use (Port 18789)
This means something is already listening on the gateway port. Check:Legacy Workspace Folders Detected
If you upgraded from older installs, you might still have~/clawdis or
~/clawdbot on disk. Multiple workspace directories can cause confusing auth
or state drift because only one workspace is active.
Fix: keep a single active workspace and archive/remove the rest. See
Agent workspace.
”Agent was aborted”
The agent was interrupted mid-response. Causes:- User sent
stop,abort,esc,wait, orexit - Timeout exceeded
- Process crashed
Messages Not Triggering
Check 1: Is the sender allowlisted?AllowFrom: ... in the output.
Check 2: For group chats, is mention required?
Image + Mention Not Working
Known issue: When you send an image with ONLY a mention (no other text), WhatsApp sometimes doesn’t include the mention metadata. Workaround: Add some text with the mention:- ❌
@clawd+ image - ✅
@clawd check this+ image
Session Not Resuming
Check 1: Is the session file there?idleMinutes too short?
/new, /reset, or a reset trigger?
Agent Timing Out
Default timeout is 30 minutes. For long tasks:process tool to background long commands.
WhatsApp Disconnected
Media Send Failing
Check 1: Is the file path valid?- Images: max 6MB
- Audio/Video: max 16MB
- Documents: max 100MB
High Memory Usage
CLAWDBOT keeps conversation history in memory. Fix: Restart periodically or set session limits:macOS Specific Issues
App Crashes when Granting Permissions (Speech/Mic)
If the app disappears or shows “Abort trap 6” when you click “Allow” on a privacy prompt: Fix 1: Reset TCC CacheBUNDLE_ID in scripts/package-mac-app.sh (e.g., add a .test suffix) and rebuild. This forces macOS to treat it as a new app.
Gateway stuck on “Starting…”
The app connects to a local gateway on port18789. If it stays stuck:
Fix 1: Stop the supervisor (preferred)
If the gateway is supervised by launchd, killing the PID will just respawn it. Stop the supervisor first:
./scripts/package-mac-app.sh and ensure bun is installed.
Debug Mode
Get verbose logging:Log Locations
| Log | Location |
|---|---|
| Gateway file logs (structured) | /tmp/clawdbot/clawdbot-YYYY-MM-DD.log (or logging.file) |
| Gateway service logs (supervisor) | macOS: $CLAWDBOT_STATE_DIR/logs/gateway.log + gateway.err.log (default: ~/.clawdbot/logs/...; profiles use ~/.clawdbot-<profile>/logs/...)Linux: journalctl --user -u clawdbot-gateway.service -n 200 --no-pagerWindows: schtasks /Query /TN "Clawdbot Gateway" /V /FO LIST |
| Session files | $CLAWDBOT_STATE_DIR/agents/<agentId>/sessions/ |
| Media cache | $CLAWDBOT_STATE_DIR/media/ |
| Credentials | $CLAWDBOT_STATE_DIR/credentials/ |
Health Check
Reset Everything
Nuclear option:Getting Help
- Check logs first:
/tmp/clawdbot/(default:clawdbot-YYYY-MM-DD.log, or your configuredlogging.file) - Search existing issues on GitHub
- Open a new issue with:
- CLAWDBOT version
- Relevant log snippets
- Steps to reproduce
- Your config (redact secrets!)
“Have you tried turning it off and on again?” — Every IT person ever 🦞🔧
Browser Not Starting (Linux)
If you see"Failed to start Chrome CDP on port 18800":
Most likely cause: Snap-packaged Chromium on Ubuntu.
Quick fix: Install Google Chrome instead: