gpt-5.6-sol “Request blocked” permanently poisons a long-running /goal thread
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start by reproducing the persistent blocked state in Codex CLI with a long-running /goal, then inspect the rollout files and local goal database described in the report. Compare the blocked turn with later recovery turns and verify that a rejected turn does not permanently prevent benign follow-ups, compaction, or resume/retry.
Written by the indexing model from the issue text.
Description
What version of Codex CLI is running?
The affected rollout was created with codex-cli 0.144.4. The current installation is codex-cli 0.145.0, and the thread remains unusable.
What subscription do you have?
ChatGPT Pro.
Which model were you using?
gpt-5.6-sol with ultra reasoning effort. Changing the effort to xhigh did not recover the thread.
What platform is your computer?
- macOS 26.2
- Apple Silicon / arm64
- VS Code integrated terminal 1.108.2
Codex doctor report
A redacted doctor summary run with normal network access on 0.145.0 reported:
16 ok | 1 idle | 2 notes | 1 warn | 0 fail degraded
auth: configured
state databases: healthy
rollout files and state DB thread inventory: agree
websocket: connected (HTTP 101)
provider endpoints: reachable over HTTP
The only warning was for optional MCP configuration and does not affect normal Codex requests.
What issue are you seeing?
While using a long-running /goal to improve and evaluate a custom GPT-OSS assistant for a legitimate health/fitness application, a turn suddenly ended with only:
Request blocked.
The work involved ordinary LLM engineering: primary-source research on LLM/agent/RAG evaluation, multilingual regression cases, deterministic tool and citation checks, live GPT-OSS evaluations, and scoped prompt/tool/evaluator improvements. Immediately before the failure, Codex was diagnosing GPT-OSS/Harmony tool-calling behavior and searching for relevant official sources.
At the time of the first visible failure, the goal UI reported approximately:
Status: blocked
Time used: 39m
Tokens used: 579K
There was no explanation of which content or action was considered problematic, no request ID, and no recovery guidance.
The first rejection permanently poisoned the existing thread:
- short benign follow-ups such as
continueare also blocked; - asking what happened is blocked;
- changing the subject is blocked;
- manual compaction does not recover it;
- changing reasoning effort from
ultratoxhighdoes not recover it; - the goal remains
blockedand unfinished; - a new thread works normally with the same account and installation.
Sanitized local rollout inspection shows that later recovery turns record task_started, then complete about 4–8 seconds later with no assistant message. The local goal database remains healthy but records this goal as blocked. This looks thread-specific, not like an authentication, connectivity, quota, or local-state failure.
The original thread ID and fuller diagnostics can be supplied privately if maintainers provide a secure channel. I am not attaching raw logs because they contain private workspace information.
What steps can reproduce the bug?
The initial trigger is intermittent, but the poisoned-thread state is persistent:
- Start a long-running
/goalusinggpt-5.6-solwithultraeffort. - Perform normal development and evaluation work involving an open-source LLM, including inspecting model outputs, tool-call serialization, and evaluation reports.
- Continue through substantial accumulated context and one or more compactions.
- Observe a turn end with only
Request blocked.. - Send a short benign message such as
continue. - Observe the same block with no assistant response.
- Try manual compaction, a harmless change of subject, or a different reasoning effort.
- Observe that the same thread remains unusable while a new thread works.
What is the expected behavior?
If a request genuinely violates a policy, Codex should:
- explain the applicable category at an actionable level and provide a request/reference ID;
- reject only the offending turn;
- allow the user to edit, remove, or roll back the rejected turn;
- allow later benign messages to continue;
- avoid automatically terminalizing an otherwise valid
/goal; - expose a reliable Resume/Retry recovery path.
Legitimate development and evaluation of open-source LLM services should not be falsely blocked merely because prompts, logs, or source material mention model internals, tool calling, Harmony tokens, or other model names.
Additional information
Related reports found before filing:
- #34157 — the same generic
Request blockedbehavior withgpt-5.6-solduring open-source model development, but without this detailed persistent/goalfailure. - #32177 — a blocked request poisoning subsequent turns, originally associated with text-log attachments and long/compacted context.
- #33962 — a false-positive safety block during legitimate development in a
/goal. - #33171 — a goal becoming stuck as blocked after a different trigger (remote-compaction capacity failure).
This report focuses on the combination of a likely false-positive safety block, persistent thread poisoning, and an unrecoverable blocked goal after legitimate GPT-OSS development work.
- 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 ·