[BUG] GPU process crash (exitCode 101457950) kills Claude Desktop and corrupts MSIX package when Opus 5 performs an in-page browser action (Windows 11)
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?
Running a Claude Code session with Opus 5 in the Claude Desktop app on Windows 11. The agent opens its browser fine, but the moment it performs an action inside the open page, the app's GPU process crashes, the entire app dies instantly, and Windows then reports the app package as damaged ("This app can't open — go to advanced options for Claude and select Repair"). Running Repair from Windows Settings restores the app, but resuming the session and letting the agent retry the same in-page action reproduces the identical crash and re-corrupts the package.
Reproduced 2/2, same GPU exit code both times. Started right after the Opus 5 launch on July 24 — this never happened before.
What Should Happen?
In-page browser actions should complete without crashing. A GPU/renderer process crash should not take down the entire app, and no crash should ever leave the installed MSIX package corrupted and requiring Repair from Windows Settings.
Error Messages/Logs
Both crashes end with the same signature in main.log, after which the log cuts off until the next app start (timestamps are local time, UTC-5):
2026-07-24 22:44:08 [info] GPU process gone: {
type: 'GPU',
reason: 'crashed',
exitCode: 101457950,
serviceName: 'GPU'
}
(log resumes at next app start, 23:15:38 local)
2026-07-25 00:33:48 [info] GPU process gone: {
type: 'GPU',
reason: 'crashed',
exitCode: 101457950,
serviceName: 'GPU'
}
(log resumes at next app start, 10:05:56 local, after Repair)
In UTC: crash #1 = 2026-07-25 03:44:08 UTC, crash #2 = 2026-07-25 05:33:48 UTC.
Sentry event IDs (captured at the app start following each crash — crash reports should be on your servers):
- 083db64321f049ba8511d7cddee9547d
- d263957c9a7d445ca7f8a221c9c86c67
Possibly related: on every app start, the Chrome Extension MCP fails repeatedly to copy the native host binary — "EBUSY: resource busy or locked" copying chrome-native-host.exe from the WindowsApps package dir to %APPDATA%\Roaming\Claude\ChromeNativeHost\ — suggesting a lingering locked process from the previous crash.
Steps to Reproduce
- Open a Claude Code session in the Claude Desktop app (Windows 11, MSIX/Store install) with Opus 5
- Give the agent a task that requires using its browser
- The browser opens fine
- The moment the agent performs an action inside the open page, the GPU process crashes (exitCode 101457950) and the app dies instantly
- On relaunch, Windows reports the app package as damaged and requires Repair from Settings > Apps > Claude > Advanced options
- After Repair: resume the session, let the agent retry the same in-page action → identical crash, package corrupted again
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown — Desktop auto-updates; worked before July 24 (Opus 5 launch)
Claude Code Version
2.1.219 (Claude Code)
Platform
Other
Operating System
Windows
Terminal/Shell
Other
Additional Information
- Claude Desktop: 1.24012.9.0 (MSIX / Windows Store install, filesystem virtualization active)
- OS: Windows 11 25H2 (OS Build 26200.8875)
- Claude Code binary bundled with Desktop: 2.1.219
- RAM: 16 GB — system free RAM had dropped to ~1.1 GB shortly before the first crash, in case memory pressure is a factor
- Using the Desktop app GUI (Code tab), not a terminal
- Platform: Claude Desktop app with Claude.ai subscription (not direct API usage)
Showing cached comments. Read the full discussion on GitHub ↗
10 Comments
Same here.
Though my claude code doesn't restore, only reinstall fixes..
Same here. Told Claude to not use the browser until the next update then we can test again.
Confirming this on my end too — same exact signature, different hardware (Intel integrated graphics, no discrete GPU), so this isn't limited to hybrid Intel Arc/NVIDIA setups.
Environment: Windows 11 Pro, build 10.0.22631. Claude Desktop 1.24012.9 (MSIX). Intel integrated graphics.
Log evidence — crash directly follows Browser pane creation (not just correlated, same few seconds):
2026-07-27 09:43:15 [Preview] Created browser preview { serverId: 'browser-preview-...' }
2026-07-27 09:43:20 [info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Regression detail that might help narrow it down: I updated my Intel Graphics driver after first hitting this (from 32.0.101.8132 to 32.0.101.8860), which appeared to fully fix it — verified the Browser pane working with no crash on 2026-07-24, on app version 1.24012.1. The exact same crash (same exitCode) then recurred on 2026-07-27 after Claude Desktop auto-updated to 1.24012.9, same driver, same OS, no other changes. So in my case it tracks the app version, not the driver — which lines up with the root-cause analysis in #81275 ruling out drivers entirely (reproduced across Intel Arc/NVIDIA/software rendering). Worth cross-referencing that thread.
Workaround in the meantime: avoiding the embedded Browser pane entirely and using curl/WebFetch for anything that needs real web content.
Confirming this on different hardware, with what may be the missing piece: every crash is preceded by a WebGL capability-probe burst about 1 second earlier, and those warnings land in
unknown-window.log, notmain.log. Anyone looking only atmain.logwill see the crash with no apparent cause.Environment
1.24012.9.0(MSIX)2.1.219101457950/0x060C201E3/3 reproductions, identical signature
| WebGL probe burst |
GPU process gone| WebGL warnings in that second ||---|---|---|
| 04:21:07 | 04:21:08 | 22 |
| 14:00:35 | 14:00:36 | 23 |
| 15:21:04 | 15:21:05 | 21 |
The sequence in
unknown-window.logis always:immediately followed in
main.logby:unknown-window.logaccumulated 6,476 of these WebGL warnings over roughly 23 hours. This matches the log sequence reported in #80444.Trigger
Automated research runs that load external pages in the in-app browser. It appears content-dependent rather than action-dependent — one of the three crashes had no new preview tab opened at all, only in-page activity on an already-open tab, which is why "opening a browser tab" alone does not reliably reproduce it. Pages that are themselves WebGL-heavy reproduce it fastest.
Ruled out with evidence
LiveKernelReports, no WER entry for the app. The graphics driver never faults at the OS level.HKCU\Software\Microsoft\DirectX\UserGpuPreferences(GpuPreference=2, keyed to the MSIX package identity) did not help — it crashed again after a full reboot with the pin active.cowork-svc.exefile-lock finding in #80444.Workaround that resolves it
This issue currently lists hardware acceleration as untested. Setting:
in
%APPDATA%\Claude\claude_desktop_config.jsonstops the crashes entirely — no recurrence since applying it. The trade-off is software rendering, so 3D/animation-heavy previews get noticeably slower.This is equivalent in effect to the
--disable-gpulaunch workaround in #80444, but persists across launches instead of needing a special invocation. Worth noting for anyone hitting this who does not want to re-launch viaInvoke-CommandInDesktopPackageeach time.isHardwareAccelerationDisabled: truedoes not prevent this crash (2/2 reproductions, AMD)Adding the workaround from this comment did not help here. Reporting it because the comment states it "stops the crashes entirely", and because this is — as far as I can tell — the first AMD data point in this thread.
Environment
1.24012.9.0(MSIX,Claude_1.24012.9.0_x64__pzs8sxrjxfjjc)2.1.200, model Opus 532.0.31021.5001), plus two DisplayLink USB display adaptersWhat was tried
claude_desktop_config.json, restarting the app between each attempt and verifying the key was still present afterwards:| Placement | Result |
|---|---|
| top level | crash |
| top level and under
preferences| crash |Trigger both times: a single
preview_startonhttps://anidb.net/anime/9227. The call returns"navOk": true; the crash follows during render.Evidence
101457950=0x060C201E, identical to #80444. Two entries, matching the two attempts.Why it probably doesn't cover this path
With the key set and the app restarted, the process tree still looked like this:
| Process |
disable-gpuin command line |--use-gl||---|---|---|
| main | no | — |
|
--type=gpu-process| no |angle|| renderer (2×) | yes | — |
So the setting is being honoured — but only for renderer processes. The GPU process still starts with hardware GL, and that is where the crash occurs.
app.disableHardwareAcceleration()appears not to reach it.Two side findings
claude_desktop_config.jsonon startup and dropped the unknown key on the first attempt (file written15:05:55, app processes started15:05:50–15:05:58). Anyone applying this workaround should re-check the file after the next launch. Under MSIX the file lives at%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.jsonand is mirrored at%APPDATA%\Claude\.--disable-gpurelaunch from #80444 is not reachable without admin rights. The command is correct — verified against the manifest (PackageFamilyName Claude_pzs8sxrjxfjjc,Id 'Claude',Executable 'app\Claude.exe') — but fails with0x800704C7(ERROR_CANCELLED) while the app is running, and the app cannot be fully stopped:cowork-svcis the Windows serviceCoworkVMService(start type Automatic), which a non-elevated user cannot stop and which brings the app back.So on this machine there is currently no working prevention other than not opening the Browser pane.
---
🤖 Diagnosed with Claude Code (app logs, process command lines, MSIX manifest) with Opus 5 Ultracode
Fourth independent reproduction, and I think the three open reports are the same bug seen from different angles. This one has the trigger and the MSIX corruption; #80689 has the trigger isolated to Cloudflare Turnstile; #81698 has the renderer-side signature. I can confirm all three halves on one machine, plus one detail none of them mention.
Environment
| | |
|---|---|
| Claude Desktop | 1.24012.9.0 (MSIX, sideloaded) |
| Claude Code | 2.1.219 bundled (per
[CCD] Initialized with version); 2.1.220 as npm-global CLI || Windows | 11 Pro, build 10.0.26200 |
| GPU | NVIDIA RTX 2070 SUPER + AMD Radeon iGPU (hybrid) |
| RAM | 63 GB (~45 GB free at crash time) |
Differential diagnosis — the trigger is Turnstile, confirming #80689
Three loads in the app's built-in Browser pane:
| Page | Result |
|---|---|
|
example.com— static, pane visible, compositing | OK, no crash ||
get.webgl.org— WebGL, animated cube rendering | OK, no crash || Our own app on
localhost:3000— embeds Cloudflare Turnstile | crash 3/3 |So the Browser pane itself is fine, and generic WebGL is fine. The page that embeds
challenges.cloudflare.com/turnstile/v0/api.jskills the GPU process every time, which is exactly the hypothesis in #80689. Worth noting this is not a third-party site: it is our own Next.js app on localhost. Any developer whose project uses Turnstile on a public form will hit this while previewing their own work.Every crash, same exit code:
101457950=0x060C201E, identical across all three, and identical to #81159, #81698 and #80689.Renderer-side signature (links this to #81698)
main.logonly records the death. The cause is inlogs\unknown-window.log, in the same second:Byte-identical to the lines in #81698. That log is easy to miss — worth pointing people at it in triage.
Not the GPU, the driver, or hybrid graphics
Reproduced under three different graphics configurations, all crashing identically:
HKCU\Software\Microsoft\DirectX\UserGpuPreferences→GpuPreference=2— crash.isHardwareAccelerationDisabled: true) — crash.For case 3, confirmed from the GPU process command line that it really was software rendering:
d3d11-warpis Microsoft's software rasterizer, so no physical adapter is involved and it still dies. This independently reproduces the same conclusion reached in #80689, on unrelated hardware (RTX 2070 SUPER + Radeon iGPU vs the RTX 4060 there and the RTX 5080 in #81698). "Update your GPU driver" is not the answer — worth ruling out early.Secondary chain: the crash alone leaves the MSIX package unusable
This issue's title mentions the corruption. Here is what I can state from the logs, using the third crash as the cleanest case — the package had just been freshly installed and was
Status: Ok:03:42:40; the app is gone by03:42:42, taking every in-flight Claude Code session with it. NoApplication Error/ WER record is produced, so nothing appears in Event Viewer and the failure looks like a broken install rather than a crash.Get-AppxPackage -Name Claude→Status: Modified, NeedsRemediation, and the app will not launch.AppXDeploymentServer/Operationalshows zero deployment operations for the package in that window (noAdd, noRegister, noRepair). So the crash by itself is enough to flip the package into that state — nothing re-staged or rewrote it.Add-AppxPackage -Register <InstallLocation>\AppxManifest.xmlalso reports success and does not clear it either.Repairfrom Windows Settings fails every time for me — "This app couldn't be repaired". The log shows it runningRepairPackageOperation→Addfrom a cached MSIX →RegisterByPackageFullName, all reported successful, with the status unchanged. This differs from the original report here, where Repair restores the app at least temporarily.``
powershell
``Get-AppxPackage -Name Claude | Remove-AppxPackage
Add-AppxPackage -Path "$env:LOCALAPPDATA\Temp\Claude-<id>.msix"
This wipes the app data store, so the Microsoft sign-in is lost on every occurrence. It also deletes the ~9.8 GB Cowork VM bundle, which the next pre-warm re-downloads.
Since the crash is deterministic, this makes for a genuine loop: crash → broken package → reinstall → sign in → crash. That is what turns a renderer crash into hours of work, and it is the part I would prioritise: a GPU process crash should never be able to damage the installation.
isHardwareAccelerationAutoDisablednever firesThe bundle contains an auto-recovery path that looks designed for exactly this:
Across three identical GPU crashes with the same exit code it never triggered, and no notice was ever shown. Even though disabling acceleration does not fix this crash, the safety net not arming meant there was no signal at all pointing at the GPU process — the failure just looked like a corrupted install.
Artifacts
Happy to send any of these:
AppXDeploymentServersequence after the first crash, which is different and which I deliberately am not drawing conclusions from: aRemoveof the package followed ~70 s later by anAddof a freshly stagedClaude-<id>.msixfrom%LOCALAPPDATA%\Temp(since deleted), which rewrote all 2182 files in the install directory. I cannot tell from the logs what initiated that, so I am not claiming the app did — but if there is an updater or self-heal path that fires after a crash, its interaction with this state may be worth checking.main.logandunknown-window.logfrom the moment of each crash. Note that the app truncatesmain.logon restart, so theGPU process goneline is gone by the time a user looks — these were only preserved by copying the logs out from an external process every few seconds. That may be why the signature is under-reported.AppXDeploymentServer/OperationalandService Control Managerexports covering the re-stage and the failed registration.LastWriteTimelisting of the package showing the 2182-file rewrite.Workaround for anyone hitting this
Do not open pages that embed Turnstile or a CAPTCHA in the built-in Browser pane; use an external browser. If your own project embeds Turnstile, gate it off in development — we now skip both the widget render and the server-side token check when
NODE_ENV === 'development', which makes local previewing safe again.Also watch out for the crash-loop noted in #80689: the Browser-pane tab persists in session state and can re-crash on session restore.
Possibly related: #80999 — a Code Integrity block on the packaged
vk_swiftshader.dllduring a hidden Browser-pane preview, ending in the same Repair dialog. That would tie the software-rendering path (case 3 above) and the package-integrity flag together in one mechanism.Having this same bug it seems - Fable drafted some info to share:
Environment
de160fb, 2026-07-13 per WER TargetAppVer); previously reproduced on 1.22209.0.0Claude_1.24012.9.0_x64__pzs8sxrjxfjjc, SignatureKind=DeveloperSummary
The shipped MSIX contains no
AppxMetadata\CodeIntegrity.cat(verified absent from aclean install;
AppxSignature.p7xandAppxBlockMap.xmlare present). Chromium appliesthe CIG / "Microsoft-signed only" process mitigation to the GPU child as a delayed
mitigation, so startup loads succeed — but when the GPU process later lazily loads the
bundled
vk_swiftshader.dll(which has no embedded Authenticode signature and thereforecan only be validated through the package catalog), Windows Code Integrity blocks the load.
The GPU process dies and cannot respawn; the whole app freezes (Windows logs
MoAppHang/Event 1002, not a crash — no Crashpad minidumps, because nothing faults
in-process).
Downstream UX failure: when the user clicks the app while it is hung, Windows attempts an
automatic package repair (
RegisterByPackageFullName … RepairAppRegistrationOption),which fails with
0x80073D02"apps need to be closed" because the hung claude.exe stillcounts as running — and the user is shown "This app can't open. There's a problem with
Claude. Reinstall the application from its original location or contact an
administrator." Users then uninstall/reinstall (this user: 5 reinstalls in 9 days,
latest 07-30 10:02 installing the byte-identical 1.24012.9 package), which "fixes"
nothing — the next lazy Vulkan load kills the app again.
Evidence (Windows event logs, one machine, all local time)
Five freezes, each with this exact signature at the same second:
| Freeze | main.log | CodeIntegrity/Operational |
|---|---|---|
| 07-25 21:15:53 |
GPU process gone: { reason: 'crashed', exitCode: 101457950 }| 3010 ×2:unable to load …\Claude_1.24012.9.0_…\AppxMetadata\CodeIntegrity.cat catalog. Status 0xC000003A+ 3033:claude.exe attempted to load …\app\vk_swiftshader.dll that did not meet the Microsoft signing level requirements|| 07-26 13:23:16 | same, identical exitCode | same 3010 ×2 + 3033 |
| 07-27 17:28:10 | same, identical exitCode | same 3010 ×2 + 3033 |
| 07-29 14:08:14 | same, identical exitCode | same 3010 ×2 + 3033 |
| 07-30 09:57:44 | same, identical exitCode | same 3010 ×2 + 3033 |
Also reproduced on v1.22209.0.0 on 07-17 (08:59:51 and 10:24:28) — that day the trigger
was heavy WebGL content in the embedded Browser pane; the four above immediately followed
claude.ai oauth/Turnstile activity in main.log (Turnstile probes WebGL/GPU, which is what
makes Chromium reach for software Vulkan). The 07-29 freeze second additionally shows
in-app browser-preview creation + oauth token lookup in main.log directly before
GPU process gone; the 07-30 freeze shows only repeated oauth token activity in thefinal seconds — that session never used the embedded browser at all — so the app's own
claude.ai auth surface is sufficient to trigger the fatal load.
The in-app "Disable hardware acceleration" toggle does not prevent this. The 07-29
and 07-30 freezes both occurred with
isHardwareAccelerationDisabled: truealreadyactive: the setting has been in
claude_desktop_config.jsonsince at least 07-28 19:40(file untouched since, mtime-verified) and both crashed instances were cold starts under
it (07-29 09:11, 07-30 08:50). Under this exact config the GPU child runs
--use-gl=angle --use-angle=d3d11-warp-webgl(verified on the live post-crash instance,which also shows no vk_swiftshader.dll module loaded) — yet both instances' GPU
processes still lazily reached for
vk_swiftshader.dll(14:08:14, 09:57:44) and werekilled identically. WebGL-on-WARP removes routine SwiftShader use but not the lazy
Vulkan path, so fix #2 (preload) or #1 (catalog) is required.
Repair-loop evidence (AppXDeploymentServer/Operational):
0x80073D02 "Unable to installon 07-10, 07-17 (×4), 07-25because the following apps need to be closed Claude_…"
21:15:59 (six seconds after the freeze), 07-26 20:57, 07-27 18:28, 07-30 10:01:07 —
each followed by the user uninstalling (Remove operation) and re-running Claude Setup.exe
(Add from
%LOCALAPPDATA%\Temp\Claude-*.msix).Package state on the CURRENT clean install (performed 07-27 18:30 via Claude Setup.exe):
Note this is not machine-specific security policy: Brave on the same machine logs the same
3033 for its own vk_swiftshader.dll/vulkan-1.dll and shrugs it off (non-fatal probe,
non-MSIX app). For Claude it is fatal because the GPU process dies and cannot come back.
Ruled out
a byte-identical exit code. No Event 4101 TDRs.
[process-memory]lines flat (~1.6 GB app, 1.6–3.4 GB sys free) at each freeze.Suggested fixes
AppxMetadata\CodeIntegrity.catin the MSIX (or Authenticode-signvk_swiftshader.dll/vulkan-1.dll) so lazy loads pass CIG.the delayed CIG mitigation applies (
963206a961a7992b048d07f756f87f11fa2e5420) — samemechanism and remedy discussed in openai/codex#34133 for their MSIX Electron app.
Remove path already does) instead of failing 0x80073D02 and telling the user to
reinstall.
Workaround being used meanwhile
Kill the hung claude.exe, relaunch (no reinstall needed). "Disable hardware acceleration"
is enabled but proved insufficient on 07-29 and 07-30 (see above) — it switches WebGL to
D3D11/WARP rather than front-loading SwiftShader, and the lazy vk_swiftshader.dll load
still occurs. No user-side prevention exists on MSIX (GPU flags can't be passed — see
#61372).
Hitting the same crash, and I have some data points that suggest it is broader than in-page browser actions.
Setup: Windows 11 Home 10.0.26200, Claude Desktop 1.24012.9 (MSIX), dual GPU desktop (NVIDIA RTX 3060 + AMD Radeon iGPU on a Ryzen), 64 GB RAM. Heavy Claude Code sessions with background agents, no in-app browser use at all in most of the crashes.
7 crashes across 2 days (Jul 30-31), all with the identical signature:
Every crash kills the whole app and Windows then offers the MSIX "Repair" flow, same as OP.
Extra data points:
Happy to pull anything else useful from logs on this machine if it helps.
Environment: Claude Desktop 1.24012.9.0 (MSIX sideload), Windows 11 26200, Surface-class device, Intel Iris Xe (Tiger Lake, DEV_9A49), driver 32.0.101.7088 (June 2026), 16 GB RAM, Max plan.
Summary: Since mid-July 2026 the app crashes silently under sustained multi-chat load (deep research sessions). Worked flawlessly before. Every crash shows the same signature in main.log:
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Preceded by repeated WebGL: INVALID_ENUM: getInternalformatParameter: invalid internalformat in unknown-window.log. Memory is stable at crash time (~2.1 GB tree RSS, ~1 GB system free) — not OOM.
Critical secondary effect: after most crashes the package flips to Modified, NeedsRemediation (Get-AppxPackage). Windows Settings Repair and Reset both fail; the app will not reopen. Only full package removal + reboot + reinstall recovers. AppXDeployment-Server log shows event 5224 failures deleting SystemAppData\Helium\User.dat* (error 0x20) during removal.
Ruled out by testing (clean reinstall between each):
GPU driver age: updated 32.0.101.6737 (Apr 2025) → 32.0.101.7088 (Jun 2026) — crash persists
Virtual display drivers: Meta Virtual Monitor and Virtual Desktop Monitor disabled — crash persists
Chrome extension native host (chrome-native-host.exe): removed — crash persists
CoworkVMService: disabled — no effect
Repro: open 4–6 chats including at least one deep research; sustained session with parallel chats crashes reliably. Exit code is identical across all crashes (deterministic).
Timeline: no issues before ~July 15–18, 2026. Regression window coincides with app auto-updates. Logs available on request (main.log, unknown-window.log, AppXDeployment-Server export).
Root-cause evidence and a confirmed workaround for this crash class are posted in #80444: Windows Code Integrity Event 3033 blocks the bundled
vk_swiftshader.dllinside the sideloaded MSIX (which ships noAppxMetadata\CodeIntegrity.cat); any WebGPU probe (ad-techrequestAdapter()fingerprinting) triggers it. The Win32/Squirrel build (winget install Anthropic.Claude) is unaffected — signing-level enforcement doesn't apply to unpackaged processes.