[BUG] AI-generated session titles override user renames and customTitle entries (v2.1.78+)
Title
[BUG] AI-generated session titles override user renames and customTitle entries (v2.1.78+)
Body
Problem
As of Claude Code extension v2.1.78 (and/or VS Code 1.112), the extension generates AI-summarized titles for sessions that override:
- Manual renames via the sidebar pencil icon
custom-titleentries written to the session.jsonlfile- The user's actual first message
The AI title generator rewrites titles unpredictably, stripping task numbers and context that users rely on for session identification.
Evidence
AI rewrites user input into "clean" summaries
| User's first message (verbatim) | Extension displays |
|---|---|
| "Task 399.10.47 - We need these titles to stick" | "Make session titles persistent" |
| "This is a Test Chat to see if this gets picked up by whatever is automatically doing whatever it is doing" | "Test chat session for automatic detection" |
The user typed these exact strings. The extension discarded them and generated its own summary.
Manual renames don't persist
- User renames session via sidebar pencil icon to "Chat Session Titles - Past Conversations"
- Extension immediately or on next reload overwrites it with
"I've thought of some words that might refine the one-pager..."(a quote from inside the conversation content) - This happens repeatedly — the AI title regenerates on every Developer Reload
customTitle JSONL entries ignored
The session .jsonl file contains correct custom-title entries (both compact and spaced JSON format) as the last lines of the file. The extension ignores them in favour of its own AI-generated title.
Impact
- Task tracking broken: Users who name sessions by task/issue number (e.g., "Task 215.0.0 - Mechanical Scripting") lose that mapping when the AI renames it to something generic
- Manual renames pointless: The sidebar rename feature doesn't persist — the AI overwrites it
- Cross-session contamination: The AI sometimes picks up quoted text from conversation content rather than the user's actual first message, causing sessions to display titles from other conversations
Steps to Reproduce
- Open Claude Code extension v2.1.79+ in VS Code 1.112+
- Start a new session
- Type a specific first message like:
Task 123 - Fix login bug - Wait for the session to appear in Past Conversations
- Observe: title is an AI summary, not your message
- Rename via pencil icon to "Task 123 - Fix login bug"
- Do a Developer Reload (Ctrl+Shift+P → Developer: Reload Window)
- Observe: title reverts to the AI-generated version
Expected Behaviour
- The user's first message (or manual rename) should be the session title
- Manual renames should persist across reloads
custom-titleentries in the.jsonlfile should be respected- AI title generation, if used, should be opt-in and never override explicit user choices
Environment
- Claude Code extension: v2.1.79
- VS Code: 1.112
- OS: Ubuntu Linux
- Platform: Linux 6.17.0-19-generic
Related Issues
This is the latest escalation in a long-running family of session title bugs:
- #33165 — customTitle entries lost outside 64KB tail window
- #32150 — Session titles corrupted by last-prompt overwrites (earlier report with full root cause analysis and workaround implementation)
- #29801 — Titles differ between VS Code and Claude for Windows
- #9898 — Poor session indexing design (auto-closed without fix)
- #9668 — "Warmup" titles overwrite everything
- #11956, #9198, #7441 — Feature requests for reliable session renaming
The common root cause across all of these: the extension does not have a persistent, user-controllable title registry. Each version introduces a new title resolution strategy that breaks in a new way.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗