session-namer
Automatically names sessions after the first agent response using a
lightweight model (Haiku). Names appear in the footer, terminal tab
title, session selector, and tallow --list.
How it works
Section titled “How it works”After your first message gets a response, the extension fires a
non-blocking Haiku call with the opening exchange. Haiku returns
a 3–8 word descriptive name like “Refactoring auth middleware to
JWT”. The name is persisted via setSessionName() and picked up
by the custom-footer on its next
render cycle — appearing as a dim, right-aligned third row.
Resumed sessions show their name immediately. The Haiku call only runs once per session and only for unnamed sessions.
Manual naming
Section titled “Manual naming”The /name command is built into pi. Use it to view or override:
/name # Show current name/name Fix auth tests # Set/override the nameOpt out
Section titled “Opt out”tallow --no-session-nameModel selection
Section titled “Model selection”Prefers claude-haiku-4-5 (fast, cheap). Falls back to
claude-sonnet-4-5, then the first available model. If no model
or API key is available, the extension silently does nothing.
Relationships with other extensions
Section titled “Relationships with other extensions”The footer reads sessionManager.getSessionName() each render
and displays the name as a right-aligned third row. The
session-namer extension only writes the name — display is
entirely handled by custom-footer.
Named sessions are easier to find when using session recall. The name appears in session listings and helps identify sessions without reading truncated first messages.