[BUG] Desktop (Windows): GPU process crashes with identical exitCode 101457950 (0x060C201E) on both NVIDIA and Intel adapters
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Desktop's Chromium GPU process crashes repeatedly during normal use on a
hybrid-graphics Windows laptop. The main window either freezes (Windows logs an
Application Hang, Event 1002) or the app exits entirely, interrupting in-flight
Cowork and Code sessions.
Every occurrence logs a byte-identical entry in main.log:
[info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
exitCode 101457950 = 0x060C201E. This value is identical across every occurrence
over four months — including across two different GPU vendors' driver stacks,
after updating both drivers, and after a full uninstall/reinstall. That
consistency is why I believe this is app-side rather than driver-specific: a
vendor-specific fault would be expected to change signature when the rendering
adapter changes.
What Should Happen?
The GPU process should not crash. Failing that, Chromium should restart it
transparently without the window freezing or the app exiting and killing
in-flight sessions.
Error Messages/Logs
2026-08-04 16:07:52 [info] GPU process gone: {
type: 'GPU',
reason: 'crashed',
exitCode: 101457950,
serviceName: 'GPU'
}
All occurrences (deduplicated from main*.log, pattern "GPU process gone"):
2026-04-10 11:42:08 2026-07-27 13:03:25 2026-08-01 14:59:34
2026-06-22 19:00:18 2026-07-28 02:08:46 2026-08-01 18:47:10
2026-06-28 11:20:33 2026-07-28 10:38:26 2026-08-01 19:04:17
2026-06-29 09:33:38 2026-07-28 18:22:22 2026-08-04 16:07:52
2026-07-18 11:58:21 2026-07-21 13:44:10
exitCode is 101457950 in every one.
Steps to Reproduce
Not deterministically reproducible — it occurs during ordinary use rather than
from a specific action. Conditions under which it has occurred:
- Windows 11 laptop with hybrid graphics (Intel Iris Xe + NVIDIA RTX 3060 Laptop).
- Open Claude Desktop and use it normally — Cowork tasks and Code sessions,
often with several sessions open.
- Within roughly 1-3 hours of active use, the GPU process crashes. The window
freezes or the app exits.
- Confirm in %APPDATA%\Claude\logs\main.log: "GPU process gone ... exitCode: 101457950"
and a ~34 MB minidump in %APPDATA%\Claude\Crashpad\reports\.
Frequency has escalated: 1 occurrence in April, 3 in June, 7 in July, 3 on Aug 1 alone.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.220
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
This is the Claude Desktop app (Code and Cowork tabs), not the terminal CLI.
Environment
- Claude Desktop 1.24012.11.0 (MSIX package, Claude_pzs8sxrjxfjjc)
- Windows 11, 16 GB RAM
- NVIDIA GeForce RTX 3060 Laptop GPU — driver 32.0.16.1088 (610.88), 2026-07-22
- Intel Iris Xe Graphics — driver 32.0.101.7088, 2026-06-17
Ruled out: memory pressure
I correlated each crash with the sys_free value from the preceding
[process-memory] log line. Free system memory at crash time ranged from 101 MB
to 3050 MB (median ~1 GB). Crashes occur with 3 GB free, so this is not an
out-of-memory condition. The app's own process tree was ~1 GB in every sample.
Mitigations attempted — none effective
- Updated both GPU drivers (Intel 2025-09 -> 2026-06; NVIDIA 2025-11 -> 2026-07
Studio branch, clean install).
- Pinned the app to the Intel iGPU via
HKCU\Software\Microsoft\DirectX\UserGpuPreferences ->
"Claude_pzs8sxrjxfjjc!Claude" = "GpuPreference=1;" (verified applied).
Crashes continue on the iGPU with the same exit code; earlier crashes were on
the discrete NVIDIA adapter.
- Cleared GPUCache, ShaderCache, DawnGraphiteCache, DawnWebGPUCache, Code Cache.
- MSIX Repair, and a full uninstall + reinstall.
No "disable hardware acceleration" toggle is exposed in Settings, and MSIX
packaging makes passing Chromium command-line switches impractical, so I have no
way to test software rendering as a workaround.
Artifacts available on request
- Crashpad minidumps (~34-35 MB each) from %APPDATA%\Claude\Crashpad\reports\
- Full main*.log excerpts around each crash
- Windows Event Log entries (Application Hang 1002 + WER following the crash)
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
Confirming this on a second machine, and I think I have the root cause.
Windows Code Integrity rejects the app's own bundled
vk_swiftshader.dll0–1 seconds before every crash. Event ID 3033, log
Microsoft-Windows-CodeIntegrity/Operational:| Code Integrity 3033 | GPU crash (
main.log) | Package version ||---|---|---|
| 2026-08-01 14:59:33 | 14:59:34 | 1.24012.9.0 |
| 2026-08-01 18:47:10 | 18:47:10 | 1.24012.9.0 |
| 2026-08-01 19:04:17 | 19:04:17 | 1.24012.9.0 |
| 2026-08-04 16:07:51 | 16:07:52 | 1.24012.11.0 |
4 out of 4. Event text:
The DLL ships inside the package (5,546,320 bytes) alongside
vk_swiftshader_icd.json. Anyone can check their own machine with:Cross-vendor confirmation. The identical exit code with the identical
Code Integrity 3033 rejection of
vk_swiftshader.dllwas traced in anothervendor's Electron app: openai/codex#34133. That strongly suggests a signing
or packaging problem with the bundled SwiftShader binary rather than anything
GPU-driver specific.
Consistent with that, on my machine the crash survives every hardware-side fix:
NVIDIA RTX 3060 Laptop 2025-11 → 2026-07 Studio, clean install)
HKCU\Software\Microsoft\DirectX\UserGpuPreferences— crashes on both,same exit code
GPUCache,ShaderCache,DawnGraphiteCache,DawnWebGPUCache,Code CacheMemory pressure ruled out. I correlated each crash with
sys_freefrom thepreceding
[process-memory]line: free RAM at crash time ranged from 101 MBto 3050 MB (median ~1 GB). Crashes happen with 3 GB free, so this is not OOM.
Timeline — 14 occurrences, deduplicated from
main*.log, escalating:1 in April → 3 in June → 7 in July → 3 on Aug 1 alone.
Environment: Claude Desktop 1.24012.11.0 (MSIX), Windows 11, 16 GB RAM,
NVIDIA RTX 3060 Laptop
32.0.16.1088+ Intel Iris Xe32.0.101.7088.Crashpad minidumps (~34 MB each) and full log excerpts available on request.
Update: correcting two things I said above, and adding measurements that change the diagnosis.
1. Not a regression, and the commit I named is not the fix.
I recovered this machine's version history from archived
main*.logand paired everycrash with the build that was running:
| Period | Node (app startup log) | Crashes | Rate |
|---|---|---|---|
| 2026-04-10 – 2026-07-21 (102 d) | 24.14.0 → 24.17.0 | 6 | ~1 per 17 days |
| 2026-07-22 – 2026-08-04 (13 d) | 24.18.0 | 9 | ~1 per 1.4 days |
Node 24.13.0 ships with Electron 41 (Chromium 146); Node 24.18.0 with Electron 42.7.0
(Chromium 148.0.7778.280, read from
<app>\version). The first crash ran on Node24.14.0 — Chromium 146, two majors before
97b3f5d7800fde085af53b1b7455b730c215a874(first in 148.0.7734.0). So the crashpredates that change; backporting it is a no-op, and it is already in both 148 and 150.
@pierremorales reaches the same conclusion independently in #83478 — the Browser pane
never worked on his machine either.
Caveat: my agentic workload also intensified in late July, so the rate figures are
confounded. The pre-2026-07-22 occurrences are not — those builds could not contain
the commit.
2.
AllowStoreSignedBinariesis a dead end — please don't spend time on it.Chromium hardcodes
policy.MicrosoftSignedOnly = trueinsandbox/win/src/process_mitigations.ccwith the comment *"Support not added at themoment."* There is no switch and no Electron API. And it would not help regardless:
this package is
SignatureKind: Developerwith ordinary third-party Authenticode DLLs,so the Store signing level is unreachable — consistent with
ValidatedPolicy: 1against
RequestedPolicy: 8.3. Measured: the preload is not running, and the guard cannot see the path that loads it.
On the live
--type=gpu-processchild (elevated, app healthy, 26 min uptime, hardwareD3D11 ANGLE):
The preload in
gpu/ipc/service/gpu_init.ccis guarded by three conditions that allread command-line/startup state only (
IsSwiftShaderAllowed,use_webgpu_adapter ==,kSwiftShader
DefaultForceFallbackAdapter). The app passes none, so the preload iscorrectly skipped.
But
gpu/command_buffer/service/webgpu_decoder_impl.cc:1851setsforceFallbackAdapter = truewithbackendType = Vulkanat runtime, on anyrequestAdapter()whose preferred-adapter loop finds nothing acceptable. No switchcontrols it, so no startup guard can predict it. That loads
vk_swiftshader.dllafterMITIGATION_FORCE_MS_SIGNED_BINS— a delayed mitigation — is already live.My log, the second before the crash:
This also explains why pinning NVIDIA vs Intel changed nothing: the failure is in
adapter rejection, downstream of which GPU is present.
4.
Help > Troubleshooting > Disable Hardware Accelerationdoes exist (not inSettings), but it is likely to make this worse:
--disable-gpusatisfies no preloadguard, while
webgpu_decoder_impl.cc:1235setsforce_fallback_adapter_ = truewhenever WebGPU's feature status is Software — sending every
requestAdapter()straight to SwiftShader.
I have Crashpad minidumps (~34 MB each); @pierremorales reports none on his machine, so
these may be the only ones available. Happy to send them anywhere useful.
Same crash signature, with A/B version data that may help narrow it.
Windows 11 Home 25H2 (26200.8875), Dell laptop, hybrid graphics (Intel Arc
iGPU + RTX 4050 Laptop dGPU), 32 GB RAM. Desktop app 1.25927.0.
heavy daily use including Browser pane sessions.
creation time). First-ever "GPU process gone" at 7:46 PM that evening.
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }
requestAdapter() call seconds before each death.
32.0.101.8860, and with the app pinned to either GPU via Windows per-app
graphics preference. Windows event log clean: no bugchecks, no
Application Error 1000.
options -> Repair" dialog, and package removal fails with 0x80073CFA
(PreserveApplicationData), so reinstalls never replace the package.
Testing --disable-gpu as a workaround now; will report back.