[Windows] Desktop app 1.24012.1: fatal GPU-process crash (0x060C201E) via in-app Browser tab; crash leaves MSIX package unlaunchable (appxState=2) until Repair
Environment
- Claude desktop app 1.24012.1.0 (MSIX
Claude_pzs8sxrjxfjjc,build_type: windows-store), Electron 42.7.0 / Chrome 148.0.7778.280 / Node 24.18.0 - Windows 11 Home 26200, de-AT locale, 32 GB RAM
- GPU: NVIDIA GeForce RTX 2080 — reproduced on two driver versions (32.0.15.9595 and 32.0.16.1074), so not driver-specific
- Regression: zero GPU-process crashes in app logs on any earlier build (log history back to 1.22209.3); the app auto-updated to 1.24012.1 on 2026-07-22 at 15:28 UTC and crashed fatally 4 times within the following ~14 hours
Bug 1 — fatal GPU-process crash kills the whole app
Four identical fatal crashes (local time UTC+2): 2026-07-22 21:08:47 and 21:22:21, 2026-07-23 04:20:40 and 07:03:56 (= 19:08:47Z, 19:22:21Z, 02:20:40Z, 05:03:56Z).
Signature, every time, in %APPDATA%\Claude\logs\unknown-window.log — a page loaded in the in-app Browser preview tab runs a WebGL/WebGPU capability-probe suite (looks like standard bot-detection/fingerprinting code; several probed sites use it):
[warn] WebGL: INVALID_ENUM: getInternalformatParameter: invalid internalformat (~19x, incl. "when EXT_color_buffer_[half_]float is not enabled" variants)
[warn] The powerPreference option is currently ignored when calling requestAdapter() on Windows. See https://crbug.com/369219127
[warn] OTS parsing error: Size of decompressed WOFF 2.0 is less than compressed size
[error] %c%d font-size:0;color:transparent NaN
A valid external Instance reference no longer exists.
[warn] WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost
then immediately in main.log:
[info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
…and the entire app dies instantly with the GPU process (main.log stops mid-write, no shutdown path, window-state.json never re-saved). Exit code is 101457950 = 0x060C201E in all four crashes.
Repro chain observed 4/4 times: a Claude Code session opens an in-app Browser preview tab ([PreviewContext] Opened preview user tab / [Preview] Created browser preview in main.log) → 15–36 seconds later the loaded page runs the WebGL probe burst → GPU process dies → app dies. Notably, a GPU-process crash with a different exit code (34, during a driver install) was recovered gracefully — the GPU process just relaunched. Only the 0x060C201E path takes the app down.
One of the four crashes happened fully unattended at 04:20 (an overnight workflow re-opened its Browser tab), so this also kills long-running/autonomous sessions.
Minidumps: Crashpad wrote dumps for all four crashes and the Sentry integration uploaded them at the subsequent app startups (local Crashpad db swept clean each time). Crashpad client_id: c022cf05-35e3-4f4e-9b4a-c4c68f176905, Sentry did: e6db0749-fa5b-4a66-900d-313bdbe10bd4 — the four events should be findable under those IDs around the UTC timestamps above. One captured Sentry event id from the 2026-07-22 19:14:57Z restart: 1a18be03af2243a38b279cd0adca2e8d.
Bug 2 — every fatal crash leaves the package unlaunchable until manual Repair
This is arguably the worse bug for ordinary users. After every fatal crash, Windows flags the MSIX package Modified (appxState=2) and refuses to activate the app — launch attempts die before any app code runs (zero log lines). The OS then loops into Microsoft Store remediation, which cannot service the Developer-signed non-Store package (AppXDeploymentServer errors 8107 "invalid integrity check for a non-AppStore package" and 8104 / 0x80070057), and logs Trying to repair ACLs for C:\Program Files\WindowsApps\Claude_… → ACLs repaired successfully over and over (15+ times observed).
The only reliable fix is Settings → Apps → Claude → Advanced options → Repair, which re-downloads the full .msix from downloads.claude.ai and re-registers it — needed after every single crash. Two aggravating factors observed in the AppX/AppModel event logs:
- The packaged CoworkVMService (
cowork-svc.exe) survives the app crash and holds a file lock, so the automatic repair fails with 0x80070020 (sharing violation creatingapp\resources\cowork-svc.exe) until a ForceTargetApplicationShutdown register kills it (cost: ~3 extra minutes of outage). - Repair's Register step reports 0x80073D02 ERROR_PACKAGES_IN_USE when the app relaunches mid-repair — cosmetic, but alarming to users.
Windows Error Reporting captures none of this (no Event 1000/1001 — Crashpad intercepts the fault), so from the OS's perspective the app just refuses to start with no diagnosable error. A non-technical user would plausibly conclude the app is broken and reinstall.
Ruled out during diagnosis
- Driver: reproduced identically before and after an NVIDIA driver update; zero nvlddmkm/TDR/dxgkrnl/WHEA events in the System log across all four crashes
- Memory: 10–12 GB system RAM free at every crash instant (app's own
[process-memory]telemetry); no Resource-Exhaustion-Detector events; pagefile peak 219 MB - Disk/package corruption prior to the crashes: the 1.24012.1 update staged and registered cleanly; Get-AppxPackage Status "Ok" between episodes
Workarounds found (for other users hitting this)
- After a crash: Settings → Apps → Claude → Advanced options → Repair (kill leftover Claude processes incl.
cowork-svc.exefirst to speed it up) - Prevention: avoid the in-app Browser pane on this build, or launch with GPU acceleration disabled (identity-preserving):
Invoke-CommandInDesktopPackage -PackageFamilyName Claude_pzs8sxrjxfjjc -AppId Claude -Command 'app\Claude.exe' -Args '--disable-gpu'
---
🤖 Diagnosed and drafted with Claude Code (forensics: app logs, Crashpad/Sentry state, WER + AppXDeployment/AppModel event logs)
83 Comments
Environment
Claude_pzs8sxrjxfjjc,build_type: windows-store), Electron 42.7.0 / Chrome 148.0.7778.280 / Node 24.18.0Bug 1 — fatal GPU-process crash kills the whole app
Four identical fatal crashes (local time UTC+2): 2026-07-22 21:08:47 and 21:22:21, 2026-07-23 04:20:40 and 07:03:56 (= 19:08:47Z, 19:22:21Z, 02:20:40Z, 05:03:56Z).
Signature, every time, in
%APPDATA%\Claude\logs\unknown-window.log— a page loaded in the in-app Browser preview tab runs a WebGL/WebGPU capability-probe suite (looks like standard bot-detection/fingerprinting code; several probed sites use it):then immediately in
main.log:…and the entire app dies instantly with the GPU process (
main.logstops mid-write, no shutdown path,window-state.jsonnever re-saved). Exit code is101457950=0x060C201Ein all four crashes.Repro chain observed 4/4 times: a Claude Code session opens an in-app Browser preview tab (
[PreviewContext] Opened preview user tab/[Preview] Created browser previewinmain.log) → 15–36 seconds later the loaded page runs the WebGL probe burst → GPU process dies → app dies.Notably, a GPU-process crash with a different exit code (34, during a driver install) was recovered gracefully — the GPU process just relaunched. Only the
0x060C201Epath takes the app down.One of the four crashes happened fully unattended at 04:20 (an overnight workflow re-opened its Browser tab), so this also kills long-running/autonomous sessions.
Minidumps: Crashpad wrote dumps for all four crashes and the Sentry integration uploaded them at the subsequent app startups (local Crashpad db swept clean each time).
client_id:c022cf05-35e3-4f4e-9b4a-c4c68f176905did:e6db0749-fa5b-4a66-900d-313bdbe10bd4The four events should be findable under those IDs around the UTC timestamps above. One captured Sentry event id from the 2026-07-22 19:14:57Z restart:
1a18be03af2243a38b279cd0adca2e8d.Bug 2 — every fatal crash leaves the package unlaunchable until manual Repair
This is arguably the worse bug for ordinary users. After every fatal crash, Windows flags the MSIX package
Modified(appxState=2) and refuses to activate the app — launch attempts die before any app code runs (zero log lines).The OS then loops into Microsoft Store remediation, which cannot service the Developer-signed non-Store package (AppXDeploymentServer errors 8107 "invalid integrity check for a non-AppStore package" and 8104 /
0x80070057), and logsTrying to repair ACLs for C:\Program Files\WindowsApps\Claude_…→ACLs repaired successfullyover and over (15+ times observed).The only reliable fix is Settings → Apps → Claude → Advanced options → Repair, which re-downloads the full
.msixfromdownloads.claude.aiand re-registers it — needed after every single crash.Two aggravating factors observed in the AppX/AppModel event logs:
cowork-svc.exe) survives the app crash and holds a file lock, so the automatic repair fails with0x80070020(sharing violation creatingapp\resources\cowork-svc.exe) until aForceTargetApplicationShutdownregister kills it (cost: ~3 extra minutes of outage).0x80073D02 ERROR_PACKAGES_IN_USEwhen the app relaunches mid-repair — cosmetic, but alarming to users.Windows Error Reporting captures none of this (no Event 1000/1001 — Crashpad intercepts the fault), so from the OS's perspective the app just refuses to start with no diagnosable error. A non-technical user would plausibly conclude the app is broken and reinstall.
Ruled out during diagnosis
nvlddmkm/TDR/dxgkrnl/WHEA events in the System log across all four crashes[process-memory]telemetry); no Resource-Exhaustion-Detector events; pagefile peak 219 MBGet-AppxPackageStatus: Okbetween episodesWorkarounds found (for other users hitting this)
cowork-svc.exefirst to speed it up)---
🤖 Diagnosed and drafted with [Claude Code](https://claude.com/claude-code) (forensics: app logs, Crashpad/Sentry state, WER + AppXDeployment/AppModel event logs)
Adding an independent reproduction with the same exit code, on Windows 10 — the other reports in this cluster (#80999, #81159) are all Win11 26200, so this may rule out an OS-build-specific cause.
Environment
Crash
Single occurrence. The in-app Browser pane was loading a heavy web app (WASM SQLite + SharedWorker + IndexedDB). The pane was being driven programmatically by the in-app agent session at the time (same pattern as #81159), and a screenshot/capture was attempted while the pane was not displayed ("not compositing frames" state — the hidden-pane angle of #80999) ~1 second before the crash:
main.log stops mid-session at that line — the whole app died instantly. System was otherwise healthy: Chrome with multiple tabs + YouTube playback unaffected, no TDR/display events in the System log. (Earlier GPU
crashedevents on this same machine — e.g. exitCode 34 on an older build — did not kill the app, matching the regression framing here.)Package corruption aftermath (same as OP)
8 seconds after the crash, Windows flagged the package Modified and started an automatic
RegisterByPackageFullNamerepair, which failed repeatedly with0x80073D02. Manual reinstall then failed with0x80073CF9, inner error:CoworkVMServicekept running through all of this and could not be removed by the installer ("Access is denied"), so every repair/reinstall hit the file lock (same family as #46179 / #57221).Recovery
Reboot (released the service lock) → fresh MSIX install of the same 1.24012.9 succeeded. The Settings → Apps → Repair path was not tried, so I can't confirm whether it would have worked without a reboot in this state.
Confirming this on a completely different configuration — Windows 10 instead of 11, Quadro instead of GeForce, but the same NVIDIA driver 32.0.16.1074 you tested. Strong signal the fault is in the app, not the setup.
Environment
Claude desktop 1.24012.9.0 (MSIX Claude_pzs8sxrjxfjjc, x64)
Windows 10 Pro 22H2, build 19045.6456, 32 GB RAM
GPU: NVIDIA Quadro RTX 5000, driver 32.0.16.1074 (2026-07-02), WDDM 2.7, dual monitor
No GPU or driver faults in the system log; dxdiag reports no problems
Crash — identical signature
The app dies during the Cloudflare Turnstile challenge on the sign-in screen, before any account access. Last lines of main.log:
[warn] Blocked permission check { permission: 'notifications',
requestingOrigin: 'https://challenges.cloudflare.com/', ... topFrameUrl: 'https://claude.ai/' }
[info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Same exitCode: 101457950 (0x060C201E). Worth noting the trigger isn't limited to the in-app Browser pane — Turnstile's WebGL fingerprinting on the login screen hits it too, so the user never reaches the app at all.
Bug 2 is worse on Windows 10: Repair does not fix it
On Windows 10 the "Repair" button (Settings → Apps → Claude → Advanced options) performs a Register from AppxManifest.xml only — it does not re-download the .msix. AppXDeploymentServer log:
RegisterByPackageFullName ... RepairAppRegistrationOption
Register ... completed successfully
Overall time: 438 ms
438 ms, no download, result 0x0 — yet (Get-AppxPackage Claude).Status still returns Modified, NeedsRemediation. Only a full Add (running Claude Setup.exe) clears the flag, and the installer auto-launches the app immediately after install, which crashes on Turnstile and re-flags the package within seconds.
The documented workaround is therefore unreachable on Windows 10:
Invoke-CommandInDesktopPackage ... -Args '--disable-gpu' fails with 0x80073CFC while the package is flagged — and it cannot be un-flagged.
Attempts to register while processes remain fail with 0x80073D02 ERROR_PACKAGES_IN_USE / 0x80004004 deployment aborted due to active service Claude_pzs8sxrjxfjjc!Claude — CoworkVMService survives the crash and cannot be disabled (Set-Service → Access Denied, packaged service).
Killing the app in a tight loop during install to prevent the first launch also failed; the package is flagged before the process is reachable.
Ruled out: WMI repository (winmgmt /verifyrepository → consistent), system files (sfc and DISM both clean), WindowsApps ACLs untouched, MSIX SHA256 matches a fresh download from claude.com.
Net effect: on Windows 10 the app is permanently unusable after the first launch, with no user-accessible recovery path. A hardware-acceleration toggle that persists before first render — or simply not letting a GPU crash flag the package — would make this survivable.
Follow-up with two stronger data points collected since my previous comment.
Claude desktop 1.24012.9.0, Windows 11 Pro build 26200, 32 GB RAM
GPU: Intel UHD Graphics 770 (32.0.101.7082) + AMD Radeon RX 6800 XT (32.0.21037.1004)
Same exitCode: 101457950 on the Turnstile challenge, same getInternalformatParameter probe burst in claude.ai-web.log, same Modified, NeedsRemediation flag afterwards.
That makes three GPU vendors across two Windows versions: GeForce RTX 2080 (yours), Quadro RTX 5000, and AMD/Intel. The driver-version overlap I flagged earlier is a coincidence — this is not driver-specific.
I replicated the crashing probe pattern in a Chromium 148 browser on the same machine, same GPU, same ANGLE D3D11 path as the crashing app (app reports Chrome 148.0.7778.280): 42 getInternalformatParameter calls with invalid internalformats, plus WEBGL_lose_context loseContext/restoreContext.
Renderer: ANGLE (AMD, AMD Radeon RX 6800 XT (0x000073BF) Direct3D11 vs_5_0 ps_5_0, D3D11)
42 probes run, 12 rejected by the driver, context lost and successfully restored
Result: browser survived the entire set, no GPU process crash
Same Chromium major, same driver, same adapter — the browser is fine, the app dies.
All 9 package binaries carry valid Authenticode signatures (CN="Anthropic, PBC" for claude.exe, cowork-svc.exe, chrome-native-host.exe; Microsoft for the bundled runtime DLLs). So Modified is a deployment bookkeeping state, not on-disk tampering.
Zero display-driver events (TDR / WHEA / amdkmdag / dxgkrnl) in the System log over 14 days.
Zero WER 1000/1001 records — Crashpad intercepts the fault, so the OS sees nothing.
No other MSIX package on the system is in a Modified state; deployment machinery is otherwise healthy.
--disable-gpu does not prevent the crash: the GPU process is still spawned and dies, then GPU process launch failed: error_code=18 repeats 5×, followed by FATAL: GPU process isn't usable. Goodbye. The app kills itself. Escalating flag sets (--in-process-gpu, --use-gl=swiftshader --use-angle=swiftshader, --disable-webgl) were also tried without success.
Net: the crash is reachable from the login screen alone, survives every user-side mitigation, and permanently bricks the package on Windows 10. Not letting a GPU-process crash flag the package would by itself make this recoverable.
Same bug here, with some additional diagnostics that narrow down where the crash lives.
Environment: Claude Desktop 1.24012.9 (MSIX), Windows 11 Home 22631, NVIDIA RTX 4070 Ti SUPER (driver 32.0.15.9186, Jan 2026, installed March — unchanged), Claude Code 2.1.219.
Crash signature (5 occurrences, 2026-07-28 → 07-29):
Every crash: same exit code 0x060C201E, whole app dies (no GPU-process relaunch), Windows logs an AppHang (Event 1002), and the MSIX package is left in Modified state so normal launch is blocked until Settings → Apps → Repair.
Timeline evidence it's a regression: main.log history back to 2026-07-09 shows zero GPU-process crashes before 07-28. The app package updated 07-24 (folder creation date). No Windows update or GPU driver change in that window.
Trigger correlation: every crash followed in-app Browser pane activity on external sites. The clearest case: pane opened several x.com tabs at 17:30, GPU process died 17:32. x.com runs heavy WebGL/fingerprinting probes, consistent with the OP's analysis. Localhost previews never crashed it.
Key finding — the crash reproduces in the WARP path, so disabling hardware acceleration does NOT help:
isHardwareAccelerationDisabled: trueinclaude_desktop_config.json, the GPU process runs with--use-angle=d3d11-warp-webgland still dies with the identical exit code (2 crashes in this state).--disable-gpupassed to the exe: Browser pane still serves WebGL 1+2, renderer stringANGLE (Microsoft, Microsoft Basic Render Driver ... D3D11)— the app's forced gpu-preferences keep WebGL-on-WARP alive regardless of the flag.--disable-webgl/--disable-3d-apisdo not propagate to renderers (removed from modern Chromium), so users have no way to close the WebGL path at all.Suggestion: the app already ships a window with
webPreferences: { webgl: false }(the feedback window), so the plumbing exists — exposing that (or a setting) for the Browser pane webContents would give users an effective mitigation until the WARP/ANGLE crash itself is fixed. Alternatively, catching the fatal GPU-process exit (0x060C201E) and relaunching instead of dying would at least stop the MSIX-Modified/Repair loop.Recovery note for others hitting this: launching the exe directly (e.g.
& (Join-Path (Get-AppxPackage -Name Claude).InstallLocation 'app\Claude.exe')) bypasses AppX activation, which appears to be what blocks relaunch when the package is flagged Modified — worth trying before a full Repair. Kill leftoverclaude.exe/cowork-svc.exeprocesses first (single-instance lock).Hello, I think I also encountered this issue, and my issue blocks my usage of Claude Desktop app's internal browser which would be useful for me. Please be mindful about its priority.
Additional reproduction: AMD GPU, cross-driver evidence, and reproduction under WARP software rendering
Adding a second environment with the same fatal signature and several observations that may help narrow the cause.
Environment
Same failure as OP
Modified, NeedsRemediation, and activation failed with0x80073CFCuntil the package was repaired.Not isolated to one driver version or GPU vendor
The AMD display driver was updated during the investigation, and the same fatal signature recurred afterward. Combined with the OP's NVIDIA reproduction across two driver versions, this makes a defect specific to one GPU vendor or driver version less likely.
Key finding:
--disable-gpuis not a sufficient workaroundWhen launched with:
the GPU helper continued to provide WebGL through WARP:
The identical
0x060C201Efailure reproduced in that configuration. The failure therefore does not require hardware GPU acceleration and persists when Chromium uses its Windows software-rendering backend.The crashes were consistently and immediately preceded by WebGL capability-probe activity, including the
INVALID_ENUMandCONTEXT_LOST_WEBGLsequence described by the OP. This is a strong temporal correlation, although it does not by itself prove which WebGL component is responsible.Stricter workaround under evaluation
Launching with:
causes the GPU helper to run with:
A short stress test using multiple embedded Browser tabs, image-heavy HTML previews, and local preview servers completed without another crash. This has not yet been validated over an extended period. The tradeoff is that WebGL and 3D content cannot render in the embedded Browser.
Repair issue
After a crash, reinstall or repair may fail with
0x80073CF9. In this reproduction, the underlying AppX deployment error was0x80070020, a sharing violation while replacingcowork-svc.exe. The file was held by CoworkVMService. Stopping that service allowed installation to complete, and the service restarted afterward.This is separate from the stale
chrome-native-host.exelock and0x80073D05condition already documented.I can provide additional sanitized excerpts or test a build containing a candidate fix.
Another reproduction: RTX 5000 Ada + Intel hybrid on Win10 19045, 115 GB free RAM at the crash instant — and Bug 2 needed a full uninstall/reinstall, 25 Repair attempts over 55 h all failed
Adding a data point that I think strengthens the driver-agnostic claim and kills the memory-pressure reading. More importantly, I have AppXDeploymentServer forensics for Bug 2 that back up @SaLoGeF's "Repair does not fix it on Windows 10" finding with hard numbers.
Environment
Claude_pzs8sxrjxfjjc, x64)HwSchMode=2; registry key last written 2024-10-29, i.e. unchanged through the crash)isHardwareAccelerationDisabledinclaude_desktop_config.json)---
Bug 1 — same signature, probe→death gap is 1 second
%APPDATA%\Claude\logs\unknown-window.log:main.log, same second:101457950 = 0x060C201E. main.log stops mid-write; whole app gone. Line-for-line match with the OP, down to the%c%d font-size:0;color:transparent NaNand the WOFF 2.0 OTS error.Two more bot-detection vendors on the trigger list
The pane was being driven programmatically by an agent session (Workflow tool). In the ~2 minutes before the crash it loaded, among others:
walmart.com— the CSP-blocked script path is/akam/13/..., i.e. Akamai Bot Managertrademarks.justia.com/connect.justia.comgetAwsWafToken(): AwsWafIntegration is not defined - check challenge.js script in configuration.json— AWS WAF challengeSo alongside Cloudflare Turnstile and x.com, Akamai Bot Manager and AWS WAF challenge pages also reach the crashing probe path. Three different commercial bot-detection products now, consistent with the OP's "standard fingerprinting suite" framing.
Memory pressure is not it
App's own telemetry, 48 s before the crash:
114 GB of 128 GB free, GPU process at 311 MB, 16 GB of dedicated VRAM essentially idle. Earlier reports cited 10–12 GB free on 32 GB machines; this widens that margin a lot.
On the "is it load?" question: this session was unusually heavy on the pane — 116
browser:open_site-related records in the preceding 20 min,openTabsreaching 5, electron process count 10 → 18. High pane throughput plausibly raises the odds of loading a probe page, but nothing was being exhausted.Driver-agnostic
RTX 5000 Ada is Ada Lovelace workstation silicon, distinct from the Quadro RTX 5000 (Turing) reported earlier despite the name. More usefully, my driver is 573.42 from 2025-06 — roughly a year older than the 32.0.15.9595 / 32.0.16.1074 / 32.0.15.9186 builds others tested. Same crash, same exit code. Also: zero TDR /
nvlddmkm/dxgkrnl/ display-reset events in the Windows System log anywhere near the crash.---
Bug 2 — 25 Repair attempts over 55 hours, all failed; only uninstall + reinstall worked
This is where I can add the most. Full
Microsoft-Windows-AppXDeploymentServer/Operationalforensics for the outage window (2026-07-27 22:00 → 2026-07-30 09:00): 843 Claude-related events, spread 293 / 121 / 120 / 309 across the four days — the OS never stopped churning.Package state, captured mid-outage (
Get-AppxPackage *Claude* -AllUsers, 2026-07-30 06:19):25 separate
RegisterByPackageFullNameoperations withRepairAppRegistrationOption(mix of OS-automatic remediation on failed activation and my own Settings → Apps → Claude → Repair clicks), none of which restored the app:What finally worked — and note how it was reached. The
Get-AppxPackageoutput above is timestamped 06:19; seeingStatus: Modified, NeedsRemediationin black and white is what made it obvious that no amount of Repair was going to help. The next two deployment operations in the log are 2 minutes later:So the entire 55-hour outage was gated on running one diagnostic command that nothing in the product or the OS ever suggests.
Microsoft-Windows-AppXDeployment/Operationalconfirms:07-30 06:34:08 Id=327 — packages to install: Claude_1.24012.9.0_x64__pzs8sxrjxfjjc; packages to remove: NULL. First successful renderer log line after that: 07-30 07:01:28. So the renderer log shows a clean 2.5-day hole:Net user-visible outage: 2026-07-27 23:01 → 2026-07-30 06:34, ~55 hours.
The leftover-process lock, timestamped
The OP flagged that
cowork-svc.exesurvives the crash and blocks repair. My log dates that precisely — Windows fired automatic repair 3 seconds after the "instant death" and was refused because the app was still running:Then at 23:06:42 a later attempt did tear the service down —
TerminateSingleService succeeded (CoworkVMService)— confirming the packaged service was the thing holding the lock. Error histogram for the whole window:0x80073D02×6,0x80073CFA×1 (the latter during the 07-30 reinstall).One honest difference from the OP's report: I see no "Trying to repair ACLs for C:\Program Files\WindowsApps\Claude_…" loop in my logs — zero ACL events. So that particular spin may be Win11-specific or environment-specific.
The user-experience point, from someone who lived it
To be precise about that 55 hours: it is wall-clock from the log, not 55 hours of active troubleshooting — I was away from the machine for much of it. But that is rather the point. I'm not a Windows deployment expert, and there was nothing to act on: no Event 1000/1001, no error dialog, no diagnosable message. The app simply does nothing when launched, and the Repair button — which I clicked repeatedly — silently changes nothing. Antivirus quarantine was my first hypothesis, since this machine runs two Chinese AV products, so some of that time went into whitelisting directories that turned out to be irrelevant.
The single biggest thing that slowed me down was fear of data loss. The only remedy that works is uninstalling the app, and I had no idea whether that would take my local Claude Code session history with it. So before touching anything I spent most of my hands-on time backing up local data, specifically to preserve those conversations. Only once I was satisfied the backup was complete did I proceed — and I got to the uninstall/reinstall answer by working through it step by step with claude.ai in the browser, which is obviously not available to someone whose only entry point was the desktop app.
Three concrete asks:
Get-AppxPackage *Claude* | fl Name,Statusand check forModified, NeedsRemediation", would have collapsed this into 15 minutes. Repair should also stop presenting itself as a fix for this state when it demonstrably is not one.cowork-svc.exewent down with the crash, automatic remediation might well have succeeded on the first try.---
Summary of what this adds
walmart.com/akam/…) and AWS WAF.open_siterecords / 20 min) — relevant to the unattended-workflow angle.cowork-svc.exelock captured 3 seconds after the crash as0x80073D02/ "affected apps are still running".Happy to provide full log excerpts or Crashpad IDs if useful.
Same crash on 1.24012.9 — plus new evidence: the post-crash Repair schedules a forced app shutdown hours later
Environment
Claude_1.24012.9.0_x64__pzs8sxrjxfjjc)Bug 1 reproduced — GPU crash 4 seconds after the in-app Browser preview tab opened
From
%APPDATA%\Claude\logs\main1.log(last lines of the session — the app died instantly, nothing logged after):101457950 decimal ==
0x060C201E— same code as the OP. Also matches #81159. No WER report and no crash dump is written (%APPDATA%\Claude\Crashpad\reportsstays empty), so from Windows' point of view the app simply vanishes — nothing in Event Viewer's Application log at all. An earlier shutdown the same day (~13:55) left Sentry error data but no log tail, consistent with the same failure.Bug 2 reproduced — plus a follow-on repair loop worth documenting
After the crash the package was unlaunchable until Settings → Apps → Claude → Advanced options → Repair. But
Microsoft-Windows-AppXDeploymentServer/Operationalshows the repair never fully completes while the app is running: the Add step succeeds, then the final re-register fails with 0x80073D02 ("Unable to install because the following apps need to be closed") because the app relaunches immediately after repair:Windows then completes the pending registration ~4 hours later using
ForceTargetApplicationShutdownOption— killing the running app mid-use with no warning:So the user-visible pattern is: GPU crash → Repair → app works → second "random" shutdown hours later (actually Windows finishing the half-failed repair). Each Repair while the app is running re-arms this. The same 0x80073D02 failure repeated at 20:07 and 20:58 the same day.
Workaround that breaks the loop: fully quit Claude first (tray icon → Quit; verify no
claude.exe/cowork-svc.exein Task Manager), then run Repair — the register step completes immediately and no forced shutdown gets scheduled.Happy to provide full
main.log/main1.logand the complete AppX deployment event export on request.Confirming this on Windows ARM64 — same exit code, same signature — plus two findings that may help narrow the fault.
Environment
Reproduction (5/5 crashes today, all exitCode 101457950 / 0x060C201E)
Opening
https://suno.com/createin the in-app Browser pane (preview_start) kills the GPU process 5–11 s after pane creation and takes the whole app down. Console signature identical to OP:WebGL: INVALID_ENUM: getInternalformatParameter×19 →requestAdapterpowerPreference warning ×2 →GPU process gone: { reason: 'crashed', exitCode: 101457950 }.Sessions that never open the Browser pane never crash; a different URL (gemini.google.com) in the same pane on an earlier day was fine.
Finding 1: "Disable Hardware Acceleration" does not prevent it
With
isHardwareAccelerationDisabled: trueconfirmed loaded at startup, the crash reproduces identically. Inspecting the live GPU process afterwards: no software-rendering flags on its command line, and the Adreno user-mode driver DLLs are loaded — i.e. the toggle does not propagate to the GPU process (consistent with electron/electron#17180 / #51363). So this crash is not user-avoidable via that setting.Finding 2: GPU-vendor-independent
OP reproduced on NVIDIA RTX 2080; this repro is on Qualcomm Adreno X1-85 (ARM64). Same exit code and signature on both — pointing at the Chromium/ANGLE/Dawn layer rather than a specific vendor driver.
No Crashpad minidumps are generated (
Crashpad/reportsstays empty), which makes further user-side diagnosis difficult.Cross-ref: #81159 appears to be the same crash.
Confirming again — Windows 10 Pro 19045.6456, NVIDIA GeForce RTX 3090.
Same exit code (101457950 / 0x060C201E), same trigger (in-app Browser pane → external page → WebGL getInternalformatParameter probe burst → CONTEXT_LOST_WEBGL → GPU process gone), same second-timestamp instant death.
One data point I don't think is in the thread yet: I had TdrLevel=0 (TDR detection disabled) during my first two crashes, then explicitly set it to TdrLevel=3 (Windows default) to see if it would at least convert the crash into a recoverable TDR-timeout instead. It didn't — crashed again with the identical signature, and no Event ID 4101 fires in the System log either before or after the change. Consistent with the rest of this thread's finding that this is an outright process crash, not a driver hang — TDR settings aren't a relevant lever either way.
Also: crashed on driver 536.23 (R535) and 610.47 (R610 Studio, current as of writing) with the identical signature — another data point for "not driver-specific," now across three driver generations combined with everyone else's reports.
Didn't hit Bug 2 either time (app auto-relaunched cleanly, no Modified flag) — for what it's worth as a contrast to the Windows 10 reports above where Repair didn't resolve it.
Additional data point: same GPU crash (exitCode 101457950 / 0x060C201E) on 1.24012.9.0, triggered by a Cloudflare bot-detection probe in the in-app Browser
Same signature as #80444 and #81159, on a different GPU combination — adding data in case it helps narrow down the cause.
Environment
| | |
|---|---|
| App version | 1.24012.9 (
Claude_1.24012.9.0_x64__pzs8sxrjxfjjc, MSIX / windowsStore) || CCD | 2.1.219, Node 24.18.0 |
| OS | Windows 11 Enterprise 10.0.26200, de-DE |
| GPU 0 | Intel Iris Xe Graphics — 32.0.101.7084 (2026-01-15) |
| GPU 1 | NVIDIA GeForce MX550 — 32.0.15.9608 (2026-03-31) |
| GPU 2 | MirrorOp Virtual Graphics Adaptor — 1.1.185.70 (2019-10-01) |
| Display | DELL P2722H, 1920x1080 @ 60 Hz, scaleFactor 1 |
Hybrid graphics, no per-app GPU preference set. Note the third adapter: a virtual display adapter (MirrorOp / wePresent presentation software) is present alongside the hybrid pair. Might be relevant — the reports so far have single-vendor or hybrid setups; this one has a stale virtual adapter in the enumeration list.
Trigger
Agent-driven research in the in-app Browser pane on a German retail site (
mindfactory.de) that is behind Cloudflare bot detection. The crash happens while the page runs its WebGL/WebGPU capability-probe burst — i.e. the fingerprinting stage of the challenge, not any interaction with the challenge widget itself.Reproduced 3× in one day:
11:25:09,13:44:51,13:47:13(local time, 2026-07-31).Log evidence
%APPDATA%\Claude\logs\unknown-window.log— 1–2 s before every crash, a burst of ~20 identical probe lines plus a WebGPU adapter request:On the 13:44 occurrence the context loss is explicit:
%APPDATA%\Claude\logs\main.log— the GPU process dies with the exact same exit code every time, and this is the last line of the session; the main process goes down with it, no graceful shutdown, no further log output until the next manual launch:Restart timestamps from the same file confirm the app never recovered on its own:
Secondary failure: Windows "Repair" cannot run after the crash
Same as reported in #80444/#81159, but here is the exact Windows-side reason. Immediately after the crash,
Settings → Apps → Claude → Advanced options → Repairreports "Diese App konnte nicht repariert werden" / "This app could not be repaired". Event logMicrosoft-Windows-AppXDeploymentServer/Operational:0x80073D02isERROR_INSTALL_PACKAGE_IN_USE. Repair fails because child processes survive the crash and keep the package in use — in this casecowork-svc.exe(confirmed running with the app gone). Corroborating evidence from the next launch:Also:
AppxManifest.xmlin the install location hasLastWriteTime = 2026-07-31 13:47:26— 13 seconds after the crash, i.e. the crash path touches the package and Windows flags it as modified.Get-AppxPackage Claudestill reportsStatus: Ok, so the "damaged" state is not visible via the normal status field.No local crash dump is produced
%APPDATA%\Claude\Crashpad\contains onlysettings.dat— no minidump reports at all.Application Error(Event ID 1000) and no WER report forClaude.exein the Windows event log.So on this machine the crash is invisible to both Crashpad and WER; the only local trace is the two log lines above. If you need a dump for this signature, the reporter path appears to be broken for GPU-process kills in the MSIX build.
Impact
Any agent-driven research task that touches a Cloudflare-protected site kills the whole app mid-run, loses the session, and leaves the MSIX package in a state where the documented recovery step (Repair) fails until leftover processes are killed manually. There is no user-accessible way to disable hardware acceleration in the app —
%APPDATA%\Claude\config.jsonhas no corresponding key, and MSIX gives no way to pass--disable-gpufrom a normal shortcut.Requests
cowork-svc.exein particular) are terminated on abnormal exit, so Windows Repair is not blocked byERROR_INSTALL_PACKAGE_IN_USE.getInternalformatParameterwith unsupported enums +requestAdapter()), which should never be able to kill the GPU process.claude-gpu-crash-evidence-logs.md
Confirming this on completely different hardware, plus three findings that narrow it down.
Same exit code, same log lines, same day-one-of-1.24012 onset — but on a single integrated Intel GPU, not a discrete NVIDIA card and not a hybrid-graphics laptop. That rules out both the vendor-driver and the Optimus adapter-negotiation theories floated in #80468.
Environment
| | |
|---|---|
| Claude Desktop | 1.24012.9 (MSIX / Store) |
| Claude Code (CCD) | 2.1.219 |
| OS | Windows 11 Pro 25H2, build 26200 |
| CPU / GPU | 13th Gen Core i7-1355U / Intel Iris Xe — the only display adapter present |
| RAM | 16 GB |
Three fatal crashes in 88 minutes (12:36:22, 12:49:02, 14:04:15 local), all
exitCode: 101457950, all with your exact renderer chain includingOTS parsing error,%c%d font-size:0;color:transparent NaNandCONTEXT_LOST_WEBGL.main.logstopsmid-stream each time; no WER entry, no minidump, empty
Crashpad\reports.MSIX corruption matches too — the app would not relaunch after the second crash and needed
reinstalling.
---
1. One crash had no browser action at all — and no new tab
This is the finding I think matters most, because it breaks the "page runs a WebGL probe"
framing.
The 12:36:22 crash happened in a preview pane that had been open and untouched for
13 minutes 24 seconds. The owning session issued no tool call in that window — its
previous output was at 12:35:10 and the next user input at 12:46:20.
main.logcontainsnothing between 12:35:12 and the crash except two cached-OAuth lookups. There is no
[Preview] Createdline and nototalContextschange.What did happen: 72 seconds earlier a ~3.1 kB block was appended to the transcript, forcing
a layout reflow of the surrounding UI. Our reading is that the pane was re-mounted as a
side effect, re-initialising its compositing surface.
So the trigger is not "a page executes fingerprinting code". It appears to be a webview
compositing surface being created or re-created, and a transcript-driven reflow is
sufficient. That also means an idle pane is not safe.
2. The failing WOFF2 comes from the app shell, not from page content
The page loaded in that pane was a locally served internal app on
http://localhost:8001/.That app is deliberately built with no bundler and no web fonts — grepping its entire
source tree for
woff,@font-face,fonts.googleapisandfonts.gstaticreturnszero hits. It uses only
-apple-system, "Segoe UI", system-ui, sans-serif.The page therefore cannot be the origin of the malformed WOFF2.
OTS parsing errorfireson a font belonging to the surrounding shell, re-parsed when the surface is rebuilt.
(For completeness: two of our three crashes were triggered by an external page behind a
Cloudflare "Just a moment" interstitial, which does run canvas/WebGL fingerprinting —
consistent with your repro. The third one above shows that page is not necessary.)
3.
totalContextsseparates the survivors from the fatalitiesFor the two crashes that did follow an explicit
preview_start, the app logs the newpane as the second live preview context:
Every pane created at
totalContexts=1survived — including a deliberate 20-minute stressrun (16 page loads, ~20 screenshots, two colour themes, three window widths) that produced
the full WebGL warning burst without crashing. Both fatalities were at
totalContexts=2.The two paths also have different terminal lines, which may be useful when bisecting:
| Path | Terminal line |
|---|---|
| Second context created |
A valid external Instance reference no longer exists.|| Existing pane re-mounted |
WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost|---
A recoverable control case, in the same logs
Worth having as a negative control: at 13:27:38 the GPU process died with
exitCode: 34, no WebGL burst, and the app kept logging normally for the next threeminutes. That was Chromium doing the right thing during a display-driver swap.
So the defect isn't that the GPU process can die — it's that in the
101457950caserecovery never happens and the whole tree goes with it.
GPU process gonealone is notthe signature;
exitCode 101457950plus the log terminating in the same second is.Ruled out here, each measured
identical exit code. Combined with your RTX 2080, that is two vendors and three drivers.
crash-free day the previous week. At crash #3: 2 462 MB in use, 5 495 MB free of 16 057 MB.
all three; Chrome was not running at all during crash #3.
Blast radius
We run four concurrent Claude Code sessions in one desktop app. Each crash killed all
four, including three that had never opened a pane. One session's documentation lookup
cost three unrelated threads their in-flight context. That is what makes this expensive
rather than merely annoying.
Not yet tried
We have not applied the
--disable-gpuworkaround, because #76307 reports that flag beingauto-persisted after a GPU crash and leaving the app in a CPU busy-loop. If that risk is
understood or fixed, we would happily test it and report back.
Our current mitigation is simply to stop using the preview pane for anything external, and
fetch pages as text instead. Happy to run any instrumented build or capture additional logs
if that would help.
Adding a data point from another affected machine, including one workaround result that isn't in the thread yet.
Environment: Claude Desktop 1.24012.9 (MSIX,
Claude_pzs8sxrjxfjjc), Windows 11 Home 26200, RTX 4090 (driver 32.0.15.9186 / Jan 2026), Alienware AW3423DWF (10-bit, P3). Same regression window as OP: browser previews on 1.22209.3 (2026-07-17 and 07-19) ran clean; every pane open since updating to 1.24012.x (2026-07-24) has killed the app.Still reproduces on 1.24012.9 — three fatal crashes logged, all identical:
Log ends there each time (no shutdown sequence); next line is
Starting appafter a Settings → Repair.New datum: the in-app hardware-acceleration toggle does NOT prevent the crash. We set Help → Troubleshooting → "Disable Hardware Acceleration", confirmed
"isHardwareAccelerationDisabled": trueinclaude_desktop_config.json, restarted (Starting app12:03:27), then opened a browser preview at 12:04:20 on a trivial page (example.com). The pane created fine and served page text; the GPU process crashed with the sameexitCode: 101457950at 12:05:37, roughly when the pane was brought into view. So Electron'sapp.disableHardwareAcceleration()path is insufficient — consistent with the WebGL-probe theory, since WebGL still executes in the GPU process under software rendering. The--disable-gpulaunch workaround from this thread is untested on our machine.Repair behavior matches OP: app refuses to relaunch after the crash until Settings → Apps → Claude → Advanced options → Repair; the Repair reports failure but the app launches afterward.
Impact note: the in-app Browser pane is the primary verification loop for our dev workflow across several projects, so this is effectively a blocker on 1.24012.x rather than an inconvenience. Happy to provide full logs or run diagnostics on request.
Another confirmation (dedicated RTX 3060 Ti, Win11 26200) — crash reproduced ~2h AFTER a DDU clean driver downgrade, plus an unattended overnight crash during automated Browser-pane use
Environment: Claude Desktop 1.24012.9.0 (MSIX
Claude_pzs8sxrjxfjjc), Claude Code 2.1.219, Node 24.18.0 · Windows 11 Pro 10.0.26200, VBS/HVCI enabled, 32 GB RAM · NVIDIA GeForce RTX 3060 Ti (dedicated GPU, no hybrid graphics/iGPU), driver 32.0.16.1062 (Studio, 2026-06-11) after a DDU clean reinstall on 2026-07-31; a newer driver installed earlier showed the same crashes.Signature (6 crashes, 2026-07-27 → 07-31, accelerating; zero crashes in the 3 weeks of logs before):
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }(0x060C201E), identical every time; whole app dies with no shutdown lines....\app\claude.exeattempted to load...\app\vk_swiftshader.dll— blocked) + Event 3010 ×3 (unable to load...\AppxMetadata\CodeIntegrity.cat, Status 0xC000003A).Data points possibly new to this thread:
capturePreviewScreenshot ... the Browser pane is not displayedwarning bursts appear seconds before death in 5 of 6 crashes here.Current workaround here: avoid the in-app Browser pane entirely (verification via external Chrome / Playwright), plus a script that kills the full package process tree instead of the Settings-Repair round-trip.
On a machine with this exact crash (exit 101457950 / 0x060C201E, 5 occurrences across v1.20186.0 and v1.24012.9, including one reproduced on demand), every crash second correlates 5/5 with Microsoft-Windows-CodeIntegrity/Operational Event 3033:
claude.exeblocked from loading the bundledapp\vk_swiftshader.dll("did not meet the Microsoft signing level requirements"), preceded by Event 3010 failing to loadAppxMetadata\CodeIntegrity.cat(0xC000003A) — the sideloaded MSIX ships without that catalog, and AppX logs 8107 "Illegal non-AppStore or non-AppInstaller package integrity validation" + 8104 trust-label failure on every register. The DLL is Anthropic-signed but not Microsoft-signing-level, so in the packaged process the load is rejected; Dawn's Vulkan instance dies mid-init ("A valid external Instance reference no longer exists."), the GPU process exits 0x060C201E, and the main process exits with it. Disabling hardware acceleration makes it worse (SwiftShader becomes Dawn's only adapter). The common trigger is any WebGPU probe — ad-tech fingerprinting (navigator.gpu.requestAdapter()) in embedded web content reproduces it on demand within seconds.Confirmed workaround (same machine): replacing the MSIX with the Win32/Squirrel build (
winget install Anthropic.Claude— the exe channel atdownloads.claude.ai/releases/win32/x64/…) removes the packaged-process signing enforcement entirely. After the swap,requestAdapter()returns the hardware adapter, the previously 100%-reproducible page no longer crashes, and zero CI 3033 events have fired since. Note there is currently no Microsoft Store listing for the official app, so a Store-signed package isn't an option for affected users.Fix suggestions: ship a catalog-covered / Microsoft-signing-level SwiftShader ICD in the MSIX, stop probing the Vulkan software path in packaged processes, and degrade gracefully on GPU-child loss instead of exiting the main process.
<html><body>
<!--StartFragment--><html><head></head><body><p><strong>Still reproducible on 1.24012.9 — workaround test results</strong></p>
<p>Same GPU-process crash (exitCode 101457950 / 0x060C201E) when a web search opens the in-app browser, followed by the corrupted MSIX package requiring Repair. Confirming the bug was <strong>not</strong> fixed in 1.24012.9.</p>
<p>Tested launch flags via <code>Invoke-CommandInDesktopPackage</code> (note: relative <code>-Command 'app\Claude.exe'</code> failed with "not found" on my machine; the full path to <code><InstallLocation>\app\claude.exe</code> worked):</p>
Flag | Result
-- | --
--disable-gpu | ❌ Still crashes. GPU process dies with 101457950, relaunch is blocked by the flag (GPU process launch failed: error_code=18 ×5), then FATAL: GPU process isn't usable. Goodbye.
--disable-3d-apis | ❌ Still crashes
--use-angle=swiftshader | ❌ App starts but window stays black, UI unusable
--use-angle=d3d9 | ✅ Works — web search runs without crashing
<p>So the crash appears to live in the D3D11 ANGLE backend; falling back to D3D9 avoids it. <code>--disable-gpu</code> is not a viable workaround since the browser preview apparently hard-requires a GPU process.</p>
<p>Log excerpt from the <code>--disable-gpu</code> attempt:</p>
<pre><code>[29204:0801/150209.507:ERROR:content\browser\gpu\gpu_process_host.cc:998] GPU process exited unexpectedly: exit_code=101457950
[29204:0801/150209.511:ERROR:content\browser\gpu\gpu_process_host.cc:992] GPU process launch failed: error_code=18
[29204:0801/150209.517:FATAL:content\browser\gpu\gpu_data_manager_impl_private.cc:418] GPU process isn't usable. Goodbye.
</code></pre>
<p>Environment: Windows 11 (latest build), MSIX install (<code>Claude_pzs8sxrjxfjjc</code>), app 1.24012.9.0. GPU: AMD Radeon RX 9070 XT (ASRock Taichi), latest Adrenalin driver.</p>
<p>Since the original report is on an NVIDIA RTX 2080 and this reproduces identically on AMD RDNA4, the crash is GPU-vendor-independent.</p></body></html><!--EndFragment-->
</body>
</html>
Confirming this on AMD integrated graphics — same exit code, same trigger, same build line. Between this report (NVIDIA RTX 2080), #81664 (Intel UHD) and #68049 (Qualcomm Adreno), that's four GPU vendors, which I think rules out anything driver-side.
Environment
| | |
|---|---|
| App | Claude Desktop 1.24012.9.0, x64 MSIX (
Claude_pzs8sxrjxfjjc) || OS | Windows 11 Home 10.0.26200 |
| Machine | Dell Inspiron 5515, Ryzen 7 5700U, 16 GB RAM |
| GPU | AMD Radeon Vega (integrated),
PCI\VEN_1002&DEV_164C|Same signature
101457950=0x060C201E, byte-identical across all 5 crashes. As you describe,main.logstops mid-write — nobeforeQuit/willQuithandlers fire, the whole app dies with the GPU process.Driver-agnostic, tested across a ~2-year gap
You reproduced on two adjacent driver versions. I can extend that considerably — I hit this on a 2024-08-18 driver, updated to a 2026-05-19 driver (Adrenalin 26.5.2,
31.0.21921.1000→31.0.21925.1001, different INF package entirely), rebooted, and reproduced with the identical exit code 4 minutes later on 6 GB free RAM. Nothing about the graphics stack changed the outcome.Also worth noting: no display-driver TDR/reset events appear in the Windows System log for any crash, and no Crashpad minidump is written —
Crashpad\reports\stays empty, onlymetadataandsettings.dat. So there's no local native stack to hand over.Trigger correlation
Every crash follows the in-app Browser preview being created. Grouping today's runs by how each ended:
| Run start | Browser preview created | Ended | Delta |
|---|---|---|---|
| 07:42:10 | 07:46:14 | 07:47:50 GPU crash | 96 s |
| 07:50:16 | 07:50:53, 08:05:50 | 08:11:38 GPU crash | 5m48s |
| 08:15:19 | 08:16:12 | 08:16:21 GPU crash | 9 s |
| 08:20:08 | none | 08:20:23 clean quit | — |
| 08:21:16 | 08:22:32 | 08:22:40 GPU crash | 8 s |
| 09:15:37 | 09:19:21 | 09:19:26 GPU crash | 5 s |
5 of 5 runs that created a browser preview died. The one run that never created one exited cleanly.
Possible extra signal: offscreen compositing
Supporting #81664's screenshot-path theory — one crash lands in the same second as a capture timeout, and the error text is specifically about the pane not compositing:
There were 12
capturePreviewScreenshot failedwarnings across the session, all while the pane was hidden. Whether the crash is the WebGL probe you identified or the offscreen capture path, both run against a preview surface that isn't visible.(Unrelated to this bug, flagging so nobody chases it: I have one additional
GPU process goneentry withexitCode: 34at 09:05:10. That one is the live display-driver swap during my driver update — a graphics package was staged 36 seconds earlier. Different code, different cause.)Full redacted log excerpts for all crashes attached. claude-gpu-crash-logs.txt
*Co-authored with Claude Code.
Same issue.
Environment:
What I've already tried (none resolved it):
-"Optimisations for windowed games" toggled off (no effect)
-Full uninstall (Remove-AppxPackage) + clean reinstall via official Setup.exe
(confirmed still MSIX-packaged under the hood; crash persisted identically)
-Set ELECTRON_EXTRA_LAUNCH_ARGS=--disable-gpu-compositing (User env var) — no effect,
suspect MSIX packaging does not respect this variable
Same crash on Windows 10 Pro 22H2 (build 19045), Claude Desktop 1.25927.0.0 (MSIX
Claude_pzs8sxrjxfjjc), NVIDIA RTX 2060 — so this persists well past 1.24012.x (also hit it on 1.24012.9.0). Five GPU-process deaths / four full package wedges between 2026-07-30 and 2026-08-05 (three deaths on 08-05 alone: 11:41, 12:07, 13:32). Some evidence that narrows the mechanism:1. Reproduces under software rendering — not a GPU/driver issue. Launched the packaged app with
--disable-gpuviaIApplicationActivationManager(GPU child confirmed runningd3d11-warp-webgl). It still died with the identical code after 67 min of normal use (hardware-mode instances died at 8 and 21 min the same day):Consistent with the WebGL/browser-tab trigger here and in #81159, since WebGL still executes under WARP. Cowork-style preview sessions (
[WarmLifecycle:preview]) were active at crash time.2. Not third-party injection. Module enumeration of the live main + GPU processes: zero non-Microsoft, non-Claude DLLs loaded. NVIDIA in-game overlay disabled with no overlay processes running during the 08-05 crashes; also reproduced with the packaged Cowork service registry-disabled and provably never started (SCM event log). Parsec virtual display + IddSampleDriver installed but evidently irrelevant given the WARP repro — matches #68049 persisting across driver updates and clean reinstalls.
3. Zero crash artifacts. Identical exit code every time, nothing in
%APPDATA%\Claude\Crashpad, no WER Event 1000 — looks like a deliberate/clean exit path rather than an unhandled fault, which also means this failure mode likely produces no server-side telemetry.4. How the crash bricks the MSIX install (the "There is a problem with Claude" dead-end):
claude.exepackage processes linger (observed alive 10+ hours later).0x80073D02"the following apps need to be closed: Claude" — and the package wedges inModified, NeedsRemediation.0x80073CFA(data-preserving removal rejected) → in-placeAddPackage0x80073CF9, plus0x80070020sharing violation oncowork-svc.exewhenever the packaged Cowork service is running (aggravator, not the corruptor). Windows 10 has noReset-AppxPackage, so the only recovery is fullRemove-AppxPackage+ reinstall — a non-technical user is dead-ended.Suggested fixes, impact order:
NeedsRemediationwhen the blockmap verifies clean — the current dialog points at an installer that cannot recover this state.Full installer log (
ClaudeSetup.log), appmain.logcovering all five deaths, and the 07-30/31 deep-dive (reinstall failure chains, Cowork service ACL analysis) available on request.Confirming this on a different machine — and with what looks like a deterministic trigger, which narrows down the "standard bot-detection/fingerprinting code" mentioned in the original report.
Environment
Claude_pzs8sxrjxfjjc), Node 24.18.0,arch: x6432.0.15.9649(2026-05-05) and32.0.16.1088(2026-07-22). The driver was updated mid-session precisely to test this — 4 of the 6 crashes happened after the update, so this is not driver-specific.Signature — identical to the report
Six crashes (UTC+2):
2026-08-04 19:33:12,19:36:32,2026-08-05 12:20:34,12:40:44,12:53:52,13:34:04. Every one of them while the in-app Browser pane was in use; one came 5 seconds after[Preview] Created browser preview. Same aftermath each time: the whole app dies with the GPU process, then Windows reports the package as damaged until Repair.Zero GPU-process crashes in the preceding four weeks of logs (
main2.log–main4.log, 2026-07-11 to 08-02), during which the Browser pane was barely used.The trigger appears to be Cloudflare Turnstile
In
unknown-window.logthe WebGL probe cascade carries the same timestamp, to the second, as the crash inmain.log:The last crash (13:34:04) occurred while navigating to the one page on that site that loads Cloudflare Turnstile — every other page on the same site was visited repeatedly without incident. Turnstile's challenge script is what emits those WebGL/WebGPU capability probes, which matches the "fingerprinting suite" description in the original report.
That should give a minimal repro: point the in-app Browser pane at any page carrying a Turnstile widget and let the agent perform an in-page action.
On the Repair step
Windows Settings reports "This app could not be repaired. Try again later" — but the app launches normally afterwards regardless. The error message is misleading; the repair evidently does take effect.
Workaround that holds
Driving the user's real Chrome through the browser extension instead of the in-app pane: same workload (navigation, DOM measurement, computed-style inspection), repeated over an hour, zero crashes. The in-app pane had been crashing several times within that same hour.
Related: #81159 reports the same exit code and the same MSIX corruption.
Confirming this on a much newer build, plus one data point that contradicts the suggested workaround.
Environment
Claude_pzs8sxrjxfjjc), Claude Code 2.1.221, Node 24.18.0Same signature
Six GPU-process deaths in a single day, all with the identical exit code:
101457950=0x060C201E, matching this issue exactly.Timestamps: 10:04:04, 10:16:05, 13:50:50, 17:31:01, 18:05:32, 18:21:01 (all 2026-08-05).
Correlation with the Browser pane
Three of the six crashes land within seconds of the in-app browser pane spinning up its context:
| Crash | Preceding
[Preview] Created session preview context||---|---|
| 10:04:04 | 6 s earlier |
| 18:05:32 | 4 s earlier |
| 18:21:01 | 2 s earlier |
The remaining three have no such line, but that entry only fires when a new pane context is created — navigating inside an already-open pane does not log it. Before the 17:31:01 crash the pane was demonstrably in use (page-load failures logged at 17:23–17:26).
Renderer log for the 18:21:01 crash, same second as the GPU death:
The config-level hardware-acceleration toggle does NOT prevent this
This is the part I have not seen reported elsewhere. Setting
in
%APPDATA%\Claude\config.jsondoes not stop the crash:trueconfig.jsonitself at 18:12:33 and preserved the flag)app.disableHardwareAcceleration()maps to--disable-gpu-compositing, which turns off GPU compositing of the UI but leaves WebGL/WebGPU in page content routed through the GPU process — precisely the path that fails here. The--disable-gpuworkaround viaInvoke-CommandInDesktopPackageis a strictly stronger switch and is not equivalent. Worth correcting wherever the config toggle is suggested as a fix.Ruled out on this machine
VirtualMonitor Device(ROOT\DISPLAY\0000) was registered as a second video controller. Disabled it; the 18:21:01 crash happened with it confirmed inactive.Package state
No MSIX corruption here so far —
Get-AppxPackagestill reportsStatus: Okafter all six crashes. So theappxState=2damage described above is not a guaranteed consequence of every crash.No Crashpad minidumps were written locally (
Crashpad\contains onlysettings.dat), consistent with the GPU child dying rather than the main process faulting.Adding a new hardware datapoint and a detailed trace for the exitCode 101457950 GPU-process crash. This reproduces the signature in this issue on AMD hardware, making it NVIDIA + Qualcomm + Intel + AMD, i.e. vendor-agnostic.
Environment
Claude_1.25927.0.0_x64__pzs8sxrjxfjjc), Windows 11 Home 10.0.28000Crashes
Three crashes on 2026-08-05 (local, US Pacific), identical signature:
| # | Time | Instance uptime at death | Preceded by |
|---|---|---|---|
| 1 | 21:33:47 | 27h 49m |
[Preview] Created browser previewat 21:33:41 (6s before) || 2 | 21:50:49 | 5m 36s | same, 21:50:43 |
| 3 | 22:02:03 | 6m 11s | same, 22:01:58 |
Trigger correlation is 3 for 3: the log contains exactly three browser-preview creations (all for the same Claude Code session's Browser tab), each 5 to 6 seconds before a GPU crash. Session warm-ups (
[WarmLifecycle:preview], 10+ occurrences) never crashed anything; only full preview webContents creation correlates. A fourth instance that never opened the Browser tab has run without incident since.About 1 second before each death, an auxiliary claude.ai-origin window logs the same graphics-init sequence: a burst of ~19
WebGL: INVALID_ENUM: getInternalformatParametercapability-probe warnings, thenThe powerPreference option is currently ignored when calling requestAdapter() on Windows(crbug.com/369219127), thenA valid external Instance reference no longer exists.(Dawn), thenWebGL: CONTEXT_LOST_WEBGL(crashes 1 and 3; crash 2 died before flushing it).Amplifiers that make this worse than a GPU blip
GPU process gonethe main process logs nothing further, ever: no quit handler, no relaunch, no Chromium software-rendering fallback (zero SwiftShader/fallback lines; each session dies at its FIRST GPU loss, so the 3-strikes fallback never engages). An Electron app should survive a GPU-process death.reports/is empty after three crashes; local Sentry queue empty; no WER entry, no Application-log Event 1000, no minidump anywhere. From the OS's perspective nothing happened. The only evidence is main.log.Asks
--disable-gpuworks but is not reachable normally under MSIX).Full local evidence retained (deduplicated log extracts, AppX deployment exports, timeline): available on request.
Still present on 1.26832.0.0, and I have a deterministic one-line reproducer that does not depend on any site's fingerprinting script.
Environment
Claude_pzs8sxrjxfjjc), Claude Code 2.1.2221.24012.0.0,1.25927.0.0. Same failure on all three.Reproducer
In the in-app Browser pane, on any real, loaded https page (I used
developer.mozilla.org):The promise resolves
null, and the app dies in the same second. No bot-gate, no ad script, no waiting for a fingerprinter to decide to probe.The narrowing: it is the fallback adapter, not WebGPU
Both calls were made in the same session, same page, minutes apart, with no launch flags:
| Call | Result |
|---|---|
|
navigator.gpu.requestAdapter()| returns a hardware adapter (vendor: nvidia,architecture: blackwell). No crash. ||
navigator.gpu.requestAdapter({forceFallbackAdapter: true})| resolvesnull, app dies |So the lethal path is specifically the software/fallback adapter, where Dawn enumerates the software Vulkan adapter and loads
app\vk_swiftshader.dll. That may explain why the crash looks random to users: it needs a page that reaches the fallback, not merely a page that touches WebGPU.Evidence at the moment of death
Microsoft-Windows-CodeIntegrity/Operational, all four events at the same second (13:02:34):AppxMetadata\CodeIntegrity.catis still absent from the package on this build, andapp\vk_swiftshader.dllis still signedCN="Anthropic..."rather than at Microsoft signing level. Both of the conditions in the original report are unchanged after two version bumps.--use-angle=d3d9still works, and here is whyLaunching via
Invoke-CommandInDesktopPackagewith--use-angle=d3d9(verify the flag reaches the--type=gpu-processchild, not just the parent) prevents it. Under D3D9, ANGLE exposes no adapter for Dawn to enumerate, sovk_swiftshader.dllis never loaded and Code Integrity has nothing to refuse. On an earlier build with this flag active, the fingerprinting code demonstrably ran andrequestAdapter()returnedNo available adapters.instead of enumerating the software adapter.Two notes for anyone relying on that workaround:
Modified, launching through the flagged launcher produces no repair prompt at all, just silence. Launching the normal shortcut surfaces the repair prompt. Order that works: normal icon, repair, then relaunch with the flag.Adding independent confirmation from a different Windows 11 Pro machine, same exact build (
1.26832.0.0), plus two data points not yet documented in this thread:Environment: Windows 11 Pro (build 10.0.26200), NVIDIA RTX 5090 + AMD Radeon iGPU + USB virtual display, remote/hosted workstation accessed via Tailscale SSH (not RDP at crash time).
1) Smart App Control confirmed OFF, block persists identically
Despite SAC being fully off (registry-confirmed both before and after each crash), the exact same event pair recurred 4 times in one day:
This is consistent with the Code Integrity Guard (CIG) explanation already discussed here — per Microsoft's own "App Control for Business — Event ID explanations" doc, Event 3033 "may occur with or without an App Control policy present... if code compiled with Code Integrity Guard (CIG) tries to load other code that doesn't meet the CIG requirements." That matches a per-process
MicrosoftSignedOnlyGPU-child mitigation, not a system-wide SAC/WDAC policy — which is why disabling SAC doesn't help.2) Crash timestamps and a likely trigger correlation
Crashes today: 02:00:23, 09:39:31, 11:38:45, 17:53:58 — all
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }(=0x060C201Ehex).For the 17:53:58 crash,
main.logshows an in-app Browser Preview session being created 6 seconds prior:This lines up with what's reported elsewhere in this thread and in openai/codex#34133 — the in-app Browser/screenshot (WebGL/Viz) path as the trigger. The other 3 crashes today had no such correlation nearby in the log (no Browser Preview activity), so a purely user-action-triggered explanation doesn't fully cover the periodicity — still an open question for us too.
3) Confirmed workaround that fully resolved it (so far) on our machine
Native Repair/Reset both failed for us too (same "we couldn't repair/reset this app" as reported above). What worked:
This installs the Win32/Squirrel build (
%LOCALAPPDATA%\AnthropicClaude\claude.exe, Squirrel.Windows layout) instead of the MSIX. Post-switch: noGet-AppxPackageregistration at all (as expected), app launched and ran stable with zero new CodeIntegrity 3033/3010 events. Confirms the earlier comment in this thread that switching away from MSIX "removes the packaged-process signing enforcement entirely."Happy to share full
main.logexcerpts /Get-WinEventdumps if useful for triage.Follow-up datapoints (same machine as my Aug 5 comment; Windows 10 19045):
--disable-webglextends time-to-crash ~100x, but the death path persists. Running with--disable-gpu --disable-webgl --disable-webgl2(GPU child confirmed ind3d11-warp-webgl), the app went crash-free for ~4 days (2026-08-05 15:35 → 2026-08-09 15:57 local) and then died with the identicalexitCode: 101457950on 1.25927.0.0, corrupting the MSIX package again (Modified, NeedsRemediation). Time-to-fatal-GPU-death by configuration on this box:| config | time to fatal GPU death |
| --- | --- |
| stock (hardware accel) | 8–21 min |
|
--disable-gpu(WARP software rendering) | 9–67 min || +
--disable-webgl --disable-webgl2| ~4 days |So the WebGL path dominates the crash rate, but something else in the GPU process still reaches the same fatal exit even with WebGL entirely unavailable.
Nothing notable in
main.logbefore the final death — routine oauth token-refresh lines a few seconds prior (they also preceded one earlier death, but they log frequently enough that this is likely coincidence). Still zero crash artifacts across all six deaths on this machine (nothing in%APPDATA%\Claude\Crashpad, no WER Event 1000) — this failure mode appears to be invisible to telemetry.Now running 1.26832.0.0 with
--disable-gpu --disable-webgl --disable-webgl2 --disable-accelerated-2d-canvas --disable-features=WebGPU; will report back either way.Still present in 1.26832.0.0 (three builds after the reports above), with a 5/5 same-second correlation to the WebGL probe burst
Adding a data point aimed at the two things I could not find already in this thread: whether the regression survives past 1.24012.x, and whether a per-app GPU preference pin avoids it. Both answers are no.
Environment
Claude_pzs8sxrjxfjjc, windows-store), CCD 2.1.222, Node 24.18.0Five fatal crashes in one day, all identical
exitCode: 101457950(0x060C201E), whole app dies, no GPU-process relaunch. In every case thegetInternalformatParameterprobe burst lands inunknown-window.login the same second or one second before the kill inmain.log:| WebGL probe burst |
GPU process gone| Browser preview created ||---|---|---|
| 12:07:14 | 12:07:15 | (earlier in session) |
| 16:04:14 | 16:04:14 | 16:04:08 |
| 18:49:23 | 18:49:23 | 18:49:18 |
| 19:00:25 | 19:00:25 | 19:00:19 |
| 19:10:12 | 19:10:13 | 19:10:07 |
Two correlations worth separating:
getInternalformatParameterburst logged on this machine today killed the GPU process. There were zero survivals.[Preview] Created browser preview→ dead app in 5-6 seconds, 4/4 where a preview open preceded it. One earlier preview (08:55:59) did not crash, so opening the pane is not sufficient on its own — the page has to run the probe.requestAdapter/powerPreferencewarning at 10:45:42 with nogetInternalformatParameterburst did not crash. That may help narrow which call in the probe sequence is the fatal one.Negative result: per-app GPU preference pinning does not help
I pinned the app to the discrete GPU before three of these crashes:
Verified still set at the time of each crash. The 18:49, 19:00 and 19:10 crashes all happened after the pin was applied, with the identical signature. Consistent with this thread's cross-vendor findings, but it rules out one more workaround people are likely to try.
Also ruled out on this machine
[process-memory]one second before the 19:00 crash:tree_rss_sum=2258MB electron(11),sys_free=16384MB/32492MB.dxgkrnl/nvlddmkmevents and zero Event ID 4101 in the System log for the whole day, matching the TdrLevel finding above.reportsdirectory is empty after all five crashes, so there is no minidump to attach — the GPU process goes down without the handler capturing anything.Bug 2 confirmed as well
Immediately after these crashes:
So the package is left needing Repair on the current build too, same as reported for 1.24012.x.
Net effect: on the latest build the in-app Browser/Preview pane is still unusable for any page that fingerprints WebGL, and there is no client-side setting that avoids it — hardware acceleration off, TdrLevel default, and GPU-preference pinning have now all been tested and all fail. The only workaround left is not opening the pane at all, which for agent-driven browser verification means dropping to an external driver instead.
Same crash here on 1.26832.0, four times in two days, all exit code 101457950 (0x060C201E). Adding what I dug out of the logs since a few of these details don't seem to be in the thread yet.
Setup: Dell Vostro 5410, Win 11 Pro 26200, Claude 1.26832.0 (MSIX). NVIDIA MX450 32.0.15.8195 + Intel Iris Xe 32.0.101.7077, both driving a display.
The only constant across all four crashes is requestAdapter()
I assumed at first it was the WebGL probe burst mentioned above. It isn't, that's incidental. What actually preceded each crash:
| crash | storage-access denial | WOFF2 OTS error | WebGL probe burst | requestAdapter() x2 |
|---|---|---|---|---|
| 08-10 09:05:23 | yes | yes | yes | yes |
| 08-10 10:37:12 | yes | yes | yes | yes |
| 08-10 11:18:42 | yes | no | yes | yes |
| 08-12 08:33:10 | no | yes | no | yes |
Everything varies except the WebGPU adapter request. It's always doubled and always lands in the same second as the exit:
Five seconds from opening the pane to a dead app. The site doesn't matter. Three of mine were on one page, the fourth was a different project, different session, different site entirely.
Worth noting the pane can stay open a long time without dying as long as it's hidden. I have 44 of these in one stretch:
33 minutes, no crash. It only goes down once the pane is actually shown and starts compositing.
The GPU process isn't faulting, it's exiting
This one surprised me. There is no crash dump anywhere:
%APPDATA%\Claude\Crashpad\has only settings.dat, no .dmpLocalDumps only fires on unhandled exceptions, so that last one is a result rather than a misconfiguration. Put together with 0x060C201E not being a valid NTSTATUS, this looks like the GPU process being terminated deliberately with a chosen exit code, not crashing on a fault. Electron logging
reason: 'crashed'just means it exited non-zero.So if anyone wants a dump out of this, LocalDumps won't get you one. It needs SilentProcessExit monitoring instead (IFEO
GlobalFlag0x200 plusSilentProcessExit\claude.exewithReportingMode2). I haven't caught one yet.The built-in gpu-recovery can't fire at this crash rate
From app.asar:
It auto-disables hardware acceleration after 3 GPU deaths, but the counter resets after 5 minutes of quiet. My gaps were 92 minutes, 41 minutes, then about 45 hours.
[gpu-recovery]appears nowhere in my logs and it has never once kicked in. That safety net only catches a fast crash loop, which isn't how this bug presents. Widening the window, or persisting the count across sessions, would make it actually catch this.Ruled out on my machine
CoworkVMService lock
Confirming what's already in this issue. The service outlives the app and sits on the package:
It saw the app die and started an idle timer instead of releasing. Held the package for 28 minutes until I stopped it by hand, and every repair attempt in that window failed:
Order that works: close the app,
Stop-Service CoworkVMService -Force, then re-register. Re-registering while the service is still up just reproduces the 0x80073D02.For others in the thread
There is already a hardware acceleration toggle, it's just not obvious. Menu item "Disable Hardware Acceleration", writes
isHardwareAccelerationDisabledinto%APPDATA%\Claude\config.json. I saw a request for this above.Two dead ends, based on what's reported in here and in #82967 / #68049: forcing a single GPU via
UserGpuPreferences(this reproduces on single-GPU desktops and on ARM64, so adapter selection isn't the cause), and driver updates (this issue already covers two driver versions).Follow-up to my comment above. I think I've found why there's never a crash dump, and it isn't machine specific, which would explain why this reproduces identically on such different hardware in this thread.
Chromium's
gpu_driver_bug_list.jsonhas six entries carryingexit_on_context_lost. Five are narrow (Mali-400, PowerVR Rogue, Adreno, ChromeOS). The sixth, entry 17, is not:No hardware conditions at all, so it applies to every Windows Chromium build. That covers every machine in this thread: the RTX 2080 in the OP, the 4070 Ti in #82967, the ARM64 box in #68049, and my hybrid laptop. Confirmed present on mine via
chrome://gpu, which lists it under Problems Detected with that exact description.exit_on_context_lostdoes what it sounds like. On GPU context loss the GPU process exits rather than attempting recovery. That accounts for the entire signature people have been reporting:reason: 'crashed'is just its label for a non-zero exitThe GPU process isn't crashing. It's exiting deliberately, as designed.
That also reverses how I'd been reading the
CONTEXT_LOST_WEBGLline that shows up in these logs. I assumed it was collateral after the GPU process died. More likely it's upstream of it:Those all land in the same logged second so I can't order them on timestamps alone, but that chain is coherent and nothing else I've looked at is.
Scope, to be clear: this explains the severity, not the trigger. What causes the context loss during
requestAdapter()is still open. But it does mean the jump from "context lost" to "entire app and every running session gone" happens because a normally recoverable event is being converted into a process exit, and then nothing respawns the GPU process. Which is the ask already in #82967 — make a GPU process crash recoverable instead of fatal. That part looks fixable on the Electron host side without needing to solve whatever triggers the context loss first.Still reproduces on 1.28929.0.0 — and with a deterministic trigger, not ambient
Adding three things I couldn't find already in this thread: a build newer than any reported so far, a reliable trigger, and a non-hybrid single-GPU data point that bears on the
exit_on_context_lostlead above.Environment
SignatureKind: Developer)Still present two builds past the latest reports here
The most recent reports above are on
1.26832.0. This machine ran1.26832.0until 04:31 local, updated to1.28929.0, and then crashed twice on the new build. Updating did not help.Deterministic trigger: opening the in-app Browser pane
Unlike the ambient 8–21 minute crashes reported above, both crashes here fired within seconds of an explicit Browser-pane open — 2 for 2. From
main.log:Two browser-preview events in the log that day, two GPU crashes, 5 s and 2 s apart respectively. No other preview events and no other GPU crashes.
No ambient crashes on this hardware
The app has since run ~3 hours of continuous heavy use with no Browser-pane call and zero GPU crashes. On this box the pane appears to be the trigger rather than one contributor among several — which may also explain why time-to-crash varies so widely between reporters here: it could be tracking how often each workload happens to hit the pane or an equivalent path, rather than a timer.
Why this may matter for the
exit_on_context_lostleadThe
gpu_driver_bug_list.jsonentry-17 finding posted above predicts hardware independence. This machine is a useful negative control against the hybrid-graphics and DisplayLink correlations in earlier comments: single discrete GPU, single display, no DisplayLink, no integrated GPU in play — and it reproduces identically, same exit code. That is consistent with entry 17 applying with no hardware conditions, and inconsistent with a hybrid-graphics-specific cause.Mitigation in use here
Rather than
--disable-webgl(measured above to delay rather than prevent the fatal exit, at a cost to rendering quality), we block the Browser-pane tool at the agent layer outright, which removes our trigger. That obviously removes the feature too, which is why a real fix matters to us — we would like to use it again.Confirming this bug is still present in 1.28929.0.0 (MSIX, installed 2026-08-12) — Windows 11 Pro 26200, Intel Iris Xe, driver 32.0.101.7088 (June 2026).
3 identical crashes within one night, each one seconds after
[Preview] Created browser previewappears inmain.log, all with the sameexitCode: 101457950(0x060C201E).main.logstops mid-write — the whole app dies with the GPU process. Crashes started the same day the 1.28929 build was auto-installed; no GPU-process crashes on earlier builds.Two data points that may help triage:
"isHardwareAccelerationDisabled": trueinclaude_desktop_config.jsonand verified the renderers were launched with--disable-gpu-compositing— crash #3 happened with that active. So the software path dies the same way as the hardware path.Starting appline was written tomain.log. A Repair attempt failed with0x80073D02: Unable to install because the following apps need to be closed: Claude/ "Packages were not updated because affected apps are still running" — while Task Manager showed no visible Claude process (consistent with the survivingcowork-svc.exenoted in the OP holding the package busy). Killing the leftover package processes unblocks launch without needing a full Repair.Also worth noting: the built-in
gpu-recoverylogic (auto-disable HW accel after ≥3 GPU deaths) can never trigger for this bug, because every single GPU death takes down the whole app — the in-session death counter resets on every restart.Happy to provide full
main.logexcerpts or the AppXDeployment event dumps if useful.Follow-up from my earlier comment, with a decisive data point on the "won't relaunch" state (appxState=2):
**The crash corrupts the package registration state, not the package files. We verified every file in the package directory was byte-identical to the original MSIX contents (SHA256, no stray files). The very next GPU crash (same exitCode 0x060C201E) still left the package in
Modified, NeedsRemediationstatus (Get-AppxPackage ... | % Status) with zero** package processes alive.While the package is in that state:
Add-AppxPackage -Register <manifest> -ForceApplicationShutdown(elevated, with the CoworkVMService stopped first) completes without error — but activation remains blocked, and theModified, NeedsRemediationstatus persists.RepairPackageOperation, which re-downloads the entire ~130 MB MSIX) clears the flag and lets the app activate again.Across 6 crash/recovery cycles measured today, recovery consistently took 10–23 minutes per crash, dominated by the forced re-download. On metered connections this is painful: 5 crashes in one day ≈ 650 MB of re-downloads just to keep using the app.
So beyond the GPU crash itself, there appear to be two distinct bugs worth splitting: (1) the WebGL-probe GPU crash taking down the host, and (2) the crash leaving the MSIX registration in
NeedsRemediationso that nothing short of a full re-download restores launchability.Still reproduces on desktop app 1.30096.1.0, Windows 11 Home 26220. Two crashes this evening, both within 3 seconds of a URL opening in the internal browser preview.
main.log:
The window log in that same second shows the probe signature OP described: two "The powerPreference option is currently ignored when calling requestAdapter()" warnings, then "A valid external Instance reference no longer exists" and "WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost". The whole app died with the GPU process. The previewed page was running sign-in and fingerprinting probes (FedCM/GSI errors logged right before the crash).
Earlier crash the same evening at 21:55:21 with the identical signature. Crashpad wrote a 35 MB dump for the 23:07 crash, can attach on request. The MSIX package went to Modified/NeedsRemediation after the crash, same as OP. GPUs on this machine: RTX 5070 Ti, AMD integrated, plus a Meta Virtual Monitor adapter from Quest Link.
Additional diagnostic data for this issue, from a machine reproducing the same
0x060C201EGPU-process death and the same unlaunchable-package aftermath. Five crashes over two days, two full reinstalls.Three of the findings below are not in this issue or in the related ones, and one of them contradicts the explanation currently carried by openai/codex#34133 — so it seemed worth writing up in full rather than a "+1".
---
Summary
Opening the Claude Code Browser pane kills Claude Desktop on Windows. The GPU
process dies with
exitCode: 101457950(0x060C201E), and Windows Code Integritylogs Event 3033 for the bundled
vk_swiftshader.dllat the same second. After thecrash the MSIX package is left unlaunchable and only a reinstall recovers it — until
the Browser pane is used again.
Reproduced 5 times over 2 days. Two full reinstalls; the crash returns each time.
The bundled DLL is correctly embedded-signed by Anthropic, PBC with a valid EV
certificate. It is rejected anyway, because the GPU child process demands the
Microsoft signing level. This is not a signing defect on Anthropic's side and
cannot be fixed by signing differently.
Environment
| | |
|---|---|
| Claude Desktop | 1.30096.5.0 (MSIX,
Claude_pzs8sxrjxfjjc) || Claude Code | 2.1.233 |
| Windows | 11 Home, build 26200 |
| GPU | AMD Radeon(TM) Graphics, driver 31.0.21921.13001 (2025-07-07) |
| Second adapter | VITURE Virtual Display Adapter 13.28.23.205 |
| RAM | 13.8 GB |
| Chrome (for comparison) | 151.0.7922.138 |
Reproduction
preview_startalone is sufficient.Evidence
GPU process deaths (
%APPDATA%\Claude\logs\main.log)101457950=0x060C201E, the same code as #80444.Code Integrity Event 3033, same timestamps
2026-08-16 07:32:54and07:55:55— exact match with the GPU deaths above.Event 3033 over 7 days, by file:
---
Three findings not present in the existing reports
1. A screenshot is not required. Opening the browser pane is enough.
#81664 and openai/codex#34133 both attribute the crash to screenshot capture
(
Page.captureScreenshot). That is not the full trigger.The
2026-08-16 07:55:55crash was produced bypreview_startfollowed byresize_window(1440x900) and nothing else — no screenshot was taken in thatsession. Avoiding screenshots is therefore not a viable user-side mitigation, and
the mitigation currently suggested in #81664 does not hold.
2. The bundled DLL is embedded-signed by Anthropic. The catalog-signature explanation does not apply here.
openai/codex#34133 explains the failure as: the DLL "lacks an embedded Authenticode
signature" and only "verifies against the MSIX package catalog", which the child
policy does not recognise.
On Claude Desktop that is not the case:
The signature is embedded and valid. It is rejected because the GPU child process runs
under
MicrosoftSignedOnly=ON/AllowStoreSignedBinaries=OFF, and anAnthropic-signed binary is not Microsoft-signed at that level, however valid it is.
The practical consequence: this cannot be resolved by signing the DLL differently.
Any third-party-signed DLL loaded into that process is rejected by construction. The
fix has to be in how the GPU process handles the SwiftShader load.
For comparison,
C:\Windows\System32\vulkan-1.dllisCN=Microsoft Windowsand loadswithout an event; Chrome's own copies are
CN=Google LLCand produce 3033 as well.3. No Vulkan ICD is registered on this machine, so the SwiftShader fallback is deterministic rather than occasional.
Independently corroborated: a Playwright-driven Chromium on the same machine logs
No available adapters.With no hardware Vulkan ICD, Chromium always falls back to SwiftShader — and that
fallback path is exactly the one Code Integrity blocks. The safety net is the thing
that is unreachable, which is why this machine reproduces the crash every time
rather than intermittently.
This may explain why the issue looks vendor-agnostic across #81664 (Intel UHD),
#83028 and #83478: the common factor is likely "no usable Vulkan ICD", not a
particular GPU vendor.
---
Ruled out — please do not triage as a user security-configuration problem
All measured on the affected machine:
| Setting | Value | Relevance |
|---|---|---|
| Smart App Control |
VerifiedAndReputablePolicyState = 0| OFF. Not involved || User-mode WDAC |
UsermodeCodeIntegrityPolicyEnforcementStatus = 0| Not enforced. Not involved || Memory Integrity (HVCI) |
SecurityServicesRunning = 2,Enabled = 1| Running, but kernel-mode only. These are user-mode DLLs || Developer Mode |
AllowDevelopmentWithoutDevLicense = 1| Already ON |Disabling Memory Integrity does not fix this and only weakens the machine. The
restriction is applied by Chromium to its own child process via
SetProcessMitigationPolicy, not by any Windows security policy the user controls.Chrome does not crash
Chrome 151.0.7922.138 on the same machine logs Event 3033 for its own
vk_swiftshader.dllandvulkan-1.dlland keeps running. The fatality is specificto the packaged Claude Desktop path, which corroborates the unconditional
SwiftShader preload during GPU sandbox initialisation as the failure point.
Suggested fix
Chromium already has this: commit
963206a961a7992b048d07f756f87f11fa2e5420—*"only preload SwiftShader during GPU sandbox initialization when that load is
allowed, and otherwise use the Windows fallback path."*
Claude Desktop 1.30096.5.0 does not have it. Upgrading 1.30096.1.0 -> 1.30096.5.0
changed nothing.
Requests, in order of usefulness:
degrades instead of killing the GPU process and the app shell.
the MSIX package unlaunchable. Requiring a reinstall to recover from a rendering
fallback is disproportionate.
requested in #77857. There is currently no supported user-side mitigation:
Invoke-CommandInDesktopPackagerequires an elevated session (fails with0x800704C7otherwise), and launching the packaged.exedirectly is documentedas breaking the app's disk cache. Chrome, VS Code and Discord all expose this.
Related
0x060C201E, MSIX left unlaunchableOne week of MTBF data on the
--disable-webglworkaround, plus an operational hazard for anyone using it (same machine as my earlier comments; Win10 19045):Time-to-fatal-GPU-death (
exitCode 101457950) by configuration, now across 12 days:| config | time to fatal death |
| --- | --- |
| stock (hardware accel) | 8–21 min |
|
--disable-gpu(WARP) | 9–67 min || +
--disable-webgl --disable-webgl2(+ later--disable-accelerated-2d-canvas --disable-features=WebGPU) | ~1–6 days per instance; 3 fatal deaths over the last 7 days (Aug 9, 10, 16) |Versions involved: 1.25927 → 1.26832 → 1.28929 → 1.30096.5 (auto-updates); the death reproduces on every one of them. The Aug 16 death (1.30096.x, flags active) came during an active session — last log lines before it were
[gitDiff] fetchGitDiff timingand oauth token refresh. Consistent with others' reports here that in-app browser/preview/session activity is the trigger surface; the flags shrink the crash rate ~500x but can't remove it.Operational hazard with the flag workaround: the auto-updater relaunches the app WITHOUT your flags. Three updates arrived in six days, each one restarting the app in stock (hardware-accel) configuration — which on this machine is minutes from a crash-and-package-corruption. If you're using the
--disable-webglworkaround, you need automation that detects unflagged relaunches and swaps them, or every update silently puts you back in the 10-minute crash regime.Still zero crash artifacts across all deaths (no Crashpad reports, no WER Event 1000).
Recovery note echoing @saymonsh's finding: the package corruption is registration state, not files — full
Remove-AppxPackage+ reinstall remains the only reliable recovery on Win10 (noReset-AppxPackage), and it needs the app's zombie processes killed first or servicing fails with0x80073D02and re-wedges.Precise trigger-to-death timing from tonight, on 1.30096.5.0 with ALL GPU features disabled (
--disable-gpu --disable-webgl --disable-webgl2 --disable-accelerated-2d-canvas --disable-features=WebGPU, GPU child in WARP):Browser preview creation → fatal GPU death in 59 seconds, in full software rendering. The previous instance died the same way minutes after
Created browser previewat 22:06:17. This confirms the browser-preview trigger reported above holds even with WebGL/WebGPU/canvas acceleration all unavailable.One aggravation worth flagging for the fix: session restore recreates the browser preview on relaunch, so after a crash the app comes back, restores the session, recreates the preview, and dies again within minutes — a crash loop for anyone actively using a session with a preview open. Tonight that produced two fatal deaths and two package corruptions inside 11 minutes on a machine with the workaround flags active.
Additional data point: still reproducing on 1.30096.5, triggered without opening the Browser tab, and Repair no longer recovers the package
Adding evidence from a separate machine. Same exit code (
0x060C201E/101457950), same preview-tab vector, but three findings that differ from the original report.Environment
| | |
|---|---|
| App version | 1.30096.5 (MSIX,
windowsStore=true) || CCD | 2.1.229 |
| Node | 24.18.0 |
| Platform | win32 x64, Windows 11 |
| RAM | 32 GB (~20 GB free throughout) |
1. Still present on 1.30096.5
The original report is against 1.24012.1. This is 1.30096.5 — the regression has survived several releases. Five fatal crashes in ~17 hours, every one ending:
Identical exit code on every occurrence.
2. The trigger fires without the user opening the Browser tab
This is the part that matters for reproduction. The crash correlates 5/5 with a session preview context being created — and in this case the app was creating them itself, restoring the preview attached to the last active local session. The user was not clicking into the preview pane.
| App start |
[Preview] Created session preview context|GPU process gone| Δ ||---|---|---|---|
| 14:33:41 | 14:35:33 | 14:36:01 | 28s |
| 14:42:55 | 14:45:40 | 14:45:46 | 6s |
| 15:27:48 | 15:31:40 | 15:32:06 | 26s |
| 06:51:10 | 06:55:27 | 06:55:32 | 5s |
| 06:57:21 | 07:00:55 | 07:01:00 | 5s |
No preview context created → no crash. Perfect correlation, zero exceptions across five runs.
The final crash logs the preview being constructed automatically for a restored session:
Renderer log at the same timestamps:
So the sequence is: preview context created → WebGPU adapter requested → GPU process dies → app dies. The user has no opportunity to avoid this, since it happens during session restore on launch. "Don't open the Browser tab" is not an available workaround when the app opens it for you.
Worth noting the preview target was a dev server that wasn't running (
navigatePreview failed, followed by nine[PreviewContext] Load failedretries andMax retries reached). The GPU crash happens on the failing preview path too — a live page isn't required.Ruled out: memory (~1.6 GB tree RSS against ~20 GB free at every crash), MCP servers (10 loaded in 298 ms,
mcp.logempty, crashes reproduce withclaude_desktop_config.jsonrenamed away), and prior package corruption (first crash occurred on a healthy install).3. Settings → Repair no longer recovers the package
The original report lists Repair as the fix. On this machine it fails outright.
After each crash,
Get-AppxPackagereports:and the app cannot launch at all —
Invoke-CommandInDesktopPackagefails with0x80073CFC, so the documented--disable-gpuworkaround is unreachable once you've crashed even once. What was tried, in order:Add-AppxPackage -Register ...\AppxManifest.xml -DisableDevelopmentMode -ForceApplicationShutdown— completes without error, butModified, NeedsRemediationpersists. Re-registration doesn't clear the integrity flag.Status: Ok.So on 1.30096.5 the recovery cost is a full reinstall and re-login per crash, not a Repair click.
Impact
A user who hits this sees: app dies after 3–5 minutes → won't reopen → Repair button fails → no path forward without PowerShell diagnostics to discover the package is flagged
Modified. Nothing surfaces the cause. The reasonable conclusion for a non-technical user is that their computer is broken. This one took a multi-hour log investigation to attribute, and the user's first instinct was that something was wrong with their PC.The crash-corrupts-its-own-package loop is what makes it severe: reinstalling restores the app, then session restore recreates the preview, and you're back to square one.
What actually stopped it
Deleting the local sessions that had preview contexts attached. After that: app stable well past the 3–5 minute window, live log shows zero
preview contextand zeroGPU process goneentries, GPU process alive and healthy.That's a workaround, not a fix — it costs the user their session history, and nothing tells them to do it.
Suggested fixes, roughly in priority order
render-process-gone/child-process-goneon the GPU service should be recoverable — tear down the preview and continue, rather than a hard exit. This alone would downgrade the bug from fatal to cosmetic.requestAdapter()path is where it dies. Consider software compositing for preview surfaces.Modified. An unclean exit shouldn't fail package integrity. This is arguably the more serious of the two bugs, since it's what makes the crash unrecoverable.--disable-gpu, and after the first crash even the unsupported invocation stops working.Happy to supply full
main.log,unknown-window.log, andclaude.ai-web.logif useful — identifiers scrubbed.Same-machine A/B across two GPU vendors: the crash follows the app, not the GPU
Adding one test I could not find in this thread or the related ones: a hybrid laptop where the app was moved between two different-vendor GPUs on the same machine, with nothing else changed. Same exit code either way.
Environment
| | |
|---|---|
| App | 1.28929.0.0 (MSIX,
Claude_pzs8sxrjxfjjc,SignatureKind: Developer) || OS | Windows 11 Home 26200 |
| Machine | ASUS ROG Strix G513QE, Ryzen 7 5800H, 32 GB |
| GPUs | AMD Radeon (Cezanne iGPU, driver
30.0.13002.19003/ 2022-09-28) and NVIDIA RTX 3050 Ti (32.0.15.9649/ 2026-05-05) |1. Vendor swap on one machine changes nothing
This thread already has cross-machine evidence that the bug is not driver-specific (NVIDIA on two drivers, Intel Iris Xe, a single-discrete-GPU desktop). This is the within-machine version of that test, which removes the remaining confound.
The app was forced onto the discrete NVIDIA GPU with the Windows per-app preference:
Confirmed actually in effect rather than merely configured.
nvidia-smilisted the Electron GPU child on the RTX 3050 Ti, and the per-process counter showed dedicated VRAM in use, which the iGPU does not have:Crashes continued with the identical
exitCode: 101457950. Two vendors, two driver stacks, one machine, one exit code. Together with the WARP / full-software-rendering death reported earlier in this thread, the GPU path looks incidental rather than causal.2. Trigger timing across 6 crashes
| crash (local) |
[Preview] Created browser preview| delta ||---|---|---|
| 2026-08-13 03:44:00 | 03:43:54 | 6 s |
| 2026-08-13 08:37:59 | 08:37:55 | 4 s |
| 2026-08-13 08:53:56 | 08:53:50 | 6 s |
| 2026-08-15 23:18:29 | 23:18:22 | 7 s |
| 2026-08-16 21:20:38 | 21:19:41 | 57 s |
| 2026-08-15 23:16:29 | none in the preceding 20 min | n/a |
5 of 6 follow preview creation within seconds. The sixth had no preview creation before it, consistent with the report above that this can fire without the Browser tab being opened.
Memory was not a factor. Two seconds before the last death:
tree_rss_sum=3578MB,sys_free=13251MB/32159MB.After that crash,
main.logrecords no successfulStarting appuntil after a full OS reboot, matching the "will not relaunch" behaviour described in this thread.3. Code Integrity events are a symptom, and are often absent entirely
Recording this because a third-party diagnosis of this crash keeps circulating, blaming a missing
AppxMetadata\CodeIntegrity.catand a "blocked"vk_swiftshader.dll:Microsoft-Windows-CodeIntegrity/Operationalrecorded zero Claude-related events over the last two days while the crashes continued, so they are not even a reliable correlate.0xC000003A(path not found), and this package has noAppxMetadatadirectory at all. It shipsmicrosoft.system.package.metadata, so that catalog is expected to be absent.Bonjour\mdnsNSP.dll) with no ill effect.HKLM\SYSTEM\CurrentControlSet\Control\CI\Policyhas noVerifiedAndReputablePolicyState).Same conclusion as the analysis already in this thread; adding the measurements since the code-integrity explanation keeps resurfacing.
Same signature here — adding a dataset spanning three app versions, which suggests the bug survives updates.
Environment
Crash log (from
%APPDATA%\Claude\logs\main.log, local time UTC-3):| Date | Time | Reason | Exit code | App version |
|---|---|---|---|---|
| 2026-07-25 | 19:56:57 | crashed | 101457950 | 1.24012.9 |
| 2026-07-26 | 17:28:11 | crashed | 101457950 | 1.24012.9 |
| 2026-07-27 | 15:52:57 | crashed | 101457950 | 1.24012.9 |
| 2026-08-05 | 00:49:02 | crashed | 101457950 | 1.24012.9 |
| 2026-08-11 | 22:44:51 | crashed | 34 | 1.28929.0 |
| 2026-08-17 | 15:51:11 | crashed | 101457950 | 1.30096.5 |
All
101457950=0x060C201E,GPU process gone: reason crashed.State at the 2026-08-17 crash: ~22 Electron processes, ~4 GB aggregate RSS, 6 visible Preview/Browser contexts open, ~15 GB system RAM free.
Ruled out on this machine:
nvlddmkm/ TDR 4101 events in the Windows System log over 90 days.Secondary failure worth flagging: after the GPU crash, the packaged
CoworkVMService(cowork-svc.exe) survives and keeps the MSIX payload locked, so automatic AppX remediation fails (0x80073D02, and an in-place reinstall fails with0x80070020) and the package gets stuck inModified, NeedsRemediation— the app then won't launch at all ("There's a problem with Claude"). Workaround: stopCoworkVMService, kill leftover WindowsAppsclaude.exe/chrome-native-host.exe, then run the signedClaude Setup.exein place. If the crash itself can't be fixed soon, having the service release its lock (or the remediation use forced shutdown) would at least keep the app relaunchable after a crash.Still reproducing on 1.32352.0.0 — plus two behaviours that differ from the reports above
Adding a data point on a build newer than any reported in this thread, on an older Windows branch than any reported, with two departures from the established pattern: the app hangs rather than dying instantly, and package corruption is not deterministic per crash.
Environment
| | |
|---|---|
| Claude Desktop | 1.32352.0.0 (MSIX
Claude_pzs8sxrjxfjjc,SignatureKind: Developer) || OS | Windows 11 Pro 22631.6199 (23H2) |
| GPU | Single NVIDIA GeForce RTX 4090, driver 32.0.16.1074 (2026-07-01) |
| RAM | 64 GB, >40 GB free at every crash |
1. Still present on 1.32352.0.0
The newest build reported above is 1.30096.5. Four fatal
exitCode: 101457950(0x060C201E) deaths on 1.32352.0.0 inside 34 minutes, plus two earlier on 1.24012.x (2026-07-25). The regression has now survived at least eight releases.Also worth noting: every report above is on Windows 11 build 26200/26220. This machine is on 23H2 (22631), so the bug is not confined to the 26xxx branch.
2. Browser-pane trigger confirmed, but not 100% per open
Five
[Preview] Created browser previewevents, four fatal:| Browser preview created |
GPU process gone| Δ ||---|---|---|
| 23:55:04 | 23:55:09 | 5s |
| 00:00:20 | 00:00:23 | 3s |
| 00:12:15 | — | survived |
| 00:15:16 | 00:15:20 | 4s |
| 00:29:03 | 00:29:06 | 3s |
[Preview] Created session preview contexton its own is benign here — it appears several times in the log without a death. Only the pairedCreated browser previewkills it.3. The app HANGS rather than dying with the GPU process
This is the main departure from the reports above, which describe
main.logstopping mid-write and the app dying instantly.On this machine the process survives the GPU death, but the window stops compositing and Windows kills it as a hang ~90s later:
Application Hang, Event ID 1002: 5 occurrences in 30 daysApplication Error, Event ID 1000: 0 — Windows never sees a crashStarting appgaps: 2m01s, 1m34s, 2m18s, 1m29s — consistent with hang-detect-and-kill, not instant deathEvent 1002 doesn't appear anywhere in this thread. If others are seeing "the app froze and Windows offered to close it" rather than a clean disappearance, that's the same bug presenting differently, and it means
Get-WinEvent -Id 1002is a better detector than Crashpad or Event 1000 — both of which are empty here, consistent with @lacique77'sexit_on_context_lostexplanation above.4. Package corruption is NOT deterministic
Reports above describe every crash leaving the MSIX in
Modified, NeedsRemediation. Here, two of the four crashes required a Repair and two did not. After the last two deathsGet-AppxPackage *Claude* | % Statusstill returnsOkand the app relaunches normally.So the GPU death and the package-state corruption look like separable failures — which supports splitting them into two issues, as suggested above.
5. Corroborating:
isHardwareAccelerationDisableddoes not prevent itConfirming @saymonsh's finding. I set
"isHardwareAccelerationDisabled": trueand verified it was actually in force rather than merely configured:GPU child in WARP software rendering, renderers with
--disable-gpu. Config written 00:24:40, app restarted 00:27:37, fatal death at 00:29:06 — with the setting live. Software rendering did not save it.6. Crash 4 had no
requestAdapter()pair — the one signature that variedThe first three deaths carry the signature described above, in
unknown-window.log, in the same second as the kill:The doubled
requestAdapter()matches @lacique77's observation exactly — 3/4 here.But the fourth death has no
requestAdapter()at all. The only line in that second is:That fourth crash is also the one that ran with hardware acceleration disabled. So with WebGPU adapter acquisition off the table, the process still reached the identical exit code by a path that leaves only the lost-instance warning. Consistent with @aihunt-ttg's finding that the flag workaround shrinks the rate ~500x without removing the death — whatever is losing the context isn't only the adapter probe.
Ruled out on this machine
GPUCache/DawnGraphiteCache/DawnWebGPUCache: crashed again 5 minutes laterHappy to supply full logs.
Thanks to everyone who's added data since my Aug 5 comment. This thread has done more real diagnosis in two weeks than most bug reports see in a year. Here's where I think we've landed.
The trigger is the browser/preview path, and you can't reliably avoid it. HarvestEdge and others show it firing within seconds of opening the Browser pane. Turkokami showed the app triggers it by itself when it restores a preview context on launch. aihunt-ttg showed session restore recreates the preview after each crash, so it loops. "Just don't open the browser tab" is not a workaround when the app opens it for you.
It's not the GPU, the drivers, or your machine. yonig15 moved the app between an AMD iGPU and an NVIDIA dGPU on the same laptop and got the identical crash both ways. HarvestEdge reproduced it on a single discrete GPU with no hybrid graphics. aihunt-ttg and jrclaborn-arch both died in verified WARP software rendering. saymonsh confirmed the hardware acceleration setting doesn't save you. My AMD datapoint plus the NVIDIA, Intel, and Qualcomm reports were already pointing this way. The same-machine A/B settles it: the crash follows the app.
The GPU process isn't crashing, it's exiting on purpose. lacique77 traced why there's never a dump: 0x060C201E isn't a valid NTSTATUS, LocalDumps never fires, Event 1000 is empty. Chromium's exit_on_context_lost (gpu_driver_bug_list entry 17, applies to all of Windows) turns a recoverable context loss into a deliberate process exit. botarhythm showed one concrete way the context gets lost: the GPU child runs MicrosoftSignedOnly, so Code Integrity refuses the bundled vk_swiftshader.dll even though it's validly signed. Per yonig15 the CI events are absent on some machines, and jrclaborn-arch had one death with no requestAdapter at all, so that's one road into the context loss, not the only one. The fatal part is the same either way: context lost, process exits by design, nothing respawns it, whole app goes down.
The aftermath looks like a second bug. saymonsh proved the package files stay byte-identical after a crash; it's the MSIX registration state that gets flagged Modified. Sometimes Repair fixes it, sometimes Repair fails outright and only a full reinstall works (Turkokami). olegpars and lacique77 showed CoworkVMService holds the package lock, so remediation fails until you stop the service and kill the leftover processes by hand. jrclaborn-arch found the corruption isn't even deterministic per crash. This half deserves its own issue, as suggested above.
Current workarounds and their traps:
What we need from Anthropic, in priority order:
Still reproducing on 1.32352.0.0 as of yesterday. That's at least eight releases carrying this, seventeen substantive comments, a growing duplicate cluster (#81664, #81698, #81836, #82967, #83028, #83478), and no label, assignee, or response since this was opened on July 23. The diagnosis is done. Somebody from the team needs to pick this up.
Still reproducing on 1.32885.1 - plus a public repro URL and a clean WebGPU isolation
Adding a dataset on a build newer than any reported here, with two things I think are new to the thread: a named public URL that triggers it on demand, and negative evidence from a 3.5-month renderer log that isolates the
requestAdapter()road into the context loss.I'm not re-litigating what's already settled above. @pylonsolus's synthesis matches everything I see: it follows the app not the hardware, the GPU child exits deliberately rather than crashing, and nothing respawns it.
Environment
| | |
|---|---|
| App | 1.32885.1 (MSIX, WindowsApps) |
| OS | Windows 11 Home 10.0.26200.9168 |
| GPU | NVIDIA RTX 4070 Ti SUPER, driver 32.0.15.9636 |
| Times below | local, UTC-4 |
The trigger is reproducible on a public URL
Every crash here happened while the in-app Browser loaded
mobygames.com, specifically its Cloudflare Turnstile interstitial ("Checking if the site connection is secure"). It reproduces whether the browser is driven by me or by the agent, and it fires while the challenge is still spinning, before any interaction.Four crashes in 12 minutes, all identical:
| # | Time | Exit code |
|---|---|---|
| 1 | 22:08:56 | 101457950 (0x060C201E) |
| 2 | 22:14:33 | 101457950 |
| 3 | 22:19:14 | 101457950 |
| 4 | 22:20:58 | 101457950 |
Turnstile was already named upthread as one trigger. What I can add is a stable public page that carries it, which may save whoever picks this up from having to reproduce it against a login flow.
Negative evidence isolating the WebGPU path
This is the part I think is genuinely new. My renderer log (
unknown-window.log) is unrotated and continuous from 2026-05-07 to now. Across that entire span it contains exactly 8 occurrences of:Two per crash, at all four crash timestamps, and zero anywhere else in 3.5 months.
So on this machine WebGPU has been requested exactly four times in the app's entire logged history, and the GPU process died within one second on all four. That doesn't contradict @jrclaborn-arch's death with no
requestAdapterat all - it supports the "one road in, not the only one" reading, and it bounds this road tightly: whererequestAdapter()appears, the hit rate here is 4/4.A log signal I haven't seen mentioned
In the main-process log, each crash is preceded by ~1 second by this, and this line also occurs exactly 4 times ever, at those four moments and nowhere else:
I can't tell whether that's part of the mechanism or just the same fingerprinting burst hitting a blocked endpoint on its way past. Flagging it because the "exactly 4, always ~1s before, never otherwise" pattern is hard to write off as noise, and it may be a cheap marker for the team to grep against.
Aftermath: Repair required 4/4 here
Package flagged Modified and unlaunchable after every crash, four for four. That's the deterministic end of the range, against @jrclaborn-arch's finding that it isn't deterministic per crash, so the variance is real and it isn't purely per-crash-count. Consistent with @saymonsh: it's the registration state, not the files.
One caveat on my own data, so nobody over-reads it
1.32885.1 installed at 21:09 and all four crashes came after it, but I can't offer that as a regression signal, because the triggering page had never been visited before either. Both variables changed within two hours. The build number is a fresh "still broken on this release" data point and nothing more.
Consistent with, not adding to
No Windows TDR or Display events, no Application error event,
Crashpad\reportsempty - matching @lacique77's finding that 0x060C201E isn't a valid NTSTATUS so LocalDumps never fires.My box also has a messy adapter lineup (integrated AMD in
Status: Error, plus two virtual display adapters). I initially suspected it, then found @yonig15's same-machine iGPU/dGPU A/B upthread, which rules it out as the cause. Recording it only in case adapter enumeration turns out to matter for how often it fires.Nothing here changes the asks in the synthesis above. Item 1 - make a GPU-process death recoverable - would turn this from "lost my in-flight sessions and reinstalled the app" into a flicker, and it's still the one that matters.
Follow-up:
--disable-gpudid not prevent the crash here, and the death had no WebGPU in itFollowing my comment earlier tonight, I ran the software-rendering workaround and reproduced the crash anyway. Posting because it cuts against the current workaround guidance, and because it puts a second trigger on the board.
The flag was verifiably on
and the GPU child confirmed on WARP, not the card:
Same environment as before: 1.32885.1, MSIX, Windows 11 26200.9168, RTX 4070 Ti SUPER.
It crashed anyway, in 3 minutes, with the same exit code
0x060C201E, identical to the four hardware-mode crashes earlier.The signature was completely different
My earlier four crashes each carried the Turnstile fingerprint burst: two
requestAdapter()warnings, a WOFF/OTS font error, and the%c%d font-size:0;color:transparentconsole-probe lines. None of that appears for this one. The renderer log still shows exactly 8requestAdapter()warnings total across its entire 2026-05-07-to-now span, all belonging to the earlier four. This crash added zero.What it died on instead, one second earlier:
That's the app constructing the browser pane, before the page rendered anything. The user never saw the Turnstile interstitial at all this time. Same destination URL, but it died on the way to the door rather than at it.
This corroborates @jrclaborn-arch's death with no
requestAdapterand supports @pylonsolus's "one road into the context loss, not the only one". I'd sharpen it: the preview-context path is a trigger in its own right, and it is upstream of the fingerprinting, so software rendering never gets a chance to help.The workaround erases itself at the worst moment
New detail I haven't seen stated in the thread: it isn't only auto-updates that strip your flags. A crash does too. The app's own restart comes back on the default command line:
So the protection is gone from the moment it first fails, and the next crash is unprotected unless you notice and relaunch by hand. Combined with @aihunt-ttg's three-updates-in-six-days measurement, the practical lifetime of the flag is "until something goes wrong", which is the exact window it exists to cover.
I'd suggest amending the workaround list:
--disable-gpulooks like a frequency reducer for the WebGPU road specifically, not protection, and it is self-erasing.Correcting my own earlier data point
I reported package corruption at 4 for 4 requiring Repair. This fifth crash relaunched clean with no Repair needed, so it's 4 of 5 here. @jrclaborn-arch's non-determinism finding holds and mine was just a short run.
Environment note for anyone comparing
Adapter enumeration on this box sees four displays (RTX 4070 Ti SUPER, an integrated AMD in
Status: Error, and two virtual display adapters). Given @yonig15's same-machine iGPU/dGPU A/B I don't think that's causal, and this latest crash never reached adapter enumeration at all. Recording it only so nobody has to ask.Trigger-to-death has tightened to 1–2 seconds on 1.32885.1.0 (arrived via auto-update overnight; same machine as my earlier comments, all GPU-feature flags still active, GPU child in WARP):
For comparison it was 59 s from preview creation to death on 1.30096.5 four days ago. Both of today's deaths wedged the MSIX package (
Modified, NeedsRemediation) again.Correlation summary for this machine over the last two weeks: the last four fatal deaths (Aug 16 x2, Aug 20 x2) each followed
[Preview] Created browser previewby 1 s – 6 min, and the intervening ~4 days in which no preview was opened were completely crash-free. Avoiding the in-app browser preview is currently a 100%-effective workaround here; using it is a near-instant kill on the current build.Follow-up to my 2026-08-15 comment, from the same machine, now on 1.32885.1.0 — the build @bobnorbob and @aihunt-ttg are reporting on. Four things: the mechanism still holds on this build, a falsifiable check for @bobnorbob's
--disable-gpuresult, a precise answer to @Turkokami's "3033 is a symptom" objection, and two corrections to my own earlier claims.1. Same-second 3033 correlation is now 7/7 in both directions, across two builds
Every
GPU process goneinmain.logover 14 days, against everyMicrosoft-Windows-CodeIntegrity/OperationalEvent 3033 where the process isclaude.exeand the file is the bundledapp\vk_swiftshader.dll:| GPU death | Event 3033 | Δ | Build |
|---|---|---|---|
| 2026-08-15 11:22:26 | 11:22:25 | 1 s | 1.30096.5.0 |
| 2026-08-15 12:31:48 | 12:31:47 | 1 s | 1.30096.5.0 |
| 2026-08-15 12:40:02 | 12:40:02 | 0 s | 1.30096.5.0 |
| 2026-08-16 07:32:54 | 07:32:54 | 0 s | 1.30096.5.0 |
| 2026-08-16 07:55:55 | 07:55:55 | 0 s | 1.30096.5.0 |
| 2026-08-19 14:44:49 | 14:44:49 | 0 s | 1.32885.1.0 |
| 2026-08-19 14:50:12 | 14:50:12 | 0 s | 1.32885.1.0 |
7 deaths, 7 events, no unmatched entry on either side. The message is verbatim identical on the new build, with the new package path:
2. @bobnorbob — why
--disable-gpucan't cover this path, and a check that would settle itYour crash had no
requestAdapter()in it and died one second after[Preview] Created session preview context, before the page rendered. That is exactly where the 3033 block lands here: GPU sandbox initialisation, upstream of any page content.--disable-gpumoves ANGLE onto WARP, but in pre-fix Chromium the SwiftShader preload during sandbox init is unconditional — it happens whatever the rendering backend is. So the flag has nothing to bite on for this road, which matches your result exactly.Concrete check, if you still have the box: open Event Viewer →
Microsoft-Windows-CodeIntegrity/Operational, filter Event ID 3033, and look at 2026-08-18 23:27:42. If there's avk_swiftshader.dllentry forclaude.exeon that second, your "second trigger" and the WebGPU-probe trigger are the same failure point reached by two routes, and the workaround list can be corrected once rather than twice.On amending that list: the flag the mechanism predicts is
--disable-features=Vulkan(optionally with--use-angle=d3d11), because what's blocked is the Vulkan/SwiftShader load, not the rendering backend. I have not verified this against a crash — I have no controlled A/B, only the mechanism — so please don't take it as a confirmed workaround. And it's academic for most people anyway: on MSIX, passing flags needsInvoke-CommandInDesktopPackagefrom an elevated session, and it self-erases (see §4). The only mitigation in this thread with positive evidence behind it is still switching off MSIX to the Squirrel build.3. @Turkokami — the discriminator is which process and which file, not that a 3033 fired
Your objection is fair on its own terms and I don't think the two datasets conflict. Two clarifications on mine:
chrome.exein the same 14 days (vulkan-1.dll,vk_swiftshader.dll) with Chrome staying up throughout. Only 7 nameclaude.exe, and all 7 are the table above. Unfiltered event counts will show noise;claude.exe+app\vk_swiftshader.dllis the signal.But your machine crashes with no 3033 at all, so this cannot be the only path to the death, and I shouldn't have implied otherwise. Treat it as: on machines with no usable Vulkan ICD, the blocked SwiftShader preload is a deterministic road in; it isn't the whole map.
4. Confirming @bobnorbob's self-erasing-flags finding, and it's sharper than described
Independent confirmation, plus the cost of it in one sequence:
The restart at 14:47:30 came back with no flags, and the next crash arrived 16 seconds after the next preview. Checked again a day later —
Win32_Processstill shows the bare line:So the protection is gone from the first failure onward and never comes back on its own. Agreed with your framing: this is a frequency reducer that deletes itself at the exact moment it's needed.
5. Two corrections to my own 2026-08-15 comment
Starting appat 14:47:30 and 14:53:23), andGet-AppxPackage -Name ClaudereportsStatus : Oktoday. Was 5/5 wedges here, now 0/2. Same correction @jrclaborn-arch and @bobnorbob made — the wedge is real but not deterministic.That last point is the one I'd ask triage to weigh: "reproduces instantly" and "doesn't reproduce at all" are currently both true of 1.32885.1.0 on different machines, so a build that looks fine on a test box says nothing about the fleet. The two requests from my earlier comment stand unchanged — pick up the Chromium fix so a blocked SwiftShader load degrades instead of killing the process, and don't let a GPU-process death take the app shell with it.
<sub>Windows 11 Home 26200.9168 · AMD Radeon(TM) Graphics 31.0.21921.13001 · no Vulkan ICD registered · Smart App Control off, user-mode WDAC not enforced · MSIX
Claude_pzs8sxrjxfjjc</sub>2026-08-20 controlled repro on current production 1.32885.1 + issue-cluster escalation
This is a new controlled data point from the same independent Windows Server 2022 host I documented in #80999. The failure still reproduces on the current production build, and a narrowly scoped Windows Exploit Protection override does not work around it.
Current production package is still affected
The official update feed currently returns
1.32885.1(published 2026-08-18):https://releases.claude.com/api/desktop/win32/x64/msix/update?device_id=00000000-0000-0000-0000-000000000000The feed-delivered MSIX was independently checked:
1.32885.1.07B21FD3182EA4383012BBC409E6255155871C0D4CB79695E652D9A4255085787AppxMetadata/CodeIntegrity.cat: absent from the official archiveControlled per-app Exploit Protection test
Starting state was a repaired/reinstalled package with
Status: Ok. I then:...\Claude_1.32885.1.0_x64__pzs8sxrjxfjjc\app\claude.exe);MicrosoftSignedOnly: OFF,OverrideMicrosoftSignedOnly: True,Source: Registry;At 2026-08-20 11:14:27 CEST / 09:14:27Z, Windows logged the same exact sequence:
Immediately afterward,
Get-AppxPackagereported:So the exact per-program Exploit Protection toggle is not a workaround. This narrows the effective enforcement to a layer not disabled by that configured IFEO rule—consistent with a child-process mitigation supplied at process creation and/or the packaged-app path. I am deliberately not claiming which of those two is responsible without a runtime mitigation trace.
I removed the test rule afterward. Reinstalling the same signed MSIX over the existing package returned it to
Status: Ok; the existing profiles and launchers remained intact.The same incident is still split across multiple “canonical” trackers
Repository searches for the three exact fingerprints (
vk_swiftshader.dll,CodeIntegrity.cat, and101457950) now return a union of 107 issue records. Not every record is necessarily this root cause, but dozens carry the same Browser/preview → GPU exit → Code Integrity/AppX failure chain.High-signal open trackers include the root-cause and crash threads #80444, #80999, #81275, #81341, #81698, #81745, #82967, #83028, #83403, #84976, #85837, #85901, #87204, #87638 and #87785; trigger-specific threads include #80306 and #87329; closely related package-recovery damage is tracked in #81306, #81875 and #82134.
More importantly, maintainer duplicate closures currently route the same technical fingerprint to six different open destinations:
That fragmentation makes the instruction “follow one issue so we can track it in one place” ineffective. The major trackers above remain open with no assignee and no milestone; most have only
area:desktop, despite current-build repros and user-data/session impact.Requested escalation
@bcherny, could the Desktop/Windows packaging team please:
1.32885.1as affected / reproduced on Windows;The lack of a conventional crash dump is expected for this load-time Code Integrity failure, so package telemetry alone may undercount it. Sanitized Code Integrity event exports and the exact official MSIX metadata are available if an engineer wants them.
---
Disclosure: this update was researched and drafted with OpenAI Codex on the affected machine at the account owner's explicit request.
Still reproducing on 1.32885.1 (current Store build) — plus one intermediate build, 1.32352.1, that survived a deliberate reproduction attempt before the next update regressed again. Two log signatures below that I haven't seen in this thread yet.
Environment: Claude Desktop MSIX 1.32885.1 (Store), Windows 11 Pro 26200, AMD Radeon 760M iGPU (driver 32.0.31035.1003), Node 24.18.1, CCD 2.1.234. Eleven fatal crashes on this machine since 2026-07-28, every one
exitCode: 101457950(0x060C201E), across 1.24012.9, 1.26832.0, 1.28929.0, 1.30096.1, 1.30096.5, and 1.32885.1.A build that would NOT crash: on 1.32352.1.0 we deliberately tried to reproduce this — five staged runs, including 30 concurrent subagents with the in-app Browser pane and the Chrome-extension bridge both compositing for ~2 minutes, the exact combination that had killed three earlier builds on this machine in under a minute. Zero crashes; the
GPU process gonecount never moved. The Store then updated to 1.32885.1 (Aug 18), which produced two fatal 0x060C201E crashes within the next 2 days. Either 1.32352.1 got lucky, or something in the 1.32352.1 → 1.32885.1 delta re-broke it — it resisted a recipe that reliably killed 1.30096.x, so the diff may be worth a look.Trigger correlation on our last four crashes — a second compositing surface, not the pane per se: each fired seconds after
[Preview] Created browser previewwhile another GPU-compositing surface already existed (an HTML-file preview pane, the Chrome-extension bridge, or a second session's preview). Single-surface sessions run browser-heavy work for hours on the same builds.| crash (2026, PT) | pre-existing surface(s) | preview created | GPU dead | Δ |
|---|---|---|---|---|
| 08-15 06:30:25 | html-preview + Chrome-ext bridge | 06:29:46 | 06:30:25 | 39 s |
| 08-15 19:34:07 | Chrome-ext bridge | 19:33:12 | 19:34:07 | 55 s |
| 08-19 12:06:03 | Chrome-ext bridge | 12:05:57 | 12:06:03 | 6 s |
| 08-19 20:28:31 | html-preview (local file) | 20:28:05 | 20:28:31 | 26 s |
Signature 1 — a sandboxed renderer fails to start 4 s before the GPU dies. In the 08-19 20:28 crash, unknown-window.log shows the probe signature from the OP (
%c%d font-size:0;color:transparent NaN+ the OTS WOFF 2.0 error) running at 20:22:13, 20:27:05, and 20:28:20 without incident while the html-preview was the only surface. The Browser preview was created at 20:28:05, and then:main.log, same second:
The same probe burst that ran cleanly three times in the preceding six minutes became fatal only once the second surface existed — with a renderer that failed to initialize (
binding.startupDatanull) in between. That TypeError hasn't appeared in this thread; it may help localize the race.Signature 2 — a sometimes-tell minutes ahead: before 2 of the 4 crashes above, Chrome-extension
computertool calls began timing out at ~30 s ([claude-in-chrome] Tool call error: computer … after 30179ms— three of them across the 7 minutes before the 08-19 12:06 crash). The compositor was stalling before it died. Not reliable — absent before the 20:28 crash, and six such timeouts earlier that afternoon preceded no crash — but when the fatal path is coming, it has shown up early more often than not.Repair on Win11 26200 (contrast with the Win10 reports): still recoverable, but takes two rounds. After the crash the package is unlaunchable (launch attempts produce zero log lines; no automatic remediation fired overnight). Settings → Repair: register w/ ForceTargetApplicationShutdown → 0x0 →
RepairPackageOperationre-downloads the msix → its re-register fails 0x80073D02 ("apps need to be closed" — an instance left running) → a second Repair click → 0x0 → app launches. About 3 minutes hands-on once you know the sequence.Memory ruled out at every crash (latest: 3.3 GB app tree, 10.6 GB system free). Happy to provide full log excerpts.
Cross-posting a resolution from #81836 (my own report of this same crash), since this is the larger thread and the switch method does not appear here yet.
Claude Setup.exe --exeforces the Squirrel (non-MSIX) install path, and on my machine it stops the crash. Same version before and after (1.34493.1), same page, same day, same GPU driver — packaging the only variable. Before: six fatalexitCode: 101457950crashes, every one 3–10 s after a Cloudflare challenge page rendered in the in-app Browser pane. After: the same URL held on the same challenge for 70+ seconds with the app up, GPU pid unchanged, and nothing in the log.Two details that may be useful here and that I could not find in this thread's 171 KB:
Microsoft-Windows-Security-Mitigations/KernelModeEvent 36 fires at every crash second, showingWerFault.exe -u -p <gpu pid>launched and then blocked fromNtFsControlFile. That is why no dump and no Application Error entry ever appears — WerFault is invoked and stopped, not skipped. Worth checking on other affected machines.--exeas the installer switch itself.%TEMP%\ClaudeSetup.logconfirms the path taken (No MSIX Claude packages found→Launching Squirrel installer).Full evidence, the corrected mechanism, and the caveat about
CoworkVMServicenot being re-created: #81836.Same crash signature on a second machine — with two findings that may help triage: (1) event-log proof that the post-crash Settings "Repair" failure is cosmetic, and (2) a trigger that does not involve the in-app Browser pane: the GPU probe came from claude.ai's own Cloudflare Turnstile bot-check.
Environment
Claude_1.34493.1.0_x64__pzs8sxrjxfjjc,SignatureKind: Developer, installed underC:\Program Files\WindowsApps)main.logsince 8/21, and each one produced a full "can't be opened → Repair fails → opens anyway" episode.Crash signature
Final line the crashed instance ever wrote (
%LOCALAPPDATA%\Claude\Logs\main.log) — same exit code as this issue,101457950=0x060C201E:No graceful shutdown after this; the whole app dies.
Trigger: claude.ai's own Turnstile challenge, not the Browser pane
In both crashes, the seconds before death are a burst of blocked-permission warnings from a Cloudflare Turnstile challenge that claude.ai itself served inside the app's webview:
So the WebGL/WebGPU capability-probe theory in the OP fits, but users can hit this without ever opening the in-app Browser tab — a
claude.ai/api/challenge_redirect→ Turnstile interstitial is enough.Post-crash package poisoning — Windows event-log timeline (2026-08-24, local time)
| Time | Log / Event | What happened |
|---|---|---|
| 09:02:37 |
main.log| GPU crash, app dies || 10:23:41 | TWinUI 1621 | Launch attempt: activation "attempted … completed successfully" but no app process is created; nothing reaches
main.log|| 10:23:42 | AppModel-Runtime 67/68 |
Failed with 0x5 modifying AppModel Runtime status (current 0x280002, desired 0x480002); package status settles at0x2(NeedsRemediation) || 10:25:20 | TWinUI 1621 | Second launch attempt, same silent non-start ("This app can't open") |
| 10:26:44 | AppModel-Runtime 68 | During Settings → Repair: status
0x2→0x0— the block flag is cleared here || 10:26:45 | AppXDeploymentServer 8107/8104 |
Illegal non-AppStore or non-AppInstaller package integrity validation attempted+Failed to set the Trust Label … 0x80070057(Developer-signed sideload, so the Store remediation path can't run) || 10:26:45 | AppXDeploymentServer 401/404/419 | Register fails
0x80073D02: Unable to install because the following apps need to be closed Claude_1.34493.1.0_x64__pzs8sxrjxfjjc→ Settings shows "repair failed" || 10:26:59 | AppModel-Runtime 201/210/211 | Manual relaunch works normally (AppX container + process created) |
Identical episode on 2026-08-21: crash
14:00:14→ four failed activations14:00–14:05→ Repair failed0x80073D02at14:06:59→ clean launch14:23:21.Two takeaways
claude.exe/cowork-svc.exe, thenAdd-AppxPackage -Register -DisableDevelopmentMode "<InstallLocation>\AppxManifest.xml".Possibly related: lingering processes also interact badly with staged auto-updates — AppXDeploymentServer 658 on 8/21 07:57:
Marking package {Claude_1.34493.1.0…} for deferred registration because {Claude_1.32352.1.0…} is still running, so a crash plus zombie processes can additionally leave an update half-registered.Happy to attach fuller event-log exports if useful.
Update from my Jul 31 report, same machine (Intel iGPU), now on 1.34493.1: the in-app Browser pane does not need to be opened by anyone. The app auto-seeds a browser preview for an active Claude Code session, and the GPU process dies about 5 seconds after the seed, every time. On a machine that hits this bug, an active Claude Code session is therefore a crash loop: relaunch, session resumes, pane re-seeds, dead again. Two full cycles inside ten minutes today.
Environment
Claude_pzs8sxrjxfjjc, SignatureKind Developer), Claude Code CLI 2.1.237Crash 1 (17:33 local): pane seeded by the app, GPU dead 6 seconds later
"tabId":"seed"is the app's own pre-seeding of the pane, roughly six minutes into the session. Between the seed and the crash the log holds only routine oauth lines.Crash 2 (17:42 local): the loop
App restarted at 17:36:42, the same Claude Code session resumed, and five minutes later the app re-seeded a pane for that session. Identical sequence, five seconds to death:
Restart at 17:43:05.
Three data points for triage
"tabId":"seed"), with no user or agent action. Together with @horneliusdoteth's Turnstile finding above, there are now at least two no-user-action paths into this crash.challenges.cloudflare.comrequests anywhere in the file (unlike the Turnstile path). The last non-routine event before each crash is the pane creation itself.Get-AppxPackageStatus stayedOkand manual relaunch worked on the first try with no Repair step, unlike my Jul 31 episode (deferredForceTargetApplicationShutdownOption). The NeedsRemediation poisoning therefore looks contingent on which child processes linger after the crash, not on the GPU crash itself.I am switching to launching via
Invoke-CommandInDesktopPackage -PackageFamilyName Claude_pzs8sxrjxfjjc -AppId Claude -Command 'app\Claude.exe' -Args '--use-angle=d3d9'per @meigrafd and will report back whether the seeded pane still kills it. Full main.log excerpts available if useful.Confirming this on multiple machines in our organisation, on a newer build than the OP, with a worse recovery path — details below in case they help triage.
Environment
Claude Desktop: 1.25927.0.0 (MSIX Claude_1.25927.0.0_x64__pzs8sxrjxfjjc)
OS: Microsoft Windows 11 Pro 25H2 (Build 26200.8973)
GPU: Intel(R) Graphics, driver 32.0.101.8724 (2026-04-16)
App: Claude_1.25927.0.0_x64__pzs8sxrjxfjjc
Affected: 2 of 4 machines in our fleet, all Intel iGPU — consistent with the OP's observation that this isn't vendor/discrete-GPU specific
Symptoms — same trigger as OP: crash during Browser-pane use shortly after navigation begins, then the app fails to relaunch ("Can't open this app" / Smart App Control dialog on launch attempts).
Where our experience diverges from the OP — recovery was harder:
A full system restart did not restore launch (OP reports reboots eventually worked; not for us)
Settings → Advanced options → Repair failed with "We couldn't repair this app. Try again in a bit." — including after Terminate + retry
Remove-AppxPackage -PreserveApplicationData was refused with HRESULT 0x80073CFA (flag only valid for development-mode packages, so there's no data-preserving removal path for store-channel installs)
Only plain Remove-AppxPackage + reinstall from claude.ai recovered the machine
So on this build the crash can leave the package in a state that is neither repairable nor gracefully removable — a full wipe/reinstall is the only recovery.
Confirmed mitigation (stable for us since): disable both Browser tools and Open links in Browser panel in Desktop settings, and route all browser automation through Claude Code CLI + the Claude in Chrome extension instead. No recurrence with the in-app browser disabled.
+1 to the OP's request for an exposed hardware-acceleration toggle or honoured ELECTRON_EXTRA_LAUNCH_ARGS — happy to test a build or flag set on an affected machine and report back. Also filing via /bug and business support referencing this issue.
Filed a separate report (#88818) that was just closed as a duplicate of this one — confirmed correct, identical
exitCode: 101457950signature. Adding the one detail here that doesn't overlap with the paths already documented above: my trigger was neither the WebGL/WebGPU probe burst nor the Cloudflare Turnstile path, and it wasn't the embedded Browser preview tab at all — it was the app's own main claude.ai window.Timeline (UTC, from
main.log):growthbookAPI call returned521(unrelated third-party service outage, coincidental timing).../api/challenge_redirect?to=...and failed with403Turnstile iframe detected. Removing error overlay.Blocked permission checkentries againstchallenges.cloudflare.com(media/background-sync/notifications) over the next ~3sGPU process gone: { reason: 'crashed', exitCode: 101457950 }No further log lines for ~14 hours until the next manual launch attempt.
Also checked the three native crash-evidence sources for this event: Crashpad (
reports/+metadata), the local Sentry queue, and Windows Event Viewer (Application + System, including GPU-driver TDR events) — all three are empty, no WERApplication Errorrecord either. That rules out a classic native crash and points toward an uncaught exception somewhere in the main process's own crash-handling path (Node's default is a cleanprocess.exit(1)on an uncaught exception — no dump, no WER record, whole app still dies).Recovery: a plain relaunch attempt immediately hit the Windows package-activation-failure dialog ("This app can't open. Claude has a problem. Reinstall this app from its original installation location, or contact your administrator.") — same dialog family already described in this thread. Reboot + reinstall (same downloaded installer, no new download) resolved it.
So this looks like a 4th no-user-action trigger path into the same crash signature: any navigation (main window included, not just the Browser pane) that lands on a Cloudflare challenge/Turnstile page.
🤖 Generated with Claude Code
Filed a separate report (https://github.com/anthropics/claude-code/issues/85701) that was just closed as a duplicate of this one.
I was able to overcome this issue by installing the desktop app again. Not necessarily to uninstall the old one. Run the install again solved the issue for me.
Generated by human :)
Adding a data point that I think widens this beyond the in-app Browser pane: on my machine the crash was triggered by Claude's own
claude.ai/api/challenge_redirectTurnstile challenge in the main window, with no browser preview involved and no third-party site being visited. SameexitCode: 101457950(0x060C201E) signature as this issue.Environment
Claude_pzs8sxrjxfjjc), Node 24.18.1Log sequence — five seconds, main window, no Browser pane
From
%APPDATA%\Claude\logs\main.log. The session URL 403s, the app retries its own main view, Cloudflare Turnstile is served by claude.ai, and the GPU process dies three seconds later:The log file ends on that line. No recovery attempt, no further entries — the app terminated and never wrote again. The package was then flagged
Modified, NeedsRemediation; Repair did not fix it; only uninstall → reboot → reinstall did.Why I think this matters for triage
Threads on this crash class (#81341, #83403) frame the trigger as the in-app Browser pane being pointed at a Cloudflare-fronted third-party site. That framing implies user-directed browsing is required, and it isn't. Here the challenge came from claude.ai's own endpoint during the app's session-load retry path —
topFrameUrlisclaude.ai/api/challenge_redirect,isMainFrame: falsefor the Turnstile iframe. Nothing was navigated to; the app served itself the challenge that killed it.That is consistent with @harsh132's observation on #81341 (2026-08-25) that the crash does not require a browser preview, and it supplies a mechanism for that variant. If the root cause is the CIG /
vk_swiftshader.dllsigning-level issue documented in #81341, then any Turnstile render is sufficient — including the app's own auth challenge — and no amount of avoiding third-party sites will prevent it.Second incident, same machine
It recurred on 2026-08-24 on version 1.34493.1, same outcome: unlaunchable package, Repair ineffective, full reinstall required. I have no logs for that one — the uninstall destroyed them, which is worth flagging in itself: the only fix for this bug deletes the evidence of it. Anyone asked to supply
main.logafter recovering will find it already gone. Copy%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logsbefore uninstalling.One earlier GPU crash on the same install carried a different signature —
exitCode: -1073741571(0xC00000FD, stack overflow) on 2026-08-17 — and was not fatal to the app. Noting it in case the two paths are related.Impact
Second occurrence cost a working day on a commercial build: 76 minutes of live work destroyed outright, and the following day spent on recovery rather than the project. Both incidents required the full uninstall/reboot/reinstall cycle. Repair has never worked, on either occasion.
Update: I found a stable workaround and identified the failure chain more precisely.
Affected package:
Claude_1.34493.1.0_x64__pzs8sxrjxfjjc
This appears to be an MSIX packaging/code-integrity problem, not primarily a GPU driver problem:
Working workaround:
.\ClaudeSetup.exe --exe
This installs Claude under:
%LOCALAPPDATA%\AnthropicClaude
Get-AppxPackage -Name Claude | Remove-AppxPackage
%LOCALAPPDATA%\AnthropicClaude\claude.exe
Validation:
Caveat: Cowork reports "msix_required" in the Squirrel/Win32 build. Chat and Claude Code work, but Cowork currently requires the MSIX version.
Therefore, this is a reliable workaround, but Anthropic still needs to correct the MSIX packaging/signing problem.
Adding a reproduction case with logs.
Environment
Crashes — two identical events, whole app killed both times:
Notes that may help narrow it down
[PreviewContext] Blocked subresource to private-resolving hostwarning, i.e. while the built-in Browser/preview pane was rendering. That warning appeared 4 times total in the log; 2 of the 4 were immediately followed by the GPU crash.--disable-gpuprevents clean startup, and Windows per-app GPU preference doesn't apply.%APPDATA%\Claude\Crashpad\reports), available on request.Happy to provide full
main.logexcerpts or run a debug build if useful.Additional evidence — crash now fires before any page loads (1.34493.1).
Reproduced across 3 machines (NVIDIA laptop on 1.32352.1, desktop with discrete GPU on 1.34493.1, and a VPS with virtual display): opening the in-app Browser pane kills the app. On 1.34493.1 the GPU process dies ~2 seconds after the preview is created, before the seed tab navigates anywhere, so page content (WebGL probes, Turnstile) can no longer be the trigger on this build:
14 "GPU process gone" crashes in the current main.log on that machine. Consistent with #81275's finding that WARP software rendering crashes identically — the defect is in the pane's own code path, and on newer builds it has moved earlier (pane open, not page render). Scheduled/unattended automation that depends on the pane is unusable. Also requesting #87659 be un-labeled "invalid" — it is this same bug.
Same signature, 4 occurrences across two app versions, on a machine with no physical GPU — plus a trigger correlation this thread hasn't recorded: Cloudflare Turnstile / anti-bot challenge content.
Environment: Windows 11 Pro 10.0.26200 as a Hyper-V Gen-2 guest (Hyper-V UEFI v4.1; Microsoft Hyper-V Video 10.0.26100.1150 + Microsoft Remote Display Adapter 10.0.26100.8972, Enhanced Session 3840×2160). No GPU partitioning, so Chromium's GPU process runs on software rasterization. x64, MSIX (Store) install, node 24.18.1.
Crashes 1–2 (v1.34493.1) — no Browser pane involved; challenge rendered in the main claude.ai view:
Crashes 3–4 (v1.37937.1, boot at 08:54:42 logged that version) — first Browser-pane open of the session, seed URL
researchgate.net(challenge-fronted). 2/2 reproducible: the second was a retry of the identical call.101457950 = 0x060C201E. Every time, the whole app died with the GPU process — main.log goes silent until manual relaunch. No Crashpad minidumps (%APPDATA%\Claude\Crashpadholds onlysettings.dat) and no Event Viewer / WER records, so the OS never sees a crash: the app's own reaction to GPU-process loss looks like the fatal step.Two things this adds:
Sentry event IDs from the boots immediately following the Aug 26 crashes:
5092340dbdce468d9b766bb66ccc445d,4d0a3d9bbbd1413a93d26ba0f8c19f3a.Follow-up to my comment above: still reproduces on 1.37937.1 (updated from 1.34493.1 yesterday), and I can now add a consistent trigger signature.
That makes 3 crashes out of 3 (8/21 on 1.34493.1, 8/25 on 1.34493.1, 8/26 on 1.37937.1) where the GPU crash came ~1 second after the same
[PreviewContext] Blocked subresource to private-resolving host { resourceType: 'xhr' }warning — i.e. a page in the built-in Browser pane XHR-ing a private-resolving host and getting blocked. The warning has appeared 5 times total in my logs; 3 of the 5 were immediately followed by the crash.Context for today's event: the Browser pane had a live third-party site loaded (login.squarespace.com, opened at 13:28; earlier
[PreviewContext] onBeforeRequest mainFrame from untracked webContents — blocking { origin: 'https://login.squarespace.com' }). Crashes have only ever occurred with live external sites in the pane — local static files have been fine.Also of note: after the auto-restart at 14:08:28, the main webview render process died again 16s later (
Main webview render process gone: { reason: 'killed', exitCode: 1 }, Sentry eventId b49ecdf107624a86a09e9bb19549b1c4) before a second restart came up cleanly.Same environment as my previous comment (Windows 11 build 26200, dual-GPU NVIDIA RTX 5060 Laptop + Intel, MSIX install).
Same crash on 1.34493.1.0, with the AppX event-log forensics of the "repair" fallout in case it helps.
Environment: Claude Desktop 1.34493.1.0 (MSIX
Claude_1.34493.1.0_x64__pzs8sxrjxfjjc), Windows 11 Pro build 26200, Electron runtime Chrome 148.0.7778.280. GPUs: NVIDIA GeForce RTX 5080 (driver 32.0.15.9649) + AMD Radeon iGPU (32.0.13066.12), plus three virtual display adapters installed (Meta Virtual Monitor, Virtual Desktop Monitor, spacedesk).Trigger: clicking a link in chat output that opens a
https://www.cars.com/vehicledetail/<uuid>/page in the in-app Browser tab (heavily bot-detection/fingerprinting-instrumented site). The whole app terminates within ~2 seconds of the pane opening — faster than the 15–36 s in the OP, but the same exit code. Hit at least three times here (2026-08-10, 2026-08-25, 2026-08-26). Each time, relaunching is blocked by the Windows "repair this app" prompt; Settings → Apps → Claude → Repair restores it.Main log ends at the crash (the log file's last-write timestamp is the crash moment):
No OS-side crash artifacts, matching earlier reports: no Application-log Event 1000/1001, nothing in
%LOCALAPPDATA%\CrashDumps, Crashpad db empty (settings.datonly), Sentry session not marked crashed.AppX fallout timeline (
Microsoft-Windows-AppXDeploymentServer/Operational), 2026-08-26:Previous day was the same cycle but with an explicit user-side repair: crash ~12:07:20,
RepairPackageOperationat 12:08:22 (step 1 re-downloads the full .msix from downloads.claude.ai), healthy again at 12:08:56.Two details corroborating the file-lock discussion above:
00:59:29 [401/404] … 0x80073D02: Unable to install because the following apps need to be closed Claude_1.34493.1.0…— so on a long-running app there is almost always a staged, deferred update pending, and it collides with the post-crash remediation window.icudtl.dat/v8_context_snapshot.binof two older versions stuck underWindowsApps\Deleted(error 0x12C, sharing violation). Something in the process tree keeps old-version Chromium files mapped long after updates, which fits the observation thatcowork-svc.exesurvives the crash and holds locks that block automatic repair.Follow-up to my 2026-08-20 comment, same machine, now on 1.34493.1. Three things: a measurement hazard that affects everyone collecting logs right now, a crash on the
challenge_redirectpath with the Code Integrity event attached, and the running correlation total.1. The log directory moved in 1.34493.x — the old file is still there, frozen
This one first, because it silently invalidates data collection. On update to 1.34493.0, the app stopped writing to the path most of this thread quotes and started a new file elsewhere:
Six seconds apart, and the old directory is left in place with all its files intact. Nothing indicates the handover. My own daily tracker read the old path for six days and reported "no new crashes" the whole time — while a crash sat in the new file. I only caught it because the Event Log disagreed with the log file.
If you are on 1.34493 or later and reporting that a build stopped crashing, please check which file you read. Grepping
%APPDATA%after the update returns a frozen snapshot, not a quiet machine.2. A crash on @philipandrewswork's
challenge_redirectpath — with the 3033 that path was missing@philipandrewswork reported the crash arriving through Claude's own Turnstile challenge in the main window, no Browser pane involved. Same thing here on 2026-08-22, and this time the Code Integrity side is recorded:
Details that matter:
Created browser previewin that entire log file is the next day, 2026-08-23 08:15:26. This was not @lamchiman3388's seeded-pane path either — there was no seed before the death.Starting appat 09:16:37 — 3 h 16 min of silent downtime. The line before the permission checks is[WarmLifecycle:session] Starting idle timeout.Get-AppxPackageStatus stayedOk, no Repair needed — matching @lamchiman3388's point 3 that the NeedsRemediation poisoning is contingent, not intrinsic.3. Running total: 9 GPU deaths, 9 Code Integrity events, matched 1:1 across four builds
Every
GPU process goneon this machine since July, against every Event 3033 where the process isclaude.exeand the file isapp\vk_swiftshader.dll:| Build | Deaths | Matched 3033 | Max Δ |
|---|---|---|---|
| 1.24012.9 | 1 | 1 | 1 s |
| 1.30096.5.0 | 5 | 5 | 1 s |
| 1.32885.1.0 | 2 | 2 | 0 s |
| 1.34493.1 | 1 | 1 | 1 s |
9 / 9, no unmatched entry on either side. Same DLL, same signing-level message, same exit code, four builds, three log-path generations.
4. On whether these are separate roads
@lamchiman3388 argued their seeded-pane deaths look distinct — no WebGL lines, no
challenges.cloudflare.com, tighter window. I think that is right about the trigger and wrong about the failure. Three visibly different entry paths have now been reported — a WebGPU probe on a third-party page, the app's own"tabId":"seed"pane, and claude.ai's own Turnstile challenge — and on this machine the two I have logs for both terminate on the same blockedvk_swiftshader.dllload at GPU sandbox init.That would mean the trigger inventory is open-ended and not worth chasing to completion, because anything that forces GPU-process initialisation reaches the same block. It also means no user-side avoidance rule can cover it: I have been deliberately avoiding the Browser pane since 2026-08-16, and it made no difference to this crash.
The corollary for triage is the uncomfortable one: there is no user action to instrument. The remaining fixes are still the two from my earlier comment — pick up the Chromium change so a blocked SwiftShader load degrades instead of killing the process, and stop a GPU-process death from taking the app shell with it.
<sub>Windows 11 Home 26200.9168 · AMD Radeon(TM) Graphics · no Vulkan ICD registered · Smart App Control off, user-mode WDAC not enforced · MSIX
Claude_pzs8sxrjxfjjc· thanks @BindingEnergy and @ventocamp-bit for theClaudeSetup.exe --exeroute — evaluating it, blocked for now by Cowork needing MSIX</sub>Same crash on Snapdragon X Plus hardware - adding a data point since most ARM64 reports are X Elite.
Environment: Claude Desktop 1.37937.1 (arm64 MSIX / Store), CCD 2.1.246, Windows 11 Home 26200, Lenovo IdeaPad Slim 5 14Q8X9, Snapdragon X Plus X1P42100, Adreno X1-45.
Key finding: crash persists on BOTH Adreno driver 31.0.128.0 (Oct 2025) and 31.0.148.0 (latest Qualcomm generic) - a driver update does not help.
Pattern: GPU process gone: exitCode 101457950 x15 in 4 days (Aug 24-27); reproduced within 2 minutes after a clean reboot; the whole app dies; some crashes leave the package unlaunchable until Settings > Apps > Repair (matches OP). One crash logged exitCode 34 instead. 32 GB RAM with >12 GB free, so not memory pressure. Plain text chat is stable; heavy rendering (in-app browser / preview) correlates with crashes. Full logs available on request.
Retraction: the
isHardwareAccelerationDisabled: trueworkaround I posted in #81159 is wrong, and on this crash path it is an accelerant rather than a mitigation.Written by Claude (Claude Code) and posted on behalf of @odedbahiri-arch, who asked for the correction after re-reading this thread.
On 2026-07-28 I posted this comment recommending
"isHardwareAccelerationDisabled": truein%APPDATA%\Claude\claude_desktop_config.json, and stated it "stops the crashes entirely — no recurrence since applying it." That comment is still reachable and still being cited. It should not be followed.Why it was wrong
app\vk_swiftshader.dllin the packaged GPU process, which runs underMicrosoftSignedOnly=ON/AllowStoreSignedBinaries=OFF. Disabling hardware acceleration makes SwiftShader Dawn's only adapter — it forces the app down the exact path that Code Integrity is blocking. Anyone setting this flag to escape the crash is making the blocked DLL the only route to a working graphics stack.app.disableHardwareAcceleration()only reaches renderer processes — the GPU process still starts with hardware GL, which is where the crash occurs. @rex047 reported the same failure independently. Both rebuttals stand; my comment does not.What that comment got right, and what I misread about it
The renderer-side signature is real and still useful for identifying affected machines: ~19
WebGL: INVALID_ENUM: getInternalformatParameterwarnings inside one second, thenrequestAdapter()/powerPreference, thenCONTEXT_LOST_WEBGL, roughly one second before the GPU death — and it lands inlogs\unknown-window.log, notmain.log, which records only the death with no apparent cause. @pylonsolus independently logged the same ~19-warning burst.What I got wrong was the direction of causation. That burst is a WebGPU/WebGL capability probe touching the blocked SwiftShader path — it is the thing that trips the fault, not the fault itself. I treated a tightly correlated symptom as a root cause, and then built a workaround on top of that misreading.
What actually holds
Leaving the MSIX for the Win32/Squirrel build —
Claude Setup.exe --exe, orwinget install Anthropic.Claude(the samedownloads.claude.ai/releases/win32/x64/…channel) — removes the packaged-process signing enforcement entirely. Independently confirmed by @yashacleary-bot, @BindingEnergy and @ventocamp-bit, with no recurrence reported since. Caveat already noted in-thread: Cowork reportsmsix_requiredon that build.Apologies to anyone who set that flag on the strength of my comment.
Same end state, different trigger: MSIX auto-update finalization also produces this — with evidence the lock is a kernel-held job object that only a reboot clears
Adding a data point to this issue: I hit the identical unlaunchable state (
Modified, NeedsRemediation→ "Can't open this app / Repair" →0x80070020) on two consecutive auto-updates, with no crash involved — the trigger was Windows finalizing a staged update while the app was running.Environment: Windows 11 Pro 26200, Claude Desktop 1.37937.1.0 → 1.37937.3.0 (MSIX
pzs8sxrjxfjjc). A third-party enterprise AV/EDR is installed but was ruled out (zero detections logged across the incident window; first post-reboot launch succeeded with protection fully on) — consistent with this issue reproducing without third-party AV.Timeline (Aug 27, from event logs):
0x5and destroyed the running app container mid-session (app "suddenly closed"); package leftModified, NeedsRemediation0x80070020Identical pattern the previous morning (Aug 26, 08:10–08:36, 22× the same event) against 1.37937.1.0 — so it reproduces on every update on this machine.
Evidence the blocker is a stale kernel job object, not a user-mode file lock:
0x80070020: Cannot create the Desktop AppX container ... because an error was encountered converting the job(plus ID 208[LaunchProcess]).Add-AppxPackage -Register) does clearNeedsRemediation(packageStatus: Ok, no data loss) — but launch still fails with the same0x80070020, so the package state and the launch blocker are two separate problems.handle64sweep overContainer_Claude*job objects and package folders found zero user-mode handles; killing all claude processes and restartingvmcompute(Host Compute Service) did not help (verified live — still failing 2 minutes before the reboot).WindowsApps\Deletedcould not be deleted) — also cleared by reboot.This suggests the update/crash path leaves the old version's sandbox job (HCS/CoworkVMService) alive kernel-side, and the new container creation collides with it.
Happy to share filtered
.evtxexports (AppModel-Runtime/Admin + AppXDeploymentServer/Operational covering both days) through the support channel — I'll reference this issue number in the ticket.Adjacent trigger, same systemic problem (surviving Claude processes breaking MSIX servicing): #90147 documents the auto-update deferral race with chrome-native-host.exe as the lock holder (event 5224 → 0x80073D05/0x80073CF6), plus DACL evidence that CoworkVMService recovery actions can only be set by NT SERVICE\AppXSvc — may help cluster these for triage.
Still present on 1.37937.3.0 (Windows 11, Intel Iris Xe). Two crashes 45 minutes apart today, plus three data points that may help.
Same signature as the original report:
Environment: Windows 11 Home build 26200, Intel Iris Xe integrated graphics (so this is not NVIDIA-specific), MSIX package. Versions seen here: 1.24012.11.0, 1.26832.0.0, 1.34493.1.0, 1.37937.3.0. All four crash identically. Five incidents since 2026-08-03.
1. The GPU crash and the MSIX corruption are separable.
Both of today's crashes left
Get-AppxPackage -Name ClaudereportingStatus : Ok. No Repair was needed and a plain relaunch worked. My earlier incidents on 1.24012 and 1.26832 did corrupt the package every time, so something changed between those builds and 1.37937. Worth knowing if the two symptoms are being tracked as one bug.2. The preview pane is kept warm across a crash and re-arms the trigger.
Today's sequence: crash at 11:04:41 with x.com content loaded in the pane. Relaunched at 11:09:59. Nobody browsed anything afterwards.
[WarmLifecycle:preview]entries then show previews being kept warm on 1800-second idle timers for three sessions, and at 11:49:15 the app died again with the same exit code, preceded at 11:49:13 and 11:49:14 by the same x.com Content Security Policy and GSI_LOGGER console errors that preceded the first crash.The page that killed the app survived the crash, came back with the restart, and killed it again. If that reproduces, clearing preview state on an abnormal exit would stop the repeat crashes even before the GPU issue itself is fixed.
3. The log directory moved at 1.37937.x, which silently invalidates existing diagnostics.
Logs are now written to
%LOCALAPPDATA%\Claude\Logs\. The old%APPDATA%\Claude\logs\directory is left in place, still populated, frozen at its last write before the update. Anything checking the old path after updating reports a healthy app with zero crashes indefinitely. Two of my crashes were invisible for this reason. Anyone collecting logs for this issue should confirm which directory they are reading.Workaround status.
--disable-gpu --disable-gpu-compositing --disable-software-rasterizer --disable-features=Vulkanstill works on 1.37937.3.0.One practical warning for anyone running a launcher script for those flags: if it hard-codes the versioned path
C:\Program Files\WindowsApps\Claude_<version>_x64__<hash>\app\Claude.exe, then every app update breaks it silently. The app reverts to running unprotected and nothing indicates it. Resolve the path at launch time viaGet-AppxPackage -Name Claudeinstead. That is exactly how I ended up with two unprotected crashes today after an auto-update two days earlier.Per #82967,
Settings → Claude Code → Browserdisables Browser tools entirely and removes the trigger, at the cost of the in-app browsing and preview feature.Additional data point, and a causal link to the MSIX-corruption family (#90147, this machine): same crash signature during that incident, on different hardware again — NVIDIA GTX 680 + Intel HD 4000, Windows 11 Pro build 26200, session often rendered over RDP (Microsoft Remote Display Adapter).
2026-08-26 18:43:43 [info] Received permission response …: always (tool: browser:open_site)
2026-08-26 18:43:46 [info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Three seconds after a workflow opened a site in the in-app Browser pane, the GPU process died and took the app with it; main.log is then silent for 16 minutes until the next launch attempt. The app was 1.37937.1 at the time, with 1.37937.3 staged but deferred (deferral events had fired at 17:12). The relaunch/repair attempts then collided with the deferred update and a surviving chrome-native-host.exe file lock, producing the Modified/NeedsRemediation outage in #90147. So on this machine the two families chain: an #80444-style crash is the entry point, and a pending deferred MSIX update is the amplifier that turns a crash into a multi-hour brick.
Can also confirm @RubberDuckBill's log-relocation observation on 1.37937.x: %LOCALAPPDATA%\Claude\Logs\ is the live directory; %APPDATA%\Claude\logs\ sits frozen at its pre-update last write. The crash above is visible only in the new location.
Windows-on-ARM confirmation — 9 crashes across 5 app versions and 2 GPU drivers, every one 3–9 seconds after a browser preview opened
Confirming this on ARM64 with data showing the crash is independent of GPU vendor, driver version, and app version — and adding what I believe is the strongest correlation datum in this thread: in 9 of 9 crashes,
[Preview] Created browser previewappears in main.log 3–9 seconds beforeGPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }.Environment: HP OmniBook 5 16-bf0xxx (Snapdragon X Plus, Adreno X1-45), Windows 11 Home 10.0.26200 ARM64, Claude Desktop MSIX ARM64.
| # | Timestamp | App version | Adreno driver | Preview→crash gap / note |
|---|---|---|---|---|
| 1 | 2026-08-16 08:08 | 1.30096.5 | 31.0.148.0 | 9 s — unattended scheduled-task session |
| 2 | 2026-08-19 04:39 | 1.30096.5 | 31.0.148.0 | 9 s — overnight interactive session |
| 3 | 2026-08-19 12:07 | 1.32885.1 | 31.0.148.0 | 7 s |
| 4 | 2026-08-19 15:06 | 1.32885.1 | 31.0.148.0 | 9 s |
| 5 | 2026-08-23 15:16 | 1.34493.1 | 31.0.152.1 | 5 s — unattended scheduled-task session |
| 6 | 2026-08-25 12:05 | 1.34493.1 | 31.0.152.1 | 3 s — unattended scheduled-task session |
| 7 | 2026-08-26 17:21 | 1.37937.1 | 31.0.152.1 | 6 s — unattended scheduled-task session |
| 8 | 2026-08-27 15:00 | 1.37937.3 | 31.0.152.1 | 8 s — unattended scheduled-task session |
| 9 | 2026-08-27 17:35 | 1.37937.3 | 31.0.152.1 | 3 s — unattended scheduled-task session |
(Also 3×
exitCode: 34GPU exits on 2026-08-19 15:44–15:50 during the GPU driver swap — likely unrelated churn, listed for completeness.)Additional observations:
[CCDScheduledTasks]minutes before each crash); crash times track the cron slots (8am/12pm/3pm/6pm/11pm) and their catch-up bursts after relaunch. This matches the "overnight workflow re-opened its Browser tab" reports above — and because the app both restores panes on relaunch AND fires missed scheduled runs at startup, a crash re-arms itself within minutes of relaunch (the crash-loop pattern).about:blankdid NOT crash (survived 10+ min on 2026-08-27 17:49); only previews that proceed to load content kill the GPU process — consistent with the WebGL/WebGPU-probe theory in the OP.Modified/NeedsRemediation(auto-repair observed via ClaudeSetup.log), as others report in #84992.%APPDATA%\Claude\logs\main.log; ≥1.34493.1 write%LOCALAPPDATA%\Claude\Logs\main.log.Workaround holding so far: Browser tools disabled in Settings (per #82967) on 2026-08-27 — the same scheduled sessions have since run without creating previews and without crashes.
--disable-gpuremains unavailable on MSIX (no WindowsApps alias on 1.37937.3;Invoke-CommandInDesktopPackagefails as in #68049).Requested fix (echoing others): software-rendering fallback when the GPU process dies repeatedly, or a persisted disable-hardware-acceleration setting — and ideally scheduled-task sessions not opening previews they can't render safely.
Happy to provide full main.log excerpts or WER/crashpad dumps on request.
Additional data point from a different GPU vendor (Intel), with local forensics
suggesting the crash is app/Viz-side and independent of driver and rendering mode:
Environment
Signature — identical in all 6 crashes over 7 days of logs:
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 (0x060C201E) }in main.log, after which the whole app dies immediately (no GPU-process relaunch attempt logged).
Key observations
isHardwareAccelerationDisabled: truewas applied and the GPU process was confirmed running with--use-angle=d3d11-warp-webgl— so WARP reduces frequency (~2.1/day → ~0.2–0.7/day) but does not eliminate it. Updating the Intel driver had no effect (crashed 4 minutes after startup on the new driver).UnknownVizErrorat the same moment (matches #82967).[PreviewContext] Blocked subresource to private-resolving host { resourceType: 'xhr' }appeared only 5 times in 8 days of logs — all 5 within 1–31 seconds before a crash. Might help locate the code path.Happy to provide sanitized logs if useful.
Same crash here, with what I think is the actual mechanism — plus a warning that
the
--disable-gpuworkaround in the OP makes things worse on machines withMemory Integrity (HVCI) enabled.
Root cause: Code Integrity rejects
vk_swiftshader.dllfrom inside the packageEvery GPU-process death on my machine is accompanied, in the same second, by
a Code Integrity block of the app's own SwiftShader DLL
(
Microsoft-Windows-CodeIntegrity/Operational, event 3033):Two examples, matched to the app log to the second:
| App log (
%LOCALAPPDATA%\Claude\Logs\main.log) | CodeIntegrity 3033 ||---|---|
|
2026-08-27 21:45:20 GPU process gone: exitCode 101457950|2026-08-27 21:45:20vk_swiftshader.dll ||
2026-08-28 10:44:34 GPU process exited unexpectedly: exit_code=101457950|2026-08-28 10:44:34vk_swiftshader.dll |The reason the DLL fails the signing check appears to be that the package's own
catalog does not load — event 3010:
This looks specific to the Claude package, not to my machine: in a 10-day
window of that log, 27 of 27 catalog-load failures name the Claude package.
No other MSIX/Store app on this machine produces one.
This matches electron/electron#52700 (Windows MSIX/AppX: Chromium GPU process
killed when Code Integrity rejects
vk_swiftshader.dll).Why
--disable-gpuis the wrong workaround here--disable-gpuforces the SwiftShader path — which is exactly the blocked one.Launching via
Invoke-CommandInDesktopPackage -PackageFamilyName Claude_pzs8sxrjxfjjc -AppId Claude -Command <full path>\app\Claude.exe -Args '--disable-gpu'the app died in about four minutes with a fatal variant instead of the usual
recoverable one:
With hardware acceleration left on, SwiftShader is only reached as a fallback,
so crashes are less frequent. Anyone with HVCI on should not use this flag.
(Two gotchas if you do reproduce it this way:
Invoke-CommandInDesktopPackagefails with
0x800704C7when run elevated, and also when-Commandis given arelative path such as
app\Claude.exe— it needs the full path.)The
Repairloop is downstream of thisConfirming the OP's second bug: each crash leaves the package flagged, and the
next launch is refused until Settings > Apps > Claude > Advanced options >
Repair. On my machine
AppXDeploymentServer/Operationallogs8107(
Illegal non-AppStore ... package integrity validation) and8104(
Failed to set the Trust Label ... 0x80070057) around those failed launches.Reinstalling from the Store does not help — it comes back at the next GPU crash.
Suggested fixes
CodeIntegrity.catcurrently fails with
0xC000003A), or signvk_swiftshader.dllto thesigning level HVCI requires. That removes the crash for everyone with Memory
Integrity enabled — which is the Windows 11 default on many OEM machines.
FATALand taking the whole app (and any running sessions) down.--disable-gpuis counterproductive onHVCI machines.
The only local mitigation I found is turning Memory Integrity off
(Windows Security > Device security > Core isolation), which is a security
trade-off users should not have to make.
Environment
1.37937.3.0(MSIX),SignatureKind: Developer101457950=0x060C201E, identical across all occurrencesFirst, thank you to the Anthropic team for Claude and for the ambitious work behind Claude Desktop and Cowork. These tools are genuinely valuable for long-running research and document workflows. I am sharing this consolidated evidence in the spirit of contributing to the improvement of an otherwise excellent product.
High-severity impact
For affected users, this is a high-severity reliability issue, not merely an occasional rendering glitch:
Newer affected build and deterministic recurrence
Confirmed on Claude Desktop 1.40609.0, Windows 11 build 26200, 32 GB RAM, AMD Ryzen 5 8600G / Radeon RX 9060 XT, during a long-running document-retrieval workflow.
First occurrence:
15:17:12—[Preview] Created browser preview15:17:23— Code Integrity Event 3010 ×3:AppxMetadata\CodeIntegrity.catcould not be loaded (0xC000003A), plus Event 3033 blockingvk_swiftshader.dll15:17:24— GPU process crashed with101457950 / 0x060C201E; the desktop app terminated and would not relaunch normallyAfter Windows Repair/re-registration, the same sequence immediately recurred:
15:25:14— Browser Preview created15:25:26— identical Code Integrity events15:25:27— identical GPU-process crashThis adds a newer-build AMD reproduction and shows that Repair/re-registration does not remove the underlying failure condition. The same-second Code Integrity correlation is deterministic on this machine. I am not claiming that correlation alone settles whether Code Integrity is the primary cause or a fallback-path symptom; comments in this cluster contain evidence for both interpretations.
Scale of the report cluster
A repository-wide check today found 84 closed issues containing the exact decimal signature
101457950. Of those, 76 are formally markedduplicate. After excluding one obvious unrelated search hit, 75 duplicate-closed reports remain materially connected to this GPU/Browser Preview/MSIX failure family. Adding two directly related duplicate reports that use descriptive or hexadecimal wording rather than the decimal code gives at least 77 verified duplicate-closed reports.Search used for the decimal signature:
https://github.com/anthropics/claude-code/issues?q=repo%3Aanthropics%2Fclaude-code+101457950+is%3Aclosed
This is a conservative triage signal, not a claim that every report has an identical root cause or represents a unique user. Nevertheless, the volume, cross-vendor reproduction, repeated work loss, and persistence across many app versions support high-priority ownership.
<details>
<summary>Verified duplicate-closed issue compilation (77 URLs)</summary>
</details>
Requested fixes and resilience improvements
--disable-gpumay force the blocked SwiftShader path on some systems.0x060C201E, because Crashpad/WER frequently captures no useful artifact.Suggested acceptance criteria: a GPU-child failure must leave the host running or recoverable, keep the MSIX package at
Status: Ok, disable the failing preview, and allow active background work to resume.I hope this compilation helps the Windows/Desktop team reproduce, prioritize, and resolve the issue. The purpose of this comment is constructive: to help protect users' work and make an already valuable product more resilient.
A deterministic reproduction, timed to the millisecond: resuming a Claude Code session whose pending work drives the in-app Browser pane kills the whole app within 6 seconds of the
navigatecall — 3 out of 3 in one evening, including one deliberate controlled test.Windows 10 Pro 10.0.19045 x64, Claude Desktop MSIX 1.40609.0.0 (all three deaths on this version, freshly installed the same evening). The session lives in the app's Code tab; its in-progress task previews a dev site in the in-app Browser pane. Each time the user resumes it (types "continue"), the assistant finds the preview closed, calls browser
navigateto reopen it — and the entire app dies. The session transcript (~/.claude/projects/**/*.jsonl) timestamps every tool call, so the sequence is measured, not remembered:| resume typed | browser
navigateissued | last write to transcript = death ||---|---|---|
| 20:18:54 | 20:19:04 | 20:19:10 |
| 20:59:02 | 20:59:11 | 20:59:17 |
| 21:08:41 (controlled test) | 21:08:57 | 21:09:02 |
All times local, 2026-08-28. The third row was a deliberate test: we predicted the death before typing the resume, and watched it land 21 seconds later.
What makes this variant nasty to diagnose:
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roamingcontains onlyMicrosoft\,LocalStateis empty) — so I am reporting sequence and timing, not the exit code.Get-AppxPackagereadModified, NeedsRemediationwith no failed deployment operation logged since a clean install at 21:02:09 — the poisoning itself never appears in the AppX log. Recovery churn followed (4th reinstall of the day, ~263 MB each).Workaround that holds: do not resume that session in the desktop app. Finish it in the terminal CLI (installed via npm, outside the MSIX package — no packaged execution alias exists), or start a fresh thread telling it to work without the browser preview.
If a maintainer wants the raw material: the three transcript excerpts and the empty-log negatives are preserved and I can attach them.
Two things that may unlock your missing exit code and confirm the workaround:
Root cause found + fix verified (Windows 11, Claude Desktop 1.40609.0)
This is not a graphics bug. Exit code 101457950 (0x060C201E) is a Windows loader code-integrity kill, diagnosed via procdump full dump + WinDbg + the CodeIntegrity event log:
vk_swiftshader.dll.AppxMetadatadirectory (includingCodeIntegrity.cat) was missing on disk (AppxBlockMap/Signature/Manifest were present).vk_swiftshader.dlldid not meet the Microsoft signing level requirements" — plus event 3010 — "unable to load...AppxMetadata\CodeIntegrity.cat, status 0xC000003A". The loader raises non-continuable 0x060C201E (ntdll!LdrAppxHandleIntegrityFailure), killing the whole app and marking the package NeedsRemediation (hence "unlaunchable until Repair").This explains why GPU pinning, disabling hardware acceleration, WARP, and driver updates all failed — the crash isn't in rendering. Light pages never load swiftshader, so they never crash. Crashpad/WER don't fire on loader kills, so no dumps appear.
Diagnosis tips: check Event Viewer → Applications and Services → Microsoft → Windows → CodeIntegrity → Operational for 3033/3010 pairs timestamped at each crash, and check whether
C:\Program Files\WindowsApps\Claude_*\AppxMetadata\exists.Fix (verified): clean reinstall —
winget uninstall Anthropic.Claudethenwinget install Anthropic.Claude. In my case the reinstall delivered the non-MSIX per-user build (%LOCALAPPDATA%\AnthropicClaude\), which has no Appx catalog dependency, so the failure path is structurally gone. Re-tested chatgpt.com/Turnstile in the browser pane: no crash (previously died within 1–35 s, 8 crashes over a week).Open question for Anthropic: how the package's
AppxMetadatadir went missing (bad staging during an MSIX update?) — if anyone else sees a fresh MSIX install without it, that's a packaging bug.Confirming the same fatal crash on Intel-only hardware — with this issue (RTX 2080) and duplicate #81698 (RTX 5080), it is clearly not NVIDIA- or driver-specific. My trigger also looks different: no in-app Browser tab involved — the crashes cluster around resume-from-sleep.
Environment: Claude Desktop MSIX 1.24012.11 at the time of the crashes (now 1.40609.0), Windows 11, Lenovo ThinkPad X13 Yoga Gen 3, i7-1265U, Intel Iris Xe only (no dGPU), 16 GB RAM, Cowork VM active.
Five occurrences on 2026-08-04/05 (UTC+3), each killing the whole app with no shutdown handlers —
main.logstops at the crash line and the next entry is a manual restart minutes later:Also at 07:07:28 (40 s after the relaunch), and 2026-08-05 06:23:59 / 08:22:36 / 08:27:25. Each matches a
Persistent RPC: connection ended: failed to read length: EOFincoworkservice.logto the second.Additional diagnostics that may help:
…\LocalCache\Roaming\Claude\Crashpad\reports) is empty — these crashes leave no client-side trace at all.…\LocalCache\Roaming\Claude\logsanymore (and%APPDATA%\Claude\logsdoes not exist), so newer builds could not even produce the log evidence above.sc.exe failure CoworkVMService …fails with[SC] OpenService FAILED 5: Access is denied.Full logs and a correlated timeline available on request.
Confirmed on a second machine — with a twist that answers the open question for at least one path.
This is the #90147 box (the 8/26 update-race incident). Checking CodeIntegrity/Operational after your comment:
2026-08-26 18:43:45 Id 3033: process ...\WindowsApps\Claude_1.37937.3.0_...\app\claude.exe attempted to load ...\Claude_1.37937.3.0_...\app\vk_swiftshader.dll that did not meet the Microsoft signing level requirements.
2026-08-26 18:43:45 Id 3010 (x3): unable to load ...\Claude_1.37937.3.0_...\AppxMetadata\CodeIntegrity.cat. Status 0xC000003A.
2026-08-26 18:43:46 main.log: GPU process gone: { ... exitCode: 101457950 }
One second apart, and 3 seconds after a browser navigate (timeline in my earlier comment). Same signature, same mechanism, different machine.
The twist: here the catalog wasn't missing from a healthy install — the failing path belongs to a package that was staged-but-deferred at the time (registration deferred at 17:12 because the old version was running; completed 18:47; full trail in #90147). So "bad staging during an MSIX update" is confirmed as one way the catalog goes missing: the deferred-registration half-state IS the integrity-broken window, and a WebGL-probing page loaded during it is fatal. That collapses what I had reported as two chained bugs into one — the update race creates the CIG landmine, the landmine kills the app, and the relaunch lands on NeedsRemediation.
Data point on the installed-state question: this machine's current, cleanly-registered 1.40609.0.0 (Status Ok, direct-download MSIX) also has NO AppxMetadata directory at all, while every Store-signed package on the same disk ships AppxMetadata\CodeIntegrity.cat. Zero 3033/3010 events for 1.40609 so far — but if the catalog is supposed to ship, that looks like a packaging gap on normal installs too, not only corrupted ones. Would be good to hear from Anthropic whether AppxMetadata is intentionally absent from the direct-download package.
One caution on the verified fix: the winget path that delivers the non-MSIX per-user build removes the failure mode but also removes Cowork — per Anthropic's Windows deployment guidance, full Cowork support requires the MSIX build and its privileged VM service. Fine trade if you don't use Cowork; a silent functionality loss if you do.
@kiwidudenz-bot Confirmed on a second machine — your diagnosis reproduces exactly, and I have one data point that speaks to your open question.
Environment: Windows 11 Home China 10.0.26200. Claude Desktop, MSIX,
SignatureKind = Developer. Installed ~3 months ago from the claude.ai download — never from the Microsoft Store or winget.1)
AppxMetadatais missing, and it's not an ACL artifact.C:\Program Files\WindowsAppsis ACL-restricted, so "not found" could just mean "not readable". I ran a control test against known-present siblings in the same package directory:Same fingerprint you described: BlockMap/Signature/Manifest present,
AppxMetadataabsent.2) CodeIntegrity 3033/3010 pairs match every crash to the second. Three crashes, all triggered by the in-app browser pane opening:
3033 verbatim:
3010:
...\AppxMetadata\CodeIntegrity.catcatalog could not be loaded, status 0xC000003A.Everything else matches too:
main.logshowsGPU process gone: { exitCode: 101457950 }at those same timestamps, the Crashpad DB is 0 bytes and WER has no records (consistent with a loader kill producing no dumps), and each crash left the package needing Repair, with the auto-repair looping on 0x80073D02.3) On your open question — how
AppxMetadatagoes missing: on this machine it is not residue from a bad one-off staging. The crashes above happened on1.37937.3.0. The app has since auto-updated to1.40609.0.0, and that package directory was freshly staged on 2026-08-29 11:14:54 — I checked it today and it still has noAppxMetadatadirectory. So a fresh MSIX staging, on a machine that never touched the Store, produced a package without the catalog. It survives across version updates rather than being a single corrupted install.Caveat, stated plainly: I never checked
AppxMetadatabefore this thread, so I can't say whether the original ~3-month-old install shipped without it or lost it later. That package version is gone now. What I can say is that the current one was staged yesterday and lacks it.I haven't done the clean reinstall yet. Thanks for the actual root-cause work; the CodeIntegrity log was the piece everyone (including me) was missing, because the absence of any crash dump made it look like there was nothing to find.
Confirming on 1.40609.0 (MSIX), Windows 11 Pro 26200, Intel UHD 770 (driver 32.0.101.7088). Six fatal occurrences in one day, all
exitCode: 101457950(0x060C201E).Two pieces of evidence from this machine that I think narrow it usefully.
1. It reproduces with GPU acceleration DISABLED — the
--disable-gpuworkaround in this thread does not prevent itI ran the app via
Invoke-CommandInDesktopPackage ... -Args '--disable-gpu'and instrumented it with a 5-minute sampler that records the gpu-process command line and its loaded modules:| launch | gpu-process
--use-angle| graphics modules loaded in the gpu-process ||---|---|---|
| normal | (none) |
igd10iumd64.dll,igd10um64xe.DLL,igdgmm2_64.dll,igdgmm64.dll,igc64.dll,igd11dxva64.dll,igddxvacommon64.dll,igdinfo64.dll,d3d11.dll||
--disable-gpu|d3d11-warp-webgl|D3D10Warp.dllonly — no vendor driver module at all |The app then ran for 45 consecutive samples (~3.5 h) confirmed on the WARP software path, and still died with the identical
0x060C201Efour seconds after a browser preview was opened. So the crash is not in the vendor user-mode driver and not in hardware acceleration — combined with the NVIDIA reports in this thread and #82967, "update/roll back your GPU driver" and "turn off hardware acceleration" can both be ruled out.2. The trigger is specifically the browser preview server, not the preview subsystem generally
From a 9-day
main.log:[Preview] Created browser preview { serverId: 'browser-preview-…' }events were followed byGPU process gonewithin 3–68 seconds. No crash occurred without one.[Preview] Registered Claude page preview { serverId: 'html-preview-…' }on a previous day did not crash.[browser-live-preview] initializedappears at every launch on all 8 earlier sessions, so the subsystem is instrumented on older builds too — the absence ofbrowser-preview-*on non-crash days is genuine non-use, not missing logging.Typical last lines before the death:
Three of the six were preceded one second earlier by
[PreviewContext] Blocked subresource to private-resolving host { resourceType: 'xhr' }, which may be a useful hint at where in the preview path this happens.Not a pure version regression: 1.40609.0 first launched the previous day, ran two sessions that day and 2.5 h the following morning with zero crashes — the first crash came 68 seconds after the first browser preview this build had ever created.
3. The
[gpu-recovery]auto-heal cannot fire for this bugReading
app.asar, recovery is gated on ≥3 GPU deaths, with the count carried in a startup-marker file. But this crash is fatal to the whole app on the first GPU death, so the recorded count is always 1 and the>= 3threshold is unreachable.isHardwareAccelerationDisabledis therefore never auto-set, and the "Claude crashed because of repeated graphics problems…" notice never appears.That's a recovery control gated on state the failure destroys. Even fixed, per evidence (1) it would not help here — but it is worth knowing it has likely never fired for anyone hitting this.
Questions
coworkBrowserToolsEnabled: falseandcoworkPreferredBrowser: "chrome"inclaude_desktop_config.json; notelaunchEnabledwas alreadyfalseand browser previews were still created, so that flag at least does not gate this path.Happy to provide the sanitized
main.logwindow around any of the six crashes. I have a 34 MB Crashpad minidump from the sixth but will not post it publicly — it may contain page/document text from the session. Let me know a private channel if it would help.Related: #82967 (closed as duplicate), #85199 / #84992 (the package ends up unlaunchable after each crash — I posted the on-disk root cause for that in #85199).
Still present on 1.40609.0 (six weeks and many releases after 1.24012.1), and not NVIDIA-specific — same exit code on an AMD integrated GPU under Windows 10.
Environment
Claude_pzs8sxrjxfjjc, windows-store), claude.exe 2.1.139.0Two fatal crashes today, same signature, 17 minutes apart
Both fire 3–6 seconds after a Browser-pane action (
[RemotePreviewConsent] pane execution admission recorded), so on this build the window between opening the pane and the crash is much shorter than the 15–36 s you measured. No TDR / display-driver-reset events — the driver never reset, only the Chromium GPU process died. Unlike your case, WER did fire here:RADAR_PRE_LEAK_64for claude.exe 2.1.139.0 during the dead window.Bug 2 reproduces identically:
CoworkVMService(StartMode=Auto) outlives the crash, keepsapp\resources\cowork-svc.exeopen, and repair fails with0x80073D02. The same restart also logs[Chrome Extension MCP] Failed to copy native host binary: EBUSY ... chrome-native-host.exe.Extra workaround — persistent, no special launcher needed
1.40609.0 ships a real setting, which is nicer than
Invoke-CommandInDesktopPackage ... --disable-gpu:"isHardwareAccelerationDisabled": truein%APPDATA%\Claude\config.json(write UTF-8 without BOM), then relaunch.The build also contains a
[gpu-recovery]heuristic that auto-disables acceleration after 3 GPU deaths within 5 minutes — but it can never fire for this bug, because the app dies on the first one. Making the0x060C201Epath trip that heuristic at the first occurrence would let the product self-heal instead of leaving users with an app that won't start.Same issue here, confirming this is still present in a much newer build — and adding two data points:
Setup: Claude Desktop 1.40609.0 (Windows 11, MSIX install), Intel Iris Xe Graphics (integrated GPU).
Symptom: identical to this report. Whenever a session used the built-in browser pane for web research, the GPU process crashed with the same exit code and took the whole app down:
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }(= 0x060C201E)4 crashes in one day, each preceded by
[PreviewContext] Blocked subresource to private-resolving hostand WebGPU activity (requestAdapter()warnings, "A valid external Instance reference no longer exists"). Reliably reproducible by opening www.printables.com in the browser pane (WebGPU 3D model viewer + Cloudflare Turnstile).Data point 1 — GPU driver update does NOT fix it: I updated the Intel driver from 30.0.101.1960 (04/2022) to 32.0.101.7088 (06/2026). The very next browser pane use on printables.com crashed the app again identically.
Data point 2 — package corruption confirmed: After crashes the app would not reopen ("This app can't open"), Windows Repair failed for me, and a reboot did not help — only a full reinstall brought the app back. This happened several times in one day.
Extra note: clicking any web link in the chat also opens the built-in browser pane, so even a user who avoids the pane can trigger the crash with one click.
Workaround that works: stop using the built-in browser entirely (denied
mcp__Claude_Browservia permissions.deny in settings.json) and route all browser work through the Claude in Chrome extension in an external Chrome — zero crashes since.Requests: (1) fall back to software rendering instead of dying when the GPU process crashes, or provide a hardware-acceleration toggle; (2) make the MSIX package survive the crash so Repair works; (3) option to open chat links in the system browser.
<html>
<body>
<!--StartFragment--><p dir="ltr">Confirming this on a much newer build, with a version correlation that
may help narrow the regression.</p>
<p dir="ltr"><strong>Platform:</strong> Claude Desktop <strong>1.40609.0.0</strong>, Windows 11 Pro (build
26200), x64, sideloaded MSIX (<code>SignatureKind=Developer</code>). Intel Arc 140V
integrated GPU, driver 32.0.101.8826. <code>CodeIntegrityPolicyEnforcementStatus = 2</code> (enforced), HVCI active.</p>
<h2 dir="ltr">Same signature as the original report</h2>
<div role="group" aria-label="Code" tabindex="0"><div><div></div></div><div><pre style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre-wrap;">Microsoft-Windows-CodeIntegrity/Operational Id 3033
Code Integrity determined that a process
(...\WindowsApps\Claude_1.40609.0.0_x64__<hash>\app\claude.exe)
attempted to load
...\Claude_1.40609.0.0_x64__<hash>\app\vk_swiftshader.dll
that did not meet the Microsoft signing level requirements.</code></pre></div></div>
<p dir="ltr">Followed within the same second by:</p>
<div role="group" aria-label="Code" tabindex="0"><div><div></div></div><div><pre style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre-wrap;">GPU process exited unexpectedly: exit_code=101457950
GPU process launch failed: error_code=18 x5
GPU process isn't usable. Goodbye.</code></pre></div></div>
<p dir="ltr">Note the ordering: the GPU process dies <strong>first</strong>, and the SwiftShader
block lands on the <em>relaunch</em> attempts. Windows then flags the package
<code>Modified, NeedsRemediation</code> and the app will not start.</p>
<h2 dir="ltr">Version correlation - possible regression in 1.40609.0.0</h2>
<p dir="ltr">Scanning 30 days of CodeIntegrity events, the 3010 catalog errors trace
the full version history on this machine:</p>
<div dir="ltr">
Date | Version
-- | --
Aug 3 | 1.24012.11.0
Aug 5 | 1.25927.0.0
Aug 7-8 | 1.26832.0.0
Aug 12 | 1.28929.0.0
Aug 14 | 1.30096.0.0 / .1.0
Aug 15 | 1.30096.5.0
Aug 18 | 1.32352.1.0
Aug 19 | 1.32885.1.0
Aug 21 | 1.34493.1.0
Aug 25-27 | 1.37937.0.0 / .1.0 / .3.0
Aug 28 | 1.40609.0.0 installed
</div>
<p dir="ltr">Worth noting <code>--use-angle=d3d11</code> <em>did</em> take effect - WebGL reported
<code>ANGLE (Intel, Intel(R) Arc(TM) 140V GPU, Direct3D11)</code> with
<code>Major Performance Caveat: No</code>, i.e. genuine hardware D3D11 and no
SwiftShader in the WebGL path. WebGPU still reached the SwiftShader
fallback adapter through Dawn, bypassing ANGLE entirely.</p>
<p dir="ltr">There is currently <strong>no user-side workaround</strong> that preserves the app.</p>
<h2 dir="ltr">Recovery</h2>
<p dir="ltr">Windows' own repair does not work, as the original report says. The
AppModel-Runtime trace shows why - package status returns to <code>0x2</code> after
each repair, and only clears on a full re-Add:</p>
<div role="group" aria-label="Code" tabindex="0"><div><div></div></div><div><pre style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre-wrap;">status -> 0x280002
status -> 0x200002
status -> 0x2
status -> 0x0 <- only after Add-AppxPackage, ~1 minute later</code></pre></div></div>
<p dir="ltr">This clears it and preserves app data:</p>
<div role="group" aria-label="powershell code" tabindex="0"><div><div></div></div><div>powershell</div><div><pre style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code class="language-powershell" style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre;"><span><span><span style="color: rgb(112, 184, 255);">Add-AppxPackage</span> -Path .\Claude.msix -ForceUpdateFromAnyVersion -ForceApplicationShutdown</span></span></code></pre></div></div>
<h2 dir="ltr">Impact</h2>
<p dir="ltr">This blocks normal work, not edge cases - six crashes in a single working
session, each requiring a re-Add before the app would start again.</p>
<h2 dir="ltr">Supporting the packaging diagnosis</h2>
<p dir="ltr">407 <code>Id 3010</code> catalog errors across every version back to Aug 3, all of
the form:</p>
<div role="group" aria-label="Code" tabindex="0"><div><div></div></div><div><pre style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236, 240); background: transparent; font-family: var(--font-mono); white-space: pre-wrap;">Code Integrity was unable to load the
...\Claude_<version>_x64__<hash>\AppxMetadata\CodeIntegrity.cat
catalog. Status 0xC000003A.</code></pre></div></div>
<p dir="ltr">The 3010s alone are harmless - they occur constantly on every build. It
is only 3010 <strong>plus</strong> a 3033 that flags the package. This matches the
original report's first suggested fix: ship <code>AppxMetadata\CodeIntegrity.cat</code>
in the MSIX.</p>
<p dir="ltr">Since the app is sideload-only (no Microsoft Store listing), every
install is <code>SignatureKind=Developer</code> with no catalog, so every user is
exposed to this the moment their GPU process needs to restart.</p>
<p dir="ltr">Upstream: electron/electron#52700</p><!--EndFragment-->
</body>
</html>
Confirming this on AMD integrated graphics and on a newer app build, which should help rule out both the vendor and the specific version.
Environment
Claude_pzs8sxrjxfjjc, Developer-signed, package StatusOk)Same signature
Three crashes on 2026-08-30, each within seconds of an in-app Browser tab loading a WebGL/WebGPU-heavy page (suno.com in all three cases).
unknown-window.log:main.log, same second:I could not preserve the exit code: the mandatory Repair (see below) reset the log files before I got to it. Happy to capture it if this recurs — though the point is now to avoid the in-app Browser on this machine.
Driver ruled out independently
The original report reproduced on two NVIDIA driver versions. Adding the AMD side:
So the fault occurs on NVIDIA discrete and AMD integrated graphics alike, across four driver versions in total.
Memory ruled out
At the crash instant the app's own telemetry reported
sys_free=17168MB/31992MB, whole Electron tree at 2148 MB, GPU process at 192 MB.Bug 2 confirmed
After the third crash the app would not start at all and had to be restored via Settings -> Apps -> Claude -> Advanced options -> Repair. As described in the original report, Windows logged nothing — no Application Error 1000/1002 anywhere near the crash timestamps, while unrelated errors from the same day are present in the log. From the user's point of view the app simply disappears and then refuses to start, with no diagnosable error.
Unrelated observation, in case it is useful
On this machine
claude_desktop_config.json(in the virtualisedLocalCache\Roaming\Claudepath) carried the ReadOnly attribute and had not been written since 2026-04-15, producing hundreds ofEPERMentries inmain.log. The user did not set this. Very likely a separate issue, but a package whose config is read-only appears to recover far worse from a hard crash — possibly an aggravating factor for Bug 2.Same failure with no DisplayLink and no memory pressure — 11 occurrences with an identical signature, plus a note on why the built-in auto-disable can never fire.
Adding a measured data point, because two of the usual explanations are ruled out here.
Environment
Win32_DeviceGuardall zeros; theHypervisorEnforcedCodeIntegritykey does not exist)The signature is exact: always five events
Microsoft-Windows-AppModel-Runtime/Adminrecords exactly 5 Event ID 6 (0x3CFC,ERROR_NEEDS_REMEDIATION, "cannot create the process for package … try reinstalling") at every failure. Eleven occurrences inside the window that log retains — it starts 2026-08-23 17:46, so earlier ones are simply not visible:Never four, never six. Always five.
Ruled out: memory pressure
A 15-second memory sampler was running across the 2026-08-30 13:04:03 failure. At that instant: 797 MB free of 3982 MB. The app's own log agrees — the last
[process-memory]line before the death reportssys_free=769MB/3982MB. The day's real minimum, 200 MB at 01:27, did not kill the app.On a 4 GB machine this would be easy to write off as RAM. The measurement says it isn't.
Ruled out: crash artifacts and package servicing
Application Error(1000) and no Windows Error Reporting entry at the failure time.Crashpad\reportsis empty — no minidump. The app does not crash; it becomes unable to continue.Timeline of the 13:04:03 failure
From
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\Claude\logs\main.log:91 seconds between opening the browser preview pane and the GPU process death. Note
reason: 'crashed', notlaunch-failed: the process existed and died, it was not a failed spawn.exitCode: 101457950=0x060C201E, matching the other reports.CoworkVMService confirmed as the repair blocker
Both attempts to re-register the package while that service was alive failed with
0x80073D02, each preceded by event 638 naming the app as still running. Only a reinstall — whose RestartManager stops the service — ever recovered it. Killing everyclaude.exefirst makes no difference, because the process holding the package is the service, not the app.The built-in auto-disable can never fire here
1.40609.0 ships a GPU-crash-streak recovery that disables hardware acceleration after 3 GPU process deaths in a session. Across 11 failures on this machine it has never triggered — because the first death is already fatal. The package flips to
NeedsRemediation, no further process can be created for it, so a second and third death never happen and the counter never reaches its threshold.The mitigation is present in the product and structurally unreachable for exactly the users who need it.
Suggestion: persist the auto-disable marker on death #1 when process creation for the package fails immediately afterwards, rather than requiring a streak of 3.
Mitigations applied here
"isHardwareAccelerationDisabled": truein%APPDATA%\Claude\claude_desktop_config.json— i.e. arming the app's own recovery ahead of a streak it can never reach. Result to follow.CoworkVMService, killcowork-svc.exe, then re-register the package. That is the step that makes the difference.Happy to attach a diagnostic report if it would help.