Model picker lists "5.6 Terra" twice; the first row selects the hidden codex-auto-review model, which reliably triggers #32435

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

Environment: Codex Desktop on Windows 11, CLI 0.146.0-alpha.3.1

The model picker renders two rows labelled "5.6 Terra". Clicking the FIRST writes model = "codex-auto-review" to ~/.codex/config.toml; clicking the SECOND writes gpt-5.6-terra. The composer keeps displaying the broken one as "5.6 Terra Medio", so there is no way for a user to tell them apart, before or after selecting.

In the bundled catalog codex-auto-review is visibility: "hide" with display name "Codex Auto Review", so it should not be user-selectable at all.

Why it matters

codex-auto-review (tool_mode: null) emits custom tool calls with namespace == name, which reliably triggers the unfixed normalization bug in #32435. Every exec call then fails with unsupported custom tool call: execexec for the whole session, with no hint that the model is involved. Users and the agent itself consistently misdiagnose this as a broken tool registry.

I hit this for three days across 9 sessions before finding the cause: 7 sessions on codex-auto-review failed 100% of exec calls (157 total), while every session on gpt-5.6-sol/-terra succeeded 100%.

| session | model | exec calls |
|---|---|---|
| 2026-07-28 17:44 | codex-auto-review | 0 ok, 26 failed |
| 2026-07-29 11:38 | codex-auto-review | 0 ok, 26 failed |
| 2026-07-29 11:44 | codex-auto-review | 0 ok, 9 failed |
| 2026-07-29 12:03 | codex-auto-review | 0 ok, 28 failed |
| 2026-07-29 12:58 | codex-auto-review | 0 ok, 34 failed |
| 2026-07-30 17:39 | gpt-5.6-terra | 30 ok, 0 failed |
| 2026-07-30 19:18 | gpt-5.6-sol | 70 ok, 0 failed |
| 2026-07-30 20:59 | codex-auto-review | 0 ok, 25 failed |
| 2026-07-30 21:00 | codex-auto-review | 0 ok, 9 failed |

Data taken from ~/.codex/sessions/ and ~/.codex/archived_sessions/, correlating turn_context.model against custom_tool_call_output entries. Working sessions emit namespace: null; failing ones emit namespace: "exec", consistent with the analysis in #32435.

Repro

  1. Open the model picker — two "5.6 Terra" rows are listed.
  2. Click the first.
  3. Check ~/.codex/config.tomlmodel = "codex-auto-review".
  4. Start a new session; anything requiring local execution fails.

Suggested fixes

  1. Honour visibility: "hide" — don't expose codex-auto-review in the picker.
  2. Deduplicate the picker by slug, not by display label.
  3. Merge the #32435 normalization fix so the underlying collision stops being reachable at all.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 28 days ago

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

  • #35493
  • #35581

Powered by Codex Action

KyleBrierley · 24 days ago

Independent reproduction on macOS, same CLI version (0.146.0). The original report is
Windows 11, so this appears to be platform-independent.

Hit this on 2026-07-30 across three sessions before identifying the cause. Same signature:
selecting the first of the two "5.6 Terra" rows, then 100% of exec calls failing with
unsupported custom tool call: execexec.

Per-model tool call outcomes

Parsed custom_tool_call outcomes from every rollout in ~/.codex/sessions/ and
~/.codex/archived_sessions/, grouped by turn_context.model:

| Model | Sessions | Successful tool calls | Failed |
|---|---|---|---|
| gpt-5.6-sol | 30 | 1,206 | 0 |
| gpt-5.6-terra | 13 | 516 | 0 |
| gpt-5.5 | 45 | 434 | 0 |
| gpt-5.4-mini | 49 | 82 | 0 |
| gpt-5.4 | 16 | 71 | 0 |
| codex-auto-review | 5 | 56 | 54 |

The three affected interactive sessions had a 0% success rate:

| Session start | Model | Result |
|---|---|---|
| 2026-07-30 09:33:33 | codex-auto-review | 0 ok, 25 failed |
| 2026-07-30 14:52:22 | codex-auto-review | 0 ok, 19 failed |
| 2026-07-30 15:03:04 | codex-auto-review | 0 ok, 10 failed |

Every other model on this machine is clean across 153 sessions.

The bug is expensive, not just broken

Worth adding to the case for prioritizing this: because the failure presents as *"the
agent cannot see my files"* rather than as a model problem, the user keeps working the
wrong hypothesis. Threads running on codex-auto-review consumed 3,137,083 tokens on
2026-07-30
, and the follow-on debugging sessions on other models added several million
more chasing a file-access problem that did not exist.

My session titles from that day record the misdiagnosis — every one of them is chasing file
access rather than model selection:

"Locate review notes and handoff"
"Troubleshoot missing review files"
"Review Codex config issues"

On a metered plan a hidden, unselectable-by-design model that fails 100% of exec calls
costs the user twice — once for the broken session, then again for the misdiagnosis. That
seems worth weighting when prioritizing the visibility: "hide" fix in the picker.

+1 on the suggested fixes in the original report, particularly honouring
visibility: "hide" and deduplicating the picker by slug rather than display label.