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

Self-Hosted Memory Layer for Claude Runs Free on Cloudflare
A Cloudflare Worker MCP server lets Claude remember and recall notes via semantic search using Workers AI and Vectorize — all on free tier.

Inline Visualizer: Local AI Models Can Now Render Interactive HTML Visualizations
Inline Visualizer is a BSD-3 licensed plugin for Open WebUI that enables any local AI model with tool calling support to render interactive HTML/SVG visualizations directly in chat, with a JavaScript bridge allowing elements to send messages back to the AI.

LetMeWatch: Python Plugin Adds Video Analysis to Claude via FFmpeg Scene Detection
A developer built a ~200-line Python plugin called LetMeWatch that enables Claude to analyze videos by using FFmpeg for scene detection, extracting only frames where visuals change, timestamping them, and feeding batches to Claude's multimodal vision.

Simplifying OpenClaw Hosting: BestClaw Keeps SSH and User-Friendly Functionality
BestClaw emerges as a straightforward solution for OpenClaw hosting, balancing ease of use with crucial SSH access, as discussed on r/openclaw.