Identifying many parallel sessions: let the model (and scripts) set/update the session name

Open 💬 0 comments Opened Jun 12, 2026 by martinrode

Problem

A typical power-user setup runs 7–8 Claude Code sessions in parallel (one per git worktree). The session name — shown on the prompt bar, in the /resume picker and as the terminal tab title — is the only at-a-glance identifier, and in practice it does not do that job:

  • Auto-generated names are assigned once (e.g. from an accepted plan) and go stale as the session's focus moves on.
  • /rename is interactive-only. With many sessions, manually renaming each one whenever the topic shifts does not happen in practice.
  • The model cannot update the name, even when explicitly asked to ("set the session to X" → Claude has no mechanism).
  • There is no external/scriptable rename either (no claude sessions rename <id> <name>).

Net result: a wall of 7–8 tabs whose labels rarely reflect what is actually happening inside them.

Proposed feature (any of these would help, roughly in order of usefulness)

  1. Model-settable session name — a built-in tool (e.g. SessionRename) so Claude can keep the name in sync with the actual work, and so "rename this session to X" works when a user asks for it. Could be permission-gated like other tools.
  2. Live auto-naming (opt-in) — re-generate the auto name as the conversation evolves instead of freezing the first one.
  3. Hook output field for the session name on relevant events — same direction as #67386, which covers the /clear case.
  4. External subcommandclaude sessions rename <id|name> <new-name> for scripting from the outside.

Environment

  • Claude Code CLI on macOS (Warp), 7–8 parallel sessions across git worktrees of one repo.

Filed by Claude Code on behalf of Martin Rode.

View original on GitHub ↗