Auto-approval review model codex-auto-review intermittently rejected by Responses-Lite (unsupported_value, param: model) - approvals fail closed

Open 💬 2 comments Opened Jul 23, 2026 by sofar716s
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using?

Codex Desktop 26.715.10079.0 (Windows), embedded CLI/core reports client_version 0.145.0 in models_cache.json. Signed in with a ChatGPT account.

What platform is your computer?

Windows 11 Home 10.0.26200

What issue are you seeing?

The automatic approval review (Guardian) intermittently fails with:

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "code": "unsupported_value",
    "message": "This model is not supported when using X-OpenAI-Internal-Codex-Responses-Lite.",
    "param": "model"
  },
  "status": 400
}

When this happens the planned action (e.g. git commit, a read-only Invoke-WebRequest check, even codex doctor --help) is blocked fail-closed with:

This action was rejected due to unacceptable risk.
Reason: Automatic approval review failed: ...

This looks related to #31705 / #30422 (same error string) and #31607 (compaction), but the failing request here is not the user-selected model. Evidence from ~/.codex/logs_2.sqlite shows the failing turns are the dedicated reviewer model:

turn{... model=codex-auto-review codex.turn.reasoning_effort=low}:session_task.run:run_turn: Turn error: { ... "unsupported_value" ... "param": "model" }

The main session model (gpt-5.6-sol) never failed — every unsupported_value error in the log belongs to a model=codex-auto-review reviewer turn (or to the main turn quoting the reviewer failure). Two variants observed:

  1. Regular Guardian assessment sampling calls (majority of failures).
  2. The reviewer thread's remote compaction: Automatic approval review failed: Error running remote compact task: { ... unsupported_value ... } — same shape as #31607 but on the Guardian thread.

Why this looks server-side

From the local SQLite logs (logs table), Guardian activity ran daily from 2026-07-14 to 2026-07-23, but errors cluster on exactly two days:

| date (UTC) | guardian unsupported_value errors |
|---|---|
| 2026-07-14 | 12 |
| 2026-07-15 … 07-22 | 0 (daily activity present) |
| 2026-07-23 | 58 |

On 2026-07-23, success and failure are interleaved hour by hour — e.g. hour 10 UTC had ~46 reviewer dispatches with only 10 failures, while hours 01/02/06/15 UTC had zero failures. Two different app processes (different process_uuid) were affected the same way, so it is not a stale client instance.

The client appears to be doing what the server metadata tells it to: in models_cache.json, codex-auto-review (display name GPT-5.6-Terra) is defined with "use_responses_lite": true, so the client sends the reviewer request over the Lite path — and some fraction of the backend then rejects that very slug for Lite. This looks like an inconsistency between the model metadata service and the Responses-Lite gateway allowlist (possibly only on part of the fleet / during rollouts).

Impact

  • Benign, explicitly approved actions are blocked; the user must manually approve each one while the incident lasts.
  • Manual approval does not stop recurrence, because every subsequent action spawns a new Guardian call.
  • When the Guardian thread grows, the remote-compact variant adds token waste on top (cf. #31607).

What steps can reproduce the bug?

  1. Windows Codex Desktop, ChatGPT account, default auto-approval review enabled, any 5.6-family session model.
  2. Run a long agent session that triggers approval reviews repeatedly (e.g. repeated git commit / network verification commands).
  3. During an affected window, a fraction of Guardian calls fail with the 400 above and the actions are rejected.

Local log query used to extract the evidence:

sqlite3 -readonly ~/.codex/logs_2.sqlite "SELECT datetime(ts,'unixepoch'), substr(feedback_log_body,1,300) FROM logs WHERE feedback_log_body LIKE '%unsupported_value%' AND feedback_log_body LIKE '%codex-auto-review%' ORDER BY ts DESC;"

Happy to provide fuller (redacted) log excerpts if useful.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #34967
  • #34936

Powered by Codex Action

Isadorah01 · 1 month ago

Additional reproduction from Codex Desktop on macOS using a fresh task with the user-configured default stable model.

First attempt:

MCP tool: mcp__codegraph__codegraph_explore
Error: Automatic approval review failed
Code: unsupported_value
Message: This model is not supported when using
X-OpenAI-Internal-Codex-Responses-Lite.
Explicit user approval was provided, but the call was still rejected.
CodeGraph version: 1.1.1

The read-only MCP call was codegraph_explore with query load_report_schema. The rejection happened in the automatic approval layer; the request did not reach the CodeGraph MCP server.

After fully restarting Codex Desktop, I created another fresh task using the default stable model and repeated the same single read-only MCP call. It still did not reach CodeGraph, but the reviewer failure changed to a timeout:

The automatic permission approval review did not finish before its deadline.

No files were modified, no fallback search was used, and the MCP call was not retried within either task. This appears consistent with an automatic-review path failure rather than a CodeGraph compatibility or repository-index failure.