[BUG] Cowork: workspace VM never starts — service waits for `configure` forever while client reconnects once per second
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?
On a fully healthy Windows host, the Cowork workspace VM never starts. The UI shows
"Claude's workspace couldn't start — RPC pipe closed" (German: *"Claudes Arbeitsbereich
konnte nicht gestartet werden — RPC pipe closed"*), and device_bash from a linked cloud
session returns *"Workspace unavailable. The isolated Linux environment on this device
failed to start."*
The service log shows the failure happens before any VM creation is attempted: the
service starts cleanly, initializes HCS and HCN, and then logsWaiting for configuration from app via 'configure' method... — and that configure call
never arrives. Meanwhile the app connects to the named pipe once per second, sends nothing,
and disconnects. No HCS error, no VM creation attempt, no error of any kind is logged.
Every host-side prerequisite was verified as healthy (details below), so this does not look
like a machine misconfiguration.
Environment
| Item | Value |
|---|---|
| Claude Desktop | 1.49585.0.0 (MSIX, Claude_pzs8sxrjxfjjc) |
| Install location | C:\Program Files\WindowsApps\Claude_1.49585.0.0_x64__pzs8sxrjxfjjc (on C:) |
| Windows | Microsoft Windows 11 Pro 10.0.26100 |
| RAM | 16 GB (6.9 GB free at time of failure) |
| Free disk on C: | 88 GB |
| Antivirus | Avira Security (active), Windows Defender (disabled by Avira) |
Steps to reproduce
- Open a Cowork session / open a task linked to this computer.
- The workspace fails to start; the error dialog appears.
- Any operation requiring the local Linux VM fails; file-bridge operations
(device_list_dir, device_stage_files, device_commit_files) keep working.
Reproducible on demand — every attempt fails identically.
Service log evidence
C:\ProgramData\Claude\Logs\cowork-service.log, service start of 2026-09-11:
15:34:48 Starting CoworkVMService as Windows service
15:34:48 Claude VM Service starting...
15:34:48 Waiting for configuration from app via 'configure' method...
15:34:48 [HCS] Initializing HCS DLLs...
15:34:48 [HCS] vmcompute.dll loaded successfully
15:34:48 [HCS] computecore.dll loaded successfully
15:34:48 [HCS] Procs initialized, HCS ready
15:34:48 [HCN] Initialized HCN API from computenetwork.dll
15:34:48 [HCN] EnumerateNetworks result: []
15:34:49 [Server] Signature verification initialized
15:34:49 [Server] Service: ...\Claude_1.49585.0.0_x64__pzs8sxrjxfjjc\app\resources\cowork-svc.exe
15:34:49 [Server] Subject: Anthropic, PBC
15:34:49 [Server] Package: Claude_pzs8sxrjxfjjc (C:\Program Files\WindowsApps\Claude_1.49585.0.0_x64__pzs8sxrjxfjjc)
15:34:49 [Server] Enforce: true
15:34:49 [Server] Starting named pipe server on \\.\pipe\cowork-vm-service
15:34:49 [Server] Named pipe server listening
15:34:49 Service ready. Listening on \\.\pipe\cowork-vm-service
15:34:49 Warning: failed to configure recovery actions
(a crashed service will stay down until reboot): open service: Access is denied.
After that line, for the rest of the day, the log contains nothing but:
16:38:14 [Server] Client connected
16:38:15 [Server] Client connected
16:38:16 [Server] Client connected
... (once per second, indefinitely)
Two things are notable:
configurenever arrives. No VM creation is ever attempted, so this is not an HCS,
Hyper-V, or resource failure — it fails earlier, in the app↔service handshake.
- No
Failed to read requestlines. On previous days, closing the app produced
Failed to read request: failed to read length: EOF. During the broken state that line is
absent, i.e. the client connects and disconnects without sending a single byte. It is
not crashing mid-request; it appears to abort before issuing its first call.
Ruled out (all verified healthy)
| Check | Command | Result |
|---|---|---|
| Install on C: | Get-AppxPackage *Claude* | C:\Program Files\WindowsApps\... — not issue #86825 |
| Authenticode signature | Get-AuthenticodeSignature ...\app\claude.exe | Valid — not issue #90283 (HashMismatch) |
| Client package match | Get-Process claude \| Select Path | All 10 processes from Claude_1.49585.0.0, same package as the service |
| Hypervisor | Get-ComputerInfo -Property HyperVisorPresent | True |
| Virtual Machine Platform | Get-CimInstance Win32_OptionalFeature | VirtualMachinePlatform = 1, HypervisorPlatform = 1 |
| Services | Get-Service vmcompute, hns, CoworkVMService | All Running |
| VM bundle | listing of vm_bundles\claudevm.bundle | Complete: rootfs.vhdx 8.26 GB, initrd, vmlinuz, smol-bin.vhdx |
| Resources | — | 16 GB RAM / 6.9 GB free, 88 GB free on C: |
| Antivirus interference | Avira real-time protection paused, app restarted | Failure unchanged |
Remediation attempted (none successful)
- Clean app restart (File → Exit, 60 s wait, relaunch) — no change.
- Removed the
.auto_reinstall_attemptedmarker invm_bundles\claudevm.bundle
to unblock the automatic repair path — no change.
- In-app "Reinstall workspace" — a progress bar appeared for roughly one second and
vanished; nothing was downloaded, and the service log recorded no new entry at all.
- Full uninstall and reinstall of Claude Desktop — after this, the error message briefly
changed to "Workspace still starting … booting in the background" and stayed there for
several minutes, then reverted to the hard failure. The service log still recorded no
configure call.
Secondary issues worth fixing
- Client-side logging is dead.
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\cowork_vm_node.log
stopped at exactly 10,486,003 bytes (≈10 MiB) on 2026-08-16 and has not been written since,
although the app writes to its data directory daily. It looks like the log hits a size cap
and then silently stops rotating. As a result, the entire client side of this failure is
invisible — which is the one piece of evidence that would actually explain it.
Renaming the file did not cause a new one to be created on the next app start.
- "Reinstall workspace" is a no-op here. It neither downloads anything nor logs anything.
failed to configure recovery actions … Access is deniedis logged on every service
start. The message itself states that a crashed service will stay down until reboot, so
the service cannot self-heal — yet it apparently lacks the rights to register its own
recovery actions during installation.
- The error message is unhelpful. "RPC pipe closed" describes the symptom on the last
hop, not the cause, and the same string is produced by at least three unrelated root
causes (see issues #86825 and #90283).
Possibly related issues
- anthropics/claude-code#90283 — "RPC pipe closed" caused by Authenticode HashMismatch
- anthropics/claude-code#86825 — "RPC pipe closed" caused by non-C: install path
- anthropics/claude-code#27801 — "Failed to start Claude's workspace", VM service not running
What Should Happen?
It should create a VM and work
Error Messages/Logs
Workspace unavailable. The isolated Linux environment on this device failed to start. Use device_stage_files / device_commit_files instead.
Steps to Reproduce
Steps to reproduce
- Open a Cowork session / open a task linked to this computer.
- The workspace fails to start; the error dialog appears.
- Any operation requiring the local Linux VM fails; file-bridge operations
(device_list_dir, device_stage_files, device_commit_files) keep working.
Reproducible on demand — every attempt fails identically.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
1.0.123
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
Showing cached comments. Read the full discussion on GitHub ↗
5 Comments
Reproducing the same issue on Claude Desktop 1.52386.6.0 on Windows.
Confirmed:
VirtualMachinePlatform enabled
hns, vmcompute, and CoworkVMService running
hypervisorlaunchtype = Auto
Claude installed on C:
claude.exe Authenticode signature = Valid
CoworkVMService is from the same 1.52386.6.0 package
C:\ProgramData\Claude\Logs\cowork-service.log shows [Server] Client connected approximately once per second indefinitely, with no workspace VM startup.
Claude UI reports: “Failed to start Claude’s workspace — RPC pipe closed.”
This appears to confirm that the issue still persists on Desktop 1.52386.6.0.
I am on Claude Desktop 1.52386.6.0 on Windows and the issue persists after the September 14 Microsoft security update.
Additional data point, with a clean post-reboot trace isolating the failure to the app side.
Environment
app\resources\cowork-svc.exedevice_bashcall returnsWorkspace unavailable. The isolated Linux environment on this device failed to start.The rest of the device bridge (
device_list_dir/device_stage_files/device_commit_files) works normally.Service log after a clean reboot (
C:\ProgramData\Claude\Logs\cowork-service.log)HCS initializes cleanly, the pipe listens, the app connects once per second — and
configureis never sent. No VM creation is attempted. This matches the original report exactly; unlike some reports here, HCS initialization itself succeeds, so the handshake is the only failing step.Host prerequisites verified healthy (so these can be ruled out)
VirtualMachinePlatform,HypervisorPlatform,Microsoft-Windows-Subsystem-Linux: allEnabledbcdedithypervisorlaunchtype Auto;HypervisorPresent TrueCoworkVMService(LocalSystem),vmcompute,hns,WSLServicehcsdiag list: only the WSL utility VM — no Claude VM ever created\\.\pipe\cowork-vm-servicepresentclaudevm.bundle\rootfs.vhdx~7.6 GB,smol-bin.vhdxmtime updates after each failed attempt, so the app reaches the bundle stage before giving up. No.auto_reinstall_attemptedmarker present.Tried, no effect: app reinstall; reboot; installing the later cumulative; enabling
HypervisorPlatformand the WSL optional component (both wereDisabled— enabling them changed nothing, which rules out the prerequisite-features workaround from the related issue).Possibly distinguishing detail: on this machine
%APPDATA%is redirected to a secondary drive via known-folder redirection, so...\Claude\vm_bundles\is not onC:. I have not seen that mentioned in the other reports. If the app resolves the bundle or a socket/state path assumingC:, or assuming a non-redirected%APPDATA%, that would fail silently exactly where this does — beforeconfigure. Worth checking whether other affected users also have a redirected%APPDATA%.Benign noise seen every start, probably unrelated but noting it:
Warning: failed to configure recovery actions ... open service: Access is denied.[Cleanup] Warning: failed to enumerate HCN networks: HcnEnumerateNetworks failed with HRESULT 0x800706d9, from a start wherevmcompute.dllhad failed to load; absent from healthy starts.Request: the service already logs that it is waiting for
configure. The app side logs nothing about why it never sends it — a client-side log line at that step (or an error surfaced in the UI instead of the generic "failed to start") would make this diagnosable without log archaeology.Follow-up to my trace above: I found the cause on this machine, and it is not the VM, the virtualization features or the service. It is the client authentication check, and it fails for anyone whose MSIX apps are installed on a secondary drive.
The line that says it, in the client-side log at
%LOCALAPPDATA%\Claude\logs\cowork_vm_node.log, repeating once a second:CoworkVMServiceverifies that the connecting client executable lives inside the registered package directory. On this machine the two sides disagree about where that is:Get-AppxPackagereportsInstallLocation = C:\Program Files\WindowsApps\Claude_<version>_x64__<pubid>, andGet-Process claude | Select Pathagrees.D:\WindowsApps\Claude_<version>_x64__<pubid>.Windows is configured to install new apps to D: ("Storage > Advanced storage settings > Where new content is saved"), so the package's actual files are on D: while the registration path reported by the platform is the
C:\Program Files\WindowsAppsone. The check appears to compare these as strings, so it rejects a client that is in fact the correct, signed package.This is exactly what produces the reported symptom. The rejection happens during connection setup, so:
[Server] Client connectedonce per second, and occasionallyFailed to read request: failed to read length: EOF— it never sees aconfigure, because the client is dropped before sending one;[remote-bash] VM unavailable: RPC pipe closed;Workspace unavailable. The isolated Linux environment on this device failed to start.Nothing in the service log hints at authentication. The reason exists only in
cowork_vm_node.log, which is not the log the error message or the docs point at.Corroborating detail: the previous version on this machine (1.52386.6.0) ran from
D:\WindowsAppson both sides and worked. A reinstall re-registered the package againstC:\Program Files\WindowsAppswhile the files stayed on D:, and Cowork has been dead since that moment. Host prerequisites are all healthy (HCS initializes,vmcompute/hns/WSLServicerunning, bundle intact, WSL fine) — they were never the issue.Suggested fix: resolve both paths to their final targets before comparing (normalize reparse points, links and the
WindowsAppsregistration path), or authenticate on package identity / signature rather than on a path string. Failing that, at minimum log the rejection service-side and surface "client signature verification failed" in the UI instead of the generic start failure — that alone turns this from a day of log archaeology into a one-line diagnosis.Workaround for anyone hitting this: if your apps install to a drive other than C:, set the new-app install location back to C: and reinstall the app so the registration and the files agree.
Unrelated observation from the same machine, in case it correlates for others with a non-default setup: copying
app\resources\chrome-native-host.exeout of the package fails with "The specified file could not be encrypted" (an EFS error), logged at every start as[Chrome Extension MCP] Failed to copy native host binary. Ordinary writes and copies into the same destination folder succeed, so it is specific to that source file.Resolved on my machine. Two distinct bugs were stacked, both triggered by a non-default but entirely supported Windows configuration: apps installed to a secondary drive, and
%APPDATA%redirected to that drive. Full chain, in case it helps others and the maintainers.Bug 1 — client signature check fails when the package is on a secondary AppX volume
Reported in my previous comment.
CoworkVMServicecompares the connecting client's executable path against the registered package directory. With apps installed to a second drive, Windows puts the real package under<D>:\WindowsApps\...and exposes it as a junction atC:\Program Files\WindowsApps\....Get-AppxPackageandGet-Processreport the junction path; the check resolves the target. They differ, the client is rejected,configureis never sent, and the service logs onlyClient connectedonce per second.What did not work: Settings > Apps > Advanced options > Move to C: fails with
0x80073CF6, and the deployment log gives the inner reason:The package is
SignatureKind: Developer, and re-authorizing its capabilities on a new volume appears not to be possible. A Store-signed package on the same volume may behave differently.What worked:
Set-AppxDefaultVolume -Volume "C:\Program Files\WindowsApps", then uninstall and reinstall. The package then lands as a real directory on the system volume, reported and resolved paths match, and the signature check passes.Side effect worth noting: this also fixed the
chrome-native-host.exe/smol-bin.x64.vhdxcopy failures ("The specified file could not be encrypted"). Package folders on the secondary volume carried the EFSEncryptedattribute; the system-volume install does not. Related: #25814, #29862.Bug 2 — bundle path handed to the service is the MSIX-virtualized one
With bug 1 fixed, the VM finally attempted to start, and failed differently:
The app unpacks the bundle to the real redirected
%APPDATA%path and logs it as such, but the path it passes to the service is the MSIX-virtualizedLocalCache\Roaming\...one. On this machine that directory does not exist at all —LocalCache\Roamingwas never created — so the service finds nothing. This reproduces whenever%APPDATA%is redirected away from the default location, which is a supported Windows profile configuration.Workaround that works and survives updates: make the path the service wants the real directory, and the path the app writes to a junction pointing at it — i.e. the inverse of the obvious fix.
The direction matters. A link on the service side is refused — consistent with #56542, where the service will not open symlinks or junctions — but a link on the app side is fine, because the app does not inspect reparse points and the path the service opens is then link-free at every level. Unlike the copy-based workaround in #56542, nothing has to be redone after each update, as long as the app does not recreate
vm_bundlesas a real directory.After that,
device_bashworks.Suggested fixes
Client connectedwith no hint, and the only record of the real cause is in%LOCALAPPDATA%\Claude\logs\cowork_vm_node.log, which nothing points users to.bundlePathand the path sent to the service is visible in a single log file; a startup assertion comparing them would turn this into an immediate error message.Environment
Windows 11 25H2 26200.9457, Claude desktop 2.2553.1 (MSIX), x64, apps installed to a secondary drive,
%APPDATA%redirected to that drive, WSL 2.7.14.0 healthy throughout.