Skip to content

[App] Allow the model picker to override project-scoped model defaults #36163

Description

@ruslander-rulez

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

  1. Open a trusted local project in the Codex desktop app.
  2. Add a project-scoped configuration:
model = "gpt-5.6-sol"
model_reasoning_effort = "medium"
  1. Open the model picker below the composer.
  2. Select another available model or reasoning level.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appconfigIssues involving config.toml, config keys, config merging, or config updatesenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions