Model picker lists "5.6 Terra" twice; the first row selects the hidden codex-auto-review model, which reliably triggers #32435
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
- Open the model picker — two "5.6 Terra" rows are listed.
- Click the first.
- Check
~/.codex/config.toml→model = "codex-auto-review". - Start a new session; anything requiring local execution fails.
Suggested fixes
- Honour
visibility: "hide"— don't exposecodex-auto-reviewin the picker. - Deduplicate the picker by slug, not by display label.
- Merge the #32435 normalization fix so the underlying collision stops being reachable at all.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
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_calloutcomes from every rollout in~/.codex/sessions/and~/.codex/archived_sessions/, grouped byturn_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-reviewconsumed 3,137,083 tokens on2026-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:
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.