Windows: pausing Goal Mode still injects a continuation; restoring its in-app browser silently closes Codex
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 28/100
Research direction
Start by reproducing the pause/resume sequence and reviewing the sanitized desktop logs and saved JSONL task-state evidence. Trace Goal Mode pause handling, interrupted task lifecycle restoration, and Browser Use webview recovery; done means pausing prevents continuation, interrupted tasks have balanced state, and stale browser restoration fails recoverably instead of closing the app.
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.707.12708.0_x64__2p2nqsd0c76g0 - Package status:
Ok
What platform are you using?
Windows x64, native PowerShell/Codex Desktop.
What happened?
A long-running Goal Mode task repeatedly causes Codex Desktop to silently close/restart when its in-app browser session is restored. Pausing the goal does not fully stop the sequence: the persisted task record shows the goal becoming paused, followed immediately by another internal goal-continuation prompt in the same interrupted turn.
There is no corresponding Windows Application Error / Application Hang event for these closes and no Crashpad report. The Codex desktop log simply stops, followed by a fresh main-process session.
This appears to be an interaction among:
- Goal Mode pause/continuation state,
- interrupted or orphaned task lifecycle records,
- thread resume restoring an in-app-browser webview, and
- renderer/main-process termination without a recoverable error page.
Reproduction sequence observed
- Run a long-lived Goal Mode task that uses Browser Use against a local frontend.
- Reload/reopen Codex while the task has interrupted history.
- Pause Goal Mode.
- Codex persists
status: "paused", but an internalContinue working toward the active thread goalprompt is recorded immediately afterward. - The task restores its Browser Use sidebar/webview and navigates to
http://127.0.0.1:3000/. - Codex silently closes/restarts.
- Reopening the same task repeats the browser restoration and close.
Sanitized timeline from the latest occurrence
2026-07-17T05:58:21.051Z event_msg task_started turnId=<redacted>
2026-07-17T05:58:27.407Z event_msg thread_goal_updated status=paused
2026-07-17T05:58:28.095Z response_item user <codex_internal_context source="goal"> Continue working toward the active thread goal...
...
2026-07-17T05:58:58.943Z IAB_TAB_ANALYTICS browser tab lifecycle action=opened
2026-07-17T05:58:59.263Z renderer created browser sidebar webview initialUrl=about:blank
2026-07-17T05:58:59.347Z runtime attached browser sidebar webview guestWebContentsId=2
2026-07-17T05:58:59.908Z browser sidebar dom-ready url=http://127.0.0.1:3000/
2026-07-17T05:59:00.397Z final line in desktop log
2026-07-17T05:59:16 local package creates a new Codex main-process log session
Two earlier app sessions ended with the same affected task restoring the same Browser Use webview and loading 127.0.0.1:3000 immediately before their logs stopped.
Saved task-state evidence
The affected rollout is valid JSONL but unusually large (about 71 MB) and has unbalanced lifecycle counts:
task_started: 193
task_complete: 187
turn_aborted: 1
The most recent task_started has no matching task_complete. Several earlier Goal Mode turns are also unmatched after previous silent closes.
On resume, the desktop log reports the latest turn as interrupted while still setting the task to streaming:
latestTurnStatus=interrupted markedStreaming=true
Additional startup signal
During one restart, bundled-browser-plugin reconciliation also attempted to uninstall/reconcile browser@openai-bundled and failed with:
failed to remove existing plugin cache entry: Access is denied. (os error 5)
The browser plugin subsequently loaded, so this may be secondary, but it could contribute to stale Browser Use state.
Expected behavior
- Pausing Goal Mode should prevent further automatic goal-continuation prompts.
- An interrupted turn should be persisted or synthesized as interrupted/failed with a balanced lifecycle.
- Restoring a thread with a stale Browser Use session should either restore cleanly or discard the stale browser route.
- A renderer/webview failure should show a recoverable error instead of silently closing the desktop app.
Actual behavior
- A goal continuation remains after the goal is persisted as paused.
- The task remains lifecycle-unbalanced and is resumed as streaming despite being interrupted.
- Restoring its in-app browser repeatedly correlates with silent app termination.
- Windows and Crashpad do not record a conventional application crash.
Related issues
- #23814 — repeated silent Windows app closes with interrupted turns restored as streaming and Browser/sidebar churn
- #23035 — interrupted/orphaned task lifecycle poisons thread reopen
This report is intentionally sanitized. Raw SQLite logs and the full rollout contain prompts, project names, local paths, and tool output, but targeted excerpts can be provided privately if requested.
- 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 ·