[BUG] VS Code panel tab titles stopped auto-updating - generateSessionTitle returns null stub
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
VS Code panel tab titles stopped auto-updating with conversation context. All tabs show the static text "Claude Code" instead of AI-generated session summaries (e.g., "Awards dashboard implementation").
This worked correctly until around March 10, 2026.
Root Cause Analysis
The extension's generateSessionTitle handler in extension.js is a stub that always returns {title: null}:
async generateSessionTitle(z, v) {
return { type: "generate_session_title_response", title: null }
}
Meanwhile, the CLI (v2.1.74) has a full generate_session_title handler that makes an API call to generate titles, but the extension never forwards the request to the CLI. The webview sends generate_session_title to the extension host, the extension host handles it locally with the null stub, and the CLI never receives it.
Evidence:
- Session JSONL files from March 11+ have zero
{type:"summary"}entries, while sessions from March 9-10 have them - Extension.js intercepts
generate_session_titleat line ~1015773 and returns{title: null} - CLI v2.1.74 has a handler for
generate_session_title(makes an API call withquerySource: "generate_session_title") but it's unreachable from the extension - CLI v2.1.72 generated summaries autonomously (writing
{type:"summary"}entries without needing extension requests). This autonomous generation was removed in v2.1.73+. - The webview
renameTabdepends onsummary.valuewhich never gets set beyond the raw first prompt because the title generation response is alwaysnull
Timeline
| Date | Version | Titles working? |
|------|---------|----------------|
| Before March 10 | CLI v2.1.72 | Yes - CLI generated summaries autonomously |
| March 10 02:59+ | CLI v2.1.72 | No - unclear trigger, possibly extension update |
| March 11 | CLI v2.1.73 | No - CLI stopped autonomous summary generation |
| March 12 | CLI v2.1.74 | No - CLI has handler but extension doesn't forward |
What Should Happen?
The extension's generateSessionTitle should forward the request to the active CLI process (which has the actual title generation implementation), similar to how other control requests are forwarded. The CLI's response should then propagate back to the webview to update summary.value and trigger renameTab.
Steps to Reproduce
- Open VS Code with Claude Code extension v2.1.74
- Set
claudeCode.preferredLocationto"panel"(Panel New Tab mode) - Set
terminal.integrated.tabs.titleto"${sequence}" - Start a new Claude Code session and send any message
- Observe the panel tab title remains "Claude Code" instead of updating to an AI-generated summary
Environment
- OS: macOS Darwin 25.3.0 (Apple Silicon)
- VS Code: Latest
- Claude Code Extension: v2.1.74
- Claude Code CLI: v2.1.74
- Settings:
claudeCode.preferredLocation: "panel",terminal.integrated.tabs.title: "${sequence}"
Related Issues
- #28439 (closed without resolution - same bug, lacked repro steps)
- #29801 (VS Code shows raw first message instead of AI-generated title)
- #27830 (feature request for auto-generated intelligent titles)
- #25789, #20441 (tab title sync with /rename)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗