[Windows desktop] Creating an in-app Browser tab terminates Codex after about:blank WebView attachment
Summary
Codex desktop unexpectedly terminates shortly after the in-app Browser creates and attaches a new about:blank sidebar WebView. No page navigation is required.
The failure was observed twice on the same machine with the same final event sequence. One occurrence was user-observed and the second was a controlled reproduction. During the controlled reproduction, the Codex main process was confirmed responsive immediately before the test, then its Desktop AppX container was destroyed about two seconds after the browser WebView became DOM-ready.
Suggested severity: High. The entire desktop app terminates, interrupting active tasks and potentially losing unsaved UI state.
Environment
- Codex package:
OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0 - Codex package version:
26.707.9981.0 - Codex app-server version reported in the desktop log:
0.144.2 - Browser plugin:
browser@openai-bundled, version26.707.72221 - Architecture:
x64 - Windows registry ProductName:
Windows 10 Home - Windows DisplayVersion:
25H2 - Windows build:
26200.8875 - System locale:
ko-KR - UI culture:
en-US - Time zone:
Korea Standard Time(UTC+09:00)
Reproduction steps
- Launch Codex desktop and open any task.
- Start an in-app Browser session from that task.
- Create a new Browser tab. Leave it at the initial
about:blankURL; navigation is not required. - Wait approximately two seconds.
Expected result
The new in-app Browser tab is created and Codex remains running and responsive.
Actual result
The Browser WebView is created and reports dom-ready. The Codex desktop log then stops abruptly without a graceful shutdown marker. Approximately two seconds later, Windows records destruction of the Codex Desktop AppX container and the original main PID no longer exists.
Reproduction rate
- Total matching occurrences observed: 2
- Controlled reproduction attempts: 1/1
- Full-app termination reproduced during the controlled attempt: Yes
Controlled reproduction timeline
All times below are on 2026-07-16 in Korea Standard Time (UTC+09:00).
| Time | Evidence |
|---|---|
| 14:41:19.615 | Baseline captured. Codex main PID 39068 existed and reported Responding=True. |
| 14:41:31.740 | Browser sidebar thread registered. |
| 14:41:32.061 | Browser sidebar WebView created with initialUrl=about:blank. |
| 14:41:32.099 | Warning: mcp_app_sandbox.attach_unmatched guestWebContentsId=2 url=undefined urlProtocol=invalid. |
| 14:41:32.150 | Browser page mapped to Browser tab 1. |
| 14:41:32.190 | Browser sidebar reports dom-ready; this is also the final line in the PID 39068 desktop log. No quit, shutdown, or graceful-exit entry follows. |
| 14:41:34.142 | Windows AppModel-Runtime/Admin event 217: Codex Desktop AppX container destroyed. |
| 14:42:15.569 | A new Codex Desktop AppX container is created. |
| 14:42:15.571 | New main process PID 22200 is launched. |
The controlled crash log contains 328 lines and ends immediately after the Browser sidebar becomes DOM-ready.
Earlier matching occurrence
| Time | Evidence |
|---|---|
| 14:34:36.963 | Browser sidebar thread registered in PID 24296. |
| 14:34:37.302 | Browser sidebar WebView created with initialUrl=about:blank. |
| 14:34:37.345 | Same mcp_app_sandbox.attach_unmatched warning with url=undefined and urlProtocol=invalid. |
| 14:34:37.431 | Browser sidebar reports dom-ready. |
| 14:34:37.521 | Final desktop-log entry for PID 24296; no graceful shutdown marker follows. |
| 14:34:39.398 | Windows AppModel-Runtime/Admin event 217: Codex Desktop AppX container destroyed. |
| 14:34:52.338 | Next Codex main process, PID 39068, is launched. |
Relevant desktop-log excerpt from the controlled reproduction
2026-07-16T05:41:31.740Z info [browser-session-registry] IAB_LIFECYCLE registered browser sidebar thread ...
2026-07-16T05:41:32.061Z info [electron-message-handler] IAB_LIFECYCLE renderer created browser sidebar webview ... hostKind=hidden-browser-use initialUrl=about:blank ...
2026-07-16T05:41:32.099Z warning [mcp-app-sandbox] mcp_app_sandbox.attach_unmatched guestWebContentsId=2 url=undefined urlProtocol=invalid
2026-07-16T05:41:32.100Z info [browser-sidebar-manager] IAB_LIFECYCLE runtime attached browser sidebar webview ...
2026-07-16T05:41:32.150Z info [browser-use-iab-api] IAB_LIFECYCLE iab createTab mapped page to tab ... tabId=1 webContentsId=2
2026-07-16T05:41:32.190Z info [browser-sidebar-manager] browser sidebar dom-ready ... interactionMode=browse url=about:blank
<end of file>
Windows lifecycle evidence
Event log: Microsoft-Windows-AppModel-Runtime/Admin
2026-07-16 14:41:34.142 Event ID 217
Destroyed Desktop AppX container {F03A66DB-80D7-11F1-815E-005056C00008}
for package OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0.
2026-07-16 14:42:15.569 Event ID 210
Created Desktop AppX container {C317BBCE-80D8-11F1-815E-005056C00008}
for package OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0.
2026-07-16 14:42:15.571 Event ID 201
Created process 22200 for application OpenAI.Codex_2p2nqsd0c76g0!App.
Correlated errors observed across launches
These errors are reproducible and may be related, but the available evidence does not prove that either one is the direct cause of the full-app termination.
Desktop notification native/DLL failure
Each newly launched main process records the following desktop error:
[desktop-notifications][unhandled-rejection]
Error: A dynamic link library (DLL) initialization routine failed.
Windows also repeatedly records Application Error event 1000 for ChatGPT.exe with:
Exception code: 0xc06d007f
Faulting module: unknown
For the process launched after the controlled crash:
- Time:
2026-07-16 14:42:21.343 KST - PID:
22200 - Report ID:
fd9c5306-7ec3-45d7-bd16-1564693847be
The matching desktop-log error appears at 14:42:22.034 KST.
Bundled Browser plugin reconciliation failure
The previous launch also logged:
plugin_uninstall_failed
failed to uninstall plugin: failed to remove existing plugin cache entry:
Access is denied. (os error 5)
pluginId=browser@openai-bundled
Initial triage hypothesis
The strongest timing correlation is the in-app Browser WebView lifecycle:
- A hidden Browser WebView is created with
initialUrl=about:blank. - The MCP app sandbox cannot match the attachment because the URL is undefined/invalid.
- The WebView attaches and becomes DOM-ready.
- The main desktop log terminates abruptly.
- Windows destroys the Codex AppX container about two seconds later.
This may indicate a lifecycle or isolation failure when the Browser guest WebContents is attached before a valid URL/protocol is available. The recurring notification DLL error and Browser plugin cache access failure should also be investigated, but they should be treated as correlated signals rather than confirmed root causes.
Diagnostic files
Controlled reproduction desktop log:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\2026\07\16\codex-desktop-4fe3c60d-e357-49a4-b4d3-4f1a3ea7dfee-39068-t0-i1-053452-0.log
Earlier matching desktop log:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\2026\07\16\codex-desktop-4164365c-a299-43e8-af2e-bf6a0c0fb97c-24296-t0-i1-053335-0.log
Post-crash launch log containing the DLL initialization error:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\2026\07\16\codex-desktop-7809d3ac-b1d3-4c8e-9c83-7595253b30df-22200-t0-i1-054216-0.log
Privacy note for attachments
The full desktop logs contain local filesystem paths, conversation identifiers, and task metadata. Before attaching complete files to a public tracker, redact unrelated paths and identifiers or submit them only through a private support channel. The excerpts above contain the minimum evidence needed to establish the reproduction sequence.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗