MyOpenClaw
Back to Blog
Getting Started
10 min read
March 31, 2026

OpenClaw Self-Hosting: The 20 Errors That Kill Your Setup

port 8080 already in use. gateway not reachable. skills not found. here are the 20 errors that end most self-hosting attempts.

MyOpenClaw

MyOpenClaw Team

OpenClaw Self-Hosting: The 20 Errors That Kill Your Setup

Self-hosting OpenClaw sounds simple. Download, configure, run. Reality: 80% of support requests in the OpenClaw community are the same 20 errors, over and over. This guide documents all of them — and how to fix them.

Category 1: Network & Port Errors

Error 1: "Port 8080 already in use"

Symptom: OpenClaw fails to start with EADDRINUSE on port 8080. Cause: Another process (often a previous OpenClaw attempt) is still bound to 8080. Fix: lsof -i :8080 to find the process, then kill -9 . Or configure a different port in openclaw.json: "gateway": { "port": 8081 }.

Error 2: "Cannot reach gateway from outside network"

Symptom: Your AI works locally but not from Telegram/WhatsApp/your phone. Cause: OpenClaw is bound to 127.0.0.1, or your router isn't forwarding port 8080. Fix: Change gateway.host to 0.0.0.0 in openclaw.json, then set up port forwarding on your router. If you're using a VPS, check the firewall rules (ufw allow 8080).

Error 3: "SSL/TLS certificate invalid"

Symptom: Browser shows "not secure" warning; webhook setup fails. Cause: No SSL certificate configured, or using a self-signed cert. Fix: Use Caddy or nginx with Let's Encrypt. Caddy is simpler: caddy reverse-proxy --from yourname.duckdns.org --to localhost:8080.

Error 4: "Webhook verification failed" (Telegram/WhatsApp)

Symptom: Telegram says webhook is invalid; messages don't arrive. Cause: Your domain isn't publicly accessible over HTTPS, or the webhook URL has a trailing slash mismatch. Fix: Verify your URL responds with 200 from outside your network. Telegram requires valid HTTPS — no self-signed certs.

Error 5: "DNS not resolving"

Symptom: Your domain doesn't point to your machine. Cause: DNS TTL hasn't propagated, or you're pointing to the wrong IP. Fix: Use dig yourname.yourdomain.com to check what resolves. If using a dynamic IP, set up a DDNS service (DuckDNS, NoIP) and keep it updated.

Category 2: Configuration Errors

Error 6: "Invalid input" / OpenClaw crashes at startup (exit code 1)

Symptom: OpenClaw starts then immediately exits with "Invalid input" in logs. Cause: openclaw.json has an invalid field — often a typo or a field that was removed in the current version. Fix: Validate your JSON (jq . openclaw.json). Check the OpenClaw changelog for removed/renamed fields. The most common culprit: putting contextTokens inside the model object instead of at agents.defaults.

Error 7: "API key invalid" / provider authentication fails

Symptom: Every message returns "authentication failed" or "invalid key". Cause: Wrong API key, wrong provider prefix, or key hasn't propagated after creation. Fix: Test your key directly: curl -H "Authorization: Bearer sk-..." https://api.anthropic.com/v1/messages .... Keys from Anthropic/OpenAI are sometimes delayed by a few minutes after creation.

Error 8: "Model not found"

Symptom: OpenClaw starts but every message returns "model not found" or similar. Cause: The model string in openclaw.json doesn't match what the provider accepts. Fix: Use the exact model ID from your provider's docs (e.g., claude-sonnet-4-6 not claude-sonnet). Include the provider prefix: anthropic/claude-sonnet-4-6.

Error 9: Skills not loading after clawhub install

Symptom: You installed a skill but your AI doesn't know about it. Cause: Skills installed to the wrong directory, or OpenClaw needs a restart. Fix: Skills must be in ~/.openclaw/skills/ (or the path configured in openclaw.json). Restart OpenClaw after installing. Check ls ~/.openclaw/skills/ to confirm the skill directory exists.

Error 10: "Memory not persisting between restarts"

Symptom: OpenClaw forgets everything on restart. Cause: The data directory isn't persistent — often happens with Docker when no volume is mounted. Fix: Mount a volume: docker run -v /your/data:/data .... Without this, the container filesystem resets on every restart.

Category 3: Process Management Errors

Error 11: "OpenClaw dies overnight"

Symptom: Your AI works during the day but is offline by morning. Cause: The Node.js process ran out of memory and crashed, or was killed by the OS OOM killer. Fix: Add --max-old-space-size=1228 to your Node.js flags (60% of available RAM). Set up PM2 with auto-restart: pm2 start openclaw --max-memory-restart 1500M.

Error 12: PM2 shows "errored" status

Symptom: pm2 status shows your OpenClaw process in errored state. Cause: Crash loop — OpenClaw is crashing faster than PM2 can restart it. Fix: Check logs with pm2 logs openclaw --lines 50. The actual error is in there. Usually a config error (see Error 6) or missing dependency.

Error 13: "Permission denied" on /data directory

Symptom: OpenClaw fails to write memory or config files. Cause: Running OpenClaw as a user that doesn't own the data directory. Fix: chown -R $(whoami):$(whoami) /path/to/data. If using Docker, ensure the container user matches the volume owner.

Error 14: High CPU usage (100% sustained)

Symptom: OpenClaw is pegging a CPU core even when idle. Cause: Usually a runaway skill or a loop in your configuration. Fix: Check active sessions — a stuck session can spin. Reset all sessions via the control panel or rm -rf ~/.openclaw/agents/*/sessions/ and restart.

Category 4: Integration-Specific Errors

Error 15: Discord bot not responding (Error 4014)

Symptom: Discord bot connects but doesn't receive messages. Logs show "4014: Disallowed intents". Cause: Message Content Intent not enabled in Discord Developer Portal. Fix: Discord Developer Portal > Your App > Bot > Privileged Gateway Intents > enable "Message Content Intent". This is required for bots to read message text.

Error 16: Telegram "bot was blocked by user"

Symptom: Messages from specific users never arrive. Cause: Users who previously blocked your bot won't receive updates. Fix: These users need to unblock the bot and send /start again. There's no server-side fix.

Error 17: WhatsApp "connection expired"

Symptom: WhatsApp integration stops working after a few days. Cause: WhatsApp QR code sessions expire. The session token wasn't persisted. Fix: Ensure your WhatsApp session file is being saved to a persistent path. Check your openclaw.json channels.whatsapp.sessionPath is not in /tmp.

Error 18: "Rate limit exceeded" from AI provider

Symptom: Messages start failing with 429 errors after heavy usage. Cause: You hit your provider's rate limits (requests per minute or tokens per day). Fix: Add delays between automated tasks. For Anthropic, check your rate limits in the console. Consider upgrading your API tier or switching to a lower-cost model for bulk tasks.

Category 5: Update & Version Errors

Error 19: Everything broke after updating OpenClaw

Symptom: After pulling the latest OpenClaw version, your config no longer works. Cause: Breaking config changes are common in OpenClaw releases. Fix: Always check the changelog before updating (git log --oneline HEAD..origin/main). Key things to watch: renamed config keys, removed options, new required fields.

Error 20: Skill stopped working after clawhub update

Symptom: A skill that was working now errors with "command not found" or "unexpected argument". Cause: You installed a skill with @latest and it got a breaking update. Fix: Pin skill versions explicitly: clawhub install weather@1.2.3. Check the skill's changelog on clawhub.ai for migration steps.

The faster path

If you've hit three or more of these errors, you're spending more time on infrastructure than on using your AI. MyOpenClaw.cloud runs the same OpenClaw on dedicated infrastructure — authentication configured, skills pinned and verified, automatic updates enabled. $29/month to skip all 20 of these errors permanently.

openclawself-hostingtroubleshootingerrorsguide

Ready to Try OpenClaw?

Get your AI assistant running in 90 seconds.

Get Started