hermes-agent/website/docs/reference/slash-commands.md
Teknium 252d68fd45
docs: deep audit — fix stale config keys, missing commands, and registry drift (#22784)
* docs: deep audit — fix stale config keys, missing commands, and registry drift

Cross-checked ~80 high-impact docs pages (getting-started, reference, top-level
user-guide, user-guide/features) against the live registries:

  hermes_cli/commands.py    COMMAND_REGISTRY (slash commands)
  hermes_cli/auth.py        PROVIDER_REGISTRY (providers)
  hermes_cli/config.py      DEFAULT_CONFIG (config keys)
  toolsets.py               TOOLSETS (toolsets)
  tools/registry.py         get_all_tool_names() (tools)
  python -m hermes_cli.main <subcmd> --help (CLI args)

reference/
- cli-commands.md: drop duplicate hermes fallback row + duplicate section,
  add stepfun/lmstudio to --provider enum, expand auth/mcp/curator subcommand
  lists to match --help output (status/logout/spotify, login, archive/prune/
  list-archived).
- slash-commands.md: add missing /sessions and /reload-skills entries +
  correct the cross-platform Notes line.
- tools-reference.md: drop bogus '68 tools' headline, drop fictional
  'browser-cdp toolset' (these tools live in 'browser' and are runtime-gated),
  add missing 'kanban' and 'video' toolset sections, fix MCP example to use
  the real mcp_<server>_<tool> prefix.
- toolsets-reference.md: list browser_cdp/browser_dialog inside the 'browser'
  row, add missing 'kanban' and 'video' toolset rows, drop the stale
  '38 tools' count for hermes-cli.
- profile-commands.md: add missing install/update/info subcommands, document
  fish completion.
- environment-variables.md: dedupe GMI_API_KEY/GMI_BASE_URL rows (kept the
  one with the correct gmi-serving.com default).
- faq.md: Anthropic/Google/OpenAI examples — direct providers exist (not just
  via OpenRouter), refresh the OpenAI model list.

getting-started/
- installation.md: PortableGit (not MinGit) is what the Windows installer
  fetches; document the 32-bit MinGit fallback.
- installation.md / termux.md: installer prefers .[termux-all] then falls
  back to .[termux].
- nix-setup.md: Python 3.12 (not 3.11), Node.js 22 (not 20); fix invalid
  'nix flake update --flake' invocation.
- updating.md: 'hermes backup restore --state pre-update' doesn't exist —
  point at the snapshot/quick-snapshot flow; correct config key
  'updates.pre_update_backup' (was 'update.backup').

user-guide/
- configuration.md: api_max_retries default 3 (not 2); display.runtime_footer
  is the real key (not display.runtime_metadata_footer); checkpoints defaults
  enabled=false / max_snapshots=20 (not true / 50).
- configuring-models.md: 'hermes model list' / 'hermes model set ...' don't
  exist — hermes model is interactive only.
- tui.md: busy_indicator -> tui_status_indicator with values
  kaomoji|emoji|unicode|ascii (not kawaii|minimal|dots|wings|none).
- security.md: SSH backend keys (TERMINAL_SSH_HOST/USER/KEY) live in .env,
  not config.yaml.
- windows-wsl-quickstart.md: there is no 'hermes api' subcommand — the
  OpenAI-compatible API server runs inside hermes gateway.

user-guide/features/
- computer-use.md: approvals.mode (not security.approval_level); fix broken
  ./browser-use.md link to ./browser.md.
- fallback-providers.md: top-level fallback_providers (not
  model.fallback_providers); the picker is subcommand-based, not modal.
- api-server.md: API_SERVER_* are env vars — write to per-profile .env,
  not 'hermes config set' which targets YAML.
- web-search.md: drop web_crawl as a registered tool (it isn't); deep-crawl
  modes are exposed through web_extract.
- kanban.md: failure_limit default is 2, not '~5'.
- plugins.md: drop hard-coded '33 providers' count.
- honcho.md: fix unclosed quote in echo HONCHO_API_KEY snippet; document
  that 'hermes honcho' subcommand is gated on memory.provider=honcho;
  reconcile subcommand list with actual --help output.
- memory-providers.md: legacy 'hermes honcho setup' redirect documented.

Verified via 'npm run build' — site builds cleanly; broken-link count went
from 149 to 146 (no regressions, fixed a few in passing).

* docs: round 2 audit fixes + regenerate skill catalogs

Follow-up to the previous commit on this branch:

Round 2 manual fixes:
- quickstart.md: KIMI_CODING_API_KEY mentioned alongside KIMI_API_KEY;
  voice-mode and ACP install commands rewritten — bare 'pip install ...'
  doesn't work for curl-installed setups (no pip on PATH, not in repo
  dir); replaced with 'cd ~/.hermes/hermes-agent && uv pip install -e
  ".[voice]"'. ACP already ships in [all] so the curl install includes it.
- cli.md / configuration.md: 'auxiliary.compression.model' shown as
  'google/gemini-3-flash-preview' (the doc's own claimed default);
  actual default is empty (= use main model). Reworded as 'leave empty
  (default) or pin a cheap model'.
- built-in-plugins.md: added the bundled 'kanban/dashboard' plugin row
  that was missing from the table.

Regenerated skill catalogs:
- ran website/scripts/generate-skill-docs.py to refresh all 163 per-skill
  pages and both reference catalogs (skills-catalog.md,
  optional-skills-catalog.md). This adds the entries that were genuinely
  missing — productivity/teams-meeting-pipeline (bundled),
  optional/finance/* (entire category — 7 skills:
  3-statement-model, comps-analysis, dcf-model, excel-author, lbo-model,
  merger-model, pptx-author), creative/hyperframes,
  creative/kanban-video-orchestrator, devops/watchers,
  productivity/shop-app, research/searxng-search,
  apple/macos-computer-use — and rewrites every other per-skill page from
  the current SKILL.md. Most diffs are tiny (one line of refreshed
  metadata).

Validation:
- 'npm run build' succeeded.
- Broken-link count moved 146 -> 155 — the +9 are zh-Hans translation
  shells that lag every newly-added skill page (pre-existing pattern).
  No regressions on any en/ page.
2026-05-09 13:19:51 -07:00

17 KiB

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 [focus topic] Manually compress conversation context (flush memories + summarize). Optional focus topic narrows what the summary preserves.
/rollback List or restore filesystem checkpoints (usage: /rollback [number])
/snapshot [create|restore <id>|prune] (alias: /snap) Create or restore state snapshots of Hermes config/state. create [label] saves a snapshot, restore <id> reverts to it, prune [N] removes old snapshots, or list all with no args.
/stop Kill all running background processes
/queue <prompt> (alias: /q) Queue a prompt for the next turn (doesn't interrupt the current agent response).
/steer <prompt> Inject a mid-run note that arrives at the agent after the next tool call — no interrupt, no new user turn. The text is appended to the last tool result's content once the current tool completes, giving the agent new context without breaking the current tool-calling loop. Use this to nudge direction mid-task (e.g. "focus on the auth module" while the agent is running tests).
/goal <text> Set a standing goal Hermes works toward across turns — our take on the Ralph loop. After each turn an auxiliary judge model decides whether the goal is done; if not, Hermes auto-continues. Subcommands: /goal status, /goal pause, /goal resume, /goal clear. Budget defaults to 20 turns (goals.max_turns); any real user message preempts the continuation loop, and state survives /resume. See Persistent Goals for the full walkthrough.
/resume [name] Resume a previously-named session
/sessions Browse and resume previous sessions in an interactive picker
/redraw Force a full UI repaint (recovers from terminal drift after tmux resize, mouse selection artifacts, etc.)
/status Show session info
/agents (alias: /tasks) Show active agents and running tasks across the current session.
/background <prompt> (alias: /bg, /btw) 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.
/branch [name] (alias: /fork) Branch the current session (explore a different path)

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), and user-defined aliases (/model fav, /model grok — see Custom model aliases). Use --global to persist the change to config.yaml. Note: /model can only switch between already-configured providers. To add a new provider, exit the session and run hermes model from your terminal.
/personality Set a predefined personality
/verbose Cycle tool progress display: off → new → all → verbose. Can be enabled for messaging via config.
/fast [normal|fast|status] Toggle fast mode — OpenAI Priority Processing / Anthropic Fast Mode. Options: normal, fast, status.
/reasoning Manage reasoning effort and display (usage: /reasoning [level|show|hide])
/skin Show or change the display skin/theme
/statusbar (alias: /sb) Toggle the context/model status bar on or off
/voice [on|off|tts|status] Toggle CLI voice mode and spoken playback. Recording uses voice.record_key (default: Ctrl+B).
/yolo Toggle YOLO mode — skip all dangerous command approval prompts.
/footer [on|off|status] Toggle the gateway runtime-metadata footer on final replies (shows model, tool counts, timing).
/busy [queue|steer|interrupt|status] CLI-only: control what pressing Enter does while Hermes is working — queue the new message, steer mid-turn, or interrupt immediately.
/indicator [kaomoji|emoji|unicode|ascii] CLI-only: pick the TUI busy-indicator style.

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)
/curator Background skill maintenance — status, run, pin, archive. See Curator.
/kanban <action> Drive the multi-profile, multi-project collaboration board without leaving chat. Full hermes kanban surface is available: /kanban list, /kanban show t_abc, /kanban create "title" --assignee X, /kanban comment t_abc "text", /kanban unblock t_abc, /kanban dispatch, etc. Multi-board support included: /kanban boards list, /kanban boards create <slug>, /kanban boards switch <slug>, /kanban --board <slug> <action>. See Kanban slash command.
/reload-mcp (alias: /reload_mcp) Reload MCP servers from config.yaml
/reload-skills (alias: /reload_skills) Re-scan ~/.hermes/skills/ for newly installed or removed skills
/reload Reload .env variables into the running session (picks up new API keys without restarting)
/plugins List installed plugins and their status

Info

Command Description
/help Show this help message
/usage Show token usage, cost breakdown, session duration, and — when available from the active provider — an Account limits section with remaining quota / credits / plan usage pulled live from the provider's API.
/insights Show usage insights and analytics (last 30 days)
/platforms (alias: /gateway) Show gateway/messaging platform status
/paste Attach a clipboard image
/copy [number] Copy the last assistant response to clipboard (or the Nth-from-last with a number). CLI-only.
/image <path> Attach a local image file for your next prompt.
/debug Upload debug report (system info + logs) and get shareable links. Also available in messaging.
/profile Show active profile name and home directory
/gquota Show Google Gemini Code Assist quota usage with progress bars (only available when the google-gemini-cli provider is active).

Exit

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

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 map a short slash command to either a shell command or another slash command. Configure them in ~/.hermes/config.yaml:

quick_commands:
  status:
    type: exec
    command: systemctl status hermes-agent
  deploy:
    type: exec
    command: scripts/deploy.sh
  inbox:
    type: alias
    target: /gmail unread

Then type /status, /deploy, or /inbox in the CLI or a messaging platform. Quick commands are resolved at dispatch time and may not appear in every built-in autocomplete/help table.

String-only prompt shortcuts are not supported as quick commands. Put longer reusable prompts in a skill, or use type: alias to point at an existing slash command.

Custom model aliases

Define your own short names for models you use often, then reach them with /model <alias> in the CLI or any messaging platform. Aliases work identically in both, on session-only (default) and --global switches.

Two config formats are supported:

Full form — pin an exact model, provider, and optionally a base URL. Put this in ~/.hermes/config.yaml:

model_aliases:
  fav:
    model: claude-sonnet-4.6
    provider: anthropic
  grok:
    model: grok-4
    provider: x-ai
  ollama-qwen:
    model: qwen3-coder:30b
    provider: custom
    base_url: http://localhost:11434/v1

Short formprovider/model in one string. Set from the shell without editing YAML:

hermes config set model.aliases.fav anthropic/claude-opus-4.6
hermes config set model.aliases.grok x-ai/grok-4

Then in chat:

/model fav            # session-only
/model grok --global  # also persists current-model change to config.yaml

User aliases take precedence over built-in short names, so naming an alias sonnet, kimi, opus, etc. will shadow the built-in. Alias names are case-insensitive.

Alias Resolution

Commands support prefix matching: typing /h resolves to /help, /mod resolves to /model. When a prefix is ambiguous (matches multiple commands), the first match in registry order wins. Full command names and registered aliases always take priority over prefix matches.

Messaging slash commands

The messaging gateway supports the following built-in commands inside Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant, and Teams 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), auto-detect (/model custom), and user-defined aliases (/model fav, /model grok — see Custom model aliases). Use --global to persist the change to config.yaml. Note: /model can only switch between already-configured providers. To add a new provider or set up API keys, use hermes model from your terminal (outside the chat session).
/personality [name] Set a personality overlay for the session.
/fast [normal|fast|status] Toggle fast mode — OpenAI Priority Processing / Anthropic Fast Mode.
/retry Retry the last message.
/undo Remove the last exchange.
/sethome (alias: /set-home) Mark the current chat as the platform home channel for deliveries.
/compress [focus topic] Manually compress conversation context. Optional focus topic narrows what the summary preserves.
/topic [off|help|session-id] Telegram DM only. Manage user-managed multi-session topic mode. /topic enables it or shows status; /topic off disables it and clears bindings; /topic help shows usage; /topic <session-id> inside a topic restores a previous session. See Multi-session DM mode.
/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, session duration, and — when available from the active provider — an Account limits section with remaining quota / credits pulled live from the provider's API.
/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.
/queue <prompt> (alias: /q) Queue a prompt for the next turn without interrupting the current one.
/steer <prompt> Inject a message after the next tool call without interrupting — the model picks it up on its next iteration rather than as a new turn.
/goal <text> Set a standing goal Hermes works toward across turns — our take on the Ralph loop. A judge model checks after each turn; if not done, Hermes auto-continues until it is, you pause/clear it, or the turn budget (default 20) is hit. Subcommands: /goal status, /goal pause, /goal resume, /goal clear. Safe to run mid-agent for status/pause/clear; setting a new goal requires /stop first. See Persistent Goals.
/footer [on|off|status] Toggle the runtime-metadata footer on final replies (shows model, tool counts, timing).
/curator [status|run|pin|archive] Background skill maintenance controls.
/kanban <action> Drive the multi-profile, multi-project collaboration board from chat — identical argument surface to the CLI. Bypasses the running-agent guard, so /kanban unblock t_abc, /kanban comment t_abc "…", /kanban list --mine, /kanban boards switch <slug>, etc. work mid-turn. /kanban create … auto-subscribes the originating chat to the new task's terminal events. See Kanban slash command.
/reload-mcp (alias: /reload_mcp) Reload MCP servers from config.
/yolo Toggle YOLO mode — skip all dangerous command approval prompts.
/commands [page] Browse all commands and skills (paginated).
/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.
/restart Gracefully restart the gateway after draining active runs. When the gateway comes back online, it sends a confirmation to the requester's chat/thread.
/debug Upload debug report (system info + logs) and get shareable links.
/help Show messaging help.
/<skill-name> Invoke any installed skill by name.

Notes

  • /skin, /snapshot, /gquota, /reload, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /image, /statusbar, /plugins, /busy, /indicator, /redraw, /clear, /history, /save, /copy, and /quit 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.
  • /sethome, /update, /restart, /approve, /deny, /topic, and /commands are messaging-only commands.
  • /status, /background, /queue, /steer, /voice, /reload-mcp, /reload-skills, /rollback, /debug, /fast, /footer, /curator, /kanban, /sessions, and /yolo work in both the CLI and the messaging gateway.
  • /voice join, /voice channel, and /voice leave are only meaningful on Discord.