Nous Hermes Commands & Prompt Reference
This page covers two layers of Nous Research's Hermes, checked on 2026-10-10: prompt tokens, reasoning switches and tool-calling tags from the Hermes 4 and 4.3 36B model cards and chat templates, plus the slash commands of Hermes Agent v0.21.6 in the CLI and messaging gateway. Hermes 4 14B uses ChatML; 70B, 405B and 4.3 36B use Llama 3 header tokens. The agent's shell subcommands, quick commands and config keys are left out. Unambiguous prefixes work: /h runs /help.
All Commands
Model prompt format (8)
| Command / Syntax | What it does | Notes |
|---|---|---|
| <|start_header_id|>system<|end_header_id|> | System turn header | Without a leading system message the template supplies one: a default prompt, or the deep-thinking prompt when thinking is on. |
| <|start_header_id|>user<|end_header_id|> | User turn header | The template also opens a user turn for tool results, grouping consecutive tool messages under one header. |
| <|start_header_id|>assistant<|end_header_id|> | Assistant turn header | End the prompt with it so the model writes the reply; add_generation_prompt appends it for you. |
| <|eot_id|> | End-of-turn token | Closes each system, user and assistant message in the Llama-format models: 70B, 405B and 4.3 36B. |
| <|im_start|> | ChatML turn opener (14B) | Hermes 4 14B, built on Qwen 3, uses ChatML: this token plus the role name starts each turn. |
| <|im_end|> | ChatML end-of-turn token | Takes the place of the Llama end-of-turn token in every Hermes 4 14B message. |
| add_generation_prompt=True | Append the reply header | Pass it to tokenizer.apply_chat_template instead of writing the header tokens by hand. |
| temperature=0.6, top_p=0.95, top_k=20 | Suggested sampling defaults | Starting values from the model cards; their Transformers example passes them together with do_sample=True. |
Model reasoning mode (4)
| Command / Syntax | What it does | Notes |
|---|---|---|
| thinking=True | Switch on reasoning mode | A chat-template argument; the other route is putting the deep-thinking prompt into the system message yourself. |
| You are a deep thinking AI, … | Deep-thinking system prompt | Extra instructions placed before or after it tune effort, style and answer format, and it can share space with tool definitions. |
| <think> </think> | Reasoning block tags | They appear only when the model decides to deliberate; the answer follows the closing tag. |
| keep_cots=True | Keep earlier reasoning text | Otherwise, with thinking on, the template cuts the reasoning out of past assistant turns and leaves an empty tag pair. |
Model tool calling (6)
| Command / Syntax | What it does | Notes |
|---|---|---|
| <tools> </tools> | Tool signature block | Sits in the system message and holds one JSON function schema per line. |
| tools | Tool definitions field | Hand the tool list to the chat template and it builds the tool system prompt, also in reasoning mode. |
| <tool_call> </tool_call> | Function call tags | Each call holds a JSON object with the function name and an arguments object; one reply may contain several. |
| <tool_response> </tool_response> | Tool result tags | Send results as tool-role messages; the template wraps each one in these tags inside a user turn. |
| hermes | vLLM tool parser name | Set as vLLM's tool parser to get structured calls; the call tags are added tokens, so parsing works while streaming. |
| qwen25 | SGLang tool parser name | The SGLang counterpart of the vLLM hermes setting, as named on the Hermes 4 model cards. |
Agent sessions (37)
| Command / Syntax | What it does | Notes |
|---|---|---|
| /new [name] | Start a fresh session | Alias /reset; the optional name becomes the session title, and now, --yes or -y skips the confirm prompt. |
| /clear | Clear screen, new session | Asks for confirmation first, because the current session ID and in-memory history are discarded. |
| /history | Show conversation history | Messages carry [HH:MM] stamps when /timestamps is switched on. |
| /save | Save the conversation | |
| /prompt | Compose prompt in editor | Alias /compose; opens $EDITOR so long or carefully formatted markdown prompts are easier to write. |
| /retry | Resend the last message | Works the same way from a connected messaging chat. |
| /undo | Remove the last exchange | Drops your last message and the agent's reply after a confirmation prompt; -y skips the prompt. |
| /title | Name the session | Example: /title My Session Name; in messaging chats the bare command shows the current title. |
| /compress [here [N] | focus topic] | Compress conversation context | here N keeps the last N exchanges word for word (default 2); a focus topic steers what the summary keeps. |
| /rollback [number] | List or restore checkpoints | Give a checkpoint number to restore it; without one the command lists the filesystem checkpoints. |
| /diff [staged|all|session] [--stat] [path...] | Show git changes | Bare form shows unstaged plus untracked files; session shows everything Hermes changed, --stat only a file summary. |
| /snapshot [create|restore <id>|prune] | Snapshot Hermes config and state | Alias /snap; with no argument it lists snapshots, and prune N clears out old ones. |
| /stop | Kill background processes | In messaging chats it also interrupts the agent's running turn. |
| /queue <prompt> | Queue the next prompt | Alias /q; with no argument the CLI lists queued prompts, and list, edit, rm, move and clear manage them. |
| /steer <prompt> | Nudge the agent mid-run | The note is appended to the next tool result, so the running tool loop continues without a new turn. |
| /goal <text> | Set a standing goal | A judge model checks each turn and Hermes keeps going until done, 20 turns by default; status, pause, resume, clear. |
| /subgoal <text> | Add a goal criterion | Needs an active /goal; the goal only counts as done once every subgoal is also met. |
| /heartbeat every <interval> <prompt> | Recurring idle-time prompt | Alias /hb; the interval is at least 60 seconds, and it lives in this session only, unlike hermes cron jobs. |
| /loop [interval] <prompt> [--times N] [--until <condition>] | Re-run a prompt on a cadence | Alias /proactive; without an interval it re-fires continuously, --times caps runs and --until lets a judge end it. |
| /refine [focus] | Run self-improvement review now | A background fork works from a copy of the chat, leaving your live session and cache alone. |
| /review [instructions] | Spawn a reviewer subagent | Checks whatever the last 10 messages refer to, such as a PR or code, and reports back into this session. |
| /moa <prompt> | One-shot Mixture of Agents run | Uses the default MoA preset for this single prompt; your session model stays as it was. |
| /resume [name] | Resume a named session | With no name it lists named sessions, most recently active first; the classic CLI will not switch mid-turn. |
| /sessions | Browse previous sessions | Opens a picker in the classic CLI; in the TUI, alias /switch, it moves between live sessions. |
| /egress [status] | Docker egress proxy status | Reports credential source, token mappings and uncovered providers, with the next fix to apply. |
| /redraw | Repaint the terminal UI | Fixes display drift after a tmux resize or leftover mouse-selection marks. |
| /status | Show session info | Ends with a session recap built locally, so it costs no LLM call and leaves the prompt cache alone. |
| /context [all] | Context window breakdown | Alias /ctx; the CLI draws a grid where each cell is about 1% of the window, plus a per-category table. |
| /agents | Show running agents and tasks | Also reachable as /tasks, in the CLI and in messaging chats. |
| /bg <prompt> | Run a prompt in background | A separate session handles it while you keep working; the CLI shows the result in a panel when done. |
| /btw <question> | Ask a side question | Answered by one extra LLM call from a read-only transcript copy; the running turn and its cache carry on. |
| /branch [--here] [name] | Branch the session | Alias /fork; thread-capable chats such as Discord or Slack get the branch in a new thread unless --here is given. |
| /worktree [new [name]|list] | Manage git worktrees | CLI only; new creates a tree under .worktrees/ from the fetched remote tip and points the session's tools at it. |
| /handoff <platform> | Move session to a chat app | CLI only; the gateway opens a fresh thread where supported and replays the full transcript there. |
| /journey [list|delete <id>|edit <id>] | Learning journey timeline | Aliases /learning and /memory-graph; works in the CLI, TUI and desktop app but not in messaging chats. |
| /quit | Exit the CLI | Typing /exit does the same thing. |
| /quit --delete | Exit and delete the session | Asks for confirmation first, since the SQLite history and transcripts are removed for good. |
Agent configuration (21)
| Command / Syntax | What it does | Notes |
|---|---|---|
| /config | Show configuration | |
| /model [model-name] | Show or switch model | Accepts provider:model, custom:model for custom endpoints, OpenRouter presets and your own aliases such as /model fav. |
| /codex-runtime [auto|codex_app_server|on|off] | Toggle Codex app-server runtime | codex_app_server passes eligible OpenAI/Codex turns to a codex subprocess; the change applies from the next session. |
| /personality | Set a personality | Passing none, default or neutral drops the overlay and restores base behaviour. |
| /verbose | Cycle tool progress display | Steps through off, new, all and verbose; messaging needs display.tool_progress_command enabled first. |
| /focus [on|off|status] | Toggle focus view | Hides tool output so only your prompt and the final reply show; nothing sent to the model changes. |
| /fast [normal|fast|auto|cold|status] | Toggle fast mode | Uses OpenAI Priority Processing or Anthropic Fast Mode; auto covers only the first 60 s of each turn by default. |
| /reasoning [level|show|hide|full|clamp] [--global] | Reasoning effort and display | Levels run from none up to max and ultra; --global saves the effort setting to config. |
| /skin | Change display skin | |
| /export [profile] [-o out.tar.gz] | Export a profile archive | CLI only; bundles skills, memory, persona, crons and settings into a .tar.gz with credentials removed. |
| /import <archive.tar.gz> [--name <name>] | Import a profile archive | CLI only; installs it as a new profile and refuses to overwrite one that already exists. |
| /statusbar | Toggle the status bar | Alias /sb; shows or hides the context and model read-out. |
| /battery [on|off|status] | Battery level in status bar | Off by default and does nothing on machines without a battery. |
| /voice [on|off|tts|status] | Voice mode and playback | Recording is bound to voice.record_key, which defaults to Ctrl+B. |
| /yolo | Toggle YOLO mode | Skips every dangerous-command approval prompt until you toggle it off again. |
| /approvals [manual|smart|off] | Set approval mode | Shows or changes how dangerous commands get approved, and the choice persists across sessions. |
| /footer [on|off|status] | Toggle reply footer | Adds model, context percentage and working directory to the end of final gateway replies. |
| /busy [queue|steer|interrupt|status] | Input behaviour while busy | Decides whether a message sent mid-run is queued, steers the turn or interrupts it; CLI and gateway. |
| /indicator [kaomoji|emoji|unicode|ascii] | Busy indicator style | CLI only; sets how the TUI shows that Hermes is working. |
| /timestamps [on|off|status] | Toggle message timestamps | CLI only; adds [HH:MM] stamps to messages and to /history output. |
| /wake [on|off|status] | Wake word listener | CLI only; switches listening for the spoken phrase Hey Hermes on or off. |
Agent tools and skills (22)
| Command / Syntax | What it does | Notes |
|---|---|---|
| /tools [list|disable|enable] [name...] | Manage session tools | Turning a tool off takes it out of the agent's toolset and starts the session over. |
| /toolsets | List toolsets | |
| /browser [connect|disconnect|status] | Browser CDP connection | connect attaches to Chrome, Brave, Chromium or Edge on port 9222 by default, launching one if needed. |
| /skills | Search and install skills | Also reviews staged skill writes: pending, diff, approve, reject and approval on or off. |
| /memory [pending|approve|reject|approval] | Review staged memory writes | Works with the memory.write_approval gate and turns it on or off; available in the CLI and in chats. |
| /bundles | List skill bundles | A bundle is a slash alias that preloads several skills; define them under bundles: in config.yaml. |
| /learn <what to learn from> | Turn a source into a skill | Point it at a folder, URL, notes or the workflow just shown; the agent writes a SKILL.md. |
| /plan [task] | Write an implementation plan | Saves a markdown plan under .hermes/plans/ without executing anything; with no argument the task comes from the chat. |
| /initiate-setup | Run first-run setup | Alias /initiate_setup; sends the setup skill with facts about this machine as one normal turn. |
| /init [notes] | Generate AGENTS.md | Scans the repository read-only and writes AGENTS.md, or merges into an existing one keeping your text. |
| /cron | Manage scheduled tasks | Subcommands cover list, add or create, edit, pause, resume, run and remove. |
| /suggestions [accept|dismiss N|catalog|clear] | Review suggested automations | Alias /suggest; accept creates the automation, catalog adds curated starters, clear prunes resolved records. |
| /blueprint [name] [slot=value ...] | Automation from a blueprint | Alias /bp; the bare form lists the catalog, a name starts guided slot filling, slot=value pairs create the job. |
| /curator | Skill maintenance controls | Subcommands status, run, pin and archive manage background upkeep of skills. |
| /kanban <action> | Drive the kanban board | Same surface as the hermes kanban command, for example /kanban list or /kanban boards switch with a board slug. |
| /reload-mcp | Reload MCP servers | Alias /reload_mcp; rereads config.yaml and re-checks which tools are now available. |
| /reload-skills | Rescan installed skills | Alias /reload_skills; picks up skills added to or removed from ~/.hermes/skills/. |
| /reload | Reload .env variables | New API keys take effect in the running session without a restart. |
| /plugins | List installed plugins | |
| /pet [list|<slug>] | Toggle or adopt a mascot | Bare /pet toggles the pane, list shows installed pets, and a slug adopts that pet. |
| /hatch <description> | Generate a new pet | Alias /generate-pet; draws it with the configured image backend, OpenRouter or Nous Portal. |
| /<skill-name> | Run a skill as a command | Every installed skill gets one, for example /gif-search; a built-in command with the same name wins. |
Agent info and account (16)
| Command / Syntax | What it does | Notes |
|---|---|---|
| /help | List commands by category | Skill commands fold into one line; /help skills lists them, and any other text filters by substring. |
| /palette | Fuzzy command palette | Also Ctrl+P; Enter inserts the chosen command into the composer without running it. |
| /version | Show version info | Includes the build and environment details along with the Hermes Agent version. |
| /whoami | Show your access level | On messaging platforms admins get every command; other users get user_allowed_commands plus /help and /whoami. |
| /usage | Token usage and cost | Adds remaining quota, credits or plan usage live from the provider when its API offers it. |
| /topup | Nous balance and billing | Replaces the former /credits and /billing commands; billing itself is managed on the Nous portal. |
| /subscription | View or change Nous plan | Alias /upgrade; CLI only, and the plan change happens in your browser. |
| /login | Sign in with Nous account | Runs off-turn: a consent link and code appear, and sign-in completes once approved in the browser. |
| /insights | Usage analytics | Covers the last 30 days; messaging chats accept a number of days instead. |
| /update | Update Hermes Agent | Can also be sent from a connected messaging chat. |
| /platforms | Gateway platform status | Alias /gateway; a CLI-only summary of the connected messaging platforms. |
| /paste | Attach clipboard image | |
| /copy [number] | Copy last response | A number picks the Nth-from-last reply instead; CLI only. |
| /image <path> | Attach a local image | The file goes along with your next prompt; CLI only. |
| /debug | Upload a debug report | Bundles system info and logs and returns shareable links; also works in messaging. |
| /profile | Show active profile | Prints the profile name together with its home directory. |
Messaging gateway (11)
| Command / Syntax | What it does | Notes |
|---|---|---|
| /start | Platform handshake command | Many bots send it on first contact; Hermes acknowledges silently without spending a turn. |
| /sethome | Set home channel | Alias /set-home; messaging only, it makes this chat the platform's destination for deliveries. |
| /topic [off|help|session-id] | Multi-session topic mode | Telegram DMs only; off clears the bindings, and sending a session ID from within a topic brings that session back. |
| /platform <list|pause|resume> [name] | Control a gateway adapter | pause stops new messages reaching an adapter without unloading it; resume also clears a tripped breaker. |
| /commands [page] | Browse commands page by page | Messaging only; includes installed skills as well as built-in commands. |
| /approve [session|always] | Approve a pending command | session approves for the rest of this session; always adds the command to the permanent allowlist. |
| /deny | Reject a pending command | Messaging only; the counterpart of /approve for a dangerous command waiting on you. |
| /restart | Restart the gateway | Waits for active runs to drain, then confirms in your chat once it is back online. |
| /sessions [all] [search <query>] | List this chat's sessions | search filters by title or ID; all lists sessions from every origin and is admin-only. |
| /voice [on|off|tts|join|channel|leave|status] | Voice replies in chat | join, channel and leave control Discord voice-channel mode and only matter on Discord. |
| !stop | Slack thread command form | Slack blocks slash commands inside threads, so prefix them with an exclamation mark instead, as in !new. |
Recipes
Our own notes on combining entries from the tables above.
Run the Hermes 4 tool loop yourself
- Pass the function schemas as a
toolslist; the chat template writes them into the system message inside<tools> </tools>. - Parse the JSON object between
<tool_call> </tool_call>and run the named function. - Send the output back as a tool-role message; the template wraps it in
<tool_response> </tool_response>and the model carries on reasoning towards its answer.
Behind vLLM or SGLang, the hermes or qwen25 tool parser takes over step 2 and hands back structured tool calls.
Keep a long task moving in Hermes Agent
- Start it with
/goal <text>; a judge model checks after each turn and Hermes continues on its own, up to 20 turns by default. - Add acceptance criteria while it runs with
/subgoal <text>. - Change direction without interrupting by sending
/steer <prompt>; the note reaches the agent after the next tool call. - Check on it with
/btw <question>, which answers from a transcript copy while the turn keeps running.
Frequently Asked Questions
Which Hermes 4 models use Llama 3 header tokens and which use ChatML?
Hermes 4 70B, Hermes 4 405B and Hermes 4.3 36B use the Llama 3 layout: each turn starts with a header such as <|start_header_id|>user<|end_header_id|> and ends with <|eot_id|>. Hermes 4 14B, built on Qwen 3, uses ChatML with <|im_start|> and <|im_end|>. The reasoning and tool-calling tags are the same in both.
How do I switch on reasoning mode in Hermes 4?
Pass thinking=True to the chat template, or put the deep-thinking system prompt from the model card in your system message. In the published template the flag fills in that prompt only when the conversation starts without a system message, so if you bring your own, include the deep-thinking text in it. The reasoning arrives between <think> </think> tags before the answer.
How does tool calling work with Hermes 4?
Tool schemas go in the system message between <tools> </tools>; the chat template builds that block from a tools list. The model answers with a JSON object inside <tool_call> </tool_call>. Send each result back as a tool-role message, which the template wraps in <tool_response> </tool_response>. In vLLM the hermes tool parser and in SGLang the qwen25 parser turn the tags into structured calls.
Which Hermes Agent commands work only in the CLI or only in chat apps?
The messaging gateway (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant and Teams) has its own command list. /sethome, /restart and /deny exist only there, while /config, /skin, /paste and /quit are CLI-only; the Notes column marks the others. Inside Slack threads, write commands with an exclamation mark, as in !stop, because Slack does not deliver slash commands from threads.
Sources and checks
- Hermes Agent docs — Slash Commands Reference (release v0.21.6) Agent slash commands in the CLI and the messaging gateway
- Nous Research — Hermes 4 405B model card (Hugging Face, revision 88e3dce) Reasoning mode, tool-calling tags and the vLLM / SGLang tool parsers
- Nous Research — Hermes 4 14B model card (Hugging Face, revision d6ce765) ChatML tokens of the 14B model
- Nous Research — Hermes 4.3 36B model card (Hugging Face, revision 3899db2) Llama 3 header tokens, template and sampling notes
- Nous Research — Hermes 4 405B chat_template.jinja (identical in the 70B and 4.3 36B repositories) How the chat template renders system, tool and assistant turns
Every row on this page was matched to a line in the documentation above on . A command or parameter that could not be found there is not listed.
AI tools change their commands, parameters and model names between releases: the vendor's current documentation and the version you run have the last word. Found a wrong or missing entry? Tell us and it gets checked against the source. How we verify describes the process and its limits.
Related prompt references
DeepSeek (46) · LM Studio (114) · Claude Code (157) · All AI prompt references