Troubleshooting
Solutions for common issues with OpenClaw deployments.
Quick Diagnostics
Check if OpenClaw is Running
Cloudflare Workers:
curl https://your-worker.workers.dev/VPS:
curl http://localhost:8080
docker logs openclawView Logs
Cloudflare Workers:
npx wrangler tail your-worker-nameVPS:
docker logs -f openclawCommon Issues
Container Startup Failure
Symptoms:
- Gateway fails to start
- Process exits before port 18789 becomes ready
- Error: “Invalid config” in logs
Cause: Deprecated config fields from older versions.
Solution:
- Clear cached config:
# For Cloudflare Workers
npx wrangler r2 object delete moltbot-data/clawdbot/clawdbot.json --remote
# For VPS
docker exec openclaw rm /root/.clawdbot/clawdbot.json
docker restart openclaw- Redeploy with fresh config.
Access Denied / 403 Error
Symptoms:
- 403 Forbidden when accessing
/_admin/ - Redirect to Cloudflare Access login that fails
Cause: Misconfigured Cloudflare Access settings.
Solutions:
-
Verify
CF_ACCESS_TEAM_DOMAINis correct:- Should be:
yourteam.cloudflareaccess.com - NOT:
your-worker.workers.dev
- Should be:
-
Verify
CF_ACCESS_AUDmatches the Application Audience Tag in Zero Trust dashboard. -
Check that your email is authorized in the Access policy.
401 Unauthorized on Webhooks
Symptoms:
- Slack/Discord webhooks return 401
- Messages from bots not delivered
Cause: Using official moltworker instead of the fork with public webhook routes.
Solution:
Use strataga/moltworker fork which has public webhook routes:
git clone https://github.com/strataga/moltworker.gitVerify webhooks are public:
curl -X POST https://YOUR-WORKER.workers.dev/slack/events \
-H "Content-Type: application/json" \
-d '{"test": true}'Should return 503 (gateway error) not 401 (auth error).
Slow Initial Response
Symptoms:
- First request takes 1-2 minutes
- Subsequent requests are fast
Cause: Cold start - containers hibernate when idle.
Solutions:
-
This is expected behavior for serverless. Wait for the container to start.
-
To reduce cold starts, increase the sleep timeout:
npx wrangler secret put SANDBOX_SLEEP_AFTER
# Enter: never (or 1h for longer timeout)Setting SANDBOX_SLEEP_AFTER=never increases costs as the container stays running.
Telegram Not Working
Symptoms:
- Bot doesn’t respond to messages
- Works initially then stops
Cause: Container hibernation breaks Telegram’s long-polling.
Solutions:
-
Recommended: Use VPS deployment for reliable Telegram.
-
Workaround: Use Slack or Discord instead (they work reliably).
-
Partial fix: Set up webhook mode manually:
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" \
-H "Content-Type: application/json" \
-d '{"url": "https://YOUR-WORKER.workers.dev/telegram-webhook"}'Do NOT set TELEGRAM_DM_POLICY environment variable - it causes gateway crashes.
Admin UI Not Loading
Symptoms:
/_admin/shows “Loading devices…” indefinitely- Pairing requests work but don’t appear in UI
Cause: Bug in admin UI’s device loading mechanism.
Workaround: Approve pairings via CLI:
- Check pending requests:
# Telegram
curl -s 'https://YOUR-WORKER.workers.dev/debug/cli?cmd=cat%20/root/.clawdbot/credentials/telegram-pairing.json'
# Slack
curl -s 'https://YOUR-WORKER.workers.dev/debug/cli?cmd=cat%20/root/.clawdbot/credentials/slack-pairing.json'- Approve the pairing:
curl -s 'https://YOUR-WORKER.workers.dev/debug/cli?cmd=clawdbot%20pairing%20approve%20telegram%20XVJGSAEV'Replace XVJGSAEV with the actual pairing code.
Namespace Conflicts
Symptoms:
- Error: “There is already an application with the name X deployed that is associated with a different durable object namespace”
Cause: Orphaned container from deleted worker.
Solution:
- Change worker name in
wrangler.jsonc - Clean build:
rm -rf dist .wrangler/deploy
npm run build
npx wrangler deployCached Configuration
Symptoms:
- Changes to
wrangler.jsoncnot taking effect - Old settings persist after redeploy
Solution:
Force a clean deployment:
rm -rf dist .wrangler/deploy
npm run build
npx wrangler deployUseful Commands
Check Secrets
npx wrangler secret listList Paired Devices
curl -s 'https://YOUR-WORKER.workers.dev/debug/cli?cmd=clawdbot%20devices%20list'Check Container Config
curl -s 'https://YOUR-WORKER.workers.dev/debug/container-config' | jq '.config'View Process Status
curl -s 'https://YOUR-WORKER.workers.dev/debug/processes?logs=true' | jqCheck R2 Backup
npx wrangler r2 object list moltbot-dataGetting Help
If you’re still stuck:
-
Check GitHub Issues: github.com/strataga/moltworker/issues
-
Done-For-You Setup: openclawvps.com/services - We’ll handle the deployment for you.
-
Community Support: GitHub Discussions