Skip to main content
Back to Learning Hub
Lesson 10 of 1720 min read
By Conard LiPublished Apr 8, 2026Updated Apr 10, 2026

Command Reference: The 6+6 Classification of CLI vs Chat Commands

A practical reference for every OpenClaw command — six categories of terminal CLI commands that manage the system, and six categories of chat commands that control the current session.

Table of contents

OpenClaw Command Reference: The 6+6 Overview

In the previous lesson we covered the most important distinction in OpenClaw: terminal CLI commands manage the system, chat commands manage the session. This lesson is purely practical — every command organized by purpose so you can look things up quickly.

Terminal CLI manages the system vs. chat commands manage the session.

Part 1 — Terminal CLI Commands: 6 Categories for System Management

Commands typed as openclaw ... in your terminal are the system control plane. Here are six groups organized by use case.

1) Startup & Entry Points

When to use: first-time setup, daily health checks, or troubleshooting.

openclaw onboard          # First-run setup wizard
openclaw dashboard        # Open the Dashboard (fastest way to chat)
openclaw status           # Full system diagnostic
openclaw status --deep    # Deep diagnostic with live probing
openclaw status --usage   # Show detailed provider usage
openclaw health           # Quick Gateway health check
openclaw doctor           # Auto-troubleshooter — run this first when something breaks

After deployment, your first command should be: openclaw dashboard. When something breaks, your first command should be: openclaw doctor.

2) Channels & Messaging

When to use: connecting Feishu, Telegram, or other channels, or proactively sending messages.

openclaw channels list       # List all channels
openclaw channels status     # Check channel health (includes fix suggestions)
openclaw channels add        # Add a channel
openclaw channels remove     # Remove a channel
openclaw channels login      # Log in to a channel account
openclaw channels logout     # Log out of a channel account
openclaw channels logs       # View channel logs
openclaw message send --target <id> --message <text>
                             # Proactively send a message to a channel
openclaw directory           # Look up target IDs for use with message send

message send lets you proactively send messages, polls, and reactions to WhatsApp, Telegram, Discord, Slack, and more — no need to wait for someone to message you first.

Top troubleshooting tip: openclaw channels status --probe --json shows you at a glance which channels are down.

3) Capabilities & Resources

When to use: checking what skills, models, and memory are available to the system.

openclaw skills list         # List available skills
openclaw skills info <name>  # Details for a specific skill
openclaw skills check        # Check whether skill dependencies are ready
openclaw models              # Alias for models status
openclaw models list         # List models
openclaw models status       # Model status
openclaw models set          # Set default model
openclaw models set-image    # Set image model
openclaw models auth         # Model authentication
openclaw models aliases      # Model aliases
openclaw models fallbacks    # Model fallback chain
openclaw memory status       # Memory index status
openclaw memory index        # Build the index
openclaw memory search       # Search memory

This group is not about making the agent do work — it is about seeing what system-level resources are available.

4) Agent Management

When to use: triggering agent runs directly from the terminal, or managing multiple independent agents.

openclaw agent --message "..."    # Trigger one round of agent execution
openclaw agent --local            # Run locally (bypass the Gateway)
openclaw agents list              # List all independent agents
openclaw agents add               # Add an agent
openclaw agents delete            # Delete an agent
openclaw agents bindings          # View binding relationships
openclaw agents bind              # Bind an agent
openclaw agents unbind            # Unbind an agent
openclaw agents set-identity      # Set agent identity

Note the singular vs. plural distinction: agent (singular) runs a single conversation turn in the terminal; agents (plural) manages independent agent workspaces, bindings, and identities. This group is useful for batch scheduling or scripting agent calls.

5) Security & Execution Control

When to use: controlling whether the agent can execute commands on your machine.

openclaw approvals get                # View current approval rules
openclaw approvals set                # Set approval rules
openclaw approvals allowlist add      # Add to the allowlist
openclaw approvals allowlist remove   # Remove from the allowlist
openclaw security audit               # Run a security audit

This group is critically important but easy to overlook. Exec Approvals are the security gate for sandboxed agents executing commands on your real machine. Whether a command can run depends on policy + allowlist + user approval all being satisfied. This determines whether the agent can actually affect your machine.

Beginners should stick with the default policy until they understand the mechanism, then open up permissions gradually.

6) Advanced System Capabilities

When to use: gateway operations, browser automation, node management, scheduled tasks. Beginners can skip this.

openclaw gateway install|start|stop|status|restart
                             # Gateway service management
openclaw browser ...         # Browser instance control
openclaw nodes ...           # Node management
openclaw node ...            # Single node operations
openclaw cron ...            # Scheduled tasks
openclaw backup ...          # Backup
openclaw plugins ...         # Plugin management
openclaw sessions ...        # Session management

OpenClaw's CLI is not just a chat entry point — it is the operations control plane for the entire system. Just know these exist and look them up when you need them.

Part 2 — Chat Commands: 6 Categories for Session Control

Chat commands starting with / are handled by the Gateway. Most need to be sent as a standalone message. Here are six groups by use case.

1) Basic Queries

When to use: checking your current status from within a chat session.

/help              # Help
/commands          # List all available commands
/status            # Current session status (model, provider usage)
/context detail    # What files, tools, and skills are in the current context
/context json      # Output context in JSON format
/whoami or /id     # My sender ID

/context detail is especially useful — it shows you exactly how much is loaded into the current context, including file sizes, tool counts, and system prompt size. Essential for debugging.

2) Session Control

When to use: starting a new conversation, stopping, restarting, or checking costs.

/reset or /new     # Start a new session
/new <model>       # Start a new session with a different model
/stop              # Stop the current run
/restart           # Restart
/usage off         # Disable usage display
/usage tokens      # Show token usage after each reply
/usage full        # Full usage details
/usage cost        # Print local session cost summary
/compact           # Compress context (use when conversation gets too long)

/usage cost is invaluable for controlling spending — it shows exactly how much the current session has cost.

3) Directives: Runtime Parameters

When to use: switching models, adjusting thinking levels, or enabling debug output. This is the most nuanced group of chat commands.

Directives are not chat text — they are runtime control signals. Key mechanism: when mixed into a message they act as a temporary hint; when sent as a standalone message they persist for the session.

/model <name>        # Switch model
/model list          # List available models
/model status        # Current model status
/think off           # Disable thinking
/think minimal       # Minimal thinking
/think low           # Low
/think medium        # Medium
/think high          # High
/think xhigh         # Maximum thinking
/verbose on|full|off # Verbose output (for debugging; keep off normally)
/reasoning on|off|stream   # Output reasoning process
/elevated on|off|ask|full  # Elevate execution privileges
/exec host=<...>           # Execution environment parameters
/queue                     # Queue control

Warning: /reasoning and /verbose in group chats can be risky — they may expose internal reasoning or tool output you do not want to share publicly. Keep them off during normal use.

4) Sub-agent Control

When to use: viewing and managing sub-agents spawned during the current conversation.

/subagents list       # List current sub-agents
/subagents spawn      # Launch a sub-agent
/subagents info <id>  # Sub-agent details
/subagents log <id>   # View a sub-agent's logs
/subagents send <id>  # Send a message to a sub-agent
/subagents steer <id> # Adjust direction mid-run
/subagents kill <id>  # Terminate a sub-agent

This group does not change system configuration — it manages sub-agents within the current session. For example, if you have OpenClaw working on multiple tasks simultaneously, use /subagents list to check progress and /subagents steer to redirect mid-run.

5) Configuration & Permissions (Disabled by Default)

When to use: changing configuration or handling approvals from within chat. Must be manually enabled.

/config show         # View configuration
/config get <key>    # Read a specific setting
/config set <k> <v>  # Modify config (writes to openclaw.json on disk)
/config unset <key>  # Delete a setting
/debug show          # View runtime debug config
/debug set <k> <v>   # Modify (runtime only, not persisted to disk)
/debug unset <key>   # Delete
/debug reset         # Reset
/approve <id> allow-once    # Allow this time only
/approve <id> allow-always  # Allow permanently
/approve <id> deny          # Deny
/allowlist                  # View or modify the allowlist

Note: /config requires commands.config: true, and /debug requires commands.debug: true. Both are owner-only — regular users cannot access them.

6) Shell Execution (Disabled by Default)

When to use: executing host machine commands directly from chat. Use with caution.

! <command>      # Run a command on the host machine
/bash <command>  # Alias for the above
!poll            # Check status of long-running commands
!stop            # Stop a running command

Requires commands.bash: true, plus a matching tools.elevated allowlist entry. You can run commands from chat, but it is not a regular shell — it is subject to stricter security controls.

Part 3 — Quick-Reference Table

CLI vs. chat command comparison: same task, two entry points.

What you want to doTerminal CLIChat command
Check system statusopenclaw status/status
Troubleshootopenclaw doctor
Manage channelsopenclaw channels ...
Send a message proactivelyopenclaw message send
Manage models (system-level)openclaw models ...
Switch model (current session)/model <name>
Manage approval rulesopenclaw approvals ...
Handle approval requests/approve ...
Manage independent agentsopenclaw agents ...
Manage sub-agents/subagents ...
Adjust thinking level/think ...
Inspect context/context detail
Check costsopenclaw status --usage/usage cost
Change configurationopenclaw config set/config set (must be enabled)
Run shell commands! <command> (must be enabled)

Part 4 — The Core Difference in One Sentence

CLI changes the rules. Chat commands control this run.

What you change in the terminal is persistent and system-level. What you change in chat (except /config) only affects the current session.

Bookmark this page — looking things up here is faster than searching the official docs.

Series Overview

  • Part 1: "Set Up OpenClaw for ¥68 — Connect Feishu + Telegram" — deployment guide
  • Part 2: "The 2 Command Systems Every Beginner Must Understand" — building the mental model
  • Part 3: This article — your practical reference

Coming next: agent configuration and multi-agent collaboration — real-world experience reports.

Continue learning