Client or integration
Codex App
Area
Catalog / models
Summary
Provider and model aliases added by #2463 / PR #2610 resolve requests correctly, but the Codex model picker still shows each routed model's full canonical provider/model id. The original feature explicitly expected the picker to show the provider-qualified alias.
The catalog path never consumes effectiveModelAliases(): routed rows reach catalog generation without CatalogModel.displayName, so display_name falls back to the canonical slug. /v1/models.alias_of does not fix this because Codex App reads the shared catalog / app-server model/list display metadata.
Expected: the picker displays the qualified effective alias (for example google-antigravity/gemini-3.7 or cursor/grok) while the canonical slug, upstream model id, routing target, usage keys, and persisted selectors remain unchanged.
Reproduction
-
Configure a static routed model and a model alias:
{
"providers": {
"google-antigravity": {
"adapter": "google",
"liveModels": false,
"models": ["gemini-3.7-flash"],
"modelAliases": { "gemini-3.7-flash": "gemini-3.7" }
}
}
}
-
Sync/restart OpenCodex so it converges the Codex catalog.
-
Open the Codex App model picker.
-
Observe google-antigravity/gemini-3.7-flash instead of google-antigravity/gemini-3.7.
A deterministic current-dev reproduction also calls gatherRoutedModels() followed by buildCatalogEntries() and observes:
actual display_name: google-antigravity/gemini-3.7-flash
expected display_name: google-antigravity/gemini-3.7
The routing slug remains google-antigravity/gemini-3.7-flash in both cases.
Version
2.35.0 and current dev commit 47b8d164366b9db9e4331b2bb8b542db22766910
Operating system
macOS 27.0 (26A5421a)
Provider and model
google-antigravity / gemini-3.7-flash; the same gap affects explicit and built-in aliases on other routed providers.
Logs or error output
No runtime error. Alias routing succeeds; only the Codex catalog display_name is wrong.
Screenshots and supporting files
The Codex picker shows native Luna/Sol marketing labels but full canonical ids for routed providers. Luna/Sol are not evidence that aliases work: those native rows already carry upstream display_name metadata.
Redacted configuration
{
"defaultModelAliases": true,
"providers": {
"google-antigravity": {
"defaultAliases": false,
"modelAliases": {
"gemini-3.7-flash": "gemini-3.7"
}
},
"fireworks": {
"modelAliases": {
"accounts/fireworks/models/glm-5p3-flash": "GLM-5.3-Flash"
}
}
}
}
Checks
Client or integration
Codex App
Area
Catalog / models
Summary
Provider and model aliases added by #2463 / PR #2610 resolve requests correctly, but the Codex model picker still shows each routed model's full canonical
provider/modelid. The original feature explicitly expected the picker to show the provider-qualified alias.The catalog path never consumes
effectiveModelAliases(): routed rows reach catalog generation withoutCatalogModel.displayName, sodisplay_namefalls back to the canonical slug./v1/models.alias_ofdoes not fix this because Codex App reads the shared catalog / app-servermodel/listdisplay metadata.Expected: the picker displays the qualified effective alias (for example
google-antigravity/gemini-3.7orcursor/grok) while the canonical slug, upstream model id, routing target, usage keys, and persisted selectors remain unchanged.Reproduction
Configure a static routed model and a model alias:
{ "providers": { "google-antigravity": { "adapter": "google", "liveModels": false, "models": ["gemini-3.7-flash"], "modelAliases": { "gemini-3.7-flash": "gemini-3.7" } } } }Sync/restart OpenCodex so it converges the Codex catalog.
Open the Codex App model picker.
Observe
google-antigravity/gemini-3.7-flashinstead ofgoogle-antigravity/gemini-3.7.A deterministic current-
devreproduction also callsgatherRoutedModels()followed bybuildCatalogEntries()and observes:The routing slug remains
google-antigravity/gemini-3.7-flashin both cases.Version
2.35.0 and current
devcommit47b8d164366b9db9e4331b2bb8b542db22766910Operating system
macOS 27.0 (26A5421a)
Provider and model
google-antigravity / gemini-3.7-flash; the same gap affects explicit and built-in aliases on other routed providers.Logs or error output
No runtime error. Alias routing succeeds; only the Codex catalog display_name is wrong.Screenshots and supporting files
The Codex picker shows native Luna/Sol marketing labels but full canonical ids for routed providers. Luna/Sol are not evidence that aliases work: those native rows already carry upstream
display_namemetadata.Redacted configuration
{ "defaultModelAliases": true, "providers": { "google-antigravity": { "defaultAliases": false, "modelAliases": { "gemini-3.7-flash": "gemini-3.7" } }, "fireworks": { "modelAliases": { "accounts/fireworks/models/glm-5p3-flash": "GLM-5.3-Flash" } } } }Checks