In-app browser Cloudflare Turnstile GPU crash leaves Windows Codex app unlaunchable
Bug report: In-app browser Cloudflare Turnstile GPU crash leaves Windows Codex app unlaunchable
Codex version
Codex Windows app 26.609.3341.0
Platform
- Windows 11 Home, version
10.0.26200, x64 - Intel Arc Graphics driver
32.0.101.6790(2025-04-28) - NVIDIA GeForce RTX 4060 Laptop GPU driver
32.0.15.6614(2024-11-06) - Microsoft Store package:
OpenAI.Codex_26.609.3341.0_x64__2p2nqsd0c76g0
Issue
Opening a page protected by Cloudflare Turnstile through the Codex in-app browser causes the embedded Chromium GPU process to crash. Afterward, the Codex desktop app can become permanently unlaunchable until it is reinstalled/repaired.
This happened repeatedly when opening:
https://info.nu.edu/dr/believe-succeed-scholarship/
The page redirects to a Cloudflare challenge URL. The problem appears to be related to Cloudflare Turnstile WebGL rendering, not the site's application content.
Steps to reproduce
- Open Codex Windows app.
- In a conversation, use the in-app Browser tool.
- Navigate the browser to
https://info.nu.edu/dr/believe-succeed-scholarship/. - The site redirects to a Cloudflare Turnstile challenge.
- The Chromium GPU child process crashes.
- Codex closes or becomes unusable.
- After closing Codex, launching it again may create processes without a usable UI.
- Reinstalling/repairing the Microsoft Store package restores Codex.
Expected behavior
A GPU/WebGL failure in an in-app browser tab should be isolated and recoverable. It should not make the entire Codex desktop app unlaunchable or require reinstalling the Store package.
Actual behavior
The GPU process crashes and subsequently fails to relaunch:
warning Recoverable Chromium child process gone exitCode=101457950 processType=GPU reason=crashed serviceName=GPU
WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost
warning Recoverable Chromium child process gone exitCode=18 processType=GPU reason=launch-failed serviceName=GPU
The WebGL errors originate from a Cloudflare Turnstile challenge:
sourceId=https://challenges.cloudflare.com/cdn-cgi/challenge-platform/...
Windows/AppX observations
- Microsoft Defender had no Codex-related threat or quarantine records.
- No Codex crash was recorded in the standard Application Error log.
- After the failure, reinstall/repair generated repeated AppX events stating:
Trying to repair ACLs for ...\WindowsApps\OpenAI.Codex_26.609.3341.0_x64__2p2nqsd0c76g0
ACLs repaired successfully
- AppModel Runtime later reported:
AppModel Runtime status ... successfully updated to 0x0 (previous status = 0x2)
- AppX deployment also warned that files under
C:\Program Files\WindowsApps\Deletedfailed to be deleted. - The current Store package status is
Ok, and the bundled Codex CLI signature verifies as OpenAI.
Additional context
There is a possibly related Windows GUI launch issue: https://github.com/openai/codex/issues/25575
This report is different because the failure has a repeatable trigger and logs showing an embedded Chromium GPU/WebGL crash immediately before the app becomes unusable.
The full original logs may contain conversation identifiers and Cloudflare challenge tokens, so only the relevant redacted excerpts are included here.
9 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional Windows repro/evidence from another machine on Stable Codex Desktop
26.609.3341.0.Environment:
OpenAI.Codex_26.609.3341.0_x64__2p2nqsd0c76g010.0.22631, x6430.0.13044.0; GameViewer Virtual Display Adapter driver15.6.5.199Observed behavior:
26.608.1337.0to26.609.3341.0on 2026-06-12 at about 08:14 local time.Crash evidence:
2026-06-12 19:58:51and2026-06-12 23:46:30local time.0x80000003(EXCEPTION_BREAKPOINT)chrome.dll0x142a419APPCRASHentry for these exits.App log evidence immediately before both crashes points to in-app browser lifecycle/webview attachment:
This looks related to the same in-app browser / Chromium crash surface, though in this case there was no confirmed Cloudflare Turnstile trigger. I am not attaching dumps publicly because they may contain local/session data, but the two dump signatures are consistent and available for private follow-up if useful.
Same behavior when codex tried to pull up the cloudflare login page with the in-app browser.
I am experiencing what appears to be the same issue on Windows.
When the Codex in-app browser navigates to a website protected by Cloudflare and the Cloudflare verification/Turnstile page appears, the entire Codex app crashes.
After the crash, Codex cannot be launched again normally. Windows shows an error directing me to the Microsoft Store, and I have to use Repair/Restore or reinstall the Codex app before it starts working again.
This has happened more than once and appears to be specifically triggered when the in-app browser encounters a Cloudflare verification page.
I can provide my Codex version, Windows version, GPU information, and relevant logs if that would help with debugging.
Additional evidence on the current Store build, with a to-the-second correlation between the Code Integrity block and the GPU crash — plus the detail that explains why the app becomes unlaunchable rather than just crashing once.
Environment
OpenAI.Codex_26.721.4979.0_x64__2p2nqsd0c76g0codex-cli 0.146.0-alpha.3.126200.8875, x6432.0.16.1074(2026-07-02)32.0.21043.19003(2026-06-19)0.45.0.0app\vk_swiftshader.dllversion 5.0.0, 5,424,640 bytes, Authenticode status NotSignedWorth noting: this reproduces on a current discrete GPU with a three-week-old driver, so it is not limited to blocklisted or older GPUs as suggested in #35132.
Trigger
Any page embedding a Cloudflare Turnstile widget — not only the Cloudflare dashboard or login page. I reproduced it repeatedly on an ordinary site whose contact form embeds
cf-turnstile(loaded fromchallenges.cloudflare.com). Other pages on the same origin, without the widget, load fine in the same session.Timeline — two consecutive reproductions
A consistent 2.5–3 seconds elapses between DOM ready and the crash — the interval in which the Turnstile widget mounts and begins its canvas/WebGL work. The Code Integrity block lands about one second before the GPU process dies, in both runs.
Same signature as the original report. An earlier Crashpad dump on this machine matched @zzryu01-source's: exception
0x80000003(EXCEPTION_BREAKPOINT) inchrome.dll.Why the app becomes unlaunchable (I believe this is the missing piece)
The GPU crash on its own is a one-off. What turns it into a boot loop is browser tab persistence.
~/.codex/.codex-global-state.jsonholds, underelectron-persisted-atom-state, keys shaped like:On launch, the app restores those tabs automatically, before any tool call or origin permission check. If a persisted URL is a Turnstile-protected page, the GPU process is killed within seconds of every startup. That is what produces the roughly 60-second death and the Microsoft Store "repair" prompt others in this thread describe — and it is why reinstalling doesn't help: this state lives outside the MSIX package, so a Store repair restores the binaries but leaves the crashing URL in place.
Workaround (no reinstall needed)
ChatGPT.exeprocesses remain.~/.codex/.codex-global-state.json.thread-browser-tabs-v1:*entries whosetabscontain a Turnstile-protectedrestoreUrl.After this the app ran normally for over 20 minutes with zero GPU crashes and zero
0x3CFCactivation failures, having previously died about 76 seconds into every launch. It only crashed again when the in-app browser was deliberately pointed back at the Turnstile page — and that immediately re-armed the loop, because the crashing URL was written back intothread-browser-tabs-v1under the new thread ID.Suggested fixes
vk_swiftshader.dllsigned to the level the app's own Code Integrity Guard (MicrosoftSignedOnly) mitigation demands, or exempt the GPU process from that mitigation, so the software-rendering fallback can actually load.Additional reproduction on the current Windows Store build, with a timestamp-correlated Browser PiP / Cloudflare / Code Integrity sequence from an AMD-only system.
Environment
OpenAI.Codex_26.721.4979.0_x64__2p2nqsd0c76g00.146.0-alpha.3.110.0.26200, x6432.0.22024.3004(2025-10-30)Correlated timeline
Local time is UTC+8.
The Codex instance log ends immediately after the two GPU-process messages. The desktop window disappeared and was later relaunched.
Additional checks
Status=OKafterward.This matches the original report's Cloudflare/Turnstile trigger, Code Integrity rejection, and exact GPU exit-code pair. The preceding Browser PiP route/upsert failures may provide an additional lifecycle signal immediately before the known SwiftShader failure.
Full local logs are not attached because they contain paths, conversation IDs, and account-related state. Sanitized excerpts can be supplied if maintainers need more fields.
Additional reproduction: reopening one affected thread repeatedly restores an interrupted Browser Use state and crashes the GPU process
Environment
OpenAI.Codex_26.721.4979.0_x64__2p2nqsd0c76g026.721.410590.146.0-alpha.3.110.0.2263132.0.15.9186Trigger and reproduction
5358509.Relevant desktop log sequence
When the affected thread is reopened, the logs show the thread becoming active and the IAB/WebView route being restored shortly before the same GPU-process failure.
Local state checks
codex doctorreports the Codex installation and local state databases as consistent.This suggests that opening the thread restores or reattaches incomplete persisted IAB/Browser Use state, after which the Chromium GPU child crashes and cannot be relaunched.
I am not claiming that the PiP upsert warning is the proven root cause. It is a repeatable precursor in the captured logs.
Expected behavior
A failed or interrupted Browser Use state should be quarantined or skipped when reopening a thread.
Codex should:
Sanitized desktop logs, exact timestamps, the affected thread ID, and Windows event details are available privately if maintainers provide a safe upload route. I am not attaching raw rollout files, full logs, or dumps publicly because they may contain conversation content, local paths, and session metadata.
This is reproducible by simply navigating to https://dash.cloudflare.com within a Codex thread using the internal browser.
Immediately after the login screen loads codex crashes and must be repaired.
I can reproduce the same failure signature on the same Store build and OS family. My case initially looked task-specific, but the evidence shows that the affected task is simply the one that resumes the built-in Browser path.
Environment:
26200.8875OpenAI.Codex_26.721.4979.0_x64__2p2nqsd0c76g032.0.16.104732.0.101.6129019fa851-2db4-73e2-a713-cb385b917228The task used Browser/
node_replto open Cloudflare’s domain-registration page. Six retries produced six Code Integrity Event 3033 records for:At each timestamp, AppModel Runtime immediately emitted Event ID 6:
Failure-window totals:
0x3CFCerrorsTwo especially tight correlations:
The package payload is intact. I validated
ChatGPT.exeandvk_swiftshader.dllblock-by-block against the signedAppxBlockMap.xml:vk_swiftshader.dllversion is5.0.0, SHA-256:2C8F89FA26945207260B9B019F7E1A2F4F6820741B783561F729DC13C7E82C7ESmart App Control is off and user-mode WDAC enforcement is off. All GPUs report healthy.
The task itself remains readable: after reinstall, three backend
thread/readcalls completed in 11 ms, 3 ms, and 10 ms with no error. This rules out a malformed/oversized transcript. Continuing the task is what re-enters the Browser/GPU path.After enough retries, Windows shows “This app can't open — Check the Store for more info about ChatGPT,” and the Store reinstall is required.
I have a sanitized event timeline and screenshot available. I did not attach the raw task JSONL because its Browser DOM snapshots may contain signed-in account data.