Desktop app quits entirely when the Browser pane loads a page with a production Cloudflare Turnstile widget
Summary
Opening a page that renders a production Cloudflare Turnstile widget in the Browser pane closes the entire desktop app — not just the pane. No crash dialog, no crash report is written. It reproduces both from the toolbar globe icon and from a link card's "Open" button.
Environment
- Claude desktop (Microsoft Store / MSIX):
Claude_1.24012.9.0_x64__pzs8sxrjxfjjc - Claude Code component:
2.1.219 - Windows 11 Pro 26200, 48 GB RAM
- Display adapters, all enabled: Parsec Virtual Display Adapter (driver 0.45.0.0, 2024-01), Intel UHD Graphics (31.0.101.2141), NVIDIA GeForce GTX 1650 Ti (32.0.15.9282)
- Local console session, 2 monitors. Parsec and RustDesk host processes running in the background.
Minimal reproduction
Serve this single static page over http://localhost and open it in the Browser pane:
<div id="ts"></div>
<script>
const s = document.createElement('script');
s.src = 'https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit';
s.async = true; s.defer = true;
s.onload = () => window.turnstile.render(document.getElementById('ts'), {
sitekey: 'YOUR_PRODUCTION_TURNSTILE_SITEKEY',
callback: () => {},
theme: 'auto',
language: 'tr',
});
document.head.appendChild(s);
</script>
With a real production sitekey the app closes while the challenge runs. With any Cloudflare test sitekey the same page behaves normally, so the trigger looks like the real challenge payload (WASM / workers / fingerprinting), not the widget markup or the script host.
Already ruled out (each loaded in the pane, no crash)
- Plain HTML page with no scripts
- External HTTPS site (
https://example.com) - A Cloudflare Pages site of ours with no Turnstile
- A static file served from the same origin as the crashing page
- Service worker registration +
Notification.requestPermission()+pushManager.subscribe()+ PWA manifest - Turnstile with Cloudflare test sitekeys in all three modes: visible pass (
1x00000000000000000000AA), forced interactive (3x00000000000000000000FF), invisible (1x00000000000000000000BB) — all rendered and issued tokens
Expected vs actual
- Expected: a web page cannot terminate the desktop application. Worst case the pane's renderer or GPU process dies and recovers.
- Actual: every
claudeprocess exits. The app restarts normally afterwards.
Diagnostics collected
%APPDATA%\Claude\Crashpadholds no report files (onlysettings.dat) — nothing is captured- Windows Application log has no
Application Error(1000) or hang entry for the app around the crash - No display-driver TDR (System log 4101), no
Resource-Exhaustion-Detectorevent, no memory pressure (29 GB free) - Only trace is the restart itself:
CoworkVMService stopped, then a fresh activation of the packaged app a couple of minutes later - The same page opens fine in regular Chrome on the same machine
I can share the exact sitekey that reproduces this privately, or run an instrumented build if that helps.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗