Introduction
Sessions are cheap to keep and rich enough to be worth keeping. Within a few weeks of regular use you will have dozens; within a few months, hundreds. Hermes provides naming, the picker, and search to make that scale navigable, but the discipline that turns a haystack into a library is yours.
Key Concepts
- Session title: A human-readable label, optionally auto-suggested by Hermes from the first turn, editable any time.
hermes sessions list: The CLI command that prints your past sessions sorted by recency, with IDs and titles.- Search: Hermes ships a search facility (slash command in interactive mode, subcommand on the CLI) that scans titles and content.
- Lineage: A resumed session keeps a pointer to its parent, useful for tracking how a long task branched.
Real World Context
Imagine running hermes sessions list and seeing 80 sessions, half titled "Untitled session." That is the failure mode. The same list with intentional titles ("debug-payment-webhook-2026-04-12", "draft-q2-roadmap", "explore-rust-port") is a usable library. The cost of titling on the way in is nothing; the cost of having to remember on the way out is everything.
Deep Dive
Naming patterns that scale
A few conventions that work well:
textPattern Example ─────────────────────────── ─────────────────────────────────── {verb}-{thing} debug-payment-webhook {date}-{thing} 2026-04-12-q2-planning {project}/{task} billing/refund-flow {archetype} bug-, draft-, explore-, refactor-
Searching across sessions
Hermes' search facility lets you ask "where did we talk about X three weeks ago?" without remembering the session. It scans both titles and message content.
Pruning vs. archiving
Most teams find they delete almost nothing. Sessions are small in state.db and the search makes "old" sessions discoverable on demand. Pruning is mostly useful for abandoned sessions, the ones titled "Untitled" that never got a real start.
Common Pitfalls
- Titling sessions only after the fact, By turn ten you have forgotten what the original goal was. Title on turn one or two.
- Naming sessions after the model used, Models change. Name by the task, not by the tool.
Best Practices
- Set a personal naming convention and stick with it, Even a loose one beats no convention.
- Use
hermes sessions listas a window into your work history, A glance at the most recent five sessions tells you what you have been doing.
Summary
- Sessions accumulate fast, naming them is the difference between a library and a haystack.
hermes sessions listand the search facility are your navigation tools.- Title on turn one; pick a convention you will actually follow.
- Prune abandoned sessions; archive (do not delete) finished ones.
Code Examples
$ hermes sessions list
ID TITLE TURNS LAST TOUCH MODEL
7f3a9b2c1e debug-payment-webhook 28 2h ago claude-sonnet-4
6e2c8a91d4 draft-q2-roadmap 12 1d ago claude-sonnet-4
5d1b7f80c3 explore-rust-port 6 3d ago hermes-3-llama-8b
4c0a6e7fb2 refactor-auth-middleware 44 1w ago claude-sonnet-4
3b9f5d6ea1 billing/refund-flow 19 2w ago claude-sonnet-4
$ hermes --resume "refactor-auth-middleware" # resume by title, no ID needed