Preflight Checklist
What's Wrong?
Summary
Keeping a live, continuously updating preview panel/browser view open during interactive web sessions repeatedly crashes the entire Claude Desktop application on Windows.
Actual Behavior
During active live-render updates in built-in browser views, Chromium's GPU process dies (GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }). Instead of gracefully catching the renderer/GPU crash and allowing the main app to recover, the parent Electron host process panics and terminates the entire application instantly.
Expected Behavior
A crash or failure within the GPU rendering layer or browser preview pane should be isolated to the webview process (showing an error frame or reload option) without killing the main desktop application shell or dropping active sessions.
What Should Happen?
The GPU process panic should be isolated to the webview layer, presenting a reload/error frame inside the browser pane without taking down the entire desktop application shell.
Error Messages/Logs
Evidence from %APPDATA%\Claude\logs\main.log:
2026-07-27 11:56:26 [info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950, serviceName: 'GPU' }
Associated log errors right before termination:
- WebGL: INVALID_ENUM: getInternalformatParameter
- capturePreviewScreenshotIfChanged failed: Preview not found
Steps to Reproduce
- Open a web development session in the Claude Desktop app on Windows.
- Allow the built-in browser/preview pane to stay open with a live dev server tab or active preview updates.
- Perform interactive web testing or allow the live-render loop to run.
- Mid-render, the GPU process panics and terminates the app instantly.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.218 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
- Tested on Windows 11 (MSIX packaged build).
- Workaround implemented: Adding instructions to
.claude/CLAUDE.md to disable continuous live-updating preview panels and take single static screenshots via Chrome extension bypasses the trigger entirely.
- Suggestion: Add process isolation / exception handling around Electron's built-in GPU renderer so process panics don't crash the host application host.
- my current solution was to tell claude to never use preview live in browser, always open the app in chrome (from extension). using chrome never crushed my app.
- after crushing there is no way to open the app, the only fix is to uninstall the app completly.
Preflight Checklist
What's Wrong?
Summary
Keeping a live, continuously updating preview panel/browser view open during interactive web sessions repeatedly crashes the entire Claude Desktop application on Windows.
Actual Behavior
During active live-render updates in built-in browser views, Chromium's GPU process dies (
GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }). Instead of gracefully catching the renderer/GPU crash and allowing the main app to recover, the parent Electron host process panics and terminates the entire application instantly.Expected Behavior
A crash or failure within the GPU rendering layer or browser preview pane should be isolated to the webview process (showing an error frame or reload option) without killing the main desktop application shell or dropping active sessions.
What Should Happen?
The GPU process panic should be isolated to the webview layer, presenting a reload/error frame inside the browser pane without taking down the entire desktop application shell.
Error Messages/Logs
Steps to Reproduce
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.218 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
.claude/CLAUDE.mdto disable continuous live-updating preview panels and take single static screenshots via Chrome extension bypasses the trigger entirely.