Claude Desktop (Windows): heavy ad-stack page in in-app Claude Browser pane crashes entire app, no crash dump, kills all hosted sessions
Summary
Opening an ad-heavy web page (full publisher ad stack: prebid wrapper, identity syncs, GAM, creatives) in the in-app Claude Browser pane crashes the entire Claude Desktop app — main process and all — killing every hosted Claude Code session on the machine. Reproduced on two separate Windows machines. No crash dump is captured, which also makes this invisible to normal crash telemetry.
Environment
- Claude Desktop for Windows (Microsoft Store package), observed on
Claude_1.28929.0.0_x64(previously also on 1.21459) - Windows 11 Home 10.0.26200, 16 GB RAM
- Sessions involved: Claude Code Desktop (ccd) agent sessions using the in-app Claude Browser tools (
preview_start/navigate)
Repro
- In a Claude Code Desktop session, have the agent open a publisher site with a full ad stack in the in-app browser pane (example:
www.newschoolers.com— prebid + id5-sync identity calls + GAM creatives) and leave the tab open. - Continue working (multiple warm sessions).
- Within minutes the whole app process tree dies abruptly. On 2026-08-12 this machine died 3× in ~90 min (14:38:41, 14:54:00, 15:02:12 local).
Evidence from logs
unknown-window.log(renderer for the browser pane) shows ad-stack activity at the exact second of death — id5-sync CORS errors, WOFF2 OTS parsing error, WebGPUrequestAdapter()warnings — then nothing:
````
15:02:11 [error] Access to fetch at 'https://id5-sync.com/bounce' from origin 'https://www.newschoolers.com' has been blocked by CORS policy...
15:02:12 [warn] The powerPreference option is currently ignored when calling requestAdapter() on Windows. See https://crbug.com/369219127
(last lines before the process vanished at 15:02:12)
main.logsimply stops mid-activity; no error, no shutdown sequence.cowork-service.log(CoworkVMService) records the app side dropping at the same second:Persistent RPC: connection ended: failed to read length: EOFat 15:02:12.984.Crashpad\reportsis empty — the crash handler never fires, so nothing reaches telemetry.- Two of the three deaths were preceded by the app's own governor logging memory pressure:
````
14:50:04 [warn] [CliGovernor] memory pressure (critical): would evict 0 idle session(s), 3 effective
14:50:04 [info] [process-memory] ... sys_free=320MB/16271MB
But the third death occurred with 6.4 GB free system RAM, so this is not purely an OOM kill.
Impact
The browser pane shares fate with the whole app: one heavy tab takes down the main process and every hosted Claude Code session (including unrelated background agents mid-task). Agents that open a page "to verify" and leave the tab parked make this a recurring, machine-wide outage.
Asks
- Process isolation / resource limits for the Claude Browser pane so a heavy or misbehaving page can only kill its own tab, not the app.
- Make Crashpad capture whatever this failure path is — right now it dies without a dump, so it's presumably underrepresented in telemetry.
- Consider a default cap (memory/GPU) or watchdog for browser-pane renderers.
Possibly compounding but distinct (can file separately if useful): on one machine the Store package also entered an AppX auto-repair loop (0x80073D02 / trust-label error 8107) that re-registered package ACLs under the running app after each crash.
Showing cached comments. Read the full discussion on GitHub ↗
4 Comments
Adding a second data point — possibly the same underlying failure via a different entry point.
I hit the same signature (whole app dies, zero Crashpad dump, no Application Error event) twice on Windows, but through the Claude for Chrome extension (native host bridge reading page content into a Claude Code Desktop session), not the in-app Claude Browser pane /
preview_start/navigate.tool_resultreturning page content from a content-heavy page (ahrefs.com) via the Chrome extension.chrome-native-host.logstops one second later. The only Windows Event Log entry at that time is informational —Claude VM Service stopped(Id 1) — no Error-level event, no.dmpanywhere on the system..jsonlfiles were rewritten within a 45-second window — consistent with your "kills every hosted session on the machine" observation, just via a different trigger (large text payload from a file read, not a webpage).Claude Code version: 2.1.227 (bundled),
claude-desktopentrypoint.chrome-native-host.logalso shows a recurringChrome disconnected (EOF received)pattern across several days prior — might be relevant if the extension bridge and the in-app browser pane share underlying process/IPC handling.Not sure if this is the exact same code path as the in-app browser pane or a sibling one, but the shared signature (whole-process death, zero crash artifact, multi-session kill) seemed worth linking here.
Update — reproduced on a second entry point, and found a workaround.
Second vector: besides the Chrome extension, I also hit the identical crash through the in-app Claude Browser MCP pane. Last logged action before one crash was
mcp__Claude_Browser__computer("action":"wait"), modelclaude-sonnet-5, so both the Chrome extension bridge and the internalClaude BrowserMCP server trigger the same whole-app death. Same signature each time (no Application Error event, no Crashpad dump).Root cause is GPU process init, not page content. When I launched with
--disable-gputo test, I caught the failure live in stdout:GPU process exited unexpectedly: exit_code=101457950
GPU process launch failed: error_code=18 (repeated 5×)
FATAL:content\browser\gpu\gpu_data_manager_impl_private.cc:418] GPU process isn't usable. Goodbye.
So the crash is a fatal GPU-process launch failure (
error_code=18), not anything about the page being loaded. This lines up with the GPU-compositing crash class in #80468 / #80444 / #83028.Environment: AMD Radeon RX 7800 XT (discrete) + Ryzen iGPU — a dual-GPU Windows setup, the same configuration flagged as a known failure class in those issues. Setting a per-app GPU preference (Settings → Display → Graphics → Claude → High Performance) did not stop the crashes on its own.
Workaround that works for me:
--disable-gpualone was not enough — it still tried to spawn the GPU process and failed (Failed to create shared context for virtualization). The app only launches stably with the full set of flags:--disable-gpu --disable-gpu-compositing --disable-software-rasterizer --disable-gpu-sandbox. With all four, the app starts and the browser pane no longer takes down the whole process. Tradeoff is a slightly less smooth UI, but it's stable.Claude Code version: 2.1.227 (bundled),
claude-desktopentrypoint. Desktop packageClaude_1.28929.0.0_x64.Follow-up with the mechanism, pinned down on a second machine: the in-app browser's HTTP request interception (webrequest:before-send-headers) appears to run on the app's UI thread. A page generating high request volume - a busy dev server, or worst case an ad-stack page firing hundreds of prebid/identity-sync/GAM requests - blocks that thread (we observed stalls up to ~11 s) until the app dies without Crashpad ever firing. Hardware-independent, reproduces across machines, and consistent with the evidence above: death mid-ad-stack activity, no dump, and one crash with 6.4 GB free RAM (so not OOM). Suggested focus: take the interception handling off the UI thread / make it async, and watchdog the pane.
I hit what looks like the same root cause today (Windows Store package
Claude_1.30096.1.0_x64__pzs8sxrjxfjjc, Windows 11 Pro 10.0.26200): the whole desktop app died 4 times in about 30 minutes during a single Claude Code session. No crash dialog appeared — the app just disappeared and had to be relaunched.The two most recent crashes both happened right after opening the in-app Browser pane (
preview_start→navigate) on a URL that serves a Cloudflare interactive bot-check/challenge page (https://www.amiami.jp/top/page/c/gundam.html?page=rt_ctg), so it seems like it's not only heavy ad-stacks (as in this issue) but any sufficiently complex/interactive JS in the Browser pane that can take the whole app down.One extra data point that might help narrow this down: the Windows Application event log +
C:\ProgramData\Claude\Logs\cowork-service.logshowCoworkVMServicerepeatedly stopping and restarting at timestamps matching the crashes, e.g.:The "failed to configure recovery actions: open service: Access is denied" warning appears on every service start. Not sure if it's related to the crash itself or a separate pre-existing permissions issue, but it stood out since it's specifically about the VM service's ability to recover.
Same underlying pattern as described here: no crash dump captured, no process isolation between the Browser pane and the main app, so a single problematic page kills the whole session (and silently drops any in-progress background shell tasks with no completion record).