Codex Desktop repeatedly routes to wait(noop) without a running exec cell, causing tool-call loops and stalled subagents
Environment
- Product: Codex Desktop
- OS: macOS (Darwin arm64)
- Date observed: 2026-07-18
- Workspace: FAIRY
- GitHub account used to file: Rinai-R
Summary
Codex Desktop repeatedly routed tool calls to wait.wait with cell_id: "noop" even though no exec cell was running. This created a tool-call loop and prevented the main task from making progress. In the same session, subagent waiting/interruption state also appeared unreliable: waits timed out, interrupted agents could remain listed as running/interrupted, and follow-up routing to completed/interrupted subagents was not dependable.
Symptoms
- The assistant repeatedly attempted a wait call like:
{ "cell_id": "noop", "yield_time_ms": 1000 }
- The runtime returned:
Script error: exec cell noop not found
- There was no known running
execcell corresponding tonoop. - After the error, later attempts still routed back to
wait(noop)instead of recovering to normal execution. - Subagent-related calls also showed stalled or inconsistent state, including repeated:
Wait timed out
- Interrupting a subagent returned state indicating it had been running, e.g.:
"previous_status":"running"
- After timeout/interrupt flows, child tasks could remain
runningorinterrupted, and follow-up messages to completed/interrupted tasks did not reliably resume or complete the original work.
Expected behavior
waitshould only be called with a real active exec cell id previously returned byexec.- If a stale or invalid cell id is somehow selected, Codex should recover and continue normal tool routing instead of repeatedly calling
wait(noop). - Subagent wait/interrupt/follow-up state should converge: a timed-out or interrupted child should not leave the parent in a stalled loop, and follow-up routing should have predictable behavior.
Actual behavior
- Codex Desktop repeatedly attempted
wait(noop). - The runtime rejected it with
exec cell noop not found. - The parent task was effectively stalled by repeated invalid wait routing.
- Subagent wait/interruption/follow-up handling appeared to compound the stall.
Related issues
These look related but do not appear to cover the exact wait(noop) / nonexistent exec-cell route:
- #24951
- #31036
- #32640
- #33719
- #32997
- #32203
- #32756
Notes
I searched for exact strings such as "exec cell noop", "wait(noop)", and "cell_id" "noop" in openai/codex before filing and did not find an exact duplicate.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗