Root Cause of Claude Code VS Code Extension Session Title Corruption Identified

Session Title Corruption Bug in Claude Code Extension
A persistent bug in the Claude Code VS Code extension causes session titles in Past Conversations to become corrupted—showing wrong titles, reverting to last-prompt text, or disappearing entirely. A developer has identified the architectural root cause and collected 20+ related GitHub issues that all stem from the same underlying problem.
Root Cause Analysis
The extension's session list reads titles by performing a raw string search for "customTitle" in the last 64KB of each .jsonl session file. This approach creates three specific failure modes:
- 64KB eviction — In long sessions (common with agentic workflows), the custom-title entry gets pushed outside the 64KB tail window, causing the title to be lost.
- Cross-session content contamination — The scanner doesn't distinguish between real custom-title JSONL entries and the string "customTitle" appearing inside tool results or conversation content, causing one session's title to appear on a completely different session.
- Overwrite on resume — When a session is resumed and new content is appended, any custom-title from /rename gets buried. The extension then falls back to lastPrompt or picks up a stale match from tool output.
Affected Issues
The developer has collected 20+ GitHub issues related to this problem:
- Title lost: #33165, #32150, #25090, #23610, #26240, #29194
- Wrong title: #29801, #9668, #29342, #27751
- Sessions invisible: #9898, #31813, #29088, #22215, #18619, #11232
- Feature requests (workarounds): #11956, #9198, #11694, #7441
Many of these issues were auto-closed as duplicates by the bot without a fix landing. Partial fixes in v2.1.47 and v2.1.71 addressed specific symptoms but not the underlying architecture.
Proposed Solution and Workaround
The developer proposes storing titles in a separate lightweight index (e.g., title-registry.json) rather than scanning conversation content. This approach would survive session growth, be immune to content contamination, and enable cross-client sync.
For a current workaround, the developer has been running a UserPromptSubmit hook + systemd timer + persistent title registry that re-asserts the correct title on every prompt and every 2 minutes. Implementation details are available in issue #32150.
This bug affects anyone using Claude Code for task-based workflows where matching sessions to work items matters. The full root cause analysis with all 20 issues linked is available in the GitHub discussion.
📖 Read the full source: r/ClaudeAI
👀 See Also

memora: Version-Controlled, Typed Memory for AI Agents – Git for AI Beliefs
memora is a CLI tool written in Rust that version-controls AI agent memory with typed, provenance-tracked, branchable, and mergeable capabilities.

Deploy Claude Design Artifacts to Live Websites with Teenyapp
Teenyapp provides a hosting service that Claude Design can use directly from chat via an agent token link, enabling autonomous deployment of artifacts with backend support.

OpenClaw Optimizer v1.18.0 released with OpenClaw v2026.3.7 alignment
OpenClaw Optimizer skill v1.18.0 is now aligned with OpenClaw v2026.3.7, adding support for new AI providers including Google Gemini 3.1 Flash-Lite and OpenAI gpt-5.4, plus new CLI commands like /session idle and /usage cost.

DELIGHT: Local Orchestrator Uses Multiple ChatGPT Sessions as Coordinated Agents
DELIGHT is a local orchestrator that runs multiple hidden ChatGPT browser sessions simultaneously, coordinating them like a team of agents without requiring API keys or GPU resources. It connects to OpenClaw as an action layer to apply changes to real files and run tests.