[BUG] Cowork workspace fails to start on Windows 11 Pro - VM service stops after Claude launches

Resolved 💬 3 comments Opened Mar 20, 2026 by manusco Closed Mar 23, 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?

<html><body>
<!--StartFragment--><p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Environment</strong></p>
<div class="overflow-x-auto w-full px-2 mb-6">
Property | Value
-- | --
OS | Windows 11 Pro
Claude Desktop version | Latest (March 2026)
Subscription | Pro
Hyper-V | Available (Windows 11 Pro)
VPN | None
Architecture | x64

</div>
<hr class="border-border-200 border-t-0.5 my-3 mx-1.5">
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>What's Wrong?</strong></p>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">Cowork consistently fails to start with "VM service not running. The service failed to start." The CoworkVMService starts successfully when launched manually via PowerShell (<code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">Start-Service -Name "CoworkVMService"</code>), but Claude Desktop does not recognize the running service and appears to restart it internally, causing it to crash.</p>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Root cause discovered:</strong> The default Windows TEMP directory is located on a different drive (D:) than AppData (C:). During workspace installation, Claude downloads <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">rootfs.vhdx</code> to <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">D:\Temp\wvm-xxxxx\</code> and attempts to rename/move it to <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">C:\Users\...\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx</code>, which fails with:</p>
<div class="relative group/copy bg-bg-000/50 border-0.5 border-border-400 rounded-lg"><div class="sticky opacity-0 group-hover/copy:opacity-100 top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2 items-center inline-flex z-10"><button class="inline-flex
items-center
justify-center
relative
isolate
shrink-0
can-focus
select-none
disabled:pointer-events-none
disabled:opacity-50
disabled:shadow-none
disabled:drop-shadow-none border-transparent
transition
font-base
duration-300
ease-[cubic-bezier(0.165,0.85,0.45,1)] h-8 w-8 rounded-md backdrop-blur-md _fill_56vq7_9 _ghost_56vq7_96" type="button" aria-label="In die Zwischenablage kopieren" data-state="closed"><div class="relative"><div class="transition-all opacity-100 scale-100" style="width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" style="flex-shrink: 0;" class="transition-all opacity-100 scale-100" aria-hidden="true"><path d="M12.5 3A1.5 1.5 0 0 1 14 4.5V6h1.5A1.5 1.5 0 0 1 17 7.5v8a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 6 15.5V14H4.5A1.5 1.5 0 0 1 3 12.5v-8A1.5 1.5 0 0 1 4.5 3zm1.5 9.5a1.5 1.5 0 0 1-1.5 1.5H7v1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H14zM4.5 4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5z"></path></svg></div><div class="absolute inset-0 flex items-center justify-center"><div class="transition-all opacity-0 scale-50" style="width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" style="flex-shrink: 0;" class="transition-all opacity-0 scale-50" aria-hidden="true"><path d="M15.188 5.11a.5.5 0 0 1 .752.626l-.056.084-7.5 9a.5.5 0 0 1-.738.033l-3.5-3.5-.064-.078a.501.501 0 0 1 .693-.693l.078.064 3.113 3.113 7.15-8.58z"></path></svg></div></div></div></button></div></div><div class="overflow-x-auto"><pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5" style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre-wrap;"><span><span>EXDEV: cross-device link not permitted, rename 'D:\Temp\wvm-xxxxx\rootfs.vhdx' -&gt; 'C:\Users\...\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'</span></span></code></pre></div></div>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Workaround attempted:</strong> Created a symbolic link so that <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">C:\Users\...\AppData\Roaming\Claude</code> points to <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">D:\ClaudeData</code>. This resolved the EXDEV error, but Cowork now fails with "VM service not running" instead.</p><!--EndFragment-->
</body>
</html>

What Should Happen?

Claude should either (a) download the VM files directly to the AppData destination without using a cross-device rename, or (b) use fs.copyFile + fs.unlink instead of fs.rename when source and destination are on different drives — this is standard Node.js practice for cross-device moves.

Error Messages/Logs

Service "Claude" terminated unexpectedly. This has happened 1 time(s).
(From Windows Event Log → System → Service Control Manager)

Steps to Reproduce

Steps to Reproduce

Set Windows TEMP/TMP environment variables to a path on a non-C: drive (e.g. D:\Temp)
Install Claude Desktop on Windows 11 Pro
Open Cowork and attempt to start the workspace
Observe EXDEV cross-device error
Create symlink: C:\Users\...\AppData\Roaming\Claude → D:\ClaudeData
Reinstall workspace via Help → Troubleshooting → Reinstall Workspace
Observe "VM service not running" error despite CoworkVMService running in the background

Claude Model

None

Is this a regression?

I don't know

Last Working Version

Latest

Claude Code Version

Latest

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Terminal.app (macOS)

Additional Information

Claude should either (a) download the VM files directly to the AppData destination without using a cross-device rename, or (b) use fs.copyFile + fs.unlink instead of fs.rename when source and destination are on different drives — this is standard Node.js practice for cross-device moves.

View original on GitHub ↗

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