๐ Gateway Won't Start
Gateway crashes on startup
Symptoms: Running
openclaw gateway start fails immediately or the process exits after a few seconds.
Solutions:
-
Check the logs:
Look for error messages indicating the cause.openclaw logs --tail 50 -
Validate your config:
This checks config syntax and missing required fields.openclaw config validate -
Check port conflicts:
If another process is using the gateway port, either stop it or change the port in your config.lsof -i :18789 -
Verify API keys:
Ensure your
ANTHROPIC_API_KEYorOPENAI_API_KEYenvironment variable is set correctly.
"EACCES: permission denied" error
Symptoms: Gateway fails with permission errors when trying to write files or bind to a port.
Solutions:
- Don't run as root: OpenClaw should run as a regular user, not root.
- Use a port above 1024: Ports below 1024 require root privileges. Use 3000, 8080, etc.
-
Check workspace permissions:
ls -la ~/.openclaw/ chmod -R u+rw ~/.openclaw/
"Module not found" errors
Symptoms: Node.js errors about missing modules or packages.
Solutions:
-
Reinstall dependencies:
npm install -g openclaw@latest -
Clear npm cache:
openclaw update status openclaw update -
Check Node.js version:
OpenClaw recommends Node 24 and requires Node 22.19+ if you manage Node yourself.node --version
๐ฑ Channel Connection Issues
Telegram bot not responding
Symptoms: Messages to your Telegram bot get no response, or responses are delayed by minutes.
Solutions:
-
Verify the bot token:
You should see your bot's info. If not, the token is invalid.curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe - Check webhook vs polling: If using webhooks, ensure your server is accessible from the internet on the configured port.
- Look for duplicate bots: If you have multiple OpenClaw instances using the same bot token, only one will receive messages.
-
Check chat ID allowlist: If configured, ensure your Telegram user ID is in the
allowedChatslist.
Discord bot offline or not responding
Symptoms: Discord bot appears offline or ignores messages.
Solutions:
- Check bot token: Regenerate the token in Discord Developer Portal if needed.
- Verify intents: In the Developer Portal, ensure "Message Content Intent" is enabled under Bot settings.
- Check bot permissions: The bot needs "Read Messages" and "Send Messages" permissions in the channel.
-
Review logs:
openclaw logs | grep -i discord
Signal messages not working
Symptoms: Signal channel configured but messages don't send or receive.
Solutions:
-
Check signal-cli: Signal requires
signal-clito be installed and linked to a phone number.signal-cli -a +1234567890 receive - Verify registration: You need to register the phone number with Signal first.
-
Check JSON-RPC mode: OpenClaw connects via JSON-RPC. Ensure signal-cli is running in daemon mode:
signal-cli -a +1234567890 daemon --socket /tmp/signal.sock
๐ ๏ธ Skill Problems
Skill not loading or showing as available
Symptoms: Agent doesn't recognize a skill that should be installed.
Solutions:
-
Check skill installation:
Each skill should have als ~/.openclaw/skills/SKILL.mdfile. -
Verify skill format: The
SKILL.mdmust follow the correct structure with description, commands, etc. -
Restart gateway: Skills are loaded at startup. Restart after adding new skills:
openclaw gateway restart - Check skill allowlist: If your config has a skills allowlist, ensure the skill is included.
Skill command fails with "command not found"
Symptoms: Skills that run CLI tools fail because the tool isn't found.
Solutions:
-
Check PATH: The CLI tool must be in the system PATH. Check:
which <tool-name> -
Install missing tools: Many skills require external CLIs. Check the skill's
SKILL.mdfor requirements. - Use absolute paths: In skill scripts, use absolute paths instead of relying on PATH.
macOS-only skills failing on Linux
Symptoms: Skills like
apple-notes or things-mac fail on non-macOS systems.
Solutions:
These skills use macOS-specific APIs and apps. They only work on macOS.
If you have a Mac Mini or MacBook available, you can:
- Run those skills via a Node connection to your Mac
- Use platform-agnostic alternatives (e.g., Notion instead of Apple Notes)
๐ง Memory Issues
Agent doesn't remember past conversations
Symptoms: The agent forgets context from previous sessions or seems to start fresh every time.
Solutions:
-
Check memory files exist:
ls ~/.openclaw/workspace/MEMORY.md ls ~/.openclaw/workspace/memory/ -
Verify AGENTS.md includes memory instructions: Your
AGENTS.mdshould tell the agent to read memory files on startup. -
Ensure agent is writing to memory: The agent should update
memory/YYYY-MM-DD.mdfiles. Check if they're being created. - Check file permissions: The agent needs write access to the memory directory.
Memory search returns no results
Symptoms: Using
memory_search returns empty even when content exists.
Solutions:
- Check embedding model: Memory search uses embeddings. Ensure the embedding service is configured.
- Verify file content: Empty or very short files may not produce useful embeddings.
-
Lower the minScore: Try searching with a lower minimum score threshold:
memory_search({ query: "...", minScore: 0.3 })
๐ง Tool Errors
"Tool not available" error
Symptoms: Agent tries to use a tool but gets an error that it's not available.
Solutions:
-
Check tool allowlist: If your config has a
tools.allowlist, ensure the tool is included. - Verify tool name: Tool names are case-sensitive. Check the exact name in the documentation.
- Check policy settings: Some tools may be disabled by security policy.
File operations fail
Symptoms:
read, write, or edit tools return permission errors.
Solutions:
- Check path restrictions: By default, file operations may be restricted to the workspace. Check your config.
- Use absolute paths: Always use absolute paths, not relative ones.
-
Verify file exists: For
readandedit, ensure the file exists first.
exec command hangs or times out
Symptoms: Shell commands via
exec never complete or time out.
Solutions:
-
Avoid interactive commands: Commands that wait for input will hang. Use
-yor--yesflags when available. - Check for prompts: Some commands prompt for confirmation. Pass appropriate flags to skip.
-
Use PTY for interactive: If the command requires a terminal, use
pty: truein the exec call. -
Set a timeout: Add a
timeoutparameter to prevent indefinite hanging.
โฐ Cron Jobs Not Running
Scheduled job never fires
Symptoms: Created a cron job but it never executes at the scheduled time.
Solutions:
-
Check job status:
Verify the job is enabled and the schedule is correct.cron({ action: "list" }) - Verify timezone: Jobs use the configured timezone. Ensure it matches your expected timezone.
-
Check cron expression: Common mistake:
*/5 * * * *runs every 5 minutes, not at :05. - Gateway must be running: Cron jobs only fire when the gateway daemon is running.
Job runs but output is lost
Symptoms: Cron job runs but you don't see the results.
Solutions:
-
Check run history:
cron({ action: "runs", jobId: "your-job-id" }) -
Use delivery for output: For
agentTurnjobs, setdeliver: trueto send results to a channel. - Write to files: Have the job write results to a file you can check later.
๐ก Node Connection Issues
Node shows "pending" but never connects
Symptoms: A node appears in pending state but approval doesn't work.
Solutions:
- Check network connectivity: The node must be able to reach your gateway's URL.
- Verify gateway URL: On the node, ensure it's configured with the correct gateway URL and token.
- Check firewall: Ensure the gateway port is accessible from the node's network.
- Look at node logs: Check the mobile app or CLI node for error messages.
Node commands fail with timeout
Symptoms: Commands to nodes timeout without completing.
Solutions:
-
Check node is online:
nodes({ action: "status" }) - Verify the command: Some commands require specific setup on the node (e.g., camera permissions).
- Increase timeout: Long-running commands may need a higher timeout value.
โก Performance Issues
Agent responses are very slow
Symptoms: Agent takes 30+ seconds to respond to simple messages.
Solutions:
- Check model: Larger/high-thinking models are slower. Use faster models or lower thinking for simple tasks.
- Reduce context: Very long system prompts or memory files increase latency. Keep context focused.
- Check API status: Provider outages can cause slowdowns. Check Anthropic/OpenAI status pages.
- Disable thinking for simple tasks: Thinking/reasoning modes add latency. Disable for quick tasks.
High memory usage
Symptoms: Node.js process uses excessive RAM.
Solutions:
- Restart periodically: Long-running processes may accumulate memory. Restart the gateway weekly.
- Check for runaway sessions: Background sessions that never complete can accumulate.
-
Update to latest version: Memory leaks are fixed in updates.
openclaw update
๐ Browser Control Issues
Browser tool returns "no browser available"
Symptoms: Browser actions fail saying no browser is connected.
Solutions:
-
Start the browser profile:
browser({ action: "start", profile: "openclaw" }) - For Chrome extension: Install the OpenClaw Browser Relay extension and click "Attach Tab" on the toolbar.
-
Check browser is installed: The
openclawprofile needs Chromium or Chrome installed.
Screenshot or snapshot returns empty
Symptoms: Browser snapshot returns no content or empty page.
Solutions:
-
Navigate first: Ensure a page is loaded:
browser({ action: "navigate", targetUrl: "https://example.com" }) - Wait for content: Some pages load dynamically. Try again after a short delay.
- Check targetId: If you have multiple tabs, ensure you're targeting the right one.
๐ฆ Update Issues
Update fails with npm errors
Symptoms:
openclaw update or your package-manager update fails with dependency errors.
Solutions:
-
Clear npm cache:
npm cache clean --force -
Uninstall and reinstall:
openclaw update --dry-run openclaw update - Check Node version: Use Node 24 recommended, or Node 22.19+ minimum.
Config incompatible after update
Symptoms: Gateway fails to start after update, citing config errors.
Solutions:
- Check release notes: Major updates may require config changes. Check the changelog.
-
Validate config:
openclaw config validate - Use config migration: Some updates include automatic config migration. Check the docs.
๐ Still Stuck?
If these solutions didn't help, here's where to get more support:
๐ก Pro Tip: When asking for help, include:
- OpenClaw version (
openclaw --version) - Node.js version (
node --version) - Operating system
- Relevant log output (
openclaw logs --tail 100) - What you've already tried