The lesser-known commands, behaviors, and tricks that most Hermes users never stumble onto — but reach for daily once they find them.
/handoff — move a live conversation between platformsFrom a CLI session, run /handoff telegram (or discord, slack, …) to transfer the live conversation to that platform's home channel — same session id, full transcript, tool calls and all.
Start something at your desk in the terminal, then walk away and keep going from your phone. The session doesn't fork or restart; it's literally the same thread continuing on a new surface. Resume back to the CLI later with /resume <title>.
# inside a CLI session
/handoff telegram
Run /sethome once from the destination chat to configure it. Telegram opens a fresh forum topic; Discord opens an auto-archive thread.
hermes -c — continue your last sessionhermes -c (or --continue) reopens the most recent CLI session with its full history. Add a name to resume the most recent session in a lineage: hermes -c "my project".
After an inopportune crash, a closed terminal, or just stepping away from a long-ranging brainstorm or research thread, you pick up exactly where you left off — context intact. A compact recap panel shows the last exchanges before the prompt returns.
hermes -c # most recent CLI session
hermes -c "my project" # most recent in a named lineage
Read the docs →
That little clamp in the status bar is the compression count: how many times Hermes has auto-summarized the session to stay under the context limit. It kicks in around 50% full by default.
When compression fires, it keeps your first 3 turns and your last ~20, and summarizes everything in between. A detail from the middle of a long session can then drop out — and the agent may repeat work it already did, even though the opening goal and the recent turns are intact.
Three levers when it bites, all in config.yaml, hot-reloading on a running gateway:
protect_last_n — keep more recent turns uncompressedauxiliary.compression.model — point the summarizer at a cheap, fast model so it doesn't burn main-model tokensmodel.context_length — raise the ceiling so compression fires later/browser connect — drive your own browserInstead of a cloud browser, attach Hermes's browser tools to your own running Chrome, Brave, Chromium, or Edge via the Chrome DevTools Protocol (CDP).
Watch what the agent does in real time, use pages that need your own logged-in cookies and sessions, and skip cloud-browser costs. If nothing is already listening, /browser connect auto-launches a supported browser with remote debugging on port 9222.
/browser connect # auto-launch/attach at 127.0.0.1:9222
/browser status # check the connection
/browser disconnect # detach
It's an interactive-CLI slash command — run it from the terminal (hermes / hermes chat), not from a WebUI, Telegram, or Discord chat.
The web dashboard (hermes dashboard) exposes a REST API that the frontend consumes — and you can call those endpoints directly for automation.
Pull session history, run full-text search across every message, read and update config.yaml, manage environment variables — all over plain HTTP. Management endpoints accept an optional ?profile=<name> to scope reads and writes to a specific profile.
GET /api/status # version, gateway, active sessions
GET /api/sessions # 20 most recent + metadata
GET /api/sessions/search?q=... # full-text message search
GET /api/config PUT /api/config # read / write config
GET/PUT/DELETE /api/env # manage env vars
Read the docs →
New enough that plenty of people miss it: hermes desktop launches a native app for macOS, Windows, and Linux, built around the same agent as the CLI and gateway — sharing config, keys, sessions, skills, and memory.
It's not a separate product or a lightweight clone. Anything you set up in the terminal is already there, and anything you do in the app shows up in the terminal. You get streaming chat with live tool activity, drag-and-drop file attach, a right-hand preview rail, a command palette (Cmd/Ctrl+K), voice, and a full settings UI — no YAML editing.
hermes desktop
Read the docs →
/steer — redirect mid-task without interruptingSet display.busy_input_mode: "steer" (or just /busy steer in the CLI). Now when you press Enter while the agent is working, your message is injected into the current run after the next tool call — no interrupt, no new turn.
Use it to drop a course-correction like "actually, also check the tests" while it's still editing code, without canceling in-flight work. Compare with "queue" (silently send as the next turn) and the default "interrupt" (stop and process immediately).
/busy steer # inject after the next tool call
/busy queue # send as the next turn
/busy interrupt # default: stop and handle now
Read the docs →
/claude-code — put Claude Code in the fleetThe bundled claude-code skill lets Hermes delegate coding tasks to Anthropic's Claude Code CLI through the terminal — including running whole skill workflows.
Because Anthropic left print mode (-p) available, Hermes can hand Claude a one-shot task and get the result back. If you already have Claude set up, adding it to the fleet is basically free — and a real boon for autonomous coding.
claude -p 'Add error handling to all API calls in src/' \
--allowedTools 'Read,Edit' --max-turns 10
Read the docs →
This page grows from the community. Know a Hermes feature most people don't? Share it in the community — the best ones land here.