Summary
After the Nous live-model-fetch fix (#1174, v0.50.228), the live endpoint now returns a full catalog of Nous models. However, the openai-codex provider group — which has its own static model list in _PROVIDER_MODELS — has no automatic detection path via environment variables. It only appears if the user explicitly lists openai-codex under providers: in config.yaml.
Confirmed post-fix: a user with the Codex provider configured reported the group disappeared from the model picker entirely after pulling v0.50.228+.
Steps to reproduce
- Set Nous as active provider (
model.provider: nous in config.yaml)
- Have
OPENAI_API_KEY set in the environment (for Codex access via OpenAI)
- Open the model picker — the "OpenAI Codex" group does not appear
Contrast: OPENAI_API_KEY triggers detection of the openai provider group but not openai-codex.
Root cause
get_available_models() in api/config.py maps specific env vars to providers:
if all_env.get("OPENAI_API_KEY"):
detected_providers.add("openai") # ← only "openai", not "openai-codex"
openai-codex has a full static model list in _PROVIDER_MODELS["openai-codex"] (9 models) and a display name in _PROVIDER_DISPLAY, but zero detection logic. It is entirely absent from the env-var detection block (lines ~1415–1448). The only path that adds it is the config.yaml providers: section reader (line ~1453), which requires the user to manually configure it.
Since both openai-codex and openai share OPENAI_API_KEY for authentication, there is no functional reason the Codex group should require separate manual config to appear.
Expected behavior
When OPENAI_API_KEY is set, the "OpenAI Codex" model group should appear in the picker automatically alongside the "OpenAI" group — the same key authenticates both.
Proposed fix
Add detection in the env-var block in api/config.py:
if all_env.get("OPENAI_API_KEY"):
detected_providers.add("openai")
detected_providers.add("openai-codex") # ← add this
Single-line change, no logic side-effects. Users who don't want the Codex group can remove it via providers: section overrides (existing mechanism).
Files
api/config.py line ~1424 (env-var detection block for OPENAI_API_KEY)
api/config.py line ~625 (_PROVIDER_MODELS["openai-codex"] static list — already populated)
Impact
All users who authenticate via OPENAI_API_KEY and have Codex models available. The group never appears unless they manually add an openai-codex: section to config.yaml, which no onboarding flow or documentation currently suggests.
Summary
After the Nous live-model-fetch fix (#1174, v0.50.228), the live endpoint now returns a full catalog of Nous models. However, the
openai-codexprovider group — which has its own static model list in_PROVIDER_MODELS— has no automatic detection path via environment variables. It only appears if the user explicitly listsopenai-codexunderproviders:inconfig.yaml.Confirmed post-fix: a user with the Codex provider configured reported the group disappeared from the model picker entirely after pulling v0.50.228+.
Steps to reproduce
model.provider: nousin config.yaml)OPENAI_API_KEYset in the environment (for Codex access via OpenAI)Contrast:
OPENAI_API_KEYtriggers detection of theopenaiprovider group but notopenai-codex.Root cause
get_available_models()inapi/config.pymaps specific env vars to providers:openai-codexhas a full static model list in_PROVIDER_MODELS["openai-codex"](9 models) and a display name in_PROVIDER_DISPLAY, but zero detection logic. It is entirely absent from the env-var detection block (lines ~1415–1448). The only path that adds it is theconfig.yaml providers:section reader (line ~1453), which requires the user to manually configure it.Since both
openai-codexandopenaishareOPENAI_API_KEYfor authentication, there is no functional reason the Codex group should require separate manual config to appear.Expected behavior
When
OPENAI_API_KEYis set, the "OpenAI Codex" model group should appear in the picker automatically alongside the "OpenAI" group — the same key authenticates both.Proposed fix
Add detection in the env-var block in
api/config.py:Single-line change, no logic side-effects. Users who don't want the Codex group can remove it via
providers:section overrides (existing mechanism).Files
api/config.pyline ~1424 (env-var detection block for OPENAI_API_KEY)api/config.pyline ~625 (_PROVIDER_MODELS["openai-codex"]static list — already populated)Impact
All users who authenticate via
OPENAI_API_KEYand have Codex models available. The group never appears unless they manually add anopenai-codex:section toconfig.yaml, which no onboarding flow or documentation currently suggests.