Ultra slider toggle is disabled for API-authenticated custom model providers
What version of the Codex App are you using (From “About Codex” dialog)?
26.721.41059
What subscription do you have?
API
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
Description
The Settings → Configuration → Ultra in model picker slider toggle is disabled when Codex uses API authentication with Azure model provider.
<img width="772" height="73" alt="Image" src="https://github.com/user-attachments/assets/d90288f6-1861-487e-bf51-4b5f18f5d14a" />
My provider is an Azure-hosted endpoint serving an OpenAI model that supports the ultra reasoning effort. Therefore, Ultra availability should be determined from the model/provider capabilities rather than ChatGPT account eligibility.
Configuration
model_provider = "azure"
forced_login_method = "api"
model_reasoning_effort = "medium"
[model_providers.azure]
name = "Azure"
base_url = "<redacted OpenAI-compatible endpoint>"
env_key = "<redacted>"
[desktop]
enabled-reasoning-efforts = ["low", "medium", "high", "xhigh", "ultra"]
Separately, it's worth noting that if I edit the config file to add
[desktop]
show-ultra-in-model-picker-slider = true
After I restart the codex app, this config entry will be overwritten to false by codex.
Suspected cause
In the current desktop implementation, the row is shown based on hasModelSupportingUltraReasoningEffort, but the switch is disabled when the ChatGPT user-settings query returns no data. The preference appears to be persisted through the ChatGPT setting model_picker_persists_ultra_effort. API-only authentication does not provide ChatGPT user settings, so this seems to unintentionally couple a local model-picker preference to ChatGPT authentication.
What steps can reproduce the bug?
See above.
What is the expected behavior?
_No response_
Additional information
_No response_