[Bug] Session names auto-overwritten, ignoring user-set names
Bug Description
Session name auto-rename loop overwrites user-set names
Type: bug / UX regression
Problem
In Claude Code desktop, session names are being auto-overwritten with random snippets from conversation dialog. I rename a session to
something meaningful, continue working, and Claude Code silently overwrites my name with arbitrary dialog text. Rename → get overwritten →
rename again → get overwritten. Endless loop.
What I want instead
For agent-driven workflows, session names should be the agent name or workstream identifier — things like:
- captain
- designex
- devex
- of-mobile
- iscp
- mdpal-cli
Short, stable, meaningful labels that tell me which agent this session is running. Random dialog snippets like "I'll start by reading the
file" tell me nothing — they describe what just happened, not what this session IS.
Impact
- User-set names get overwritten
- For multi-agent workflows (captain + N worktree agents in parallel tabs), I need stable short names to distinguish them
- Can't reliably find a session by name — they change without my action
- Forces repeated manual intervention just to keep the name I set
- Undermines the whole point of naming a session (organization, recall, tab differentiation)
Expected behavior
Once a user explicitly sets a session name, Claude Code should never auto-rename it. Even better: let the agent set the session name
programmatically at startup (e.g., from $AGENTNAME env var) so it's automatic but deterministic and meaningful.
Suggested fix
- Track name source: user | auto | agent
- Auto-rename only when source is auto
- First user rename flips source to user and stops further auto-rename forever
- Expose a way for agents to self-name at startup (e.g., CLAUDE_SESSION_NAME env var or a hook)
Reproduction
- Start a Claude Code desktop session
- Rename to something specific (captain, designex, etc.)
- Continue the conversation
- Watch the name get overwritten with a random dialog fragment within a few turns
Happens reliably, multiple times per session.
Reporter
Jordan Dea-Mattson
Head of Product and Technology, OrdinaryFolk (soon CPTO)
- Email: jdm@devopspm.com, jordan@ordinaryfolk.health
- LinkedIn: https://linkedin.com/in/jordandeamattson
- X/Twitter: @jordandm (personal), @AgencyGroupAI (TheAgency)
- GitHub: @jordandm (personal), @jordan-of (OrdinaryFolk), @the-agency-ai (TheAgency)
- Framework: https://github.com/the-agency-ai/the-agency
Hits this constantly running multi-agent workflows (captain + N worktree agents in parallel tabs). Building TheAgency — an open-source AI
Augmented Development framework — where multi-session tab differentiation is central to the workflow.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.1.110
- Feedback ID: 61261384-a937-472e-bb41-a604caf56f0e
Errors
[{"error":"Error: Failed to download binary from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.111/darwin-arm64/claude: Request failed with status code 429\n at qm1 (/$bunfs/root/src/entrypoints/cli.js:2749:7628)\n at async ic9 (/$bunfs/root/src/entrypoints/cli.js:2749:7718)\n at async tc9 (/$bunfs/root/src/entrypoints/cli.js:2749:14732)\n at async jm1 (/$bunfs/root/src/entrypoints/cli.js:2749:17407)\n at async ec9 (/$bunfs/root/src/entrypoints/cli.js:2751:322)\n at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:8273:14278)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-04-16T15:36:38.142Z"},{"error":"AxiosError: Request failed with status code 429\n at DU (/$bunfs/root/src/entrypoints/cli.js:110:1194)\n at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:115:12744)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:865:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/src/entrypoints/cli.js:117:2467)\n at async _m1 (/$bunfs/root/src/entrypoints/cli.js:2749:5945)\n at async qm1 (/$bunfs/root/src/entrypoints/cli.js:2749:7256)\n at async ic9 (/$bunfs/root/src/entrypoints/cli.js:2749:7718)\n at async tc9 (/$bunfs/root/src/entrypoints/cli.js:2749:14732)\n at async jm1 (/$bunfs/root/src/entrypoints/cli.js:2749:17407)\n at async ec9 (/$bunfs/root/src/entrypoints/cli.js:2751:322)\n at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:8273:14278)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-04-16T15:36:38.143Z"},{"error":"AxiosError: Request failed with status code 402\n at DU (/$bunfs/root/src/entrypoints/cli.js:110:1194)\n at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:115:12744)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:865:50)…
Note: Content was truncated.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗