Skip to content

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

Open

Description

@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.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    on Jul 16, 2026
  2. github-actions commented on Jul 16, 2026

    @github-actions
    Contributor
  3. Alejandro-Imagine commented on Jul 16, 2026

    @Alejandro-Imagine

    Second independent confirmation from another Windows machine/locale.

    Environment

    • Codex package: OpenAI.Codex_26.707.9981.0_x64
    • Codex app-server: 0.144.2
    • Bundled Browser plugin: 26.707.72221
    • Windows 11 Home, x64, DisplayVersion 25H2, build 26200.8875
    • Locale: es-ES; time zone: Europe/Madrid (UTC+02:00)

    Impact

    The user reports that when an agent opens any target in the integrated Browser, the entire Codex desktop app exits and all active executions are terminated. This is not specific to one remote page.

    Correlated occurrence

    On 2026-07-16, local time:

    07:38:26.174  IAB tab opened; route page starts with hasStartingUrl=true
    07:38:26.505  Browser WebView attachment begins
    07:38:26.854  mcp_app_sandbox.attach_unmatched guestWebContentsId=2 url=undefined urlProtocol=invalid
    07:38:26.855  Browser WebView attached
    07:38:26.929  page mapped to tab 1
    07:38:27.006  dom-ready url=about:blank
    07:38:29.955  dom-ready url=http://127.0.0.1:<redacted-port>/
    07:38:30.082  Failed to upsert Browser Use PiP content backend=iab tabID=1
    

    The 598-line main-process log ends on that PiP warning, with no graceful shutdown marker. Windows launches a new Codex main process 26 seconds later.

    This broadens the reproduction in this issue: termination can also happen after the requested URL reaches dom-ready, and the last recorded event can be a Browser Use PiP upsert failure rather than the initial about:blank event. The shared earlier sequence remains the unmatched guest attachment with url=undefined / urlProtocol=invalid.

    Confirmed separate native packaging defect in the same build

    Every inspected launch also records an unhandled rejection while loading the bundled Work Louder / SerialPort native addon. Ten rotating minidumps were parsed read-only and consistently show:

    exception = 0xc06d007f
    module    = KernelBase.dll
    owner     = serialport.node
    dll       = node.exe
    proc      = napi_module_register
    Win32Error= 127 (ERROR_PROC_NOT_FOUND)
    

    The packaged serialport.node delay-loads node.exe!napi_module_register, but the desktop host does not export that symbol. Windows Application Error event 1000 records repeat the same signature.

    Important caveat: this native-addon failure also occurs at startup and the same Codex PID can survive many such events. It is therefore a confirmed packaging/ABI defect and possible stability amplifier, not proven to be the direct cause of the IAB termination.

    No contemporaneous WebView2 or GPU-process crash signature was found. The Browser implementation here is Codex's Chromium guest WebView, not the unrelated Edge WebView2 processes on the system.

    I have not attached raw logs or dumps publicly because they contain local paths, task identifiers, URLs, and potentially sensitive process memory. Sanitized excerpts or privately shared diagnostics can be provided if maintainers request them.

  4. nstung463 commented on Jul 16, 2026

    @nstung463

    Third independent confirmation: this still reproduces on the newer Windows Store build.

    Environment

    • Codex package: OpenAI.Codex_26.707.12708.0_x64__2p2nqsd0c76g0
    • Codex package version: 26.707.12708.0
    • Bundled Browser plugin: browser@openai-bundled, version 26.707.91948
    • Architecture: x64
    • Windows build: 26200.8875
    • UI culture: en-US
    • Time zone: SE Asia Standard Time (UTC+07:00)

    Reproduction

    1. Launch Codex desktop and open a task.
    2. Invoke the bundled in-app Browser.
    3. Create a Browser tab and navigate to https://example.com/.
    4. The page reaches dom-ready; Browser automation successfully reads the title Example Domain and a DOM snapshot.
    5. Codex then exits and restarts.

    Controlled reproduction: 1/1. The user reports that invoking the in-app Browser consistently causes the app to exit.

    Correlated timeline

    All timestamps below are UTC on 2026-07-16:

    09:57:35.572  IAB backend info request received
    09:57:44.762  Browser sidebar thread registered
    09:57:45.120  hidden Browser WebView created with initialUrl=about:blank
    09:57:45.252  Browser sidebar WebView attached
    09:57:45.430  Browser page mapped to tab 1
    09:57:46.072  dom-ready url=https://example.com/
    09:57:46.276  Failed to upsert Browser Use PiP content backend=iab tabID=1
    09:57:48.xxx  previous desktop process log stops
    09:57:51.xxx  replacement Codex main-process logs begin
    

    Windows Application Error event ID 1000 also repeats during the same period:

    Faulting application: ChatGPT.exe
    Package: OpenAI.Codex_26.707.12708.0_x64__2p2nqsd0c76g0
    Exception code: 0xc06d007f
    Faulting module: unknown
    

    As noted in the existing report, the 0xc06d007f native delay-load failure also appears outside the Browser lifecycle, so it is a correlated packaging/stability signal and is not proven to be the direct cause of the in-app Browser termination.

    Expected result

    The in-app Browser should remain open after navigation and Codex should stay responsive.

    Actual result

    The target page loads and is readable, but the entire Codex desktop app exits/restarts immediately afterward.

    Workaround

    Disable the bundled Browser plugin and set:

    [features]
    in_app_browser = false

    The Chrome plugin can remain enabled as an alternative.

    No raw desktop logs or crash dumps are attached because they contain local paths, task identifiers, and potentially private data. Sanitized excerpts can be provided if maintainers request them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't workingwindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions