[Windows desktop] Creating an in-app Browser tab terminates Codex after about:blank WebView attachment

Open 💬 3 comments Opened Jul 16, 2026 by eklim23

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, version 26.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

  1. Launch Codex desktop and open any task.
  2. Start an in-app Browser session from that task.
  3. Create a new Browser tab. Leave it at the initial about:blank URL; navigation is not required.
  4. 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:

  1. A hidden Browser WebView is created with initialUrl=about:blank.
  2. The MCP app sandbox cannot match the attachment because the URL is undefined/invalid.
  3. The WebView attaches and becomes DOM-ready.
  4. The main desktop log terminates abruptly.
  5. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗