[BUG] VSCode extension: session history dropdown shows only active session despite valid .jsonl files on disk
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?
Claude Code VSCode extension: session history dropdown shows only the active "Untitled" session despite 23 valid .jsonl files on disk
Environment
- Extension version: anthropic.claude-code 2.1.145 (latest as of 2026-05-19)
- VSCode: stable, Windows
- OS: Windows 11 Pro 10.0.26200
- Bucket:
C:\Users\xxxxx\.claude\projects\s--Projects-2026-26-007-AI-Stack\
Symptom
The Claude Code panel's session-list dropdown (the "Local" tab in the history popover at the top-right of the panel) shows only the currently active "Untitled" session. All 23 prior .jsonl session files in the bucket are absent from the list.
Behavior is recurring across VSCode restarts — every fresh launch shows an empty dropdown, even though new sessions are written to the bucket correctly.
Verified intact
# 23 sessions on disk
PS> (Get-ChildItem "$env:USERPROFILE\.claude\projects\s--Projects-2026-26-007-AI-Stack\*.jsonl").Count
23
# All sessionIds match filenames (no corruption)
Checked 23, mismatches 0
# All cwds normalized and consistent
s:\Projects\2026\26-007_AI Stack → 22 sessions (the 23rd is the active one)
# Only one workspaceStorage UUID points at this project (no fragmentation)
dcbf9494b54ab7125e1454736b5df2e2
# Only the lowercase bucket folder exists (no phantom uppercase-S bucket)
s--Projects-2026-26-007-AI-Stack
What was tried before filing
- Normalized mixed-case
S:vss:cwd entries across all session files (cwd casing not the filter). - Removed 4 stale
workspaceStorageUUIDs that pointed at older renames of this project. Only the canonical UUID for26-007_AI Stack.code-workspaceremains. - Confirmed
sessionIdin each.jsonlmatches the filename UUID. - Confirmed extension version 2.1.145 is current — no newer build available on marketplace.
- Reading
extension.js: session enumeration goes throughpZ→k_0→X_0→J_0. On paperpZshould return every.jsonlwhose filename parses as a UUID. Could not finish tracing the downstream filter through the minified bundle.
Workaround
claude --resume from the bundled native binary at <extension>\resources\native-binary\claude.exe lists all 23 sessions correctly. The data path works; only the in-panel dropdown rendering is broken.
Asks
- Trace what filter the dropdown is applying that the CLI
--resumepicker doesn't. - If the dropdown is intentionally scoped to "this panel's session" rather than "bucket history," surface that distinction in the UI and document the right entry point for full history.
What Should Happen?
The session-list dropdown in the Claude Code panel should list all valid .jsonl sessions in the bucket for the current workspace's cwd — the same set that the bundled claude --resume CLI picker shows. Currently it shows only the active session, making prior chat history appear lost across VSCode restarts even though all session files are intact on disk.
Error Messages/Logs
Steps to Reproduce
- Use the Claude Code VSCode extension (v2.1.145, latest) in a project over multiple sessions, accumulating 20+ chat sessions in the bucket at
~/.claude/projects/<encoded-cwd>/. - Confirm via filesystem that the bucket contains 20+ valid
.jsonlfiles, each with a sessionId matching its filename UUID and a consistentcwdfield. - Close VSCode and reopen it via the canonical workspace file.
- Open the Claude Code panel and click the clock/history icon (top-right) to expand the session-list dropdown ("Local" tab).
- Observe: the dropdown lists only the currently active "Untitled" session. None of the prior 20+ sessions appear, despite all files being intact on disk.
- Cross-check: run the bundled CLI
<extension-path>\resources\native-binary\claude.exe --resumefrom a terminal in the same project. The CLI picker correctly lists all 20+ sessions and resumes any of them with full history.
Conclusion: the data layer is fine; only the in-panel dropdown rendering is filtering them out.
Environment:
- Extension: anthropic.claude-code 2.1.145
- VSCode: stable, Windows 11
- Bucket path: C:\Users\xxxxx\.claude\projects\s--Projects-2026-26-007-AI-Stack\ (23 .jsonl files, 30 MB)
- Only one workspaceStorage UUID points at the workspace (no fragmentation)
- All sessionIds match filenames; all cwds consistent
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.145 (Claude Code)
Platform
Other
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗