[Desktop] Model picker shows only 2 reasoning tiers for custom catalog model (DeepSeek V4 Flash) although catalog and app-server resolve 3 (low/high/max)
Summary
Codex Desktop's model picker shows only 2 reasoning tiers for a custom-catalog model (DeepSeek V4 Flash) even though both the on-disk catalog and the app-server model resolution declare 3 tiers (low / high / max). The data pipeline is correct; only the desktop frontend renders a reduced set. Same-day report from another routing tool (borawong/AiMaMi#102, identical app version) shows the same symptom, with the task capability snapshot reporting high / xhigh.
Environment
- Codex Desktop: Microsoft Store package
OpenAI.Codex26.727.6591.0 (Windows x64) - codex client: 0.146.0-alpha.9.2
- OS: Windows 11
- Custom provider via cc-switch v3.19.1,
wire_api = responses, directhttps://api.deepseek.com
Model catalog declaration
~/.codex/cc-switch-model-catalog.json (loaded via model_catalog_json in config.toml) declares:
{
"slug": "deepseek-v4-flash",
"default_reasoning_level": "low",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Fast responses with lighter reasoning" },
{ "effort": "high", "description": "Extra high reasoning depth for complex problems" },
{ "effort": "max", "description": "Maximum reasoning depth for the hardest problems" }
]
}
This matches DeepSeek's official Codex integration docs.
Verified data side (correct)
codex debug models run against the exact binary the desktop spawns as app-server resolves the model correctly — 3 reasoning levels, default low. So the model/list data delivered to the desktop contains all 3 tiers.
Actual behavior (desktop frontend)
After a full quit and relaunch of Codex Desktop, a brand-new thread selecting DeepSeek V4 Flash shows only 2 reasoning tiers in the picker. low is not exposed (or the set is replaced by a fallback such as high / xhigh).
Expected behavior
The picker should show the 3 tiers declared in the catalog (low / high / max), consistent with what the app-server resolves.
Repro steps
- Configure a custom provider with
model_catalog_jsonpointing at a catalog whose model declaressupported_reasoning_levels: [low, high, max](e.g. DeepSeek V4 Flash official template). - Fully quit and relaunch Codex Desktop.
- Create a new thread, select the custom model, open the reasoning-tier picker.
- Only 2 tiers are shown instead of the declared 3.
Notes
- Related i18n reports #32362 / #31963 concern label collisions; this report is about the option count itself being reduced.
- Related catalog-interop reports in cc-switch: farion1231/cc-switch#6058, #5266, #4453.
No API keys, tokens, or private paths are included in this report.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Acknowledged as a duplicate of #36648. Agreeing with the conclusion there: the mismatch stems from the third-party routing tool's generated catalog rather than standalone Codex Desktop. The root cause for the cc-switch-generated catalog is tracked at farion1231/cc-switch#6058. Closing this issue to reduce noise.