openai / openai/codex

[Windows desktop] Runaway recursive subagents continue after final response and consume weekly quota

Open
#42,032 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug rate-limits subagent windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Component
  • Codex desktop app for Windows
  • Version: 26.825.6671.0
  • Multi-agent workflow
  • Date: 2026-09-01 (Europe/Lisbon)
Summary

A completed review task left a recursive subagent tree running after the parent had returned its final answer. Descendants continued creating more descendants. Interrupting parent/coordinator agents did not cascade, so newly created agents replaced agents as they were stopped.

Observed scale
  • 61 subagents had been intentionally created before the failure.
  • The task eventually showed 469 created subagents in total.
  • Approximately 408 subagents were therefore created by the runaway recursion.
  • Concurrent activity repeatedly reached the physical limit of 101 agents.
  • The app had to be closed and terminated with Windows Task Manager to stop the activity.
Usage impact
  • More than 50% of the user's weekly quota was consumed by this incident on a 20x usage plan.
  • Approximately 20 percentage points were consumed while attempting to interrupt the runaway tree.
  • Usage continued after the assistant had already presented the final response.
Reproduction pattern
  1. A coordinator starts an independent review using multi-agent delegation.
  2. A reviewer delegates to children, which recursively delegate again.
  3. The coordinator returns a final answer without waiting for or cancelling the complete descendant tree.
  4. Descendants remain active and continue creating agents.
  5. Interrupting an ancestor does not cascade to all descendants.
  6. As individual agents finish or are interrupted, other descendants create replacements until the app process is terminated.
Expected behavior
  • A task must not return a completed final state while its descendant agents are still running without a clear warning and explicit user choice.
  • Cancelling/interruption of a coordinator should support recursive cancellation of the complete descendant tree.
  • A hard recursion/delegation budget should prevent hundreds of descendants from one review task.
  • There should be an emergency Stop all agents in this task control.
  • No further quota should be consumed by orphaned descendants after the parent task is complete or cancelled.
Requested investigation

Please investigate recursive multi-agent lifecycle management, parent/child cancellation propagation, concurrency replacement after interrupts, and usage accounting for orphaned agents. Task/account identifiers can be provided privately to OpenAI staff; they are intentionally omitted from this public issue.

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.

Research direction

No files, tests, or entry points are named. Start by tracing the recursive multi-agent lifecycle, parent/child cancellation, concurrency replacement, and usage accounting described in the reproduction pattern. Done means completed or cancelled tasks leave no active descendants, recursive cancellation works, delegation is bounded, and orphaned agents consume no further quota.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop, devtools
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.