Files
hermes-agent/website/docs/reference/slash-commands.md
Teknium 72250b5f62 feat: config-gated /verbose command for messaging gateway (#3262)
* feat: config-gated /verbose command for messaging gateway

Add gateway_config_gate field to CommandDef, allowing cli_only commands
to be conditionally available in the gateway based on a config value.

- CommandDef gains gateway_config_gate: str | None — a config dotpath
  that, when truthy, overrides cli_only for gateway surfaces
- /verbose uses gateway_config_gate='display.tool_progress_command'
- Default is off (cli_only behavior preserved)
- When enabled, /verbose cycles tool_progress mode (off/new/all/verbose)
  in the gateway, saving to config.yaml — same cycle as the CLI
- Gateway helpers (help, telegram menus, slack mapping) dynamically
  check config to include/exclude config-gated commands
- GATEWAY_KNOWN_COMMANDS always includes config-gated commands so
  the gateway recognizes them and can respond appropriately
- Handles YAML 1.1 bool coercion (bare 'off' parses as False)
- 8 new tests for the config gate mechanism + gateway handler

* docs: document gateway_config_gate and /verbose messaging support

- AGENTS.md: add gateway_config_gate to CommandDef fields
- slash-commands.md: note /verbose can be enabled for messaging, update Notes
- configuration.md: add tool_progress_command to display section + usage note
- cli.md: cross-link to config docs for messaging enablement
- messaging/index.md: show tool_progress_command in config snippet
- plugins.md: add gateway_config_gate to register_command parameter table
2026-03-26 14:41:04 -07:00

8.3 KiB

sidebar_position, title, description
sidebar_position title description
2 Slash Commands Reference Complete reference for interactive CLI and messaging slash commands

Slash Commands Reference

Hermes has two slash-command surfaces, both driven by a central COMMAND_REGISTRY in hermes_cli/commands.py:

  • Interactive CLI slash commands — dispatched by cli.py, with autocomplete from the registry
  • Messaging slash commands — dispatched by gateway/run.py, with help text and platform menus generated from the registry

Installed skills are also exposed as dynamic slash commands on both surfaces. That includes bundled skills like /plan, which opens plan mode and saves markdown plans under .hermes/plans/ relative to the active workspace/backend working directory.

Interactive CLI slash commands

Type / in the CLI to open the autocomplete menu. Built-in commands are case-insensitive.

Session

Command Description
/new (alias: /reset) Start a new session (fresh session ID + history)
/clear Clear screen and start a new session
/history Show conversation history
/save Save the current conversation
/retry Retry the last message (resend to agent)
/undo Remove the last user/assistant exchange
/title Set a title for the current session (usage: /title My Session Name)
/compress Manually compress conversation context (flush memories + summarize)
/rollback List or restore filesystem checkpoints (usage: /rollback [number])
/stop Kill all running background processes
/queue <prompt> (alias: /q) Queue a prompt for the next turn (doesn't interrupt the current agent response)
/resume [name] Resume a previously-named session
/statusbar (alias: /sb) Toggle the context/model status bar on or off
/background <prompt> Run a prompt in a separate background session. The agent processes your prompt independently — your current session stays free for other work. Results appear as a panel when the task finishes. See CLI Background Sessions.
/plan [request] Load the bundled plan skill to write a markdown plan instead of executing the work. Plans are saved under .hermes/plans/ relative to the active workspace/backend working directory.

Configuration

Command Description
/config Show current configuration
/model [model-name] Show or change the current model. Supports: /model claude-sonnet-4, /model provider:model (switch providers), /model custom:model (custom endpoint), /model custom:name:model (named custom provider), /model custom (auto-detect from endpoint)
/provider Show available providers and current provider
/prompt View/set custom system prompt
/personality Set a predefined personality
/verbose Cycle tool progress display: off → new → all → verbose. Can be enabled for messaging via config.
/reasoning Manage reasoning effort and display (usage: /reasoning [level|show|hide])
/skin Show or change the display skin/theme
/voice [on|off|tts|status] Toggle CLI voice mode and spoken playback. Recording uses voice.record_key (default: Ctrl+B).

Tools & Skills

Command Description
/tools [list|disable|enable] [name...] Manage tools: list available tools, or disable/enable specific tools for the current session. Disabling a tool removes it from the agent's toolset and triggers a session reset.
/toolsets List available toolsets
/browser [connect|disconnect|status] Manage local Chrome CDP connection. connect attaches browser tools to a running Chrome instance (default: ws://localhost:9222). disconnect detaches. status shows current connection. Auto-launches Chrome if no debugger is detected.
/skills Search, install, inspect, or manage skills from online registries
/cron Manage scheduled tasks (list, add/create, edit, pause, resume, run, remove)
/reload-mcp Reload MCP servers from config.yaml
/plugins List installed plugins and their status

Info

Command Description
/help Show this help message
/usage Show token usage, cost breakdown, and session duration
/insights Show usage insights and analytics (last 30 days)
/platforms Show gateway/messaging platform status
/paste Check clipboard for an image and attach it

Exit

Command Description
/quit Exit the CLI (also: /exit, /q)

Dynamic CLI slash commands

Command Description
/<skill-name> Load any installed skill as an on-demand command. Example: /gif-search, /github-pr-workflow, /excalidraw.
/skills ... Search, browse, inspect, install, audit, publish, and configure skills from registries and the official optional-skills catalog.

Quick commands

User-defined quick commands from quick_commands in ~/.hermes/config.yaml are also available as slash commands. These are resolved at dispatch time, not shown in the built-in autocomplete/help tables.

Messaging slash commands

The messaging gateway supports the following built-in commands inside Telegram, Discord, Slack, WhatsApp, Signal, Email, and Home Assistant chats:

Command Description
/new Start a new conversation.
/reset Reset conversation history.
/status Show session info.
/stop Kill all running background processes and interrupt the running agent.
/model [provider:model] Show or change the model. Supports provider switches (/model zai:glm-5), custom endpoints (/model custom:model), named custom providers (/model custom:local:qwen), and auto-detect (/model custom).
/provider Show provider availability and auth status.
/personality [name] Set a personality overlay for the session.
/retry Retry the last message.
/undo Remove the last exchange.
/sethome Mark the current chat as the platform home channel for deliveries.
/compress Manually compress conversation context.
/title [name] Set or show the session title.
/resume [name] Resume a previously named session.
/usage Show token usage, estimated cost breakdown (input/output), context window state, and session duration.
/insights [days] Show usage analytics.
/reasoning [level|show|hide] Change reasoning effort or toggle reasoning display.
/voice [on|off|tts|join|channel|leave|status] Control spoken replies in chat. join/channel/leave manage Discord voice-channel mode.
/rollback [number] List or restore filesystem checkpoints.
/background <prompt> Run a prompt in a separate background session. Results are delivered back to the same chat when the task finishes. See Messaging Background Sessions.
/plan [request] Load the bundled plan skill to write a markdown plan instead of executing the work. Plans are saved under .hermes/plans/ relative to the active workspace/backend working directory.
/reload-mcp Reload MCP servers from config.
/approve [session|always] Approve and execute a pending dangerous command. session approves for this session only; always adds to permanent allowlist.
/deny Reject a pending dangerous command.
/update Update Hermes Agent to the latest version.
/help Show messaging help.
/<skill-name> Invoke any installed skill by name.

Notes

  • /skin, /tools, /toolsets, /browser, /config, /prompt, /cron, /skills, /platforms, /paste, /statusbar, and /plugins are CLI-only commands.
  • /verbose is CLI-only by default, but can be enabled for messaging platforms by setting display.tool_progress_command: true in config.yaml. When enabled, it cycles the display.tool_progress mode and saves to config.
  • /status, /sethome, /update, /approve, and /deny are messaging-only commands.
  • /background, /voice, /reload-mcp, and /rollback work in both the CLI and the messaging gateway.
  • /voice join, /voice channel, and /voice leave are only meaningful on Discord.