[Windows desktop] Closing in-app Browser tab silently terminates Codex during WebView teardown

Open
#34,239 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
electron, node.js, vite
Domain
desktop

Research direction

Start by reproducing the last Browser Use tab teardown with the local Node/Vite server, then inspect the browser-use-iab-api, browser-sidebar-manager, electron-message-handler, and browser-session-registry lifecycle logs. Done means closing the tab no longer terminates Codex Desktop and any renderer or WebView failure leaves a visible recoverable state with diagnostic evidence.

Written by the indexing model from the issue text.

Description

app browser bug windows-os

Summary

Codex Desktop terminated silently while closing the last in-app Browser Use tab. The desktop log ends immediately after the Browser WebView/guest teardown sequence, with no graceful shutdown marker, fatal exception, Windows Error Reporting event, or Crashpad/Sentry report.

The only warning at the failure boundary is:

IAB_LIFECYCLE iab rejected tab for route ... tabId=1 tabRouteKey=null

This is strongly correlated with the termination, but the available evidence does not prove that the warning itself is the root cause.

Environment

  • Codex package: OpenAI.Codex_26.715.4045.0_x64__2p2nqsd0c76g0
  • Codex version: 26.715.4045.0
  • Architecture: x64
  • Windows registry-reported edition: Windows 10 Home Single Language
  • DisplayVersion: 25H2
  • OS build: 26200.8875
  • Time zone: UTC+07:00
  • Affected task/thread ID: 019f7b35-656b-73b0-b239-cac628bfa0b0

Observed sequence

  1. A Codex task used Browser Use against a local frontend while a Node/Vite test server was running.
  2. The focused browser verification completed successfully.
  3. The Browser Use tab was closed.
  4. Codex logged route rejection during teardown with tabRouteKey=null.
  5. The renderer disposed and removed the browser sidebar WebView, and the browser registry closed the page.
  6. The desktop log ended at 2026-07-19T17:35:58.604Z with no shutdown or error record.
  7. Windows destroyed the Codex Desktop AppX container at approximately 2026-07-20 00:36:00.171 +07:00.
  8. The task remained interrupted and produced no final assistant response.

Sanitized failure-boundary log

Codex timestamps below are UTC:

2026-07-19T17:35:58.400Z info [browser-use-iab-api]
IAB_LIFECYCLE unregistered debugger listener ... reason=target-close ... tabId=1 webContentsDestroyed=false webContentsId=3

2026-07-19T17:35:58.402Z info [browser-sidebar-manager]
IAB_LIFECYCLE syncing browser use active state ... isActive=false

2026-07-19T17:35:58.406Z warning [browser-use-iab-api]
IAB_LIFECYCLE iab rejected tab for route ... tabId=1 tabRouteKey=null

2026-07-19T17:35:58.412Z info [browser-use-pip]
Received Browser Use PiP metadata ... tabID=undefined

2026-07-19T17:35:58.544Z info [electron-message-handler]
IAB_LIFECYCLE renderer synced browser use webview state ... isBrowserUseActive=false

2026-07-19T17:35:58.548Z info [electron-message-handler]
IAB_LIFECYCLE renderer disposed browser sidebar webview ...

2026-07-19T17:35:58.563Z warning [browser-session-registry]
IAB_LIFECYCLE browser sidebar guest torn down ... guestWebContentsId=3

2026-07-19T17:35:58.602Z info [electron-message-handler]
IAB_LIFECYCLE renderer removed browser sidebar webview ... tabType=closed

2026-07-19T17:35:58.604Z info [browser-session-registry]
IAB_LIFECYCLE closed browser sidebar page ...

2026-07-19T17:35:58.604Z info [browser-sidebar-manager]
IAB_TAB_ANALYTICS browser tab lifecycle action=closed appBrowserTabCount=0 appBrowserUseTabCount=0 ...
<end of desktop log>

Additional diagnostics

  • No render-process-gone, fatal exception, panic, out-of-memory, or graceful shutdown event was logged at the boundary.
  • No Windows Application Error, Application Hang, .NET Runtime, or WER event was recorded for this occurrence.
  • No System-log reboot, shutdown, display reset, hardware error, or resource-exhaustion event was present around the incident.
  • Crashpad contained no dump for this occurrence.
  • The Sentry queue contained no crash payload.
  • The package status was healthy and there was no package update at the incident time.
  • The local Node/Vite server processes remained alive and continued listening after Codex disappeared, indicating the test server did not terminate the app.
  • The task rollout JSONL ends abruptly at the same boundary and remains marked interrupted.

Expected behavior

Closing a Browser Use tab should cleanly detach and destroy the guest WebContents without terminating Codex Desktop. A route mismatch during teardown should be handled as a recoverable stale-tab condition.

If a renderer or WebView does fail, Codex should:

  • keep the desktop main process alive,
  • preserve/complete the active task as interrupted with a visible recovery state, and
  • emit a diagnostic crash record or recoverable error instead of silently disappearing.

Actual behavior

The entire Codex Desktop app/container terminated immediately after closing the Browser Use tab. There was no crash dialog or actionable diagnostic, and the active task was left interrupted.

Reproduction status

Observed once in this exact form. The temporal correlation is precise, but this report intentionally describes the teardown sequence as the probable trigger rather than claiming a proven faulting module.

Potentially related browser lifecycle reports include #23814, #33514, #33762, and #33827, but those focus mainly on browser creation, navigation, or restoration rather than termination while closing the last Browser Use tab.

Full local logs contain paths and conversation metadata, so only sanitized excerpts are included publicly. Targeted additional evidence can be provided through a private support channel if needed.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.