Long Codex task becomes permanently "Request blocked" after successful completion
Open 💬 6 comments Opened Jul 18, 2026 by awsaf49
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Summary
A long-running Codex Desktop task completed successfully, but every subsequent follow-up in that task now fails with Request blocked. The same account and project can use other tasks normally.
Uploaded diagnostic thread: 019f4564-da0e-7a90-98c5-ab31f7fe149f
Timeline
- The task completed benign local research-app implementation and testing successfully at 2026-07-17 01:33 PT.
- Beginning at 08:10 PT, five follow-ups failed immediately.
- The problem persisted into 2026-07-18 after displayed plan usage reset to 0%.
Rejected follow-ups included:
is it stopped or running? I do not see any activity thohiWHAT IS HAPPENING?ANY UPDATE?what is happening brother?
Expected behavior
Codex should answer the benign follow-up or compact the task and continue.
Actual behavior
Each turn reaches the server, emits response.in_progress, and then ends with:
Request blocked.
codex_error_info: other
The task remains marked systemError. Restarting or retrying later does not recover it.
Relevant diagnostics
- Codex Desktop embedded CLI recorded as
0.145.0-alpha.18 - Transcript: approximately 51.5 MB
- Turns: 90
- Context compactions: 12
- Last recorded active input: approximately 188k tokens of a 258.4k context window
- Cumulative sampling tokens recorded across the task: approximately 276.7M
- Other tasks in the same account and project continue to work
- The final repository state completed cleanly before the blocking began
This looks like a long-thread compaction or backend thread-state guard permanently poisoning an otherwise benign task. Full logs and the original rollout were uploaded through /feedback under the thread ID above.
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional reproduction from Codex Desktop
26.715.31925(bundled CLI0.145.0-alpha.18) on macOS26.5.2:/feedbackrecorded the sanitized report with no logs attached:019f7c95-e3a7-7822-9ef0-57db2b259f5a.after 5.998 seconds with
Request blocked, no time-to-first-token, andcodex_error_info: other./v1/chat/completionscalls. A separate,synthetic local-MLX control returned HTTP 200 and
LOCAL_LLM_OK.Affected UI thread IDs:
019f7476-0149-7d30-8316-c0522a2b9ec8019f79af-d26c-7920-be59-9849ebf349d4This adds a second fresh-thread recurrence and rules out local LLM execution as
a required trigger. Broad logs were not uploaded because they may contain
protected patient data.
Correction/addendum after a structured cross-model review of my sanitized
diagnostic (
wf_290c1c9e-071; Claude and Codex finding, Gemini/Codex/GLMverification; 27 agents, 0 agent errors). No logs, prompt bodies, project data,
or patient data were provided to the review.
The review identified four places where my earlier interpretation was too
strong:
came from the last successful request, not the failing assembled request.
tool history. It shows continued CLI operability, but does not causally
isolate a Desktop-only request path.
invalid_promptSSE payload. Forthe latest recurrence, I confirmed only the UI
Request blockedmessage andcodex_error_info: other; its exact upstream subtype is not established./v1/chat/completionsrequest. This shows that a direct local completion is not a necessary trigger,
but it does not exclude sandbox denials, permission escalations, or approval
artifacts embedded in accumulated tool history.
The provisional hypothesis ranking is now:
threads remain blocked on retry.
The most useful next evidence would be the failing request's assembled input
tokens and context limit; stable request/error/correlation IDs; and a UI-versus-
CLI comparison matched on sanitized history, context depth, turn count, and tool
artifacts. A fresh thread seeded with the blocked history would also distinguish
fresh-thread recovery from history-specific failure, if such replay is feasible
internally.
Additional Windows reproduction with a same-directory fork control.
Environment:
0.145.0-alpha.30gpt-5.6-sol, high reasoning019f8a6e-f23c-7643-90dc-9d69e2c88d95019f8ab1-7f20-7d93-b409-2560eb896fa0019f8ab2-c349-78a1-bcf7-c4256ddf09efObserved sequence on 2026-07-22:
16:23:22Z, the response stream disconnected and the client retried.GET /backend-api/codex/modelsreturned200 OK.response.in_progress, followed at16:23:27Zby anerrorevent and:Oi parou por que?and?) failed after approximately three seconds with the same error and no assistant response.systemErrorimmediately on its first recovery prompt.Relevant diagnostics from the last successful request:
105,680 / 258,400context tokens.33%; no rate-limit-reached state.<|channel|>analysisdoes not occur in the affected rollout transcript.This reproduction strongly isolates the failure to reconstructed thread/history state rather than the account, repository, worktree, authentication, rate limit, or the user's short follow-up text. The stream disconnect/retry immediately preceding the first block may be relevant, although the client-visible error category remains only
other.Same symptoms here, explicitly during remote compaction:
019f904e-792e-7ff2-92ef-ea66603eced0Happy to provide more logs if needed.
Confirming the same persistent poisoned-thread failure on Codex Desktop for macOS, with an additional multi-agent/tool-return trigger and a fork that inherited the failure.
Environment
26.721.410590.146.0-alpha.3.1gpt-5.6-sol019f9981-39b3-76e3-b125-744bb600be7eTimeline and diagnostics
The first failing turn was
019f9dd5-1c1a-7dc0-905b-3ed48260ad89on 2026-07-26 17:50–17:53 CST. It ran normally for 219 seconds: reasoning and commentary were emitted, six batches of web searches completed, and three existing subagent threads returned research results. Immediately after the final subagent result arrived, the root turn ended without a final assistant message:The last recorded model request used
170082input tokens with a258400-token context window. Rate-limit usage was 2%, with no rate limit reached.A later benign two-word Chinese prompt meaning “what happened” (
019f9ddd-b0f9-70d1-a15f-8ae126b8c678) failed after 10 seconds with the identical error and no assistant output. At the start of that recovery turn, queued subagent messages were appended, but inference never produced a reply.Forking the affected task also inherited the unusable state: fork
019f9dde-3180-7dd0-a7fb-631a29dc8643reportssystemErrorand rejects a benign follow-up. Other fresh tasks continue to work.This strengthens the hypothesis that a large serialized context plus queued tool/subagent payload can permanently poison a thread, and that a normal fork copies the poisoned state. The nominal model context limit was not exceeded.
Expected behavior
Request blocked.A private
/feedbackreport was also recorded as019f9dea-313f-7bf1-bd3c-db222c054e53. Full logs were not uploaded because they contain private workspace content.