[BUG] Cowork: adding a folder to an existing project/task silently fails — "Session VM process not available" (Windows)

Resolved 💬 9 comments Opened Apr 17, 2026 by OPRGericke Closed May 27, 2026

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?

In Cowork on Windows, adding a folder to an existing project or task via the folder picker silently fails. The session then errors with:

Session VM process not available. The session may not be fully initialized.

Attaching the same folder at project/task creation time works without issue. Both the folder selection UI and the host-side session state appear to accept the "add" operation, but the host-loop mount and VM re-spawn steps never execute, so the VM comes up without the user folder mounted. The resulting session is killed with SIGTERM shortly after spawn.
This was working on 2026-04-16 (confirmed in the same logs, see below) and regressed by 2026-04-17.

What Should Happen?

Adding a folder to an existing project or task should mount that folder into the Cowork VM session the same way folders added at creation do, with the same [Spaces] / setDraftSessionFolders / [AutoMemory] Mounted / [FileWatching] sequence in main.log and a matching --add-dir argument in the Cowork VM spawn.
Actual Behavior

UI shows the error: "Session VM process not available. The session may not be fully initialized."
main.log shows LocalAgentModeSessions.addFolderToSession: sessionId=..., path=(picker) but none of the expected follow-up lines (Added user selected folder, [HostLoop] Folder added, [mountFolderForSession] Added folder) that appear on the working code path.
cowork_vm_node.log shows the VM process re-spawned without the folder (mounts=10, no --add-dir), and the process is SIGTERM'd within a few seconds.
No errors logged on either side.

Error Messages/Logs

Log Evidence
Working case: folder added at project creation (2026-04-17 15:28)
main.log:
15:28:29 [Spaces] Created space: ee88ff51-41d2-44f5-b62c-4b6e37b99643 (C:\Dev)
15:28:29 LocalAgentModeSessions.setDraftSessionFolders: 1 folders
15:28:29 setDraftSessionFolders: setting 1 folders for draft session
15:28:54 [AutoMemory] Mounted ...\spaces\ee88ff51-...\memory
15:28:54 [FileWatching] Starting file watcher for session ...: C:\Dev
15:28:55 Mapping internal session local_19cf1332-... to CLI session 76e28fc5-...
15:29:21 [Result] Turn succeeded for session local_19cf1332-...
cowork_vm_node.log:
15:28:54 [Spawn:config] Creating spawn function for process=upbeat-cool-heisenberg,
         isResume=false, mounts=11 (Dev, .claude, .auto-memory, .claude/skills,
         .remote-plugins, ..., uploads), allowedDomains=25
15:28:54 [Spawn:create] ... args=... --add-dir /sessions/upbeat-cool-heisenberg/mnt/Dev ...
15:28:54 [Spawn:vm] Spawn succeeded in 69ms
15:29:23 [CoworkVMProcess:...] kill called with signal: SIGTERM
15:29:23 [Process:...] Exited, code=0, duration=29478ms
Broken case: trying to add folder to an existing session (2026-04-17 15:25)
main.log — two consecutive picker calls, both dead ends:
15:25:17 LocalAgentModeSessions.addFolderToSession: sessionId=local_5b7fbcaa-33ac-494e-9f23-08a005fc4f53, path=(picker)
[nothing — expected "Added user selected folder" / "[HostLoop] Folder added" / "[mountFolderForSession] Added folder" lines are missing]
15:26:38 LocalAgentModeSessions.addFolderToSession: sessionId=local_5b7fbcaa-..., path=(picker)
[same, no follow-up]
cowork_vm_node.log for the same session (shortly before the add attempts):
15:25:13 [Spawn:config] Creating spawn function for process=admiring-great-faraday,
         isResume=false, mounts=10 (outputs, .claude, .claude/skills, .remote-plugins,
         ..., uploads), allowedDomains=25
15:25:13 [Spawn:create] ... args=... (NO --add-dir argument) ...
15:25:13 [Spawn:vm] Spawn succeeded in 79ms
15:25:18 [CoworkVMProcess:...] kill called with signal: SIGTERM
15:25:18 [Process:...] Exited, code=0, duration=4926ms
Note the diff on the VM spawn:

mounts=10 vs mounts=11 (missing the user folder and .auto-memory mount)
No --add-dir argument passed to the claude CLI
4.9s lifetime vs 29.4s lifetime

Reference: addFolderToSession working on 2026-04-16 15:01
Same app version, 23 hours earlier in the same log. Shows what the successful handler chain looks like:
15:01:03 LocalAgentModeSessions.addFolderToSession: sessionId=local_a074e611-..., path=(picker)
15:01:13 Added user selected folder: C:\Dev\atera-mcp for session local_a074e611-...
15:01:13 [HostLoop] Folder added: C:\Dev\atera-mcp → /mnt/atera-mcp — next bash call will mount it
15:01:13 [mountFolderForSession] Added folder (host-loop): C:\Dev\atera-mcp for local_a074e611-...
This tells me the flow is: addFolderToSession → Added user selected folder → [HostLoop] Folder added → [mountFolderForSession]. On 04-17, the chain breaks after the very first step, silently.

Steps to Reproduce

  1. Open Claude Desktop, go to Cowork.
  2. Create a new project (or task) without attaching a folder.
  3. Run at least one turn in it so it's an "existing" session.
  4. Try to add a folder to the project/task via the folder picker. I used C:\Dev, which sits outside %USERPROFILE% but is accepted at creation time.
  5. Observe the error banner.
  6. As a control: create a brand new project, select the same folder at creation time. It works.

100% reproducible across both projects and tasks.

Environment

Claude for Windows: 1.3109.0 (35cbf6)
OS: Windows 11 Enterprise 24H2, OS Build 26100.8246
Subscription: (paid plan, Cowork enabled)
SDK version (from logs): 2.1.111
Model in use: claude-sonnet-4-6

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude 1.3109.0 (35cbf6) 2026-04-16T20:32:01.000Z

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

cowork-bug-report.md

View original on GitHub ↗

This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗