This is the complete command-line interface for running and managing OpenClaw, covering everything from gateway setup and agent configuration to channel management across Telegram, Discord, and WhatsApp. You'll use it for initial onboarding, installing the gateway as a system service, managing skills and hooks, and runtime operations like sending messages or controlling browser automation. The command surface is huge but well-organized: gateway operations, agent identity management, model authentication with fallbacks, cron jobs, and even remote node control for cameras and screen recording. It's clearly built for power users who want full control over their OpenClaw deployment rather than clicking through a UI.
npx -y skills add irangareddy/openclaw-essentials --skill openclaw-cli --agent claude-codeInstalls into .claude/skills of the current project.
Complete reference for openclaw command-line interface operations.
Managing OpenClaw gateway, agents, channels, skills, hooks, and automation.
Initial setup:
# Quick onboarding with daemon install
openclaw onboard --install-daemon
# Setup workspace and config
openclaw setup --workspace ~/.openclaw/workspace
# Interactive configuration
openclaw configure
Health check:
openclaw doctor
Run gateway:
# Interactive mode
openclaw gateway
# With specific port
openclaw gateway --port 18789
# With tailscale
openclaw gateway --tailscale serve
Gateway service:
# Install as system service
openclaw gateway install
# Control service
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway status
Gateway health:
openclaw status
openclaw status --deep # Probe channels
openclaw health
List agents:
openclaw agents list
openclaw agents list --bindings # Show routing
Add agent:
# Interactive wizard
openclaw agents add <name>
# Non-interactive
openclaw agents add dev \
--workspace ~/.openclaw/workspace-dev \
--model claude-sonnet-4.5 \
--non-interactive
Delete agent:
openclaw agents delete <id>
Set identity:
# From IDENTITY.md
openclaw agents set-identity --agent main --from-identity
# Explicit values
openclaw agents set-identity --agent main \
--name "MyAgent" \
--emoji "🤖" \
--avatar avatars/bot.png
List skills:
openclaw skills list
openclaw skills list --eligible # Only ready skills
openclaw skills list --json # JSON output
Skill info:
openclaw skills info <skill-name>
Check eligibility:
openclaw skills check
List hooks:
openclaw hooks list
openclaw hooks list --eligible
openclaw hooks list --verbose # Show missing requirements
Hook info:
openclaw hooks info <hook-name>
Enable/disable:
openclaw hooks enable session-memory
openclaw hooks disable command-logger
Install hooks:
# From npm
openclaw hooks install @openclaw/my-hooks
# Local directory
openclaw hooks install ./my-hooks
# Link (development)
openclaw hooks install -l ./my-hooks
Update hooks:
openclaw hooks update <id>
openclaw hooks update --all
List channels:
openclaw channels list
Channel status:
openclaw channels status
openclaw channels status --probe
Add channel:
# Interactive
openclaw channels add
# Telegram bot
openclaw channels add --channel telegram \
--account alerts \
--name "Alerts Bot" \
--token $TELEGRAM_BOT_TOKEN
# Discord
openclaw channels add --channel discord \
--account work \
--token $DISCORD_BOT_TOKEN
Remove channel:
openclaw channels remove --channel telegram --account alerts
openclaw channels remove --channel discord --account work --delete
WhatsApp login:
openclaw channels login --channel whatsapp
Channel logs:
openclaw channels logs
openclaw channels logs --channel whatsapp --lines 100
Status:
openclaw models status
openclaw models status --probe # Live check
openclaw models status --probe-provider anthropic
List models:
openclaw models list
openclaw models list --all
openclaw models list --provider anthropic
Set default:
openclaw models set claude-sonnet-4.5
openclaw models set-image claude-sonnet-4.5
Auth setup:
# Anthropic (recommended)
claude setup-token
openclaw models auth setup-token --provider anthropic
# Or paste token
openclaw models auth paste-token --provider anthropic
Fallbacks:
openclaw models fallbacks list
openclaw models fallbacks add claude-opus-4.6
openclaw models fallbacks remove claude-haiku-4.5
openclaw models fallbacks clear
Scan for models:
openclaw models scan
openclaw models scan --set-default
Send message:
openclaw message send \
--target +15555550123 \
--message "Hello from OpenClaw"
# Discord channel
openclaw message send \
--channel discord \
--target channel:123456 \
--message "Deployment complete"
Send poll:
openclaw message poll \
--channel discord \
--target channel:123 \
--poll-question "Lunch?" \
--poll-option "Pizza" \
--poll-option "Sushi"
Other message operations:
openclaw message read --target +15555550123
openclaw message react --target <id> --emoji "👍"
openclaw message edit --target <id> --message "Updated"
openclaw message delete --target <id>
Status & control:
openclaw browser status
openclaw browser start
openclaw browser stop
openclaw browser tabs
Navigate:
openclaw browser open https://example.com
openclaw browser navigate https://example.com --target-id <id>
Interact:
openclaw browser click "#submit-button"
openclaw browser type "#email" "user@example.com"
openclaw browser press Enter
Capture:
openclaw browser screenshot
openclaw browser screenshot --full-page
openclaw browser snapshot --format ai
Profiles:
openclaw browser profiles
openclaw browser create-profile --name dev
openclaw browser delete-profile --name old
List nodes:
openclaw nodes list
openclaw nodes status --connected
Node operations:
# Describe node
openclaw nodes describe --node <id>
# Run command on node
openclaw nodes run --node <id> --cwd /path -- ls -la
# Notify (macOS)
openclaw nodes notify --node <id> \
--title "Build Complete" \
--body "Success" \
--sound default
Camera:
openclaw nodes camera list --node <id>
openclaw nodes camera snap --node <id> --facing front
openclaw nodes camera clip --node <id> --duration 10s
Canvas:
openclaw nodes canvas snapshot --node <id>
openclaw nodes canvas present --node <id> --target index.html
openclaw nodes canvas hide --node <id>
Screen recording:
openclaw nodes screen record --node <id> --duration 30s
System event:
openclaw system event --text "Deployment complete" --mode now
Heartbeat:
openclaw system heartbeat last
openclaw system heartbeat enable
openclaw system heartbeat disable
Presence:
openclaw system presence
List jobs:
openclaw cron list
openclaw cron list --all
openclaw cron status
Add job:
# System event every hour
openclaw cron add \
--name "hourly-check" \
--every "1h" \
--system-event "Hourly check"
# Message at specific time
openclaw cron add \
--name "morning-reminder" \
--at "09:00" \
--message "Good morning!"
Manage jobs:
openclaw cron enable <id>
openclaw cron disable <id>
openclaw cron rm <id>
openclaw cron run <id>
Job runs:
openclaw cron runs --id <id> --limit 10
Get/set config:
# Get value
openclaw config get agents.defaults.model.primary
# Set value
openclaw config set agents.defaults.model.primary "claude-sonnet-4.5"
# Unset value
openclaw config unset some.config.path
Memory status:
openclaw memory status
Index memory:
openclaw memory index
Search memory:
openclaw memory search "GraphQL implementation patterns"
Tail logs:
openclaw logs
openclaw logs --follow
openclaw logs --limit 200
openclaw logs --json
List sandboxes:
openclaw sandbox list
Recreate sandbox:
openclaw sandbox recreate
Security audit:
openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
List plugins:
openclaw plugins list
openclaw plugins list --json
Plugin info:
openclaw plugins info <plugin-id>
Install plugin:
openclaw plugins install <path-or-spec>
Enable/disable:
openclaw plugins enable <id>
openclaw plugins disable <id>
Plugin health:
openclaw plugins doctor
Update OpenClaw:
openclaw update
Reset config:
openclaw reset --scope config
openclaw reset --scope config+creds+sessions
openclaw reset --scope full
Uninstall:
openclaw uninstall --service
openclaw uninstall --state
openclaw uninstall --workspace
openclaw uninstall --all
Available everywhere:
--dev # Use ~/.openclaw-dev for isolation
--profile <name> # Use ~/.openclaw-<name>
--no-color # Disable ANSI colors
--json # Machine-readable output
-V, --version # Show version
# 1. Onboard with daemon
openclaw onboard --install-daemon
# 2. Pair WhatsApp (or other channel)
openclaw channels login
# 3. Start gateway
openclaw gateway
# 4. Test with message
openclaw message send --target +1234567890 --message "Test"
# 1. Add agent
openclaw agents add work --workspace ~/.openclaw/workspace-work
# 2. Set identity
openclaw agents set-identity --agent work --from-identity
# 3. Add binding (in openclaw.json)
# bindings: [{ agentId: "work", match: { channel: "discord" } }]
# 4. List to verify
openclaw agents list --bindings
# 1. Enable session memory hook
openclaw hooks enable session-memory
# 2. Enable command logger
openclaw hooks enable command-logger
# 3. Verify
openclaw hooks check
# 4. Restart gateway
openclaw gateway restart
# 1. Add Telegram bot
openclaw channels add --channel telegram \
--account alerts \
--token $TELEGRAM_BOT_TOKEN
# 2. Verify
openclaw channels status
# 3. Send test message
openclaw message send --channel telegram \
--target <chat-id> \
--message "Bot online"
# 1. Setup auth
claude setup-token
# 2. Set default model
openclaw models set claude-sonnet-4.5
# 3. Add fallbacks
openclaw models fallbacks add claude-opus-4.6
openclaw models fallbacks add claude-haiku-4.5
# 4. Verify
openclaw models status
Check gateway status:
openclaw status --deep
openclaw doctor
openclaw health
View logs:
openclaw logs --follow
openclaw channels logs --lines 200
Test channel:
openclaw channels status --probe
Check skills/hooks:
openclaw skills check
openclaw hooks check
openclaw plugins doctor
--json for scripting - All commands support JSON output--profile for testing without affecting main configopenclaw doctor regularly to catch issues~/.openclaw/logs/ for file logs~/.openclaw/openclaw.json~/.openclaw/workspace (or custom path)sentry/dev
degausai/wonda
github/awesome-copilot
insforge/agent-skills
github/awesome-copilot
breaking-brake/cc-wf-studio