What variant of Codex are you using?
Codex App (macOS desktop)
What feature would you like to see?
Treat model and model_reasoning_effort in a trusted project's .codex/config.toml as defaults for new tasks, while allowing an explicit selection in the composer model picker to override those defaults for the current task or thread.
Current behavior
When a project-scoped .codex/config.toml contains a model default, selecting another available model in the desktop app briefly updates the picker, but the selection immediately snaps back to the project-configured model. The picker appears interactive even though its selection cannot take effect.
Requested behavior
- Use the project-scoped
model and model_reasoning_effort values when the user does not make an explicit selection.
- Treat an explicit composer selection as a task/thread-level override.
- Do not rewrite the project configuration when applying the temporary override.
- When a project setting is intentionally authoritative and cannot be overridden, disable the affected picker control and show that the value comes from
.codex/config.toml.
This would preserve reproducible project defaults while still allowing users to choose a faster, cheaper, or more capable model for a specific task.
Additional information
Reproduction
- Open a trusted local project in the Codex desktop app.
- Add a project-scoped configuration:
model = "gpt-5.6-sol"
model_reasoning_effort = "medium"
- Open the model picker below the composer.
- Select another available model or reasoning level.
- Observe that the picker briefly changes and then returns to the project-configured value.
Expected result
The explicit picker selection remains active for the current task/thread. The project configuration remains unchanged and continues to provide the default for tasks where no explicit selection is made.
Environment
- ChatGPT desktop app: 26.721.81911 (build 5973)
- Bundled codex-cli: 0.146.0-alpha.3.1
- macOS: 26.5.1 (25F80)
Related issues
Removing model and model_reasoning_effort from the project-scoped config allows the picker to work, but removes the ability to define project defaults.
What variant of Codex are you using?
Codex App (macOS desktop)
What feature would you like to see?
Treat
modelandmodel_reasoning_effortin a trusted project's.codex/config.tomlas defaults for new tasks, while allowing an explicit selection in the composer model picker to override those defaults for the current task or thread.Current behavior
When a project-scoped
.codex/config.tomlcontains a model default, selecting another available model in the desktop app briefly updates the picker, but the selection immediately snaps back to the project-configured model. The picker appears interactive even though its selection cannot take effect.Requested behavior
modelandmodel_reasoning_effortvalues when the user does not make an explicit selection..codex/config.toml.This would preserve reproducible project defaults while still allowing users to choose a faster, cheaper, or more capable model for a specific task.
Additional information
Reproduction
Expected result
The explicit picker selection remains active for the current task/thread. The project configuration remains unchanged and continues to provide the default for tasks where no explicit selection is made.
Environment
Related issues
model_reasoning_effortRemoving
modelandmodel_reasoning_effortfrom the project-scoped config allows the picker to work, but removes the ability to define project defaults.