Skip to content
Guides

OpenClaw slash commands

Commands, directives and inline shortcuts, who may use them, the config flags, and the owner-only surfaces

6 min read

The Gateway handles commands sent as standalone messages starting with a slash, and the docs page that lists them is long because the surface is: session commands, model and run controls, discovery and status, skills and approvals, subagents, owner-only writes, voice and channel control, plus whatever plugins and skills register. Here is the three-way split that makes the page readable, who is allowed to use what, the config flags, the catalog by group, and the per-surface notes.

Three kinds

  • Commands are standalone messages handled by the Gateway and must be the only content in the message.
  • Directives, think, fast, verbose, trace, reasoning, elevated, exec, model and queue, are stripped from the message before the model sees it; sent alone they persist session settings and reply with an acknowledgement, sent with other text they act as inline hints, with model selection the exception that persists either way.
  • Inline shortcuts, help, commands, status and whoami, run immediately and are stripped before the model sees the remaining text.
  • Host-only shell commands use an exclamation mark prefix, with a bash alias, and are off by default.
Directives are stripped from the message before the model sees it.

Who may use them

Directives and commands only apply for authorized senders. If a command allowlist is configured it is the only authorization source; otherwise authorization follows the channel allowlists, pairing, and always-on access-group enforcement, and unauthorized senders see directives treated as plain text, with unauthorized command-only messages on external channels silently ignored. A separate owner allowlist gates the owner-only surfaces, restart, update, config, MCP, plugins and debug; CLI pairing approval records the first owner, the Control UI pairing has an owner checkbox, and an authorized non-owner who tries an owner-only command gets a refusal that quotes the exact configuration command for their sender id. New-session and reset stay available to channel-authorized senders where the channel does not enforce owner-only commands, but a denied command performs no reset and runs no follow-up text.

The config block and the catalog

  • The flags: text commands on, native registration automatic, which means on for Discord and Telegram and off for Slack, native skill commands likewise, bash off and requiring the elevated allowlists, config, MCP, plugins and debug off and owner-only, restart on, which also enables update. On surfaces without native commands, WhatsApp, WebChat, Signal, iMessage, Google Chat and Teams, text commands work even when the text flag is off.
  • The groups: sessions and runs, new, reset, name, compact, stop, session expiry and exports; model and run controls, think, verbose, trace, fast, reasoning, elevated, exec, login, model, models, queue and steer; discovery, help, commands, tools, status, goal, dashboard, diagnostics, tasks, context, whoami and usage; skills, allowlists and approvals; subagents and ACP; owner-only writes; TTS, activation and bash. Bundled plugins add dreaming, pair, voice and codex, LINE adds card, and QQBot its own set.
  • Skill commands: the generic skill command always works, skills may register direct commands under their declared name, names are sanitised to lowercase letters, digits and underscores with a 32-character cap, collisions get numeric suffixes, and a skill can declare tool dispatch to route straight to a tool with no model involved.

OpenClaw thinking levels covers the directive family in depth, and OpenClaw permission modes the session-wide exec policy the docs point to instead of per-message exec options.

Model selection, tools, and the surfaces

Model selection has three scopes: session only, the agent default, or the shared global default, with the long and short flags spelled out; without a flag the command changes only the current session, even for owners, and non-owners have explicit agent or global requests rejected. Models are selected by provider and model id or a configured alias, never by number. The tools command answers a runtime question, what this agent can use right now in this conversation, and changes with agent, channel, thread, sender and model. Slack reserves the status name, so the native registration uses agentstatus while text status still works; Discord opens an interactive picker for the bare model command and uses autocomplete for dynamic options, and Telegram browses models with callback buttons that stay session-only. OpenClaw skills explained explains what a skill command actually runs, and OpenClaw on Discord the native registration on the channel with the richest support.

On Diali

On Diali the command surface is the same OpenClaw one, minus the owner-only writes that edit files on the box: config, plugins and updates are the dashboard’s job, and a release replaces them for you. Hosted OpenClaw on Diali is the assistant and Updating OpenClaw explains the release train.

  • Commands stand alone; directives are stripped; shortcuts run inline.
  • A command allowlist, when set, is the only authorization source.
  • Owner-only writes stay off until you switch them on.
Get started

Stop reading about it, build one

Set up an agent, pick a channel, and have it working inside the app you already keep open.