Windows MSIX: opening the in-app Browser pane crashes the GPU process (exit 101457950); app then cannot relaunch until MSIX re-add (reinstall loop)

Status Open
Reported on v2.1.219
Maintainer reply None cached
Activity 4 comments · opened Jul 26, 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?

Environment

  • Claude desktop app 1.24012.9 (MSIX Claude_1.24012.9.0_x64__pzs8sxrjxfjjc), bundled Claude Code CLI 2.1.219
  • Windows 11 Enterprise 10.0.26200
  • GPU: NVIDIA GeForce RTX 3090 Ti — reproduces on driver 591.86 AND after a clean install of Studio 610.62
  • Dual monitor, 144 Hz, 150% scaling, 128 GB RAM
  • Timestamps below are local (UTC-3), 2026-07-24 → 2026-07-26

Summary

Deterministic trigger, found empirically: whenever a chat task opens the built-in Browser pane, the Chromium GPU process crashes and takes every window down. The main process survives as a zombie (window-less claude.exe processes keep running). After that the app cannot be launched at all — clicking the icon does nothing. The only recovery is re-running "Claude Setup.exe" (258 MB download + in-place AddPackage). 7+ forced reinstalls in 3 days.

Sessions that never open the Browser pane stay up for many hours; opening it kills the app shortly after.

Evidence

main.log — identical exit code before every death:

2026-07-26 05:48:17 [info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }  (x3 burst, app died)
2026-07-26 06:20:01 [info] GPU process gone: { ... exitCode: 101457950 ... }  (x3 burst, app died — driver 610.62 already active)
2026-07-26 06:08:22 [info] GPU process gone: { ... exitCode: 34 ... }  (single, survivable — GPU process relaunched)

logs/gpu-info.json (since ~Jun 21) shows acceleration already degraded to software fallback on an RTX 3090 Ti: gl=none, inProcessGpu: true, dx12FeatureLevel: "Not supported", all overlays NONE.

No WER / Application-event-log crash entries at all — processes die without Windows error reports, so the failure is silent.

Relaunch failure: Event Viewer (AppXDeploymentServer/Operational) shows each launch attempt triggering RegisterByPackageFullName with ForceTargetApplicationShutdownOption,RepairAppRegistrationOption; the operations complete successfully but the app remains unlaunchable. AppModel-Runtime package status flaps 0x2/0x80002 until a full re-add. Killing the zombie processes and deleting GPUCache/DawnGraphiteCache/DawnWebGPUCache does NOT restore launchability; only Claude Setup.exe (AddPackage with ForceApplicationShutdownOption,ForceUpdateFromAnyVersion) does.

ClaudeSetup.log — every installer run reports a conflicting packaged service it cannot remove, even elevated:

WARNING: CoworkVMService already exists (potential conflict)
Removing conflicting CoworkVMService...
WARNING: failed to remove conflicting service: could not open CoworkVMService: Access is denied.
Windows rejected data-preserving removal for Claude_1.24012.9.0_x64__pzs8sxrjxfjjc (0x80073CFA, requires developer mode); relying on in-place update

CoworkVMService: WIN32_PACKAGED_PROCESS, LocalSystem, AUTO_START, binPath inside the versioned package folder (...\WindowsApps\Claude_1.24012.9.0_x64__pzs8sxrjxfjjc\app\resources\cowork-svc.exe).

Steps to reproduce

  1. Windows MSIX install; open the desktop app.
  2. In any session, run a task that opens the built-in Browser pane (preview/browse).
  3. GPU process crashes (exit 101457950); all windows close; claude.exe processes remain running.
  4. Try to reopen from the Start menu — nothing happens (repair registrations logged, no window).
  5. Recover only by re-running Claude Setup.exe.

Workarounds tried

  • Clean NVIDIA driver update 591.86 → 610.62 (Studio): no effect — same exit code afterwards
  • Killing zombie claude.exe processes: app still won't launch
  • Deleting GPU/shader caches (GPUCache, DawnGraphiteCache, DawnWebGPUCache): no effect
  • Re-registering the package (Add-AppxPackage -Register -DisableDevelopmentMode -ForceApplicationShutdown AppxManifest.xml): being tested
  • Launching Claude.exe --disable-gpu: being tested
  • Reinstall via Claude Setup.exe: works every time (only known fix)

Probably related

  • #72878 (main process killed at loader time on every launch after first successful run)
  • #75337 (update leaves package in deferred-registration loop; cowork-svc keeps package files locked)

Impact

7+ forced reinstalls in 3 days (258 MB each), active work sessions killed mid-task, Browser pane unusable.

Happy to provide full logs (main.log, ClaudeSetup.log, Event Viewer exports) on request.

What Should Happen?

Expected behavior: The Browser pane opens; even if the GPU process dies, Chromium falls back to software rendering and the app keeps running — and the app can always be relaunched from the Start menu.

Actual behavior: The GPU process crash (exit 101457950) closes every window, leaves window-less claude.exe zombies, and the app cannot be relaunched by any means until the MSIX package is re-added by running Claude Setup.exe again (258 MB download each time).

Error Messages/Logs

[claude-bug-logs.zip](https://github.com/user-attachments/files/30390331/claude-bug-logs.zip)

Steps to Reproduce

  1. Use a Windows 11 machine with an NVIDIA GPU. Reproduced on: Windows 11 Enterprise 10.0.26200, GeForce RTX 3090 Ti (both on driver 591.86 and after a clean install of Studio 610.62), dual monitor 144 Hz at 150% scaling.
  1. Install the Claude desktop app with "Claude Setup.exe" (app 1.24012.9, MSIX package Claude_1.24012.9.0_x64__pzs8sxrjxfjjc) and sign in.
  1. Control observation: open any session and work normally WITHOUT using the built-in Browser pane. The app stays up for many hours with no crash.
  1. Now give the assistant any task that opens the built-in Browser pane (web preview / browse step, e.g. "open a page in the browser and take a screenshot"). No repo or code is needed - the trigger is the pane itself.
  1. Within seconds to a few minutes of the pane spinning up, the GPU process crashes and every app window closes at once. main.log records:

GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Same exit code in all 8 fatal occurrences on Jul 25-26. No WER / Windows Application-log crash entry is written (silent failure).

  1. Open Task Manager: several claude.exe processes are still running (window-less zombies).
  1. Click the Claude icon in the Start menu: nothing opens - no window, no error dialog. Event Viewer (AppXDeploymentServer/Operational) logs RegisterByPackageFullName with RepairAppRegistrationOption on each attempt; the operations succeed but the app remains unlaunchable. Killing the zombie processes and deleting GPUCache/DawnGraphiteCache/DawnWebGPUCache does not restore launchability.
  1. Re-run "Claude Setup.exe": it downloads the MSIX again and performs an in-place AddPackage (ForceApplicationShutdownOption + ForceUpdateFromAnyVersion); the app opens again.
  1. Repeat step 4 - the crash and the unlaunchable state reproduce (8 forced reinstalls on this machine between Jul 25-26).

Sanitized logs attached (claude-bug-logs.zip): full crash list with context excerpts, installer log covering all reinstalls, AppX deployment events, the app's GPU snapshot (acceleration degraded to software fallback since ~Jun 21), and the CoworkVMService configuration (the packaged service the installer reports it cannot remove: "could not open CoworkVMService: Access is denied").

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.219 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

claude-bug-logs.zip

View original on GitHub ↗

4 Comments

5kknhbfp2r-eng · 1 month ago

Confirming this on a third hardware configuration, and flagging a data-loss consequence I haven't
seen covered in the existing reports.

Same crash signature

Identical exit code, twice — 2026-07-24 and 2026-07-26. Both times triggered by using the in-app
browser; the second was on clicking the back arrow after navigating.

2026-07-26 06:59:33 [info] GPU process gone: {
  type: 'GPU',
  reason: 'crashed',
  exitCode: 101457950,
  serviceName: 'GPU'
}

The log terminates immediately after — no quit handlers ran. Preceding lines are routine oauth
token lookups only. Unlike #81275 I do not see [CDPTools] Compressed screenshot failed or
capturePreviewScreenshot failed right before the crash, though [WarmLifecycle:preview] and
[CoworkFilePreview] entries appear throughout the session, so the preview subsystem was active.
May help narrow which path in the capture pipeline is at fault.

Environment (adds a third GPU combination)

| | |
|---|---|
| Machine | MSI Crosshair 18 HX AI A2XWGKG |
| OS | Windows 11 Home 10.0.26200 |
| Package | MSIX Claude_pzs8sxrjxfjjc, Claude Code 2.1.219 |
| GPU 1 | NVIDIA GeForce RTX 5070 Laptop — driver 32.0.15.8183 |
| GPU 2 | Intel Arc iGPU (PCI\VEN_8086&DEV_7D67) — driver 32.0.101.6629 |

Consistent with #81275's finding that the backend doesn't matter — this is a different NVIDIA
generation (RTX 5070 vs 4070/3090 Ti) and an older Intel driver, same exit code.

The part I think is under-reported: the reinstall destroys the session index

Recovery requires a reinstall, and uninstalling the MSIX package deletes its container — including
LocalCache\Roaming\Claude\claude-code-sessions\, which holds every Claude Code session entry
(title, cwd, timestamps, ordering).

After reinstalling, the session list is empty apart from the new session, and it never rebuilds,
even though every transcript is still sitting in ~/.claude/projects/. I confirmed the app launched
repeatedly over two days without ever backfilling.

The conversations aren't lost — the index is. But the app gives no indication the transcripts are
still there, so it reads as total data loss. Rebuilding 176 sessions by hand took a full day.

This looks straightforward to fix: everything needed is already in the transcripts.

  • cliSessionId = the transcript filename
  • cwd = present on every message record
  • title = custom-title / ai-title records inside the transcript
  • createdAt / lastActivityAt = message timestamps

A rebuild-if-empty on launch would make this crash a nuisance instead of a data-loss event. Failing
that, storing claude-code-sessions/ outside the MSIX container would survive uninstall.

One caveat found while reconstructing: entries written with a UTF-8 BOM are silently ignored by the
app (JSON.parse rejects a leading BOM), with no error surfaced. Worth a tolerant parse.

Also worth knowing

Recovery destroys the evidence. The crash log lives inside the MSIX container, so the reinstall that
fixes the app also deletes the main.log showing why it crashed. I only have mine because I backed
up LocalCache\Roaming\Claude\ beforehand. That may be why several reports here lack logs — worth
mentioning in any triage response.

Separately: cleanupPeriodDays (default 30) had been silently deleting my older transcripts with no
warning. Not related to this crash, but it compounded the damage — some sessions were gone before I
started, and only an external backup recovered them.

Happy to attach the full 2.2 MB main.log, or retry with extra logging.

5kknhbfp2r-eng · 1 month ago

Attaching the full main.log from the 2026-07-26 crash, as offered above:

https://gist.github.com/5kknhbfp2r-eng/d708f7d4d8ed950c2ca3e1093046d1c9

13,923 lines, 2.0 MB, ending at the GPU process gone entry — the app died there and no quit
handlers ran.

Redacted: local username, account/org/client UUIDs, oauth cache keys and the device-bridge id are
replaced with placeholders. Nothing else was altered — line count is identical to the original and
all timestamps, log levels and message text are intact. No credentials appear in the file (checked
for tokens, JWTs, API keys and bearer headers before uploading).

Worth noting for triage: this log only exists because I backed up LocalCache\Roaming\Claude\
before reinstalling. The reinstall that recovers the app deletes the MSIX container along with the
logs, so anyone who follows the obvious recovery path loses the evidence. That may explain why
several reports of this crash have no log attached.

tcicekci-dot · 1 month ago

Fourth hardware configuration confirming, plus three additions: root-cause cross-references, a servicing-loop variant where Windows repair can NEVER succeed, and a verified fix on this machine.

Env: Claude Desktop 1.24012.9 MSIX, bundled Claude Code 2.1.219 (CCD sessions in heavy use), Windows 11 Home 10.0.26200, Intel i5-12450H / UHD iGPU only (no dGPU), 16 GB RAM. ~15 fatal crashes 26-28 Jul, all exit_code=101457950, never a crash dump or WER entry.

Root-cause cross-reference: this matches #80999 / #81341 — 0x060C201E is the exception ntdll raises via LdrAppxHandleIntegrityFailure when Code Integrity rejects a DLL loaded into an AppX/MSIX process (vk_swiftshader.dll is signed without page hashes and the MSIX ships no AppxMetadata\CodeIntegrity.cat; the GPU child runs with the MicrosoftSignedOnly mitigation). This issue and those two describe one and the same defect.

Trigger variant (broader than the Browser pane): we never deliberately opened the Browser pane. In 3/3 crashes captured with ELECTRON_LOG_FILE, the fatal moment is the Nth-window session spin-up — [MCP] AutoSyncConnectorsToSession: Syncing 209 enabled MCP tool(s)... 8 remote server(s) appears ~1 second before GPU process exited unexpectedly. Any SwiftShader-fallback moment under multi-window churn can fire it.

Why some machines cannot even repair (guaranteed reinstall loop): on this box every relaunch attempt fired RegisterByPackageFullName (CallingProcess=explorer.exe) plus RepairPackageOperation referencing the staged source at %TEMP%\Claude-*.msix — which the installer deletes after installing → 0x80070002 forever. 7+ forced reinstalls in 2 days. Keeping the staged .msix (or staging it outside %TEMP%) would let repair succeed and end the loop for everyone in the duplicate chain (#46390 → #46123 → #28304, #51143, #28900).

Separate migration defect, compounding: the legacy Squirrel install (%LOCALAPPDATA%\AnthropicClaude, app-0.14.10) was still present AND RUNNING in parallel with the MSIX — tonight the installer terminated 10 running legacy claude.exe processes and logged "Squirrel installation removed". Both builds share %APPDATA%\Claude (every main.log line written twice; constant Unable to move the cache: Access is denied).

Verified fix (this machine, tonight): switched to the non-MSIX build from the winget manifest (1.24012.1, https://downloads.claude.ai/releases/win32/x64/1.24012.1/Claude-0adcaed55041a881be363f2c4a4729f67a8b27d7.exe, SHA256 verified) and removed the MSIX package. The 6-window burst that previously killed the MSIX build every time now produces 0 crashes, 0 CodeIntegrity 3033 events, app stays up — consistent with the report in #81341.

For Anthropic triage: Sentry events already uploaded from this machine — 5f0e4b052fc747939812cbcca538b2d0, 296ef206f3184b54b51a2cbecc543d74 (tag grouped_fatal=gpu-process-unusable). Support conversation: 215475252170799. Full 8 MB Chromium internal log + AppXDeploymentServer event exports preserved and available.

vkwislacode · 1 month ago

Likely the same root cause as #81341, where I have just posted a measured breakdown: Chromium's Code Integrity Guard (MicrosoftSignedOnly = ON, AllowStoreSignedBinaries = OFF, measured live on the running GPU child) refuses the package's own Authenticode-signed app\vk_swiftshader.dll with 0xC0000428 (CodeIntegrity event 3033, RequestedPolicy 8 vs ValidatedPolicy 1) when Dawn probes for a SwiftShader fallback adapter. The GPU process exits 101457950 / 0x060C201E and the browser process then reaches IntentionallyCrashBrowserForUnusableGpuProcess().

Two points from that comment that may be useful here:

  • Stock Chrome on the same machine takes the byte-identical refusal 275 times without crashing, so the block is routine and the fatal escalation is the actual defect.
  • No Chromium or Electron bump fixes it. Chromium's 2022 preload workaround (51c97ad46b7b) was deliberately narrowed in March 2026 (97b3f5d7800fde085af53b1b7455b730c215a874), and Electron 42.7.0 already ships the narrowed Chromium 148.0.7778.280.

Full detail, including the ERROR_PACKAGES_IN_USE repair loop that produces the "reinstall the application" dialog: #81341.