[BUG] list_sessions_request hangs on SMB-mounted workspaces (VS Code extension, v2.1.237)
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?
Environment
- Claude Code VS Code extension v2.1.237 (win32-x64)
- Windows 11
- Workspace on an SMB network drive (mapped P: → \\host\share)
Summary
The Local tab of Session history shows only the current session, even though
11 valid .jsonl transcripts exist on disk for this project. The Web tab works
correctly (8 remote sessions fetched).
Evidence
Extension log shows list_sessions_request being sent at startup with no
corresponding response or error anywhere in the log:
[info] Received message from webview: {"type":"request","requestId":"fadqsm5btj9","request":{"type":"list_sessions_request"}}
Meanwhile the remote equivalent succeeds:
[info] Fetched 8 remote sessions
Transcripts exist on disk
~/.claude/projects/p--<project>/ contains 11 .jsonl files (73KB–4.9MB),
actively written to by current sessions. claude --resume from the CLI
lists all of them correctly, so the data is intact — only the extension's
Local listing fails.
Suspected cause
Session enumeration appears to time out under slow network I/O:
setup() completed in 5533ms / 6510ms / 7927ms / 8290mstime_to_interactive: 61162ms[event-loop-stall] blocked for 3803ms ... 4629ms(majflt up to 3390)- Four Claude processes spawned concurrently, contending for the config lock:
Failed to save config with lock: Error: Lock file is already being held (×5)
Expected
Local tab lists all sessions with transcripts for the current project,
or surfaces an error if enumeration fails.
Actual
Only the current session appears. No error is shown to the user and none
appears in the log.
What Should Happen?
The Local tab of Session history should list all sessions that have
transcripts for the current project, or surface an error if enumeration
fails. Currently it silently shows only the current session.
Error Messages/Logs
2026-08-20 15:59:17.771 [info] Received message from webview: {"type":"request","requestId":"yclaioiehmc","request":{"type":"init"}}
2026-08-20 15:59:17.771 [info] Getting authentication status
2026-08-20 15:59:17.772 [info] OAuth tokens found in secure storage
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"zpdhakr35ep","request":{"type":"get_claude_state"}}
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"a0zw1uq3ly8","request":{"type":"get_current_selection"}}
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"9rnyu5gegr","request":{"type":"get_asset_uris"}}
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"fadqsm5btj9","request":{"type":"list_sessions_request"}}
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"9mf7r6c0flv","request":{"type":"get_session_groups"}}
2026-08-20 15:59:17.772 [info] Received message from webview: {"type":"request","requestId":"r03qk9uchk8","request":{"type":"get_session_groups"}}
2026-08-20 15:59:17.861 [info] Getting authentication status
2026-08-20 15:59:17.862 [info] OAuth tokens found in secure storage
2026-08-20 15:59:17.862 [info] Getting authentication status
2026-08-20 15:59:17.863 [info] OAuth tokens found in secure storage
2026-08-20 15:59:17.892 [info] Getting authentication status
2026-08-20 15:59:17.893 [info] OAuth tokens found in secure storage
2026-08-20 15:59:17.893 [info] Getting authentication status
2026-08-20 15:59:17.894 [info] OAuth tokens found in secure storage
2026-08-20 15:59:18.539 [info] Loading config cache by launching Claude (no channel)...
2026-08-20 15:59:22.284 [info] Received message from webview: {"type":"request","requestId":"ptfpv6ovr9e","request":{"type":"get_claude_state"}}
2026-08-20 15:59:22.286 [info] Received message from webview: {"type":"request","requestId":"vngvyti583g","request":{"type":"get_current_selection"}}
2026-08-20 15:59:22.289 [info] Received message from webview: {"type":"request","requestId":"cy5d8s6bf7d","request":{"type":"get_asset_uris"}}
2026-08-20 15:59:22.291 [info] Received message from webview: {"type":"request","requestId":"pfjujz2hqp","request":{"type":"list_sessions_request"}}
2026-08-20 15:59:22.293 [info] Received message from webview: {"type":"request","requestId":"ac4wp8n2rm","request":{"type":"get_session_groups"}}
2026-08-20 15:59:22.327 [info] Received message from webview: {"type":"request","requestId":"9dmho4rfjro","request":{"type":"get_session_groups"}}
2026-08-20 15:59:26.528 [info] Received message from webview: {"type":"request","requestId":"yeie2lb8ul","request":{"type":"rename_tab","title":"Claude Code","hasPendingPermissions":false,"hasUnseenCompletion":false}}
2026-08-20 15:59:26.830 [info] Received message from webview: {"type":"request","requestId":"yau92int6bs","request":{"type":"rename_tab","title":"Claude Code","hasPendingPermissions":false,"hasUnseenCompletion":false}}
2026-08-20 15:59:26.833 [info] Received message from webview: {"type":"launch_claude","channelId":"yxnz0exjeoi","cwd":"p:\\FXC.HQX4570.R00003.1.B1.DAILY","permissionMode":"acceptEdits","thinkingLevel":"default_on"}
2026-08-20 15:59:26.863 [info] Launching Claude on channel: yxnz0exjeoi
2026-08-20 15:59:26.865 [info] Received message from webview: {"type":"request","requestId":"ezpqfhpiop8","request":{"type":"list_remote_sessions"}}
2026-08-20 15:59:26.876 [info] OAuth tokens found in secure storage
2026-08-20 15:59:26.976 [info] Received message from webview: {"type":"request","requestId":"jtffrvkueh","request":{"type":"rename_tab","title":"Claude Code","hasPendingPermissions":false,"hasUnseenCompletion":false}}
2026-08-20 15:59:26.979 [info] Received message from webview: {"type":"request","requestId":"pl484kjmz6l","request":{"type":"rename_tab","title":"Claude Code","hasPendingPermissions":false,"hasUnseenCompletion":false}}
2026-08-20 15:59:26.980 [info] Received message from webview: {"type":"launch_claude","channelId":"obedzbxckl","cwd":"p:\\FXC.HQX4570.R00003.1.B1.DAILY","permissionMode":"acceptEdits","thinkingLevel":"default_on"}
2026-08-20 15:59:26.983 [info] Launching Claude on channel: obedzbxckl
2026-08-20 15:59:28.697 [info] Fetched 8 remote sessions
2026-08-20 15:59:40.729 [info] Received message from webview: {"type":"request","requestId":"u00iuj93cdj","request":{"type":"list_sessions_request"}}
2026-08-20 15:59:40.813 [info] Received message from webview: {"type":"request","requestId":"pi6z48bxe6","request":{"type":"list_remote_sessions"}}
2026-08-20 15:59:40.818 [info] OAuth tokens found in secure storage
2026-08-20 15:59:42.055 [info] Fetched 8 remote sessions
2026-08-20 15:59:55.400 [info] Received message from webview: {"type":"request","channelId":"yxnz0exjeoi","requestId":"thb1jc7ti5r","request":{"type":"log_event","eventName":"input_lag_sample","eventData":{"durationMs":336}}}
2026-08-20 15:59:55.401 [warning] Channel not found for logEvent: yxnz0exjeoi
2026-08-20 16:00:04.994 [info] Spawning Claude with SDK query function - cwd: p:\FXC.HQX4570.R00003.1.B1.DAILY, permission mode: default, version: 2.1.237, c:\Users\hank.chen\.vscode\extensions\anthropic.claude-code-2.1.237-win32-x64\resources\native-binary\claude.exe, resume: undefined
2026-08-20 16:00:05.187 [info] Spawning Claude with SDK query function - cwd: p:\FXC.HQX4570.R00003.1.B1.DAILY, permission mode: acceptEdits, version: 2.1.237, c:\Users\hank.chen\.vscode\extensions\anthropic.claude-code-2.1.237-win32-x64\resources\native-binary\claude.exe, resume: undefined
2026-08-20 16:00:05.249 [info] Spawning Claude with SDK query function - cwd: p:\FXC.HQX4570.R00003.1.B1.DAILY, permission mode: default, version: 2.1.237, c:\Users\hank.chen\.vscode\extensions\anthropic.claude-code-2.1.237-win32-x64\resources\native-binary\claude.exe, resume: undefined
2026-08-20 16:00:05.419 [info] Spawning Claude with SDK query function - cwd: p:\FXC.HQX4570.R00003.1.B1.DAILY, permission mode: acceptEdits, version: 2.1.237, c:\Users\hank.chen\.vscode\extensions\anthropic.claude-code-2.1.237-win32-x64\resources\native-binary\claude.exe, resume: undefined
2026-08-20 16:00:08.374 [info] From claude: 2026-08-20T08:00:07.297Z [DEBUG] MDM settings load completed in 269ms
2026-08-20 16:00:08.375 [info] From claude: 2026-08-20T08:00:07.968Z [DEBUG] MDM settings load completed in 440ms
2026-08-20 16:00:08.375 [info] From claude: 2026-08-20T08:00:08.183Z [DEBUG] MDM settings load completed in 333ms
2026-08-20 16:00:09.562 [info] From claude: 2026-08-20T08:00:08.415Z [DEBUG] MDM settings load completed in 508ms
2026-08-20T08:00:09.361Z [DEBUG] Broken symlink or missing file encountered for settings.json at path: p:\FXC.HQX4570.R00003.1.B1.DAILY\.claude\settings.json
2026-08-20 16:00:09.601 [info] From claude: 2026-08-20T08:00:08.843Z [DEBUG] Broken symlink or missing file encountered for settings.json at path: p:\FXC.HQX4570.R00003.1.B1.DAILY\.claude\settings.json
2026-08-20 16:00:09.601 [info] From claude: 2026-08-20T08:00:08.981Z [DEBUG] Broken symlink or missing file encountered for settings.json at path: p:\FXC.HQX4570.R00003.1.B1.DAILY\.claude\settings.json
2026-08-20 16:00:09.603 [info] From claude: 2026-08-20T08:00:09.164Z [DEBUG] Broken symlink or missing file encountered for settings.json at path: p:\FXC.HQX4570.R00003.1.B1.DAILY\.claude\settings.json
2026-08-20 16:00:09.680 [info] From claude: 2026-08-20T08:00:09.638Z [DEBUG] Broken symlink or missing file encountered for settings.json at path: C:\Program Files\ClaudeCode\managed-settings.json
2026-08-20T08:00:09.646Z [DEBUG] CA certs: Config fallback - globalEnv keys: , settingsEnv keys: none
2026-08-20 16:00:10.103 [info] From claude: 2026-08-20T08:00:09.696Z [DEBUG] [init] configureGlobalMTLS starting
2026-08-20T08:00:09.696Z [DEBUG] [init] configureGlobalMTLS complete
2026-08-20T08:00:09.697Z [DEBUG] [init] configureGlobalAgents starting
2026-08-20T08:00:09.697Z [DEBUG] CA certs: stores=bundled,system, extraCertsPath=undefined
2026-08-20T08:00:09.712Z [DEBUG] CA certs: Loaded 121 bundled root certificates
2026-08-20T08:00:09.987Z [DEBUG] CA certs: Dropped 51 expired certificate(s) from system store
2026-08-20T08:00:10.015Z [DEBUG] CA certs: Loaded 230 system CA certificates
2026-08-20T08:00:10.016Z [DEBUG] mTLS: Creating HTTPS agent with custom certificates
2026-08-20T08:00:10.016Z [DEBUG] [init] configureGlobalAgents complete
2026-08-20T08:00:10.019Z [DEBUG] Using bash path: "C:\Program Files\Git\bin\bash.exe"
2026-08-20T08:00:10.024Z [DEBUG] Git remote URL: null
2026-08-20T08:00:10.024Z [DEBUG] No git remote URL found
2026-08-20T08:00:10.041Z [DEBUG] Error log sink initialized
Steps to Reproduce
- Map a network drive to an SMB share (e.g. P: → \\host\share) and place a
project folder on it.
- Use Claude Code in that folder over several days so that multiple session
transcripts accumulate. Verify with:
ls $env:USERPROFILE\.claude\projects\<encoded-project-name>\*.jsonl
(in my case: 11 files, 73KB–4.9MB)
- Restart VS Code and open that folder.
- Click the Session history button, Local tab.
Result: only the current session is listed. The Web tab correctly fetches
remote sessions, and claude --resume from the CLI lists all 11 local
sessions, so the transcripts are intact.
The extension log shows list_sessions_request sent at startup with no
response or error for that requestId anywhere in the log.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.237
Claude Code Version
2.1.237 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Environment specifics (likely relevant to reproduction)
All source lives on SMB network drives, not local disk:
P: -> \10.61.25.159<share> (project root)
The repo is large — a single Grep over it took 6967ms in one session. This
appears to matter: startup is heavily degraded and the session enumeration
never completes.
[STARTUP] setup() completed in 5533ms / 6510ms / 7927ms / 8290ms
time_to_interactive: 61162ms
[event-loop-stall] blocked for 3803ms (majflt=2413)
[event-loop-stall] blocked for 4629ms (majflt=3390)
Four Claude processes were spawned concurrently on window restore, contending
for the same config lock:
Failed to save config with lock: Error: Lock file is already being held (x5)
Lock acquisition took longer than expected - another Claude instance may be running
Workaround
claude --resume from the standalone CLI lists all 11 sessions correctly, so
this is specific to the extension's Local listing path, not to the transcript
data.
Unrelated minor issues seen in the same log
- ripgrep fails on every startup because the plugins cache dir doesn't exist:
rg: C:\Users\<user>\.claude\plugins\cache: IO error ... (os error 3), 0 results
- Grove settings fetch times out (3000ms) behind a corporate network
I can provide the full extension log — attached.