
Autonomous Project Management with Subagents
Decentralized project coordination where subagents work autonomously on tasks, coordinating through shared STATE.yaml files rather than a central orchestrator.
Install OpenClaw too difficult for you?
Try shipclaw.app and deploy OpenClaw in 30 seconds.

Complete reference guide for OpenClaw — 150+ CLI commands, configuration, workspace management, and troubleshooting
Everything you need to install, configure, and connect your first OpenClaw agent — from CLI basics and global flags to channel pairing and model authentication.
Gateway Operations
openclaw gateway # Run WebSocket Gateway server
openclaw gateway --port 8080 --bind 0.0.0.0 --token <tok>
openclaw gateway start | stop | restart # Manage via launchd/systemdChannel Management
openclaw channels login # WhatsApp QR pairing
openclaw channels add --channel <ch> --token <tok> # Add bot
openclaw channels status --probe # Check channel healthConfiguration & Setup
openclaw onboard # Interactive setup wizard
openclaw onboard --install-daemon # Setup + install daemon
openclaw doctor # Health checks & quick fixes
openclaw doctor --deep --yes # Deep scan with auto-fix
openclaw config get <key> # Read config (JSON5)
openclaw config set <key> <value> # Write config
openclaw config unset <key> # Remove config keyModel Management
openclaw models list --all # View all available models
openclaw models set <model> # Set primary model
openclaw models set-image <model> # Set default image model
openclaw models status --probe # Live probe auth profiles
openclaw models auth setup-token # Preferred Anthropic auth
openclaw models auth add --provider <p> # Add provider API key
openclaw models fallbacks add <model> # Add to fallback chain
openclaw models fallbacks remove <model>
openclaw models aliases add <alias> <model>Memory & Search
openclaw memory status # Check memory system
openclaw memory index --all # Reindex all memory files
openclaw memory search "query" # Semantic vector searchDiagnostics
openclaw logs --follow # Tail Gateway logs (colorized)
openclaw logs --json # JSON output (one event/line)
openclaw logs --limit 200 # Limit log lines
openclaw status --all --deep # Full diagnosis
openclaw sessions --json # List conversation sessionsSecurity & Advanced
openclaw security audit # Audit config vulnerabilities
openclaw security audit --fix # Auto-fix issues
openclaw reset --scope <scope> # Reset: config | credentials | sessions | full| Flag | Description |
|---|---|
--dev | Isolate state under ~/.openclaw-dev, shift ports |
--profile <name> | Isolate state under ~/.openclaw-<name> |
--no-color | Disable ANSI colors (respects NO_COLOR=1) |
--update | Shorthand for openclaw update (source installs only) |
-V, --version, -v | Print version and exit |
openclaw channels login
# Scan the QR code displayed in the terminal# Get a bot token from @BotFather first
openclaw channels add --channel telegram --token $TELEGRAM_BOT_TOKEN# Create a bot in Discord Developer Portal
openclaw channels add --channel discord --token $DISCORD_BOT_TOKEN# Configure a Slack App with bot token
openclaw channels add --channel slackmacOS native bridge — no additional token required. Enabled automatically on macOS.
openclaw channels add --channel <platform> --token <token>
openclaw channels status --probe # Verify connectivityAuth Setup
openclaw models auth setup-token # Preferred Anthropic authopenclaw models auth add --provider openai
openclaw models auth add --provider anthropicopenclaw models status --probe # Live probe configured profilesModel Configuration
openclaw models list --all # View available models
openclaw models set claude-sonnet # Set primary model
openclaw models set-image dall-e-3 # Set image model
openclaw models fallbacks add gpt-4 # Add fallback
openclaw models aliases add fast claude-haiku # Create aliasFailover Schedule
Model failover timing: 1 min → 5 min → 1 hour
OpenClaw stores agent personality, user preferences, and long-term knowledge in Markdown workspace files and a hybrid vector/BM25 memory system.
All workspace files are located at ~/.openclaw/workspace/:
| File | Purpose |
|---|---|
| AGENTS.md | Operating instructions for the agent |
| SOUL.md | Persona, tone, and boundaries |
| USER.md | User information and preferences |
| IDENTITY.md | Agent name, emoji, theme |
| MEMORY.md | Curated long-term memory (DM only) |
| TOOLS.md | Local tool notes |
| HEARTBEAT.md | Heartbeat checklist |
| BOOT.md | Startup checklist |
memory/YYYY-MM-DD.md | Daily append-only logs |
Tip
AGENTS.md and SOUL.md are the most important files — they define how your agent behaves and responds.
memory/YYYY-MM-DD.md — Append-only logs. Reads today + yesterday at session start.
MEMORY.md — Curated facts, loaded only in main DM session.
memory_search tool provides semantic search (~400 tokens per result).
Providers — Auto-selects from: local GGUF → OpenAI → Gemini → Voyage
Search Configuration
| Feature | Details |
|---|---|
| Hybrid Search | Default 0.7 vector / 0.3 BM25 weighting |
| QMD Backend | Optional experimental mode with BM25 + vectors + reranking |
openclaw memory index --all # Reindex everything
openclaw memory search "query" # Semantic searchControl how conversations are scoped, reset, and managed through built-in slash commands and text-to-speech output.
DM Scope Options
| Scope | Description |
|---|---|
main | Single shared session (default) |
per-peer | One session per contact |
per-channel-peer | One per contact per channel |
per-account-channel-peer | Fully isolated sessions |
Reset Modes
| Mode | Description |
|---|---|
daily | Resets at 4am local time (default) |
idle | Resets after idle timeout |
Configuration
{
"session": {
"dmScope": "main",
"reset": {
"idleMinutes": 30 // Sliding idle window
},
"resetByType": { ... }, // Override for dm, group, thread
"resetByChannel": { ... }, // Per-channel override (highest priority)
"identityLinks": { ... }, // Map provider:id to canonical identity
"sendPolicy": { ... }, // Block delivery for specific types
"store": "~/.openclaw/agents/{agentId}/sessions/sessions.json"
}
}Security
Use per-channel-peer for multi-user inboxes to prevent context leakage between users.
Session Management
| Command | Description |
|---|---|
/status | Session health, context usage, credential status |
/context list | What's in context window (largest contributors) |
/context detail | Full system prompt and injected workspace files |
/model <model> | Switch model for session |
/model list | List available models |
/compact [instructions] | Summarize older context, free window space |
/new [model] | Start fresh session (optional model switch) |
/reset | Alias for /new |
/stop | Abort current run, clear queued followups |
Delivery & Output
| Command | Description |
|---|---|
/send on|off|inherit | Override delivery for this session |
/tts on|off | Toggle text-to-speech |
/think | Toggle reasoning mode |
/verbose | Toggle verbose mode |
Configuration
| Command | Description |
|---|---|
/config | Persisted config changes |
/debug | Runtime-only overrides (requires commands.debug: true) |
| Provider | Characteristics |
|---|---|
| ElevenLabs | Premium ultra-realistic, higher latency |
| OpenAI | Standard fast, high-quality voices |
| Edge TTS | Free, no API key, multi-language support |
Enable auto-TTS:
{
"messages": {
"tts": {
"auto": "always"
}
}
}Scale beyond a single agent — route messages to specialized agents, extend capabilities with skills, delegate tasks to sub-agents, and keep everything alive with heartbeats.
Routing Precedence
| Priority | Binding | Description |
|---|---|---|
| 1 (highest) | peer | Exact DM/group id |
| 2 | guildId | Discord server |
| 3 | teamId | Slack workspace |
| 4 | accountId | Account-level |
| 5 | channel | Channel type |
| 6 (lowest) | default | Final fallback agent |
Management
openclaw agents add <name> # Add new agent
openclaw agents list --bindings # List with routing bindings
openclaw agents delete <name> # Remove agentEach agent gets:
~/.openclaw/agents/<id>/sessions/Skill Precedence
<workspace>/skills/ — Per-agent, takes priority over all others.
~/.openclaw/skills/ — Shared across workspaces.
Shipped with OpenClaw — default capabilities.
ClawHub Registry
clawhub install <slug> # Install from ClawHub
clawhub update --all # Update all installed
clawhub sync --all # Scan and publish updatesSKILL.md Format
---
name: my-skill
description: "What this skill does"
metadata: { "openclaw": { "requires": { ... } } }
---Sub-agents enable parallel work for research/long tasks without blocking the main conversation.
Commands
| Command | Description |
|---|---|
/subagents list | List active sub-agents |
/subagents stop <id|#|all> | Stop sub-agent runs |
/subagents log <id|#> | View sub-agent logs |
/subagents info <id|#> | Show run metadata |
/subagents send <id|#> <msg> | Send message to sub-agent |
Spawn Tool — The sessions_spawn tool accepts:
{
"task": "Research topic X",
"label": "research-x",
"model": "claude-sonnet",
"thinking": true,
"runTimeoutSeconds": 300,
"cleanup": true
}
// Returns: { status, runId, childSessionKey }{
"heartbeat": {
"every": "30m", // Interval (1h for Anthropic OAuth)
"target": "last", // last | none | <channel id>
"to": null, // Optional recipient override
"model": null, // Model override for heartbeat runs
"prompt": null, // Custom prompt body
"activeHours": {
"start": "09:00",
"end": "22:00",
"timezone": "America/New_York"
}
}
}Contract
Agent replies HEARTBEAT_OK if nothing needs attention. OK-only replies are automatically stripped and dropped.
Automate browser tasks, schedule cron jobs, and wire up lifecycle hooks to customize how your agent responds to events.
openclaw browser start | stop # Headless instance
openclaw browser tabs # List open pages
openclaw browser open <url> # Open URL in new tab
openclaw browser navigate <url> # Navigate current tab
openclaw browser screenshot # Capture active view
openclaw browser click | type | press # DOM interactions
openclaw browser evaluate <js> # Run JavaScript
openclaw browser pdf # Export page as PDFopenclaw cron list # View scheduled jobs
openclaw cron add # Create new job
openclaw cron edit <id> # Edit existing job
openclaw cron enable | disable <id> # Toggle job
openclaw cron run <id> # Manual trigger
openclaw cron runs # View run historyBundled Hooks
| Hook | Description |
|---|---|
session-memory | Save session context to memory on /new |
command-logger | Log all commands to audit file |
boot-md | Run BOOT.md on gateway start |
soul-evil | Swap SOUL.md during purge window |
Hook Commands
openclaw hooks list # List discovered hooks
openclaw hooks enable <name> # Enable a hook
openclaw hooks disable <name> # Disable a hook
openclaw hooks info <name> # Show hook details
openclaw hooks check # Check eligibilityEvent Types
| Event | Trigger |
|---|---|
command:new | When /new is issued |
command:reset | When /reset is issued |
command:stop | When /stop is issued |
gateway:startup | After channels start |
agent:bootstrap | Before workspace files injected |
Advanced commands for plugin management, logging, sandbox isolation, and system diagnostics.
Plugin & System Management
openclaw plugins list | enable | disable # Manage plugins
openclaw approvals get | set | allowlist # Execution approval policy
openclaw sandbox list | recreate | explain # Inspect/rebuild sandbox
openclaw system event --text "X" # Queue system event
openclaw system heartbeat enable | disable | last # Control heartbeat
openclaw update status | wizard # Release channel updatesNode & Device Management
openclaw nodes list | pending | approve # Remote node management
openclaw devices list | approve | rotate | revoke # Device token lifecycle
openclaw directory peers | groups list # Resolve IDsMonitoring & Dashboard
openclaw health --json --verbose # Direct gateway health probe
openclaw dashboard # Open Control UI
openclaw tui --url <url> --token <tok> # Remote terminal UIopenclaw logs --follow # Tail logs (colorized in TTY)
openclaw logs --json # Line-delimited JSON
openclaw logs --limit 200 # Limit output
openclaw channels logs --channel whatsapp # Channel-specific logsOpenTelemetry Export
{
"diagnostics": {
"otel": {
"enabled": true
}
}
}Mode Options
| Mode | Description |
|---|---|
"off" | No sandboxing, tools run on host |
"non-main" | Sandbox only non-main sessions (default) |
"all" | Every session runs in sandbox |
Scope Options
| Scope | Description |
|---|---|
"session" | One container per session (default) |
"agent" | One container per agent |
"shared" | One container for all sandboxed sessions |
Workspace Access
| Access | Description |
|---|---|
"none" | Tools see sandbox workspace only (default) |
"ro" | Read-only mount at /agent |
"rw" | Read/write mount at /workspace |
Setup:
scripts/sandbox-setup.sh # Creates openclaw-sandbox:bookworm-slim imageQuick-access paths and common troubleshooting steps.
| Path | Description |
|---|---|
~/.openclaw/openclaw.json | Main configuration file |
~/.openclaw/workspace/ | Default agent workspace |
~/.openclaw/agents/<id>/ | Per-agent state directory |
~/.openclaw/agents/<id>/sessions/ | Session store & transcripts |
~/.openclaw/credentials/ | OAuth/API keys |
~/.openclaw/memory/<agentId>.sqlite | Vector index store |
/tmp/openclaw/openclaw-YYYY-MM-DD.log | Gateway log file |
Tip
Use --dev or --profile <name> to isolate all state under a separate directory for testing.
Universal Fix
When in doubt, run openclaw doctor --deep --yes — it performs health checks, quick fixes, and system service scans.


Decentralized project coordination where subagents work autonomously on tasks, coordinating through shared STATE.yaml files rather than a central orchestrator.

Run a daily digest of the top performing posts from your favourite subreddits, with preference learning over time.

Start your day with a personalized summary of new videos from your favorite YouTube channels — no more missing content from creators you actually want to follow.
Join the community
Subscribe to our newsletter for the latest news and updates