Organizing Many Sessions: Naming, Search, Navigation

+15 Mana ✨

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:

text
Pattern                       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

  1. Titling sessions only after the fact, By turn ten you have forgotten what the original goal was. Title on turn one or two.
  2. Naming sessions after the model used, Models change. Name by the task, not by the tool.

Best Practices

  1. Set a personal naming convention and stick with it, Even a loose one beats no convention.
  2. Use hermes sessions list as 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 list and 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

markdown
$ 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
✓ Completed