Repository navigation
Conversation
Proof — the Codex picker offers GPT-6 SolCaptured locally from this PR's commit: a throwaway standalone Read back from the live DOM: How Codex was reachable in a daemon-less harness, since it affects what this proves: the agent picker offers nothing until a machine is selected and online, so the capture registered a machine via |
OpenAI released GPT-6 Sol and GPT-6 Luna to Codex on 2026-09-22, and the picker still offers only GPT-6 Astra from that generation. Keys and effort levels come from Codex's own registry (codex-rs/models-manager/models.json): slugs `gpt-6-sol` and `gpt-6-luna`, both visibility `list` with minimal client 0.155.0. Sol publishes low through ultra, Luna stops at max — the same split GPT-5.6 Sol and GPT-5.6 Luna already have — so each row gets exactly the levels its registry entry lists. Account access is still rolling out. On codex 0.155.1 with a ChatGPT account the server currently answers `The '<model>' model is not supported when using Codex with a ChatGPT account` for both — the same gate Astra went through at launch — so the rows can fail for accounts the rollout has not reached. They are listed anyway for the reason Astra was: both models are public in Codex's registry, and the rows start working the moment an account gets access, with no further release. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
b342162 to
a142ec3
Compare
Proof — updated for GPT-6 Luna (supersedes the Sol-only screenshot above)Re-captured from the current head, same harness as before (standalone Read back from the live DOM: The Luna frame is the one that matters most: it shows each row takes its own registry entry's levels rather than a shared list. |


OpenAI released GPT-6 Sol and GPT-6 Luna to Codex on 22 September, and the Codex picker still offers only GPT-6 Astra from that generation. This adds two rows,
gpt-6-solandgpt-6-luna, directly under Astra, plus their entries inCODEX_EFFORTS_BY_MODEL. Existing rows and the Codex default (gpt-5.6-sol) are unchanged.Where the values come from
Codex's own registry,
codex-rs/models-manager/models.jsononopenai/codexmain:gpt-6-solgpt-6-lunavisibilitylistlistminimal_client_version0.155.00.155.0supported_reasoning_levelslow…ultra(6)low…max(5, noultra)Sol publishes
ultraand Luna does not — the same split GPT-5.6 Sol and GPT-5.6 Luna already have — so each row gets exactly the levels its registry entry lists, not a shared list.Both are in one PR because the rows sit on adjacent lines: two separate PRs would conflict with each other the moment either merged.
Caveat: access is still rolling out
On codex 0.155.1 with a ChatGPT account,
codex exec -m gpt-6-soland-m gpt-6-lunaboth currently getThe '<model>' model is not supported when using Codex with a ChatGPT accountfrom the server — the same gate Astra hit at launch (see #1748). The rows are listed anyway for the reason Astra was: both models are public in Codex's registry, and the rows start working the moment an account gets access, with no further app release.Proof
Screenshot in the comments below: the
/newCodex model picker with both new rows under Astra, and the effort picker for each, read back from the live DOM as well as screenshotted.vitest run sources/components/modelModeOptions.test.tspasses with the assertions updated alongside, andtsc --noEmitis clean.🤖 Generated with Claude Code