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