* 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
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)
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])
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.