Skip to Content
TroubleshootingOverview

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 openclaw

View Logs

Cloudflare Workers:

npx wrangler tail your-worker-name

VPS:

docker logs -f openclaw

Common 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:

  1. 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
  1. 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:

  1. Verify CF_ACCESS_TEAM_DOMAIN is correct:

    • Should be: yourteam.cloudflareaccess.com
    • NOT: your-worker.workers.dev
  2. Verify CF_ACCESS_AUD matches the Application Audience Tag in Zero Trust dashboard.

  3. 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.git

Verify 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:

  1. This is expected behavior for serverless. Wait for the container to start.

  2. 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:

  1. Recommended: Use VPS deployment for reliable Telegram.

  2. Workaround: Use Slack or Discord instead (they work reliably).

  3. 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:

  1. 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'
  1. 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:

  1. Change worker name in wrangler.jsonc
  2. Clean build:
rm -rf dist .wrangler/deploy npm run build npx wrangler deploy

Cached Configuration

Symptoms:

  • Changes to wrangler.jsonc not taking effect
  • Old settings persist after redeploy

Solution:

Force a clean deployment:

rm -rf dist .wrangler/deploy npm run build npx wrangler deploy

Useful Commands

Check Secrets

npx wrangler secret list

List 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' | jq

Check R2 Backup

npx wrangler r2 object list moltbot-data

Getting Help

If you’re still stuck:

  1. Check GitHub Issues: github.com/strataga/moltworker/issues 

  2. Done-For-You Setup: openclawvps.com/services  - We’ll handle the deployment for you.

  3. Community Support: GitHub Discussions