Files
hermes-agent/website/docs/reference/slash-commands.md
Teknium 46176c8029 refactor: centralize slash command registry (#1603)
* refactor: centralize slash command registry

Replace 7+ scattered command definition sites with a single
CommandDef registry in hermes_cli/commands.py. All downstream
consumers now derive from this registry:

- CLI process_command() resolves aliases via resolve_command()
- Gateway _known_commands uses GATEWAY_KNOWN_COMMANDS frozenset
- Gateway help text generated by gateway_help_lines()
- Telegram BotCommands generated by telegram_bot_commands()
- Slack subcommand map generated by slack_subcommand_map()

Adding a command or alias is now a one-line change to
COMMAND_REGISTRY instead of touching 6+ files.

Bugfixes included:
- Telegram now registers /rollback, /background (were missing)
- Slack now has /voice, /update, /reload-mcp (were missing)
- Gateway duplicate 'reasoning' dispatch (dead code) removed
- Gateway help text can no longer drift from CLI help

Backwards-compatible: COMMANDS and COMMANDS_BY_CATEGORY dicts are
rebuilt from the registry, so existing imports work unchanged.

* docs: update developer docs for centralized command registry

Update AGENTS.md with full 'Slash Command Registry' and 'Adding a
Slash Command' sections covering CommandDef fields, registry helpers,
and the one-line alias workflow.

Also update:
- CONTRIBUTING.md: commands.py description
- website/docs/reference/slash-commands.md: reference central registry
- docs/plans/centralize-command-registry.md: mark COMPLETED
- plans/checkpoint-rollback.md: reference new pattern
- hermes-agent-dev skill: architecture table

* chore: remove stale plan docs
2026-03-16 23:21:03 -07:00

6.6 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 Start a new conversation (reset history)
/reset Reset conversation only (keep screen)
/clear Clear screen and reset conversation (fresh start)
/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])
/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 Show or change the current model
/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
/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 available tools
/toolsets List available toolsets
/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

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 Interrupt the running agent without queuing a follow-up prompt.
/model [provider:model] Show or change the model, including provider switches.
/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.
/update Update Hermes Agent to the latest version.
/help Show messaging help.
/<skill-name> Invoke any installed skill by name.

Notes

  • /skin, /tools, /toolsets, /config, /prompt, /cron, /skills, /platforms, /paste, and /verbose are CLI-only commands.
  • /status, /stop, /sethome, /resume, and /update 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.