Summary
Currently, typing /resume inside the Hermes TUI/CLI without an argument either errors or prompts for an ID — but there's no way to discover that ID from within the session.
The Problem
/resume <id> works — but only if you already know the session ID
- Session IDs are opaque timestamp-based strings (e.g.
20260404_114702_bd197e) with no in-session way to list them
- The official docs point users to
hermes --continue / hermes -c from the terminal for resuming the last session — but that doesn't help when you're already inside a running session
- There's no in-TUI equivalent of the discoverability that
hermes -c gives from the terminal
Expected Behavior
/resume called with no arguments should open an interactive session picker — a scrollable list of recent sessions showing:
- Session title (or first message preview if untitled)
- Timestamp
- Source platform (cli / telegram / discord / etc.)
- Token count or rough size indicator
User picks one with arrow keys + Enter, and the session loads. Similar to how fzf or prompt_toolkit's radiolist_dialog works.
Proposed Implementation
The session data is already in SQLite (~/.hermes/state.db), so the picker just needs to query it:
SELECT session_id, title, source, started_at, total_tokens
FROM sessions
ORDER BY started_at DESC
LIMIT 20
Then render with prompt_toolkit (already a dependency) as an inline list or full-screen picker.
Fallback for non-interactive environments (piped input, Telegram, etc.): print the last 10 sessions as a numbered list and accept /resume 3 style numeric selection.
Why This Matters
References
Summary
Currently, typing
/resumeinside the Hermes TUI/CLI without an argument either errors or prompts for an ID — but there's no way to discover that ID from within the session.The Problem
/resume <id>works — but only if you already know the session ID20260404_114702_bd197e) with no in-session way to list themhermes --continue/hermes -cfrom the terminal for resuming the last session — but that doesn't help when you're already inside a running sessionhermes -cgives from the terminalExpected Behavior
/resumecalled with no arguments should open an interactive session picker — a scrollable list of recent sessions showing:User picks one with arrow keys + Enter, and the session loads. Similar to how
fzforprompt_toolkit'sradiolist_dialogworks.Proposed Implementation
The session data is already in SQLite (
~/.hermes/state.db), so the picker just needs to query it:Then render with
prompt_toolkit(already a dependency) as an inline list or full-screen picker.Fallback for non-interactive environments (piped input, Telegram, etc.): print the last 10 sessions as a numbered list and accept
/resume 3style numeric selection.Why This Matters
/resumeis listed in/helpbut is effectively undiscoverable in practice — you have toCtrl+Cout, run a shell command to find the ID, then come backReferences