Skip to content

codex: 🐛 Resolve the small and medium tiers to gpt-5.6-luna - #6

Merged
yasyf merged 1 commit into
mainfrom
codex-small-tier
Sep 14, 2026
Merged

yasyf merged 1 commit into
mainfrom
codex-small-tier

Conversation

@yasyf

@yasyf yasyf commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

The codex small and medium tiers resolved to gpt-5.4-mini. On a codex CLI signed in with a ChatGPT account, every call to that model fails at once with:

ERROR: {"type":"error","status":400,"error":{"type":"invalid_request_error","message":"The 'gpt-5.4-mini' model is not supported when using Codex with a ChatGPT account."}}

As a result, every captain-hook llm_nudge routed to codex's small tier fails, including cc-skills show_skills.wall_of_text and general.detours.

Fix

small → gpt-5.6-luna:low and medium → gpt-5.6-luna:medium, changed in the core tier table (rust/spawnllm-core/src/route.rs) and the Python backend's CodexCliBackend.models. large stays gpt-5.5:medium. The codex-agent and codex-effort-suffix plan vectors now use the same model name, so no vector names a model codex rejects.

Model matrix

I ran each candidate through spawnllm's own CodexCliBackend with codex 0.154.0 signed in with a ChatGPT account, using a one-word prompt and max_attempts=1:

model ChatGPT sign-in codex's fetched catalog bundled catalog (API key)
gpt-5.4-mini:low / :medium 400, above (isolated and not) absent hidden, supported_in_api
gpt-5.6-luna:low / :medium ok, 3–7s (isolated and not) listed, supported_in_api listed, supported_in_api
gpt-5.6-terra:low ok, 3.0s listed, supported_in_api listed, supported_in_api
gpt-5.5:low ok, 4.0s listed, supported_in_api listed, supported_in_api
gpt-5.3-codex-spark:low ok, 3.7s listed, not supported_in_api absent
gpt-reserve:low ok, 3.7s hidden absent

"Fetched catalog" is ~/.codex/models_cache.json, which codex downloads for the signed-in account. "Bundled catalog" is the model list compiled into the codex binary. gpt-5.6-luna is the one model both catalogs list and mark supported_in_api that codex describes as "Fast and affordable", so it is the only candidate fit for both small tiers. No API key is available on this machine, so API-key auth rests on the catalog metadata, not a live call.

Tests

tests/test_backends.py::TestModels::test_codex pins the new table. Against the old codex.py it fails, and with the change it passes. capabilities.json regenerates with the new tiers, and the Go and Rust hosts replay it.

https://claude.ai/code/session_015yr73szXYEmbjtNVLxnetK

gpt-5.4-mini is rejected with a 400 on every call when codex is signed in with a ChatGPT account, so every small-tier call failed. gpt-5.6-luna runs under a ChatGPT sign-in and is marked supported_in_api in both the fetched and bundled codex model catalogs.

Claude-Session: https://claude.ai/code/session_015yr73szXYEmbjtNVLxnetK

Claude-Session-Id: 6da31262-6ad0-4073-8a1f-91de79650dd7
@yasyf
yasyf merged commit a7118da into main Sep 14, 2026
17 checks passed
@yasyf
yasyf deleted the codex-small-tier branch September 14, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant