Skip to main content

Starting Hermes

Run hermes from your terminal to open the interactive TUI:
If you haven’t run setup yet, you’ll be prompted to configure a provider. You can also run the full setup wizard at any time:

The TUI

Hermes uses prompt_toolkit for a full terminal UI:
  • Multiline editing — press Meta+Enter (or Esc then Enter) to insert a newline; press Enter to send
  • Slash command autocomplete — type / and press Tab to cycle through completions; subcommands and model names also complete
  • Ghost-text suggestions — as you type a slash command, the rest appears in dim text
  • Streaming tool output — the activity feed shows each tool call as it runs
  • Interrupt and redirect — press Ctrl+C to cancel the agent mid-run; your next message becomes the new instruction

Slash commands

Type /help at any time to see all available commands. Every command resolves its aliases automatically, so /reset and /new both start a new session.

Session commands

Configuration commands

Tools & Skills commands

Keyboard shortcuts

Session management

Starting and resetting

Each hermes invocation starts (or resumes) a session. To start completely fresh:
Session IDs are displayed in the welcome banner. You can name a session with /title my-project and resume it later with /resume my-project.

Retrying and undoing

  • /retry — resends your last message. Useful when the agent took a wrong turn.
  • /undo — removes the last user/assistant exchange from context. The agent won’t see that turn happened.

Context compression

As conversations grow, context usage approaches the model’s limit. Hermes handles this in two ways: Auto-compression fires automatically when prompt token usage reaches the configured threshold (default: 50% of context length). The middle turns of the conversation are summarized by a fast auxiliary model (default: google/gemini-3-flash-preview), keeping the first three and last four turns intact. Manual compression via /compress triggers the same process immediately — useful before a complex task to free up space. Configure compression in ~/.hermes/config.yaml:

Filesystem rollback

Hermes takes a filesystem snapshot before destructive file operations (write, patch) once per conversation turn. To list checkpoints:
To restore a specific checkpoint:

Background tasks

Run any prompt in the background without blocking your conversation:
The agent spawns the task and returns immediately. Progress notifications appear in your chat as the background process runs. Control verbosity with /verbose or the display.background_process_notifications config key.

Personalities

Personalities apply a predefined system prompt addendum to shape the agent’s tone and style. Switch at any time:
Built-in personalities include kawaii, concise, technical, creative, teacher, catgirl, pirate, shakespeare, surfer, noir, uwu, philosopher, and hype. You can define custom personalities in config.yaml under the personalities key.

Skins and themes

The skin system customizes banner colors, spinner faces, tool prefix, response box label, and branding text. Change at runtime:

Built-in skins

To set a skin permanently, add it to ~/.hermes/config.yaml:

Custom skins

Drop a YAML file in ~/.hermes/skins/<name>.yaml. All fields are optional — missing values inherit from the default skin:
Activate with /skin cyberpunk.

Voice mode

Hermes supports speech-to-text input and text-to-speech output.
Voice input uses faster-whisper locally by default (no API key needed). TTS defaults to Microsoft Edge TTS (free). See the Configuration page for provider options.