Automatic approval review sends unsupported all_turns reasoning context to gpt-5.3-codex
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.820.60940 (build 7119)
What subscription do you have?
ChatGPT authentication
What platform is your computer?
Darwin 25.6.0 arm64 arm
What issue are you seeing?
Codex Desktop rejects an explicitly authorized send_message_to_thread call because the automatic approval reviewer sends reasoning.context = "all_turns" to gpt-5.3-codex, which does not support that value.
The task reported that it was retrying an unchanged, previously approved task-message packet. The tool call was then blocked with:
Auto-review denied high risk
This action was rejected due to unacceptable risk.
Reason: Automatic approval review failed: {"status":"failure","message":"openai error: Unsupported value: 'all_turns' is not supported with the 'gpt-5.3-codex' model. Supported values are: 'auto' and 'current_turn'.","error":{"message":"openai error: Unsupported value: 'all_turns' is not supported with the 'gpt-5.3-codex' model. Supported values are: 'auto' and 'current_turn'.","type":"APIError","code":"400"},"error_origin_level":"api_error","provider":"openai"}
No risk assessment rejected the message. The automatic reviewer itself failed before producing an assessment, but the authorized task message was nevertheless denied as high risk.
What steps can reproduce the bug?
- Use Codex Desktop with automatic approval review enabled.
- Have one Codex task invoke
send_message_to_threadfor an existing task. - Explicitly approve the exact message packet.
- Retry the unchanged
send_message_to_threadcall. - Observe that automatic approval review fails because
all_turnsis unsupported bygpt-5.3-codex, and the task message is rejected.
The failure was observed on an 11-task release-message packet, but the error occurs in the approval-review layer before message delivery.
What is the expected behavior?
The automatic approval reviewer should use a reasoning-context value supported by its selected model. An explicitly authorized send_message_to_thread call should proceed after a successful review. If the reviewer fails internally, Codex should report reviewer unavailability accurately and offer a supported manual-approval path rather than representing the failure as a substantive high-risk denial.
Additional information
This appears related to #34976, where the dedicated automatic approval reviewer also selected an incompatible model/request configuration and blocked the underlying action. The failure here is distinct: #34976 reports codex-auto-review being rejected by Responses-Lite, while this report concerns reasoning.context = "all_turns" being rejected by gpt-5.3-codex during approval of send_message_to_thread.
#33496 also mentions all_turns, but reports the inverse compatibility failure: a gpt-5.6-sol request required all_turns. It does not involve automatic approval review or an authorized task message being blocked.
A screenshot of the complete rejection is available. No task message was delivered by the failed call.
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.
Research direction
Start at the automatic approval review path for send_message_to_thread and reproduce with automatic approval enabled using the steps above. Trace the reasoning.context request sent to gpt-5.3-codex and verify completion by confirming an explicitly approved unchanged call is delivered, while reviewer failures are reported as unavailable with a manual-approval path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- authorization, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100