Skip to main content
The commands.* block: which chat command surfaces are registered, and who may use them.

Commands (chat command handling)

  • This block configures command surfaces. For the current built-in + bundled command catalog, see Slash Commands.
  • This page is a config-key reference, not the full command catalog. Channel/plugin-owned commands such as QQ Bot /bot-ping /bot-help /bot-logs, LINE /card, device-pair /pair, memory /dreaming, and Talk /voice are documented in their channel/plugin pages plus Slash Commands.
  • Text commands must be standalone messages with leading /.
  • native: "auto" turns on native commands for Discord/Telegram, leaves Slack off.
  • nativeSkills: "auto" turns on native skill commands for Discord/Telegram, leaves Slack off.
  • Override per channel: channels.discord.commands.native (bool or "auto"). For Discord, false skips native command registration and cleanup during startup.
  • Override native skill registration per channel with channels.<provider>.commands.nativeSkills.
  • channels.telegram.customCommands adds extra Telegram bot menu entries.
  • bash: true enables ! <cmd> for host shell. Requires tools.elevated.enabled and sender in tools.elevated.allowFrom.<channel>.
  • config: true enables /config (reads/writes openclaw.json). For gateway chat.send clients, persistent /config set|unset writes also require operator.admin; read-only /config show stays available to normal write-scoped operator clients.
  • mcp: true enables /mcp for OpenClaw-managed MCP server config under mcp.servers.
  • plugins: true enables /plugins for plugin discovery, install, and enable/disable controls.
  • channels.<provider>.configWrites gates config mutations per channel (default: true).
  • For multi-account channels, channels.<provider>.accounts.<id>.configWrites also gates writes that target that account (for example /allowlist --config --account <id> or /config set channels.<provider>.accounts.<id>...).
  • restart: false disables /restart and external SIGUSR1 restart requests. Default: true.
  • ownerAllowFrom is the explicit owner allowlist for owner-only commands and owner-gated channel actions. It is separate from allowFrom.
  • allowFrom is per-provider. When set, it is the only authorization source for commands and directives.
  • When allowFrom is unset, command authorization follows channel allowlists and pairing state. Access-group entries in channel allowlists are resolved automatically.
  • Command docs map: