Windows MSIX: failed auto-update while app is hung uninstalls Claude Desktop (RemoveForAllUsers) - app disappears, daily reinstall required

Status Open
Reported on v2.1.219
Maintainer reply None cached
Activity 3 comments · opened Jul 28, 2026

Claude Desktop (Windows MSIX): failed auto-update while app is hung silently uninstalls the package — app "disappears" and must be reinstalled daily

Environment

  • Claude Desktop 1.24012.9 (MSIX, package Claude_pzs8sxrjxfjjc), bundled Claude Code 2.1.219
  • Windows 10 Pro 19045, 36 GB RAM
  • GPU: AMD Radeon(TM) integrated graphics, driver 31.0.21924.61 (Dec 2025)

Symptom (user-visible)

Shortly after starting a Claude Code session in the desktop app, the app freezes and disappears with no error dialog. Afterwards the app cannot be launched at all — it is no longer installed — and has to be reinstalled from the .msix. This has happened daily (July 25, 27, 28).

Root-cause chain (from logs on the affected machine)

Two independent bugs compound:

1. GPU process crash hangs the whole app

%APPDATA%\Claude\logs\main.log shows 5 occurrences (Jul 25–28) of:

GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }

Each occurs seconds after a Browser/preview pane is created ([Preview] Created browser preview). After the GPU process dies the app does not recover or show any error — main.log goes silent (e.g. today: last entry 09:47:11, nothing until relaunch at 09:54:34) and Windows Error Reporting records MoAppHang (fault bucket 1471911898834861685, hang signature 4185) and terminates the app. gpu-info.json shows Chromium has already blocklisted most features on this GPU (gl=none, skiaBackendType: None, no D3D12/Vulkan).

2. Auto-update during the hang uninstalls the app and doesn't reinstall it

Microsoft-Windows-AppXDeploymentServer/Operational for today (identical pattern Jul 25 and 27):

09:26:39  Add       Claude-3567290728.msix  (ForceApplicationShutdown, ForceUpdateFromAnyVersion)  OK   <- user reinstall
09:27:46  (main.log) GPU process gone -> app hung
09:36:53  Add       Claude-3567290728.msix  FAILED 0x80070020 (sharing violation - hung app still locks files)
09:37:25  Add       retry                   FAILED 0x80070020
09:39:00  Remove    RemoveForAllUsers       OK  -> package moved to WindowsApps\Deleted  ** app is now gone **
09:46:19  Add       Claude-3567290728.msix  OK   <- user reinstalls again
09:47:11  (main.log) GPU process gone -> app hung again
09:49:51  Remove    RemoveForAllUsers       OK  -> ** app gone again ** (finished 09:50:26, same second as WER AppHang)
09:54:22  Add       Claude-3737152193.msix  OK   <- user reinstalls again (current session)

Repair attempts also fail while wedged: RegisterByPackageFullName … RepairAppRegistrationOption0x80073D02 (Jul 25 23:04–23:05, Jul 27 09:34 and 14:08).

So the update/installer flow, upon hitting 0x80070020, falls back to a full Remove (RemoveForAllUsers) and then never completes (or delays) the subsequent Add — leaving the user with no installed app and no error message. From the user's perspective the app "crashes and disappears, then cannot be found".

Expected behavior

  1. A GPU process crash should not hang the app indefinitely (restart GPU process / fall back to software rendering / show an error).
  2. The updater should never leave the machine with the package removed: if the Add fails with 0x80070020, don't Remove the existing package; if a Remove+Add fallback is used, the Remove must be gated on a guaranteed successful staged Add (or rolled back).

Additional notes

  • The app was originally a Squirrel install migrated to MSIX ([MSIX] Filesystem not virtualized — … (likely Squirrel upgrade) in main.log).
  • Startup also logs EBUSY copying chrome-native-host.exe every launch, consistent with leftover locked files from the hung previous instance.
  • The standalone Claude Code CLI (native installer, 2.1.220) on the same machine is unaffected.

View original on GitHub ↗

3 Comments

1ionel · 1 month ago

Reproduced again ~1h after filing (6th GPU crash since Jul 25, 3rd full uninstall today). Same chain, from logs: 10:16:16 '[Preview] Created browser preview' -> 10:16:20 'GPU process gone (exitCode 101457950)' -> main.log silent -> RepairAppRegistration fails 0x80073D02 at 10:18:34 and 10:36:54 -> update Add fails 0x80070020 at 10:38:57 and 10:45:40 -> 10:50:09 'Remove RemoveForAllUsers' succeeds (package uninstalled) -> manual reinstall 10:53. The browser-preview -> GPU-crash correlation is now 6/6.

1ionel · 1 month ago

Update: user upgraded the AMD driver from 31.0.21924.61 (Dec 2025) to 31.0.21925.1001 (May 2026) - the crash still reproduces identically on the new driver. Controlled test: opened a Browser preview pane at 11:28:41 -> 'GPU process gone { reason: crashed, exitCode: 101457950 }' at 11:28:45 -> app hung -> package removed+reinstalled at 11:40. Correlation now 7/7, exit code identical across both driver versions, so this does not look driver-version-specific. Note: an unrelated GPU process exit (code 34) during the driver install was recovered gracefully, so the GPU-process restart path can work - it's specifically this crash (101457950) that wedges the app.

1ionel · 23 days ago

Root cause identified - this is the same bug as #81341 (MSIX CIG: MicrosoftSignedOnly GPU process rejects the Anthropic-signed vk_swiftshader.dll when the browser preview probes Vulkan; no CodeIntegrity.cat in the package). Verified on this machine: CodeIntegrity events 3033 (vk_swiftshader.dll signing level) + 3010 (CodeIntegrity.cat missing, 0xC000003A) at the exact second of every GPU crash, incl. two crashes today on 1.26832.0; exit code 101457950 = 0x060C201E matches. The uninstall loop documented here is the downstream consequence (package flips to NeedsRemediation, repair fails, updater removes it). Per #81341 the non-MSIX build is a confirmed workaround.