Client or integration
Codex App
Area
Authentication and account pool
Summary
After upgrading from OpenCodex 2.20.0 to 2.35.0, the native OpenAI models below disappear from both ocx models live and the Codex App model picker:
gpt-5.6-sol
gpt-5.6-terra
gpt-5.6-luna
The authenticated ChatGPT account is a healthy Plus account:
plan=plus
active=true
needsReauth=false
WHAM reachability: status=200, authenticated
This account is actually entitled to GPT-5.6:
- stopping OpenCodex and restoring native Codex routing makes GPT-5.6 immediately reappear;
- a fresh native
gpt-5.6-sol conversation completes successfully;
- OpenCodex 2.33.0 also advertises Sol/Terra/Luna for the same account, and Sol completes successfully.
Expected: a healthy account that can actually use these models should retain all three independent native catalog rows under OpenCodex routing.
Reproduction
- Sign in to Codex with a ChatGPT Plus account that can use GPT-5.6.
- Verify under native Codex routing that GPT-5.6 appears and a fresh
gpt-5.6-sol request completes.
- Install and start OpenCodex 2.35.0 with the same account.
- Fully restart Codex App.
- Run:
- Observe that the native OpenAI portion contains only:
gpt-5.5
gpt-5.4
gpt-5.4-mini
gpt-5.3-codex-spark
- Sol/Terra/Luna are absent from the live catalog and the Codex picker.
- Attempts to enable them manually fail:
ocx models enable gpt-5.6-sol
ocx models enable gpt-5.6-terra
ocx models enable gpt-5.6-luna
Each returns:
Error: invalid model visibility target
- Stop OpenCodex, restore native routing, and fully restart Codex App. GPT-5.6 reappears and a fresh Sol request succeeds.
- Run OpenCodex 2.33.0 with the same account. Sol/Terra/Luna return to
ocx models live, and a fresh Sol request succeeds.
Controlled result:
| Routing/version |
Catalog |
Real request |
| OpenCodex 2.35.0 |
Sol/Terra/Luna absent |
Cannot select them normally |
| Native Codex, same account |
GPT-5.6 present |
Fresh Sol request succeeds |
| OpenCodex 2.33.0, same account |
Sol/Terra/Luna present |
Fresh Sol request succeeds |
Version
2.35.0
Operating system
Windows 11 Home 24H2, build 26100, x64
Codex runtime: 0.146.0
Provider and model
Canonical OpenAI provider using ChatGPT login:
gpt-5.6-sol
gpt-5.6-terra
gpt-5.6-luna
Logs or error output
$ ocx models live
gpt-5.5
gpt-5.4
gpt-5.4-mini
gpt-5.3-codex-spark
$ ocx models enable gpt-5.6-sol
Error: invalid model visibility target
$ ocx models enable gpt-5.6-terra
Error: invalid model visibility target
$ ocx models enable gpt-5.6-luna
Error: invalid model visibility target
In the generated catalog, Terra and Luna can still occur as migration targets, but not as independent selectable slugs. This is therefore not only a stale Codex App picker cache.
Screenshots and supporting files
The version/routing A/B matrix is included above. Additional redacted catalog excerpts can be supplied if needed.
Redacted configuration
{
"providers": {
"openai": {
"adapter": "openai-responses",
"baseUrl": "https://chatgpt.com/backend-api/codex",
"authMode": "forward"
}
}
}
Suspected regression boundary
This appears to be a false-negative entitlement/catalog projection rather than an actual account entitlement failure.
PR #2550 added gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna to ACCOUNT_GATED_NATIVE_OPENAI_MODELS, making them fail closed when no confirmed per-account roster is available:
#2550
That change is not present in v2.33.0 but is present in v2.35.0. This matches the observed version boundary, but I am not claiming that #2550 is the final root cause until the roster/cache path is traced.
Related reports are not exact duplicates:
Expected behavior
When the authenticated account's actual Codex entitlement supports these models, OpenCodex should:
- retain Sol/Terra/Luna as independent live catalog rows;
- expose them in the Codex App picker;
- allow them to be selected and routed;
- avoid treating a missing or stale entitlement snapshot as proof that a healthy, actually entitled account is unentitled.
Checks
Client or integration
Codex App
Area
Authentication and account pool
Summary
After upgrading from OpenCodex 2.20.0 to 2.35.0, the native OpenAI models below disappear from both
ocx models liveand the Codex App model picker:gpt-5.6-solgpt-5.6-terragpt-5.6-lunaThe authenticated ChatGPT account is a healthy Plus account:
This account is actually entitled to GPT-5.6:
gpt-5.6-solconversation completes successfully;Expected: a healthy account that can actually use these models should retain all three independent native catalog rows under OpenCodex routing.
Reproduction
gpt-5.6-solrequest completes.Each returns:
ocx models live, and a fresh Sol request succeeds.Controlled result:
Version
2.35.0
Operating system
Windows 11 Home 24H2, build 26100, x64
Codex runtime: 0.146.0
Provider and model
Canonical OpenAI provider using ChatGPT login:
gpt-5.6-solgpt-5.6-terragpt-5.6-lunaLogs or error output
In the generated catalog, Terra and Luna can still occur as migration targets, but not as independent selectable slugs. This is therefore not only a stale Codex App picker cache.
Screenshots and supporting files
The version/routing A/B matrix is included above. Additional redacted catalog excerpts can be supplied if needed.
Redacted configuration
{ "providers": { "openai": { "adapter": "openai-responses", "baseUrl": "https://chatgpt.com/backend-api/codex", "authMode": "forward" } } }Suspected regression boundary
This appears to be a false-negative entitlement/catalog projection rather than an actual account entitlement failure.
PR #2550 added
gpt-5.6-sol,gpt-5.6-terra, andgpt-5.6-lunatoACCOUNT_GATED_NATIVE_OPENAI_MODELS, making them fail closed when no confirmed per-account roster is available:#2550
That change is not present in v2.33.0 but is present in v2.35.0. This matches the observed version boundary, but I am not claiming that #2550 is the final root cause until the roster/cache path is traced.
Related reports are not exact duplicates:
needsReAuth/keyring credential handling and missing Daybreak models. In this report,needsReauth=false, authentication is healthy, and native Sol inference succeeds.Expected behavior
When the authenticated account's actual Codex entitlement supports these models, OpenCodex should:
Checks