Overview
When running hermes --continue, the CLI currently blindly grabs the most recent CLI session and resumes it. There is no way to browse, search, or select from past sessions interactively. Similarly, hermes sessions list outputs a flat table but provides no way to select a session to resume from it.
A user specifically requested "a navigable list when running the hermes continue command."
Current Behavior
hermes --continue / hermes -c → resumes the single most recent CLI session (no choice)
hermes --resume <id> → requires knowing the exact session ID
hermes sessions list → prints a table, user must copy-paste ID manually
- No interactive picker, no search, no preview
Proposed Solution
Interactive Session Picker
When hermes --continue is run without a session ID, present an interactive curses-based picker showing recent sessions:
┌─ Select a session to resume ─────────────────────────────────────────┐
│ Search: _ │
│ │
│ > 2026-03-08 14:30 "Debugging the auth middleware" 12 msgs cli │
│ 2026-03-08 11:15 "Setting up MC server" 45 msgs cli │
│ 2026-03-07 22:00 "PR review #438" 8 msgs cli │
│ 2026-03-07 16:45 "Writing pytest fixtures" 23 msgs cli │
│ 2026-03-07 09:30 20260307_093012_a1b2 3 msgs cli │
│ │
│ ↑↓ navigate /search Enter select Esc cancel │
└───────────────────────────────────────────────────────────────────────┘
Features:
Implementation Notes
CLI Interface
hermes --continue # Opens interactive picker (new behavior)
hermes --continue --latest # Skip picker, grab most recent (old behavior preserved)
hermes --resume <id> # Direct resume by ID (unchanged)
hermes sessions list # Could also gain an --interactive / -i flag
Relevant Files
hermes_cli/main.py — cmd_chat(), _resolve_last_cli_session(), sessions subcommand
hermes_state.py — SessionDB.search_sessions()
hermes_cli/tools_config.py — existing curses picker patterns (_prompt_choice())
cli.py — HermesCLI.__init__() resume parameter handling
Related Issues
Overview
When running
hermes --continue, the CLI currently blindly grabs the most recent CLI session and resumes it. There is no way to browse, search, or select from past sessions interactively. Similarly,hermes sessions listoutputs a flat table but provides no way to select a session to resume from it.A user specifically requested "a navigable list when running the hermes continue command."
Current Behavior
hermes --continue/hermes -c→ resumes the single most recent CLI session (no choice)hermes --resume <id>→ requires knowing the exact session IDhermes sessions list→ prints a table, user must copy-paste ID manuallyProposed Solution
Interactive Session Picker
When
hermes --continueis run without a session ID, present an interactive curses-based picker showing recent sessions:Features:
Implementation Notes
hermes_cli/tools_config.pyfor curses-based interactive selectionSessionDB.search_sessions()which already supports source filtering--limitflag onhermes sessions listcould also apply hereCLI Interface
Relevant Files
hermes_cli/main.py—cmd_chat(),_resolve_last_cli_session(), sessions subcommandhermes_state.py—SessionDB.search_sessions()hermes_cli/tools_config.py— existing curses picker patterns (_prompt_choice())cli.py—HermesCLI.__init__()resume parameter handlingRelated Issues