openai / openai/codex

Automatic approval review sends unsupported all_turns reasoning context to gpt-5.3-codex

Open
#41,084 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug safety-check
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?
  1. Use Codex Desktop with automatic approval review enabled.
  2. Have one Codex task invoke send_message_to_thread for an existing task.
  3. Explicitly approve the exact message packet.
  4. Retry the unchanged send_message_to_thread call.
  5. Observe that automatic approval review fails because all_turns is unsupported by gpt-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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.