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` |
hermes / hermes chat
|
Start interactive chat after install (default daily entry). |
hermes --version / hermes version
|
Print version information. |
hermes completion bash \ |
zsh \ |
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 \ |
| {% raw %}`hermes setup [model \ | tts \ |
Deprecated {% raw %}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 \ |
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 \ |
hermes gateway install \ |
uninstall |
hermes pairing list \ |
approve \ |
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 \ |
{% raw %}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.
Top comments (0)