Wiki · Features in depth

TUI — working in the terminal

The most comfortable way to reach an agent on a server: a live view of running work, a status line and conversations you can resume after a dropped connection.

✅ Verified 16. 10. 2026Source: official documentation →📋 Copy for your AI
⌨️
The TUI is a terminal interface for the same agent. Same conversations, same slash commands as before — with a cleaner layout, a status line and a live view of work in progress. On a server it is the most comfortable way to work.

Launch

❯ hermes --tui # open the TUI ❯ hermes --tui -c # resume the latest conversation ❯ hermes --tui --resume latest # the same, spelled out ❯ hermes --tui -r 20260409_000000_aa11bb # by session id ❯ hermes --tui --resume "my project" # by session title

You can make it permanent — with an environment variable or in the settings. An explicit flag always wins (to drop back to the classic REPL for one run: hermes --cli):

# for this shell only ❯ export HERMES_TUI=1 # or permanently in ~/.hermes/config.yaml display: interface: tui

Why use it

BenefitWhat it means in practice
Instant first frameThe banner paints before everything finishes loading — the terminal never feels stuck
A live view of workYou see how many helpers are running and which background processes the agent started
A status lineSays what the agent is doing (ready, thinking…, running…) and the session title
Richer slash commandsSome commands render a navigable panel or picker in the TUI instead of plain text

Slash commands that look better in the TUI

CommandWhat it does
/helpCommands grouped by category, navigable with arrow keys
/sessions (or /switch)Live session switcher — switch, close or open one
/modelModel picker grouped by provider, with cost hints
/usageTokens, cost and context usage panel
/agents (or /tasks)Tree of running helpers with per-branch cost and stop controls
/detailsVerbose tool-call details (globally or per section)
/skinTheme change with a live preview
/reloadRe-reads ~/.hermes/.env so new keys work without a restart
/mouseMouse tracking preset (see the tmux pitfall below)

Keys

KeyWhat it does
Ctrl+TExpands the live work dock to full height (helpers and processes)
Ctrl+RToggles the dock between detailed and a single summary line
Enter or tOpens the live transcript of the selected helper
d / e / xDetails / steer it / stop it

On macOS the function key F7 (a fallback binding for Ctrl+R in some terminals) may not be forwarded — MacBooks use that row for system controls. Hold Fn (the globe key) or just use Ctrl+R.

When the connection drops

Over SSH the link sometimes breaks. You can make the TUI re-attach to your last conversation on launch:

❯ export HERMES_TUI_RESUME=1 # always resume the most recent TUI session ❯ export HERMES_TUI_RESUME=<id> # or a specific one

Pitfalls from our systems

What happenedWhat to do
Inside tmux the prompt row kept showing "No image in clipboard"Mouse tracking sent events tmux did not understand. The /mouse wheel preset fixed it (scrolling works, hover events are off)
On a small terminal there was little room to typeThe dock fits the terminal height; Ctrl+R collapses it to one line, or use a separate terminal window
A command died with a Python error although the system was fineSystem tools launched from an environment carrying its own Python inherit library paths. Running them with a clean environment (env -u PYTHONPATH) fixes it
After editing settings nothing changedA new key in .env applies after /reload; what is in config.yaml is read when a session starts
I switched to the TUI and could not get backhermes --cli for one run, or change display.interface in the settings

Our tips

TipWhy
Name your sessions (/title)The switcher and resume become far easier to use
Run long jobs in the backgroundThe TUI shows what is running while you give it the next task
On a server, use tmux or screenIf the connection drops, your work and the agent keep running
Watch the status linethinking… means the agent is working — no need to ask "so, how is it going?"

Where next

← Back to the wiki