[BUG] Claude Desktop (Windows/MSIX): GPU process crash → CoworkVMService holds package → auto-repair fails 0x80073D02 → package stuck Modified/NeedsRemediation ("This app can't open")
Related: #83478, #80444, #81698, #82967, #83028, #81836, #57221, #57371, #36590, #46390
Exit code match: every crash on this machine is exitCode: 101457950 (0x060C201E) — identical
to #83478 / #80444 / #81698 on different hardware. No display-driver TDR events (Event 4101) appear
in the System log at any crash time, so the host GPU drivers never reset — the failure is contained
to Chromium's GPU process inside the app, triggered by the in-app Browser pane's WebGL activity.
Summary
Reproducible chain, hit 4+ times on the same machine since July 2026. An Electron GPU
process crash kills or hangs Claude Desktop; the bundled auto-start packaged service
(CoworkVMService, app\resources\cowork-svc.exe) keeps running and holds files inside
the MSIX package; Windows' automatic app repair then fails with 0x80073D02 ("resources
it modifies are currently in use") and the package is left Modified, NeedsRemediation.
Every subsequent launch shows "This app can't open. There is a problem with Claude."
Settings → Repair is a no-op on the sideloaded MSIX.
Environment
- Windows 10 Pro 22H2 (10.0.19045), user is local admin
- Claude Desktop MSIX (sideloaded,
Claude_*_x64__pzs8sxrjxfjjc), versions observed
1.20186.1.0 → 1.26832.0.0
- GPU: NVIDIA GTX 1070 (driver 32.0.15.7680, Dec 2025) + **2× DisplayLink USB display
adapters** (driver 11.7.5813, Jun 2025)
- Claude Code CLI on the same machine: never affected. macOS (no MSIX/service): never affected.
Evidence (2026-08-08 incident, all timestamps local)
13:38:59appmain.log: browser preview pane created13:39:02renderer log: burst of WebGLINVALID_ENUM getInternalformatParameterwarnings13:39:03main.log:GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }— app dies13:39:04cowork-service.log:Persistent RPC: connection ended: failed to read length: EOF— service stays running13:52:22AppModel-Runtime: package status0x2 → 0x200002(flagged while service holds package)13:53:19user kills service (sc stop+taskkill /f /im cowork-svc.exe) — SCM 703413:53:37next launch attempt: launch-timeRegisterByPackageFamilyName+RepairAppRegistrationOption
succeed in ~400 ms now that nothing holds the package
- Prior GPU crashes in
main.logat the other corruption times: 2026-07-25 21:54:40 (×2), 2026-08-08 11:42:36
Key point: the corruption is only unrecoverable while cowork-svc.exe is alive. The
moment it is stopped, Windows' own launch-time remediation repairs the package instantly.
Root causes (two stacked bugs)
- GPU process crash on browser-pane / preview use is not recovered gracefully (matches
#82967 / #83028 / #81836). Hardware here includes DisplayLink indirect display adapters,
a known-hostile Chromium GPU environment, and there is no way to disable hardware
acceleration (#77857): no in-app toggle, MSIX blocks --disable-gpu, electron-flags.conf ignored.
CoworkVMServiceisStartType=Autoand outlives the app (#57221, #57371). It blocks
the automatic repair that would otherwise make recovery invisible to the user.
Asks
- Recover the GPU process crash without taking down/hanging the main process (Chromium default behaviour).
- Expose a hardware-acceleration toggle that works under MSIX.
- Make
CoworkVMServicedemand-start / stop with the last app exit, or have the repair
path stop it before re-registering.
- Make Settings → Repair actually work for the sideloaded MSIX.
Workaround in use
- SYSTEM scheduled task keeping CoworkVMService running only while claude.exe is alive
(self-heal then works on next launch).
HKCU\...\DirectX\UserGpuPreferences→Claude_pzs8sxrjxfjjc!Claude = GpuPreference=2;
to pin rendering to the discrete GPU away from the DisplayLink adapters.
- Recovery: stop/kill service, kill claude.exe, relaunch (Windows self-repairs); installer
over the top only if that fails. Login survives (app data is unvirtualized in %APPDATA%\Claude).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗