[Desktop][Launch blocker] Stale model_catalog_json silently hides newly launched models
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Impact: new model launches are effectively broken in Desktop
For Desktop users with model_catalog_json configured, a newly launched OpenAI model can remain completely absent from the model picker even after updating and restarting Codex.
The app otherwise appears healthy and provides no error, warning, or indication that a local startup catalog is overriding the current bundled/server catalog. From the user's perspective, the new-model rollout simply never arrives. This breaks the primary Desktop flow for discovering and selecting newly launched models and is easily misdiagnosed as an account entitlement or staged-rollout problem.
This failure mode can recur at every new model launch until the user manually discovers and removes or updates the stale catalog override.
Affected variants
- Codex Desktop app on Windows
- Codex CLI on Windows and Linux
- Reproduced with Codex 0.153.4 and the GPT-6 Astra launch
Reproduction
- Configure
model_catalog_jsonwith a valid custom catalog containing the currently available models. - Later update Codex to a version whose bundled/server catalog includes a newly launched official model.
- Open the Desktop model picker or CLI
/modelselector. - The newly launched model is missing indefinitely, despite the current client and account supporting it.
- Restarting or updating Codex does not help because the stale startup override continues to win silently.
- Remove
model_catalog_jsonand fully restart Desktop/CLI. - The new model immediately appears.
Confirmed example
With Codex Desktop 0.153.4:
- the bundled catalog contained
gpt-6-astrawith list visibility; - the signed-in account could successfully run Astra;
- a custom catalog created before the launch did not contain Astra;
- Desktop silently used the custom catalog and omitted Astra from its model picker;
- removing the override and restarting immediately restored Astra.
This confirms that neither client support nor account entitlement was the cause.
Expected behavior
Desktop should not silently look current while an old startup catalog hides newly launched official models. At minimum, it should:
- prominently mark the model picker as using a custom catalog;
- compare the custom catalog with current bundled/server models;
- show a launch-visible warning such as: “Your custom model catalog is hiding 1 newly available OpenAI model.”;
- identify the catalog path and modification time;
- offer a Use current catalog or Review override action;
- surface the same diagnosis in
/statusandcodex doctor.
The custom catalog can remain authoritative; the important requirement is that newly supported official models must not disappear silently during launches.
Related issue
#20492 tracks stale remote app-server versions after upgrades. That can amplify launch problems, but this report specifically covers Desktop and CLI silently hiding new models because of model_catalog_json precedence.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the stale model_catalog_json behavior in Codex Desktop and the CLI, including the model picker, /model, /status, and codex doctor surfaces mentioned in the report. Done means users are clearly told when an override hides newly available official models, with the catalog path and modification time shown and an action to use or review the current catalog.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100