[Windows] Finalizing the last in-app Browser Use tab closes/restarts Codex Desktop
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing on Windows with the documented browser.tabs.finalize({ keep: [] }) call, then inspect the desktop log around the browser sidebar teardown and the process restart. Use the provided lifecycle timeline and QA session status to trace the failure; done means the final managed tab closes without restarting Codex and the turn reaches completion.
Written by the indexing model from the issue text.
Description
What version of the Codex App are you using?
- Microsoft Store package:
OpenAI.Codex_26.727.6591.0_x64__2p2nqsd0c76g0 - In-app Browser runtime release from logs:
26.727.51351
What platform is your computer?
Microsoft Windows NT 10.0.26200.0, x64.
What issue are you seeing?
Finishing a QA run by finalizing the last managed in-app Browser Use tab causes the entire Codex Desktop app to close and restart.
This is not a normal task completion. The QA turn remains interrupted, the desktop log stops without a normal shutdown sequence, and a new Codex process starts roughly five seconds later.
Steps to reproduce
- Open Codex Desktop on Windows.
- Start a task that uses the in-app Browser.
- Open and use one managed Browser Use tab.
- At the end of the task, run:
await browser.tabs.finalize({ keep: [] }); - Observe that the last Browser Use tab closes.
- Codex Desktop then closes/restarts and the active QA turn is left interrupted.
Expected behavior
The managed browser tabs should close while Codex Desktop remains open. The task should be able to send its final answer and reach a completed state.
An empty managed-tab list is documented as valid browser cleanup state and should not invalidate the browser binding or terminate the desktop host.
Actual behavior
The finalization call returns successfully, but closing the final Browser Use tab is immediately followed by silent desktop-process termination.
Sanitized timeline from the latest reproduction:
02:27:38.220Z unregistered debugger listener reason=manual
02:27:38.222Z renderer disposed browser sidebar webview
02:27:38.228Z browser sidebar guest torn down
02:27:38.232Z renderer removed browser sidebar webview tabType=closed
02:27:38.232Z closed browser sidebar page
02:27:38.232Z browser tab lifecycle action=closed appBrowserTabCount=0 appBrowserUseTabCount=0
02:27:38.237Z final records in the old desktop log
02:27:43.290Z new desktop process: "Launching app"
The associated QA thread was persisted with status interrupted, despite the browser.tabs.finalize({ keep: [] }) tool call completing successfully.
Additional diagnostics
- Windows Event Viewer contains no matching
Application Error,Windows Error Reporting, or.NET Runtimecrash event. - The same browser-sidebar teardown-at-end-of-log pattern appears in several earlier Codex Desktop sessions.
- Before teardown, the log repeatedly reports:
IAB_LIFECYCLE iab backend request failed: Cannot find context with specified id Failed to upsert Browser Use PiP content - The QA session ID for the latest reproduction is
019fc56c-743d-7560-90e6-3e491f30782d. - Full desktop logs are not attached publicly because they may contain local paths and session metadata; targeted excerpts can be provided privately.
Workaround
Do not finalize the final in-app Browser tab. Leaving one managed tab open, or using an external Chrome browser for QA, avoids this cleanup trigger.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·