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

ShareMyClaudeMD: Tool Converts Claude-Generated Markdown Files to Shareable Rendered Pages
A developer built sharemyclaudemd.com, a free tool that converts any Markdown file into a live, rendered page with a shareable URL and QR code. The tool addresses the friction of sharing Claude-generated Markdown files, which often requires recipients to open them in a specific editor or push to GitHub just for a rendered view.

Prompt-Mini: Claude Code Plugin Intercepts Vague Prompts to Reduce Credit Waste
Prompt-mini is a Claude Code plugin that intercepts vague prompts before execution, asks clarifying questions, and builds structured prompts with stack detection and specific rules for 40+ frameworks. The tool addresses 35 credit-killing patterns like missing scope, stop conditions, and file paths.

Keep My Claw: Backup Service for OpenClaw Workspaces
Keep My Claw is a backup service that encrypts OpenClaw workspace data locally before uploading to Cloudflare R2. It handles memory files, cron jobs, skills, credentials, and config snapshots with scheduled backups and one-command restores.

Reverse-engineered Claude Design System Prompt for slop-free AI UI agents
Open-source system prompt that replaces generic SaaS trope output with a disciplined design philosophy: WCAG, real CSS Grid, token-based systems, and 14 procedural skills.