Hermes Agent CLI cheat sheet — commands, flags, and slash shortcuts
Shell and TUI commands for self-hosted Hermes Agent.
Hermes Agent from Nous Research is a model-agnostic, tool-using assistant you run locally or on a VPS.
Hermes does not lock you into one surface. You can use
- the classic
hermes/hermes chatCLI, - the full-screen
hermes --tuisession, - a long-running
hermes gatewayfor Telegram, Discord, Slack, and other messaging platforms, hermes dashboardfor a local browser UI when the web extra is installed.
Those paths share the same config and data under ~/.hermes; this page lists shell commands that matter across those modes.

Below is a dense command reference grouped by task.
Install Hermes Agent and first-run CLI commands
For install and troubleshooting, start with Hermes AI Assistant — Install, Setup, Workflow, and Troubleshooting.
The installer pulls the repo, sets up a Python environment, and wires the hermes executable. After source ~/.bashrc or ~/.zshrc, your default entry point for interactive chat is simply hermes (same family as hermes chat).
| Command | Description |
|---|---|
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash |
Official one-line install (Linux, macOS, WSL2). |
hermes / hermes chat |
Start interactive chat after install (default daily entry). |
hermes --version / hermes version |
Print version information. |
hermes completion bash | zsh | fish |
Emit shell completion scripts for tab completion. |
hermes update [--check] [--backup] [--restart-gateway] |
Pull latest code, reinstall deps, optional pre-update home snapshot or gateway restart. |
hermes uninstall [--full] [--yes] |
Remove Hermes; optional full data deletion. |
Native Windows is not supported; use WSL2. Android installs via Termux follow a dedicated path in the upstream docs.
Global flags for every hermes invocation
These flags apply before subcommands and change which profile, which session, or how much personal config loads.
| Flag | Description |
|---|---|
--profile, -p |
Select Hermes profile for this run (overrides sticky default from hermes profile use). |
--resume, -r |
Resume a session by ID or title. |
--continue [name], -c |
Continue the latest session, or latest matching a title. |
--worktree, -w |
Start in an isolated Git worktree for parallel agents. |
--yolo |
Bypass dangerous-command approval prompts (use with care). |
--pass-session-id |
Include session ID in the system prompt. |
--ignore-user-config |
Skip ~/.hermes/config.yaml (defaults only); .env still loads. |
--ignore-rules |
Skip auto-injection of AGENTS.md, SOUL.md, .cursorrules, memory, preloaded skills. |
--tui |
Launch the TUI (HERMES_TUI=1 equivalent). |
--dev |
With --tui, run TS sources via tsx for TUI development. |
Isolated automation often pairs hermes chat --ignore-user-config --ignore-rules with hermes -z for reproducible one-shots.
hermes chat, one-shot prompts, and hermes -z
| Command / pattern | Description |
|---|---|
hermes chat |
Interactive or scripted chat; main surface for -q, -m, --provider, toolsets, resume, worktree, checkpoints. |
hermes chat -q "..." |
One-shot prompt (non-interactive); keeps richer output than -z when tools run. |
hermes -z "..." |
Scripted one-shot — final answer only on stdout, no banner or session noise. Same agent and tools; best for pipes and scripts. |
hermes chat --quiet, -Q |
Quieter programmatic mode (banner and tool previews suppressed). |
-m / --model, --provider |
Per-run model and provider overrides; env HERMES_INFERENCE_MODEL / HERMES_INFERENCE_PROVIDER mirror behavior. |
-t / --toolsets |
Enable comma-separated toolsets for the run. |
-s / --skills |
Preload skills (repeat or comma-separated). |
--image path |
Attach a local image to a single query. |
--checkpoints |
Enable filesystem checkpoints before destructive edits. |
--max-turns N |
Cap tool-calling iterations per turn (default from config). |
--source |
Session source tag (cli vs tool for integrations). |
Hermes model outside the session vs /model inside it — Running hermes model from the shell is where you add providers, keys, and OAuth. Slash /model only switches among already configured providers. If you only see OpenRouter in /model, exit the session and complete hermes model.
Model picker, credential pools, and fallback providers
| Command | Description |
|---|---|
hermes model |
Interactive provider and model picker; keys, OAuth, custom endpoints. |
hermes auth |
Credential pools — add, list, remove, reset for rotation-friendly keys and OAuth. |
hermes fallback [list | add | remove | clear] |
Manage ordered fallback providers when the primary errors or rate-limits. |
hermes setup [model | tts | terminal | gateway | tools | agent] [...] |
Sectioned or full interactive setup (--quick, --reset, --non-interactive). |
Deprecated hermes login / hermes logout — use hermes auth and hermes model instead.
Picking local OpenAI-compatible endpoints versus hosted APIs for hermes model sits on the same trade-offs as general LLM hosting (latency, cost, ops).
Once your default terminates at Qwen or Gemma on something like Ollama, sampler defaults matter as much as which model ID you typed; aggregate agent-oriented temperature and penalty presets in Agentic LLM inference parameters for Qwen and Gemma.
Config files and hermes config commands
Configuration resolves as CLI overrides → config.yaml → .env → defaults. API keys belong in .env; structured settings in config.yaml.
| Command | Description |
|---|---|
hermes config show |
Display effective configuration. |
hermes config edit |
Open config.yaml in $EDITOR. |
hermes config set key value |
Set values (secrets routed to .env, non-secrets to YAML). |
hermes config path / hermes config env-path |
Print paths to config and env files. |
hermes config check |
Detect missing or stale settings. |
hermes config migrate |
Apply newly introduced options interactively. |
Where files live — Everything sits under HERMES_HOME (default ~/.hermes) for config, secrets, memories, skills, sessions, gateway state, and logs.
Session management and hermes profile
| Command | Description |
|---|---|
hermes sessions list |
List recent sessions. |
hermes sessions browse |
Interactive picker with search and resume. |
hermes sessions export |
Export sessions (e.g. JSONL). |
hermes sessions delete, prune, rename, stats |
Delete one session, prune old ones, rename titles, show store stats. |
hermes profile list | use | create | delete | show | rename |
Manage isolated Hermes instances on one machine. |
hermes profile export / import |
Archive or restore a profile tarball. |
hermes profile alias |
Short wrapper scripts for fast profile switching. |
Use hermes -p work chat -q "..." for ad hoc runs without changing the sticky default profile.
Skills hub, toolsets, shell hooks, and plugins
For profile-first configuration and skills tuned to real production workflows by role, see Hermes AI Assistant Skills for Real Production Setups. For writing and debugging SKILL.md files—metadata, progressive disclosure, and conditional visibility—see Hermes Agent Skill Authoring — SKILL.md Structure and Best Practices.
| Command | Description |
|---|---|
hermes tools |
Interactive per-platform tool enablement; --summary prints current choices. |
hermes skills browse, search, inspect, install, list, check, update, audit, uninstall, publish, snapshot, tap, config |
Skills hub workflows including registries and URL installs. |
hermes curator status, run, pause, pin, rollback, … |
Background skill maintenance and safe rollback. |
hermes hooks list, test, revoke, doctor |
Declared shell hooks and allowlists in config. |
hermes plugins |
Composite UI or subcommands to install, enable, disable, remove plugins. |
Built-in memory and hermes memory providers
Built-in MEMORY.md / USER.md stay active; external providers add optional recall layers. For how that architecture behaves in practice, read Hermes Agent Memory System — How Persistent AI Memory Actually Works. To compare external backends and activation trade-offs, see Agent Memory Providers Compared — Honcho, Mem0, Hindsight, and Five More.
| Command | Description |
|---|---|
hermes memory setup |
Interactive external memory provider configuration. |
hermes memory status |
Show active provider settings. |
hermes memory off |
Disable external provider; built-in files remain. |
When a provider is active it may register extra provider-specific top-level subcommands — run hermes --help to see what is wired today.
Messaging gateway, DM pairing, and platforms
| Command | Description |
|---|---|
hermes gateway setup |
Interactive messaging platform setup. |
hermes gateway run |
Foreground gateway (recommended on WSL, Docker, Termux). |
hermes gateway start | stop | restart | status |
systemd / launchd service control (--all affects every profile’s gateway). |
hermes gateway install | uninstall |
Install or remove user-level background service. |
hermes pairing list | approve | revoke | clear-pending |
DM pairing approvals for messaging bots. |
hermes whatsapp |
WhatsApp bridge pairing flow. |
hermes slack manifest |
Generate Slack app manifest with gateway slash parity. |
On WSL, hermes gateway run inside tmux is the resilient pattern when gateway start misbehaves. For end-to-end phone workflows using that same gateway layer, see Hermes Voice Control from Your Phone.
Cron scheduler, webhooks, and Kanban
| Command | Description |
|---|---|
hermes cron … |
Create, edit, pause, resume, run, remove scheduled prompts (tick for manual scheduler pass). |
hermes webhook subscribe, list, remove, test |
Dynamic webhook routes for event-driven runs. |
hermes kanban … |
Multi-profile task board backed by SQLite; dispatch drives workers. |
If you need practical concurrency patterns for hermes kanban on self-hosted gateways, see Kanban in Hermes Agent for Self Hosted LLM Workflows.
hermes doctor, logs, backup, and usage insights
| Command | Description |
|---|---|
hermes doctor [--fix] |
Interactive diagnostics and optional auto-repair. |
hermes status [--all] [--deep] |
Concise status; deeper checks when needed. |
hermes dump [--show-keys] |
Paste-friendly setup summary for Discord or GitHub issues. |
hermes debug share |
Upload redacted debug bundle to a paste service (or --local). |
hermes logs [agent | errors | gateway | list] |
Tail and filter logs under the profile’s log directory. |
hermes backup, hermes import |
Zip snapshots of home data and restore paths. |
hermes insights [--days N] [--source …] |
Token, cost, and activity analytics. |
When something breaks after an upgrade, hermes doctor, hermes status, and hermes logs errors -f form the fastest triage loop.
MCP, ACP, web dashboard, and OpenClaw migration
| Command | Description |
|---|---|
hermes mcp serve |
Run Hermes as an MCP server. |
hermes mcp add, remove, list, test, configure |
Manage MCP client connections from Hermes. |
hermes acp |
Agent Client Protocol stdio server for editors (extra install may apply). |
hermes dashboard [--port …] [--host …] |
Local web dashboard (pip install hermes-agent[web]). |
hermes claw migrate … |
Migrate OpenClaw-style configs into Hermes (--dry-run, presets, optional secrets). |
OpenClaw migration — hermes claw migrate reads legacy OpenClaw home directories; for what that stack looked like before moving, see the OpenClaw case study.
Slash commands in the Hermes CLI session
Type / for autocomplete. Commands are case-insensitive; skills register extra /skill-name routes. The tables below are a curated subset; for the full registry see Official Hermes Agent documentation at the end of this article.
Session flow, background tasks, and goals
| Command | Description |
|---|---|
/new, /reset |
New session ID and history. |
/resume [name] |
Resume a named session. |
/compress [focus] |
Manual context compression with optional focus topic. |
/retry, /undo |
Retry last turn or drop last exchange. |
/title … |
Name the session for later /resume. |
/background …, /queue …, /steer … |
Parallel background run, queued next prompt, mid-loop nudge after next tool. |
/goal … |
Persistent multi-turn objective with judge loop (status, pause, resume, clear). |
/branch, /fork |
Branch the conversation for alternate exploration. |
Models, tool toggles, skills, and reload
| Command | Description |
|---|---|
/model … [--global] |
Switch models among configured providers; --global persists default. |
/tools …, /toolsets |
Session tool toggles and toolset listing. |
/skills … |
Search, install, and manage skills from chat. |
/cron … |
Scheduled tasks UI from the CLI session. |
/reload-mcp |
Reload MCP servers from config. |
/reload |
Reload .env into the running session without restart. |
Usage, help, and quitting
| Command | Description |
|---|---|
/usage, /insights |
Token and cost visibility; analytics snapshot. |
/help, /quit |
Help or exit the CLI. |
Messaging apps (Telegram, Discord, Slack, and others) expose an overlapping slash set plus /approve, /restart, /commands, and related gateway-only helpers — platform differences are documented in the slash command reference under Official Hermes Agent documentation below.
More useful reading
Related pages on this site (broader context for Hermes and terminal agents):
- AI Systems — Self-Hosted Assistants, RAG, and Local Infrastructure — cluster overview and how assistants fit the stack
- AI Systems Memory — memory hub and adjacent guides
- AI Developer Tools — terminal and IDE tooling landscape
- OpenCode Quickstart — another terminal-first agent for ergonomic comparison
Official Hermes Agent documentation
Upstream documentation on hermes-agent.nousresearch.com:
Tip. Keep hermes dump and hermes doctor --fix in muscle memory — they turn vague “something broke” reports into actionable diffs against a known-good setup.