Table of contents
Using Hermes From the Terminal
Hermes is a terminal-native tool. There's a classic readline CLI and a richer TUI, but they share the same commands, sessions and data. This lesson is the practical 'what do I type, what happens next' tour — launching, interrupting, resuming, running things in the background, and keeping context under control.
Primary source: the official CLI user guide at https://hermes-agent.nousresearch.com/docs/user-guide/cli. This lesson is a summary in our own words; refer to the upstream doc for the authoritative command list.
Two Interfaces, One Session
The classic prompt (hermes) is a simple REPL that works over SSH and in minimal environments. The TUI (hermes --tui) adds modal overlays, mouse support, a persistent status bar, and a session-resume panel that shows a compact recap of the previous conversation when you rejoin.
Critically, both write to the same SQLite store at ~/.hermes/state.db — sessions created in one interface are visible from the other. Switch freely.
The Status Bar and Adaptive Layout
The persistent status bar above the input area tells you, at a glance, things you'd otherwise have to ask for:
- Active model and provider.
- Token usage and context-fill percentage — watch this before long operations.
- Estimated running cost for the session.
- Elapsed session duration.
The layout adapts to terminal width — the full bar appears at 76+ columns and degrades gracefully for narrower windows. If you spot the bar collapsing unexpectedly, resizing the window back usually restores it.
Launching and One-Shot Queries
The useful invocations to remember:
hermes # interactive session
hermes chat -q "what's my disk usage?" # one-shot, non-interactive
hermes --tui # modern TUI
hermes --continue # resume most recent session
hermes --resume <session_id> # jump to a specific session
hermes -s my-skill # preload a skill at launch
hermes --model anthropic/claude-sonnet-4 --provider nousThe -q (one-shot) form is particularly useful from other scripts — Hermes prints the model response to stdout and exits without opening the REPL.
Slash Commands
Inside a session, anything starting with / is a slash command, not a message to the model. Press / and autocomplete lists them. The ones you'll use constantly:
/help— the canonical list, with descriptions./model— switch model mid-session (the session keeps its context)./tools— see which toolsets are currently enabled./skills browse— explore the official skills hub./title— name the session so it's findable later./voice onand Ctrl+B — start voice input and trigger a recording./reasoning high— turn up model reasoning effort for hard problems./compress— summarise older turns when the context is filling up./usage— detailed token + cost breakdown./verbose— cycle display verbosity (off → new → all → verbose).
Multi-Line Input and Pasting Code
Accidentally sending a half-written prompt is the most common early frustration. Hermes gives you three tools:
- Press Alt+Enter or Ctrl+J to add a newline instead of submitting.
- End a line with
\to continue onto the next line. - Pasted code blocks are auto-detected and buffered as a single message, not sprayed into multiple sends.
Interrupt, Don't Start Over
When the agent goes off-track, the reflex should be 'interrupt and redirect', not 'quit and restart':
- Type a new message while it's working — that interrupts the current operation and takes the new instruction into account.
- Single Ctrl+C — interrupts the current turn, keeps the session alive.
- Double Ctrl+C within 2 seconds — forces an exit.
- Ctrl+Z — suspends to background on Unix (
fgto resume).
Because interruptions are tracked, the next prompt you send has the context 'you were doing X, I stopped you, now do Y instead' — the model knows why it was cut off.
Background Tasks
/background is one of the most underrated features. It spawns a completely separate agent session as a daemon thread, sharing your configuration (model, provider, reasoning) but keeping its conversation isolated from your main thread. Each background task gets an ID — check on them later without cluttering the foreground conversation.
Typical use: 'investigate this bug in the background while I keep working on the feature'. The main session stays focused, the background thread is there when you want the results.
Context Compression and Quick Commands
Two ergonomic features worth knowing early:
- Context compression happens automatically as the window fills — Hermes preserves initial and final turns and summarises the middle, so long sessions don't just fall off a cliff.
- Quick commands, defined in
~/.hermes/config.yamlunderquick_commands, map short names to shell operations that run without invoking the LLM — useful for things you don't want to pay tokens for.
Next Steps
You now know enough CLI to work comfortably. Lesson 3 covers the four features that make Hermes interesting as a platform, not just a chat tool — memory, skills, toolsets and voice. If you prefer to run Hermes from your phone, skip ahead to Lesson 4 on messaging platforms.