[App] Allow custom presets in the model picker power slider

Open 💬 3 comments Opened Jul 13, 2026 by JavierPiedra

What version of the Codex App are you using?

Codex App 26.707.51957

What platform is your computer?

macOS arm64

What feature would you like?

Allow users to define the presets shown in the Codex App's Advanced model picker / power slider.

The app already persists related desktop settings in ~/.codex/config.toml, for example:

[desktop]
enabled-reasoning-efforts = ["low", "medium", "high", "xhigh", "ultra", "max"]
show-ultra-in-model-picker-slider = true

It also supports global defaults such as:

model = "gpt-5.6-sol"
model_reasoning_effort = "high"

However, these settings do not let a user choose which model + reasoning combinations appear as slider stops. The current slider uses a fixed curated sequence.

I would like to configure my own ordered list, for example:

[desktop]
model-picker-presets = [
  { model = "gpt-5.6-terra", reasoning_effort = "high", label = "Terra High" },
  { model = "gpt-5.6-sol", reasoning_effort = "high", label = "Sol High" },
  { model = "gpt-5.6-sol", reasoning_effort = "xhigh", label = "Sol Extra High" },
  { model = "gpt-5.6-sol", reasoning_effort = "max", label = "Sol Max" },
  { model = "gpt-5.6-sol", reasoning_effort = "ultra", label = "Sol Ultra" },
]

The exact schema is only illustrative.

Why is this useful?

Different users have different recurring workflows and cost/latency preferences. A fixed slider sequence forces users to open the full picker repeatedly or accept presets they do not use.

Custom presets would make the shortcut genuinely useful while preserving the existing defaults for users who do not configure anything.

Expected behavior

  • Keep the existing curated presets as the default.
  • Allow users to override the ordered slider stops in config.toml or Settings.
  • Each preset should support at least model and reasoning_effort.
  • Optional labels would improve clarity.
  • Invalid or unavailable presets should be ignored with a visible warning rather than breaking the picker.
  • The selected preset should stay synchronized with the full model/reasoning controls.

Related issue

#31968 discusses the current slider's fixed sequence and its treatment of Max and Ultra, but it does not request user-defined presets.

View original on GitHub ↗

3 Comments

tangmcs · 28 days ago

Adding a complementary UX proposal to this request, based on the current Codex App selector rather than opening a duplicate issue.

Two-level picker

Above the existing detailed Model / Effort / Speed controls, add a Choose by task row of preset chips, for example:

  • Text work — Terra · Medium · Standard
  • Everyday coding — Sol · Medium · Standard
  • Hard work — Sol · Ultra
  • Auto (optional) — route based on task complexity, but show the selected model/effort and let manual selection win
  • + Save current setup — create a named user preset from the current values

The detailed controls should remain authoritative. Editing Model, Effort, or Speed manually should select a neutral Custom state without silently changing a saved preset.

Per-model effort controls

The compact selector should derive its choices from the model catalog / model/list response instead of a fixed Sol-heavy sequence. In Codex App 26.721.81911, Sol, Terra, and Luna are available, but the compact power slider still omits Luna and most Terra combinations. Each model should expose its own supported effort bar and remember the most recently chosen effort for that model.

Suggested preset fields and behavior

Alongside the issue's proposed model, reasoning_effort, and label, it would be useful to support optional service_tier / Speed and the current Ultra state. Saved presets should support rename, edit, reorder, and delete.

Acceptance details:

  • Keep the current curated defaults for users who do nothing.
  • Keep preset chips synchronized with the detailed selector.
  • Warn visibly when a saved model/effort becomes unavailable.
  • Do not use color alone to communicate the active preset.
  • Call these presets or saved setups, rather than “custom models,” to avoid confusion with custom providers/BYOK.

This combines the fast task-oriented entry point used by tools such as Cursor/Zed with the per-model effort controls used by VS Code/Copilot, while preserving Codex's existing detailed selector.

azolotov · 26 days ago

Strong +1. Within the GPT-5.6 family alone, 3 models × 6 effort levels × 2 speeds creates 36 possible combinations. In practice, I use only 3–5 repeatedly, such as:

  • Luna · Medium · Fast
  • Sol · Medium · Standard
  • Sol · Max · Standard

I want to configure these as named presets and select any of them with one click.

Each preset should bundle model, reasoning effort, and speed/service tier. The presets should appear directly in the picker, while the detailed controls remain available for occasional custom combinations.

wladpaiva · 15 days ago

also, I'd love to be able to set custom shortcuts for each like

  • Luna · Medium · Fast = F1
  • Sol · Medium · Standard = F2
  • Sol · Max · Standard = F3