Claude Desktop VM Service fails when app installed on non-C: drive (WindowsApps junction)

Resolved 💬 3 comments Opened Mar 28, 2026 by Park-jihoon Closed Mar 31, 2026

Description

Claude Desktop's VM service (CoworkVMService / cowork-svc.exe) fails to start when the app is installed on a non-system drive (e.g., E:\) via Microsoft Store app storage settings.

Error

Claude VM Service error: signature verification initialization failed: failed to get service executable path: The system cannot find the path specified.

Root Cause

When users configure Windows to install Store apps on a different drive (e.g., E:\), Windows creates a junction point at:

C:\Program Files\WindowsApps\Claude_x.x.xxxx.0_x64__pzs8sxrjxfjjc
  → E:\WindowsApps\Claude_x.x.xxxx.0_x64__pzs8sxrjxfjjc

The service registry ImagePath points to the C:\Program Files\WindowsApps\... path. While the executable file is accessible through the junction, cowork-svc.exe fails to resolve its own executable path at runtime during signature verification initialization — it cannot follow the junction/reparse point to find itself.

Environment

  • OS: Windows 11 Pro 25H2 (Build 26200.8037)
  • Claude Desktop: v1.1.9310.0 (MSIX package)
  • App install location: E:\WindowsApps\ (via Settings → System → Storage → Advanced → Where new content is saved)

Steps to Reproduce

  1. Set Windows new app install location to a non-C: drive (e.g., E:\)
  2. Install Claude Desktop from Microsoft Store
  3. Observe CoworkVMService fails to start
  4. Check logs at C:\ProgramData\Claude\Logs\cowork-service.log

Workaround

Manually update the service ImagePath in the registry to point to the actual path on the non-system drive:

# Run as Administrator
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\CoworkVMService" -Name "ImagePath" -Value '"E:\WindowsApps\Claude_x.x.xxxx.0_x64__pzs8sxrjxfjjc\app\resources\cowork-svc.exe"'
Restart-Service CoworkVMService

Note: This workaround needs to be reapplied after every app update, as the version path changes and the registry is re-registered with the junction path.

Suggested Fix

When cowork-svc.exe resolves its own executable path for signature verification, it should resolve junction/reparse points to the final target path (e.g., using GetFinalPathNameByHandle or equivalent).

View original on GitHub ↗

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