Codex Desktop Windows: unapproved recovery forks one task into multiple active threads
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing the recovery behavior in Codex Desktop for Windows with session metadata version 0.145.0-alpha.18, using the reported thread-fork and child-stop/archive sequence; private logs may be supplied to maintainers. Trace the Desktop/app-server recovery and thread lifecycle, and consider the issue done when recovery no longer forks without approval, execution remains single-threaded, and stopping or archiving immediately synchronizes state.
Written by the indexing model from the issue text.
Description
Summary
Codex Desktop for Windows appears to have recursively forked one user task into multiple user-visible threads during context recovery without the user requesting a new conversation. The duplicate threads then ran or appeared to run concurrently and consumed quota.
Environment
- Product: Codex Desktop for Windows
- Session metadata version: 0.145.0-alpha.18
- The user did not request a fork, new conversation, subagent, or background task.
Evidence
For one task titled "VH Award":
- The original thread called the thread-fork operation at approximately 2026-07-19 13:51 UTC.
- A same-title child thread was created about six seconds later and recorded the original as its fork source.
- That child created another recovery thread about one minute later, titled "Create independent result lineart".
- The Desktop UI showed multiple spinners for the same work.
- The user observed approximately 15% quota consumed in a short period.
- Archiving/stopping the child did not immediately synchronize the UI and backend state; a child could still appear active after being archived.
Expected behavior
- Context recovery must not silently create a new user-visible conversation.
- Require explicit user approval before forking, or enforce one non-recursive recovery path.
- Only one task for one user request should consume quota unless the user explicitly authorizes parallel work.
- Stopping or archiving a child should immediately stop its active turn and update the Desktop UI.
Impact
Unexpected parallel execution consumed quota and made the latest task state ambiguous. The user-reported impact was approximately 15% of available quota.
A local instruction-level workaround was added to prevent unapproved fork/create/subagent calls, but the Desktop/app-server behavior itself remains unresolved. Private logs can be supplied to maintainers if needed.
- 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 ·