OpenClaw Maintenance Skill
OpenClaw is a self-hosted, open-source (MIT) gateway that routes AI agents across WhatsApp, Telegram, Discord, Slack, iMessage, Signal, and 15+ other channels simultaneously. It runs on macOS, Linux, or Windows.
Reference Files
| Reference |
Coverage |
| channels.md |
Per-channel setup (WhatsApp, Telegram, Discord, etc.) |
| channel_troubleshooting.md |
Per-channel failure signatures and walkthroughs |
| tools.md |
Tools inventory (profiles, groups, all built-in tools) |
| exec.md |
Exec tool: parameters, config, PATH, security, process tool |
| exec_approvals.md |
Exec approvals: allowlists, safe bins, approval flow |
| browser.md |
Browser plugin: profiles, CDP, Chrome MCP, snapshots, SSRF, Control API |
| web_tools.md |
Web tools: Brave, Perplexity, Gemini search providers |
| pdf_tool.md |
PDF tool: native/fallback modes, config, page filtering |
| elevated.md |
Elevated mode: /elevated directives, sandbox breakout |
| lobster.md |
Lobster: typed workflow runtime with approvals |
| llm_task.md |
LLM Task: JSON-only LLM step for structured output |
| openprose.md |
OpenProse: multi-agent program runtime |
| plugins.md |
Plugins: capability model, official list, config, hooks, SDK, authoring |
| skills.md |
Skills: locations, config, ClawHub, watcher, token impact |
| providers.md |
Model provider setup |
| multi_agent.md |
Multi-agent routing |
| nodes.md |
Nodes (iOS/Android/macOS/headless) |
| security.md |
Security hardening |
| secrets.md |
Secrets management (SecretRef, vault) |
| sandboxing.md |
Sandboxing (Docker isolation) |
| config_reference.md |
Full config field reference |
| gateway_ops.md |
Gateway operations |
| remote_access.md |
Remote access, SSH, Tailscale, web dashboard |
| sessions.md |
Session management, DM isolation, lifecycle, compaction |
| hooks.md |
Hooks: internal event hooks, HTTP webhooks, authoring, CLI |
| automation.md |
Cron jobs, webhooks, Gmail Pub/Sub, background tasks, standing orders |
| acp_agents.md |
ACP agents: spawn external AI runtimes (Codex, Claude, Gemini, 14+ harnesses) |
| install.md |
Installation, updating, rollback, migration, uninstall |
| web_ui.md |
Web surfaces: Dashboard, Control UI, WebChat |
| slash_commands.md |
Chat slash commands (/new, /model, /acp, etc.) |
| platforms.md |
Platform-specific guides (macOS, iOS, Android, Linux, Windows) |
| diffs_firecrawl.md |
Diffs plugin + Firecrawl anti-bot fallback |
| subagents.md |
Sub-agents: nested spawning, thread binding, announce, tool policy |
| memory.md |
Memory system, vector search, hybrid BM25, compaction, QMD backend |
| architecture.md |
Gateway architecture, wire protocol, pairing, invariants |
| agent_runtime.md |
Agent runtime, bootstrap files, agent loop, context engine, hooks, timeouts |
| streaming.md |
Streaming + chunking: block streaming, coalescing, preview modes |
| queue.md |
Command queue: modes (steer/followup/collect), concurrency, per-session |
| model_failover.md |
Model failover, OAuth, auth profiles, cooldowns, billing disables |
| clawhub.md |
ClawHub: public skill registry, CLI commands, publish/install |
| thinking.md |
Thinking levels, verbose directives, reasoning visibility |
| polls.md |
Polls: Telegram, WhatsApp, Discord, MS Teams |
| voice.md |
Talk Mode (voice interaction) + Voice Wake (wake words) |
| presence_discovery.md |
Presence system, discovery (Bonjour/Tailscale), transports |
| gateway_internals.md |
Network model, gateway lock, health checks, doctor, logging, background exec |
| heartbeat.md |
Heartbeat: config, delivery, visibility, HEARTBEAT.md, per-agent |
| bonjour.md |
Bonjour/mDNS: TXT keys, wide-area DNS-SD, debugging, failure modes |
| pairing.md |
Gateway pairing: node approval, CLI, API, auto-approval, storage |
| tui.md |
TUI: keyboard shortcuts, slash commands, pickers, local shell, delivery |
| media.md |
Media: camera capture, images, audio/voice notes, transcription |
| channel_routing.md |
Channel routing, session keys, agent selection, Mattermost, BlueBubbles |
Quick Reference
Key Paths
| Path |
Purpose |
~/.openclaw/openclaw.json |
Main config (JSON5) |
~/.openclaw/.env |
Global env fallback |
~/.openclaw/workspace |
Default agent workspace |
~/.openclaw/agents/<id>/ |
Per-agent state + sessions |
~/.openclaw/skills/ |
Managed/local skills |
~/.openclaw/agents/<id>/qmd/ |
QMD memory backend state |
~/.openclaw/agents/<id>/agent/auth-profiles.json |
Auth profiles + OAuth tokens |
OPENCLAW_CONFIG_PATH |
Override config location |
OPENCLAW_STATE_DIR |
Override state directory |
OPENCLAW_HOME |
Override home directory |
Essential Commands
openclaw status # Overall status
openclaw gateway status # Gateway daemon status
openclaw gateway status --deep # Deep scan including system services
openclaw doctor # Diagnose config/service issues
openclaw doctor --fix # Auto-fix safe issues
openclaw logs --follow # Tail gateway logs
openclaw channels status --probe # Channel health check
openclaw security audit # Security posture check
openclaw security audit --fix # Auto-fix security issues
openclaw update # Self-update
openclaw dashboard # Open Control UI in browser
openclaw tui # Terminal UI (interactive REPL)
openclaw agent # Direct agent interaction via CLI
openclaw health # Health check
openclaw usage # Usage tracking
openclaw config validate # Validate config file
openclaw config file # Print active config path
openclaw sessions cleanup # Session disk cleanup
openclaw agents bindings # Agent-channel bindings
openclaw agents bind # Bind agent to account
openclaw agents unbind # Unbind agent
openclaw update --dry-run # Preview update
openclaw system presence # View connected clients/nodes
openclaw system heartbeat last # Last heartbeat info
openclaw system heartbeat now # Trigger heartbeat immediately
openclaw memory search <query> # CLI memory search
openclaw docs <query> # Search OpenClaw docs
openclaw tasks list # List background/detached task runs
openclaw tasks show <id> # Show specific task details
openclaw tasks cancel <id> # Cancel a running task
openclaw tasks audit # Identify problematic task runs
openclaw agent --message "..." # Run single agent turn (scripted/testing)
openclaw nodes pending # List pending pairing requests
openclaw nodes approve <id> # Approve node pairing
openclaw nodes status # Show all paired nodes
openclaw health --json # Full health snapshot (JSON)
openclaw message send --media <p> # Send media message
Default Gateway
- Bind:
127.0.0.1:18789 (loopback)
- Dashboard:
http://127.0.0.1:18789/
- Protocol: WebSocket (JSON text frames)
Core Workflow
Diagnosing Issues
Always follow this command ladder:
openclaw status — quick overview
openclaw gateway status — daemon running? RPC probe ok?
openclaw logs --follow — watch for errors
openclaw doctor — config/service diagnostics
openclaw channels status --probe — per-channel health
Starting / Restarting Gateway
# Foreground with verbose logging
openclaw gateway --port 18789 --verbose
# Force-kill existing listener then start
openclaw gateway --force
# Service management (launchd on macOS, systemd on Linux)
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
Configuration
Edit config via any method:
# Interactive wizard
openclaw onboard # Full setup
openclaw configure # Config wizard
# CLI one-liners
openclaw config get <path> # Read value
openclaw config set <path> <value> # Set value (JSON5 or raw string)
openclaw config unset <path> # Remove value
# Direct edit
# Edit ~/.openclaw/openclaw.json (JSON5 format)
# Gateway hot-reloads on save (if gateway.reload.mode != "off")
Minimal config example:
{
agents: { defaults: { workspace: "~/.openclaw/workspace" } },
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
Channel Setup
For detailed per-channel setup, see references/channels.md.
For per-channel troubleshooting (failure signatures, setup walkthroughs), see references/channel_troubleshooting.md.
For plugins adding new channels (Matrix, Nostr, MS Teams, etc.), see references/plugins.md.
Quick channel add:
# Interactive wizard
openclaw channels add
# Non-interactive
openclaw channels add --channel telegram --account default --name "My Bot" --token $BOT_TOKEN
openclaw channels login --channel whatsapp # QR pairing for WhatsApp
openclaw channels status --probe # Verify
Model Provider Setup
For detailed provider setup, see references/providers.md.
# Set default model
openclaw models set anthropic/claude-sonnet-4-5
# List available models
openclaw models list --all
# Check auth/token status
openclaw models status --probe
# Add auth interactively
openclaw models auth add
Config example:
{
agents: {
defaults: {
model: {
primary: "anthropic/claude-sonnet-4-5",
fallbacks: ["openai/gpt-5.2"],
},
},
},
}
Multi-Agent Routing
For detailed multi-agent config, see references/multi_agent.md.
openclaw agents add <id> # Create agent
openclaw agents list --bindings # Show agent-channel bindings
openclaw agents delete <id> # Remove agent
Nodes (iOS / Android / macOS / Headless)
For detailed node setup, see references/nodes.md.
openclaw nodes status # List connected nodes
openclaw nodes describe --node <id> # Node capabilities
openclaw devices list # Pending device approvals
openclaw devices approve <requestId> # Approve a device
openclaw node run --host <host> --port 18789 # Start headless node host
Security
For detailed security hardening, see references/security.md.
For secrets management (SecretRef, vault integration), see references/secrets.md.
For sandboxing (Docker isolation for tools), see references/sandboxing.md.
For full config field reference, see references/config_reference.md.
For remote access (SSH, Tailscale, VPN), see references/remote_access.md.
openclaw security audit # Check posture
openclaw security audit --deep # Live gateway probe
openclaw security audit --fix # Auto-fix safe issues
openclaw secrets reload # Re-resolve secret refs
openclaw secrets audit # Scan for plaintext leaks
Update / Uninstall
For detailed installation, updating, rollback, and migration guide, see references/install.md.
# Install (recommended)
curl -fsSL https://openclaw.ai/install.sh | bash
# Update
openclaw update # Self-update command
# Or: npm install -g openclaw@latest
openclaw doctor # Run after update to apply migrations
# Uninstall
openclaw uninstall
Tools Reference
For detailed per-tool documentation, see references/tools.md.
For specific tools, see:
- references/exec.md — Exec tool deep-dive
- references/exec_approvals.md — Exec approvals and allowlists
- references/browser.md — Browser automation deep-dive
- references/web_tools.md — Web search/fetch with multiple providers
- references/lobster.md — Lobster workflow runtime
- references/llm_task.md — LLM Task for structured JSON output
- references/openprose.md — OpenProse multi-agent programs
- references/plugins.md — Plugin system (install, author, distribute)
- references/skills.md — Skills system (load, config, ClawHub)
For ACP agents (Codex, Claude Code, Gemini CLI, etc.), see references/acp_agents.md.
For Diffs plugin and Firecrawl anti-bot fallback, see references/diffs_firecrawl.md.
For chat slash commands (/new, /model, /acp, etc.), see references/slash_commands.md.
For thinking levels (/think, /verbose, /reasoning), see references/thinking.md.
For polls (Telegram, WhatsApp, Discord, MS Teams), see references/polls.md.
For Talk Mode and Voice Wake, see references/voice.md.
For Gateway architecture and wire protocol, see references/architecture.md.
For agent runtime and loop details, see references/agent_runtime.md.
For command queue system, see references/queue.md.
For model failover and OAuth, see references/model_failover.md.
For ClawHub skill registry, see references/clawhub.md.
For presence and discovery, see references/presence_discovery.md.
For streaming and chunking, see references/streaming.md.
For Gateway internals (network model, lock, health, doctor, logging), see references/gateway_internals.md.
For heartbeat system, see references/heartbeat.md.
For Bonjour/mDNS discovery details, see references/bonjour.md.
For Gateway node pairing, see references/pairing.md.
For Terminal UI (TUI), see references/tui.md.
For media (camera, images, audio), see references/media.md.
For channel routing and session keys, see references/channel_routing.md.
Tool profiles: minimal, coding, messaging, full (default).
Tool groups (for allow/deny):
group:runtime — exec, bash, process
group:fs — read, write, edit, apply_patch
group:sessions — sessions_list/history/send/spawn, session_status
group:memory — memory_search, memory_get
group:web — web_search, web_fetch
group:ui — browser, canvas
group:automation — cron, gateway
group:messaging — message
group:nodes — nodes
group:openclaw — all built-in OpenClaw tools (excludes provider plugins)
Common Failure Signatures
| Error |
Cause |
Fix |
refusing to bind gateway ... without auth |
Non-loopback bind without token |
Set gateway.auth.token or gateway.auth.password |
another gateway instance is already listening / EADDRINUSE |
Port conflict |
openclaw gateway --force or change port |
Gateway start blocked: set gateway.mode=local |
Local mode not enabled |
Set gateway.mode="local" |
unauthorized / reconnect loop |
Token/password mismatch |
Check OPENCLAW_GATEWAY_TOKEN or config auth |
device identity required |
Missing device auth |
Ensure client completes connect.challenge flow |
| No replies from bot |
Pairing/allowlist/mention gating |
Check openclaw pairing list, DM policy, mention patterns |
Embedding provider authentication failed (401) |
.env has placeholder API key (e.g. your-jina-api-key-here) |
Replace with real API key in ~/.openclaw/.env, restart Gateway |
openclaw flows list / ClawFlow references |
ClawFlow is deprecated |
Use openclaw tasks list/show/cancel/audit instead |
config change requires gateway restart (plugins.*) |
Plugin config changes can't hot-reload |
Full openclaw gateway restart or launchctl kickstart -k |
Bootstrap failed: 5: Input/output error |
LaunchAgent plist in stale/stuck state |
openclaw gateway install then launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway |
Missing env var "X" referenced at config path: ... |
.env missing or variable not defined |
Add variable to ~/.openclaw/.env and restart Gateway |
Environment Variables
| Variable |
Purpose |
OPENCLAW_GATEWAY_TOKEN |
Gateway auth token |
OPENCLAW_GATEWAY_PASSWORD |
Gateway auth password |
OPENCLAW_GATEWAY_PORT |
Override gateway port |
OPENCLAW_CONFIG_PATH |
Override config file path |
OPENCLAW_STATE_DIR |
Override state directory |
OPENCLAW_HOME |
Override home directory |
OPENCLAW_LOAD_SHELL_ENV |
Import shell env (set to 1) |
OPENCLAW_VERBOSE |
Verbose logging |
OPENCLAW_LOG_FILE |
File logging path |
OPENCLAW_LOG_LEVEL |
Log level control |
OPENCLAW_SHELL |
Set by OpenClaw in exec/acp/tui runtimes |
BRAVE_API_KEY |
For web_search tool |
FIRECRAWL_API_KEY |
For Firecrawl anti-bot fallback |
ELEVENLABS_API_KEY |
For Talk Mode TTS |
ELEVENLABS_VOICE_ID |
Default voice for Talk Mode |
CLAWHUB_TOKEN |
ClawHub API token for CI/automation |
CLAWHUB_WORKDIR |
ClawHub working directory override |
OLLAMA_API_KEY |
For Ollama embeddings provider |
OPENCLAW_SKIP_CRON |
Disable cron scheduler (set to 1) |
OPENCLAW_HIDE_BANNER |
Suppress banner output |
OPENCLAW_SUPPRESS_NOTES |
Suppress informational notes |
1---2name: openclaw3description: Comprehensive guide for installing, configuring, operating, and troubleshooting OpenClaw — a self-hosted, multi-channel AI agent gateway. Use when the user asks about OpenClaw setup, configuration, channel management (WhatsApp/Telegram/Discord/Slack/iMessage/etc.), model provider setup, Gateway operations, multi-agent routing, security hardening, troubleshooting, or any maintenance task related to their local OpenClaw installation. Also use when encountering errors from `openclaw` CLI commands or the Gateway daemon.4---5
6# OpenClaw Maintenance Skill
7
8OpenClaw is a self-hosted, open-source (MIT) gateway that routes AI agents across WhatsApp, Telegram, Discord, Slack, iMessage, Signal, and 15+ other channels simultaneously. It runs on macOS, Linux, or Windows.
9
10## Reference Files
11
12| Reference | Coverage |
13|---|---|
14| [channels.md](references/channels.md) | Per-channel setup (WhatsApp, Telegram, Discord, etc.) |
15| [channel_troubleshooting.md](references/channel_troubleshooting.md) | Per-channel failure signatures and walkthroughs |
16| [tools.md](references/tools.md) | Tools inventory (profiles, groups, all built-in tools) |
17| [exec.md](references/exec.md) | Exec tool: parameters, config, PATH, security, process tool |
18| [exec_approvals.md](references/exec_approvals.md) | Exec approvals: allowlists, safe bins, approval flow |
19| [browser.md](references/browser.md) | Browser plugin: profiles, CDP, Chrome MCP, snapshots, SSRF, Control API |
20| [web_tools.md](references/web_tools.md) | Web tools: Brave, Perplexity, Gemini search providers |
21| [pdf_tool.md](references/pdf_tool.md) | PDF tool: native/fallback modes, config, page filtering |
22| [elevated.md](references/elevated.md) | Elevated mode: /elevated directives, sandbox breakout |
23| [lobster.md](references/lobster.md) | Lobster: typed workflow runtime with approvals |
24| [llm_task.md](references/llm_task.md) | LLM Task: JSON-only LLM step for structured output |
25| [openprose.md](references/openprose.md) | OpenProse: multi-agent program runtime |
26| [plugins.md](references/plugins.md) | Plugins: capability model, official list, config, hooks, SDK, authoring |
27| [skills.md](references/skills.md) | Skills: locations, config, ClawHub, watcher, token impact |
28| [providers.md](references/providers.md) | Model provider setup |
29| [multi_agent.md](references/multi_agent.md) | Multi-agent routing |
30| [nodes.md](references/nodes.md) | Nodes (iOS/Android/macOS/headless) |
31| [security.md](references/security.md) | Security hardening |
32| [secrets.md](references/secrets.md) | Secrets management (SecretRef, vault) |
33| [sandboxing.md](references/sandboxing.md) | Sandboxing (Docker isolation) |
34| [config_reference.md](references/config_reference.md) | Full config field reference |
35| [gateway_ops.md](references/gateway_ops.md) | Gateway operations |
36| [remote_access.md](references/remote_access.md) | Remote access, SSH, Tailscale, web dashboard |
37| [sessions.md](references/sessions.md) | Session management, DM isolation, lifecycle, compaction |
38| [hooks.md](references/hooks.md) | Hooks: internal event hooks, HTTP webhooks, authoring, CLI |
39| [automation.md](references/automation.md) | Cron jobs, webhooks, Gmail Pub/Sub, background tasks, standing orders |
40| [acp_agents.md](references/acp_agents.md) | ACP agents: spawn external AI runtimes (Codex, Claude, Gemini, 14+ harnesses) |
41| [install.md](references/install.md) | Installation, updating, rollback, migration, uninstall |
42| [web_ui.md](references/web_ui.md) | Web surfaces: Dashboard, Control UI, WebChat |
43| [slash_commands.md](references/slash_commands.md) | Chat slash commands (/new, /model, /acp, etc.) |
44| [platforms.md](references/platforms.md) | Platform-specific guides (macOS, iOS, Android, Linux, Windows) |
45| [diffs_firecrawl.md](references/diffs_firecrawl.md) | Diffs plugin + Firecrawl anti-bot fallback |
46| [subagents.md](references/subagents.md) | Sub-agents: nested spawning, thread binding, announce, tool policy |
47| [memory.md](references/memory.md) | Memory system, vector search, hybrid BM25, compaction, QMD backend |
48| [architecture.md](references/architecture.md) | Gateway architecture, wire protocol, pairing, invariants |
49| [agent_runtime.md](references/agent_runtime.md) | Agent runtime, bootstrap files, agent loop, context engine, hooks, timeouts |
50| [streaming.md](references/streaming.md) | Streaming + chunking: block streaming, coalescing, preview modes |
51| [queue.md](references/queue.md) | Command queue: modes (steer/followup/collect), concurrency, per-session |
52| [model_failover.md](references/model_failover.md) | Model failover, OAuth, auth profiles, cooldowns, billing disables |
53| [clawhub.md](references/clawhub.md) | ClawHub: public skill registry, CLI commands, publish/install |
54| [thinking.md](references/thinking.md) | Thinking levels, verbose directives, reasoning visibility |
55| [polls.md](references/polls.md) | Polls: Telegram, WhatsApp, Discord, MS Teams |
56| [voice.md](references/voice.md) | Talk Mode (voice interaction) + Voice Wake (wake words) |
57| [presence_discovery.md](references/presence_discovery.md) | Presence system, discovery (Bonjour/Tailscale), transports |
58| [gateway_internals.md](references/gateway_internals.md) | Network model, gateway lock, health checks, doctor, logging, background exec |
59| [heartbeat.md](references/heartbeat.md) | Heartbeat: config, delivery, visibility, HEARTBEAT.md, per-agent |
60| [bonjour.md](references/bonjour.md) | Bonjour/mDNS: TXT keys, wide-area DNS-SD, debugging, failure modes |
61| [pairing.md](references/pairing.md) | Gateway pairing: node approval, CLI, API, auto-approval, storage |
62| [tui.md](references/tui.md) | TUI: keyboard shortcuts, slash commands, pickers, local shell, delivery |
63| [media.md](references/media.md) | Media: camera capture, images, audio/voice notes, transcription |
64| [channel_routing.md](references/channel_routing.md) | Channel routing, session keys, agent selection, Mattermost, BlueBubbles |
65
66
67
68## Quick Reference
69
70### Key Paths
71
72| Path | Purpose |
73|---|---|
74| `~/.openclaw/openclaw.json` | Main config (JSON5) |
75| `~/.openclaw/.env` | Global env fallback |
76| `~/.openclaw/workspace` | Default agent workspace |
77| `~/.openclaw/agents/<id>/` | Per-agent state + sessions |
78| `~/.openclaw/skills/` | Managed/local skills |
79| `~/.openclaw/agents/<id>/qmd/` | QMD memory backend state |
80| `~/.openclaw/agents/<id>/agent/auth-profiles.json` | Auth profiles + OAuth tokens |
81| `OPENCLAW_CONFIG_PATH` | Override config location |
82| `OPENCLAW_STATE_DIR` | Override state directory |
83| `OPENCLAW_HOME` | Override home directory |
84
85### Essential Commands
86
87```
88openclaw status # Overall status
89openclaw gateway status # Gateway daemon status
90openclaw gateway status --deep # Deep scan including system services
91openclaw doctor # Diagnose config/service issues
92openclaw doctor --fix # Auto-fix safe issues
93openclaw logs --follow # Tail gateway logs
94openclaw channels status --probe # Channel health check
95openclaw security audit # Security posture check
96openclaw security audit --fix # Auto-fix security issues
97openclaw update # Self-update
98openclaw dashboard # Open Control UI in browser
99openclaw tui # Terminal UI (interactive REPL)
100openclaw agent # Direct agent interaction via CLI
101openclaw health # Health check
102openclaw usage # Usage tracking
103openclaw config validate # Validate config file
104openclaw config file # Print active config path
105openclaw sessions cleanup # Session disk cleanup
106openclaw agents bindings # Agent-channel bindings
107openclaw agents bind # Bind agent to account
108openclaw agents unbind # Unbind agent
109openclaw update --dry-run # Preview update
110openclaw system presence # View connected clients/nodes
111openclaw system heartbeat last # Last heartbeat info
112openclaw system heartbeat now # Trigger heartbeat immediately
113openclaw memory search <query> # CLI memory search
114openclaw docs <query> # Search OpenClaw docs
115openclaw tasks list # List background/detached task runs
116openclaw tasks show <id> # Show specific task details
117openclaw tasks cancel <id> # Cancel a running task
118openclaw tasks audit # Identify problematic task runs
119openclaw agent --message "..." # Run single agent turn (scripted/testing)
120openclaw nodes pending # List pending pairing requests
121openclaw nodes approve <id> # Approve node pairing
122openclaw nodes status # Show all paired nodes
123openclaw health --json # Full health snapshot (JSON)
124openclaw message send --media <p> # Send media message
125```
126
127### Default Gateway
128
129- Bind: `127.0.0.1:18789` (loopback)
130- Dashboard: `http://127.0.0.1:18789/`
131- Protocol: WebSocket (JSON text frames)
132
133## Core Workflow
134
135### Diagnosing Issues
136
137Always follow this command ladder:
138
1391. `openclaw status` — quick overview
1402. `openclaw gateway status` — daemon running? RPC probe ok?
1413. `openclaw logs --follow` — watch for errors
1424. `openclaw doctor` — config/service diagnostics
1435. `openclaw channels status --probe` — per-channel health
144
145### Starting / Restarting Gateway
146
147```bash
148# Foreground with verbose logging
149openclaw gateway --port 18789 --verbose
150
151# Force-kill existing listener then start
152openclaw gateway --force
153
154# Service management (launchd on macOS, systemd on Linux)
155openclaw gateway install
156openclaw gateway start
157openclaw gateway stop
158openclaw gateway restart
159```
160
161### Configuration
162
163Edit config via any method:
164
165```bash
166# Interactive wizard
167openclaw onboard # Full setup
168openclaw configure # Config wizard
169
170# CLI one-liners
171openclaw config get <path> # Read value
172openclaw config set <path> <value> # Set value (JSON5 or raw string)
173openclaw config unset <path> # Remove value
174
175# Direct edit
176# Edit ~/.openclaw/openclaw.json (JSON5 format)
177# Gateway hot-reloads on save (if gateway.reload.mode != "off")
178```
179
180Minimal config example:
181
182```json5
183{
184 agents: { defaults: { workspace: "~/.openclaw/workspace" } },
185 channels: { whatsapp: { allowFrom: ["+15555550123"] } },
186}
187```
188
189### Channel Setup
190
191For detailed per-channel setup, see [references/channels.md](references/channels.md).
192For per-channel troubleshooting (failure signatures, setup walkthroughs), see [references/channel_troubleshooting.md](references/channel_troubleshooting.md).
193For plugins adding new channels (Matrix, Nostr, MS Teams, etc.), see [references/plugins.md](references/plugins.md).
194
195Quick channel add:
196
197```bash
198# Interactive wizard
199openclaw channels add
200
201# Non-interactive
202openclaw channels add --channel telegram --account default --name "My Bot" --token $BOT_TOKEN
203openclaw channels login --channel whatsapp # QR pairing for WhatsApp
204openclaw channels status --probe # Verify
205```
206
207### Model Provider Setup
208
209For detailed provider setup, see [references/providers.md](references/providers.md).
210
211```bash
212# Set default model
213openclaw models set anthropic/claude-sonnet-4-5
214
215# List available models
216openclaw models list --all
217
218# Check auth/token status
219openclaw models status --probe
220
221# Add auth interactively
222openclaw models auth add
223```
224
225Config example:
226
227```json5
228{
229 agents: {
230 defaults: {
231 model: {
232 primary: "anthropic/claude-sonnet-4-5",
233 fallbacks: ["openai/gpt-5.2"],
234 },
235 },
236 },
237}
238```
239
240### Multi-Agent Routing
241
242For detailed multi-agent config, see [references/multi_agent.md](references/multi_agent.md).
243
244```bash
245openclaw agents add <id> # Create agent
246openclaw agents list --bindings # Show agent-channel bindings
247openclaw agents delete <id> # Remove agent
248```
249
250### Nodes (iOS / Android / macOS / Headless)
251
252For detailed node setup, see [references/nodes.md](references/nodes.md).
253
254```bash
255openclaw nodes status # List connected nodes
256openclaw nodes describe --node <id> # Node capabilities
257openclaw devices list # Pending device approvals
258openclaw devices approve <requestId> # Approve a device
259openclaw node run --host <host> --port 18789 # Start headless node host
260```
261
262### Security
263
264For detailed security hardening, see [references/security.md](references/security.md).
265For secrets management (SecretRef, vault integration), see [references/secrets.md](references/secrets.md).
266For sandboxing (Docker isolation for tools), see [references/sandboxing.md](references/sandboxing.md).
267For full config field reference, see [references/config_reference.md](references/config_reference.md).
268For remote access (SSH, Tailscale, VPN), see [references/remote_access.md](references/remote_access.md).
269
270```bash
271openclaw security audit # Check posture
272openclaw security audit --deep # Live gateway probe
273openclaw security audit --fix # Auto-fix safe issues
274openclaw secrets reload # Re-resolve secret refs
275openclaw secrets audit # Scan for plaintext leaks
276```
277
278### Update / Uninstall
279
280For detailed installation, updating, rollback, and migration guide, see [references/install.md](references/install.md).
281
282```bash
283# Install (recommended)
284curl -fsSL https://openclaw.ai/install.sh | bash
285
286# Update
287openclaw update # Self-update command
288# Or: npm install -g openclaw@latest
289openclaw doctor # Run after update to apply migrations
290
291# Uninstall
292openclaw uninstall
293```
294
295## Tools Reference
296
297For detailed per-tool documentation, see [references/tools.md](references/tools.md).
298
299For specific tools, see:
300- [references/exec.md](references/exec.md) — Exec tool deep-dive
301- [references/exec_approvals.md](references/exec_approvals.md) — Exec approvals and allowlists
302- [references/browser.md](references/browser.md) — Browser automation deep-dive
303- [references/web_tools.md](references/web_tools.md) — Web search/fetch with multiple providers
304- [references/lobster.md](references/lobster.md) — Lobster workflow runtime
305- [references/llm_task.md](references/llm_task.md) — LLM Task for structured JSON output
306- [references/openprose.md](references/openprose.md) — OpenProse multi-agent programs
307- [references/plugins.md](references/plugins.md) — Plugin system (install, author, distribute)
308- [references/skills.md](references/skills.md) — Skills system (load, config, ClawHub)
309
310For ACP agents (Codex, Claude Code, Gemini CLI, etc.), see [references/acp_agents.md](references/acp_agents.md).
311For Diffs plugin and Firecrawl anti-bot fallback, see [references/diffs_firecrawl.md](references/diffs_firecrawl.md).
312For chat slash commands (/new, /model, /acp, etc.), see [references/slash_commands.md](references/slash_commands.md).
313For thinking levels (/think, /verbose, /reasoning), see [references/thinking.md](references/thinking.md).
314For polls (Telegram, WhatsApp, Discord, MS Teams), see [references/polls.md](references/polls.md).
315For Talk Mode and Voice Wake, see [references/voice.md](references/voice.md).
316For Gateway architecture and wire protocol, see [references/architecture.md](references/architecture.md).
317For agent runtime and loop details, see [references/agent_runtime.md](references/agent_runtime.md).
318For command queue system, see [references/queue.md](references/queue.md).
319For model failover and OAuth, see [references/model_failover.md](references/model_failover.md).
320For ClawHub skill registry, see [references/clawhub.md](references/clawhub.md).
321For presence and discovery, see [references/presence_discovery.md](references/presence_discovery.md).
322For streaming and chunking, see [references/streaming.md](references/streaming.md).
323For Gateway internals (network model, lock, health, doctor, logging), see [references/gateway_internals.md](references/gateway_internals.md).
324For heartbeat system, see [references/heartbeat.md](references/heartbeat.md).
325For Bonjour/mDNS discovery details, see [references/bonjour.md](references/bonjour.md).
326For Gateway node pairing, see [references/pairing.md](references/pairing.md).
327For Terminal UI (TUI), see [references/tui.md](references/tui.md).
328For media (camera, images, audio), see [references/media.md](references/media.md).
329For channel routing and session keys, see [references/channel_routing.md](references/channel_routing.md).
330
331**Tool profiles**: `minimal`, `coding`, `messaging`, `full` (default).
332
333**Tool groups** (for allow/deny):
334- `group:runtime` — exec, bash, process
335- `group:fs` — read, write, edit, apply_patch
336- `group:sessions` — sessions_list/history/send/spawn, session_status
337- `group:memory` — memory_search, memory_get
338- `group:web` — web_search, web_fetch
339- `group:ui` — browser, canvas
340- `group:automation` — cron, gateway
341- `group:messaging` — message
342- `group:nodes` — nodes
343- `group:openclaw` — all built-in OpenClaw tools (excludes provider plugins)
344
345## Common Failure Signatures
346
347| Error | Cause | Fix |
348|---|---|---|
349| `refusing to bind gateway ... without auth` | Non-loopback bind without token | Set `gateway.auth.token` or `gateway.auth.password` |
350| `another gateway instance is already listening` / `EADDRINUSE` | Port conflict | `openclaw gateway --force` or change port |
351| `Gateway start blocked: set gateway.mode=local` | Local mode not enabled | Set `gateway.mode="local"` |
352| `unauthorized` / reconnect loop | Token/password mismatch | Check `OPENCLAW_GATEWAY_TOKEN` or config auth |
353| `device identity required` | Missing device auth | Ensure client completes connect.challenge flow |
354| No replies from bot | Pairing/allowlist/mention gating | Check `openclaw pairing list`, DM policy, mention patterns |
355| `Embedding provider authentication failed (401)` | `.env` has placeholder API key (e.g. `your-jina-api-key-here`) | Replace with real API key in `~/.openclaw/.env`, restart Gateway |
356| `openclaw flows list` / `ClawFlow` references | ClawFlow is deprecated | Use `openclaw tasks list/show/cancel/audit` instead |
357| `config change requires gateway restart (plugins.*)` | Plugin config changes can't hot-reload | Full `openclaw gateway restart` or `launchctl kickstart -k` |
358| `Bootstrap failed: 5: Input/output error` | LaunchAgent plist in stale/stuck state | `openclaw gateway install` then `launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway` |
359| `Missing env var "X" referenced at config path: ...` | `.env` missing or variable not defined | Add variable to `~/.openclaw/.env` and restart Gateway |
360
361## Environment Variables
362
363| Variable | Purpose |
364|---|---|
365| `OPENCLAW_GATEWAY_TOKEN` | Gateway auth token |
366| `OPENCLAW_GATEWAY_PASSWORD` | Gateway auth password |
367| `OPENCLAW_GATEWAY_PORT` | Override gateway port |
368| `OPENCLAW_CONFIG_PATH` | Override config file path |
369| `OPENCLAW_STATE_DIR` | Override state directory |
370| `OPENCLAW_HOME` | Override home directory |
371| `OPENCLAW_LOAD_SHELL_ENV` | Import shell env (set to `1`) |
372| `OPENCLAW_VERBOSE` | Verbose logging |
373| `OPENCLAW_LOG_FILE` | File logging path |
374| `OPENCLAW_LOG_LEVEL` | Log level control |
375| `OPENCLAW_SHELL` | Set by OpenClaw in exec/acp/tui runtimes |
376| `BRAVE_API_KEY` | For web_search tool |
377| `FIRECRAWL_API_KEY` | For Firecrawl anti-bot fallback |
378| `ELEVENLABS_API_KEY` | For Talk Mode TTS |
379| `ELEVENLABS_VOICE_ID` | Default voice for Talk Mode |
380| `CLAWHUB_TOKEN` | ClawHub API token for CI/automation |
381| `CLAWHUB_WORKDIR` | ClawHub working directory override |
382| `OLLAMA_API_KEY` | For Ollama embeddings provider |
383| `OPENCLAW_SKIP_CRON` | Disable cron scheduler (set to `1`) |
384| `OPENCLAW_HIDE_BANNER` | Suppress banner output |
385| `OPENCLAW_SUPPRESS_NOTES` | Suppress informational notes |
386