[BUG] VS Code extension 2.1.270: live session tabs ignore the saved custom title and show the AI title (worked in 2.1.49)
Summary: In the VS Code extension 2.1.270, renaming a session tab is saved correctly to the transcript, but the tab of a running session keeps showing the auto-generated title instead. Sessions whose process is not alive show the custom name fine. This worked on 2.1.49.
Steps to reproduce
- Open a session in the VS Code extension so its
claudeprocess is running. - Click the pencil icon on the tab, type a new name, press Enter.
- The tab immediately shows the old AI-generated title again.
- Close the tab (process exits) and reopen the session from history - the custom name is displayed correctly.
Evidence on disk - in ~/.claude/projects/<project>/<session>.jsonl, every rename is persisted, and each custom-title record is immediately followed by a stale ai-title record carrying the previous auto title:
262 {"type":"custom-title","customTitle":"<my name>","sessionId":"<id>"}
263 {"type":"ai-title","aiTitle":"<old auto title>","sessionId":"<id>"}
10 such pairs in one session - one per rename attempt. So the write path is fine; only the live tab rendering is wrong.
Cross-check across four tabs in the same window (process state from ps):
| session | process alive | tab displays | custom-title on disk |
|---|---|---|---|
| A | yes | AI title | present, ignored |
| B | yes | AI title | present, ignored |
| C | no | custom title | present, honoured |
| D | no | custom title | present, honoured |
Without exception: live process -> AI title wins; no live process -> custom title wins.
Not a format change: transcripts from 2026-08-16 and 2026-09-12, when live renaming worked, contain the exact same custom-title / ai-title interleaving. Only the live display behaviour changed.
Expected: once a session has a custom-title, it wins over ai-title in the tab, whether or not the session is running.
Environment
- VS Code extension:
anthropic.claude-code-2.1.270-darwin-arm64(latest published) - Previously installed: 2.1.49 (per
~/.vscode/extensions/.obsolete), where renaming a live session worked - macOS, Darwin 24.6.0, arm64
Related: #65010 (closed as inactive, now locked) reports the same symptom but attributes it to auto-retitling overwriting the stored name. Here the stored name survives - only the live tab ignores it.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗