Codex Desktop new-chat reasoning selector does not apply to initial prompt

Resolved 💬 2 comments Opened May 4, 2026 by tylerwisdom-logimon Closed May 4, 2026

Summary

In Codex Desktop, the new-chat reasoning selector appears to accept a change from low to xhigh before the first prompt is submitted, but the first request is still sent with reasoning_effort: "low". Follow-up prompts in the same thread do appear to honor reasoning changes.

Environment

  • Product: Codex Desktop on macOS
  • App version: 26.429.30905 / bundle 2345
  • CLI/session version observed: codex-cli 0.128.0
  • Model: gpt-5.5
  • Config:
model = "gpt-5.5"
model_reasoning_effort = "xhigh"
service_tier = "fast"

Steps to reproduce

  1. Start a new chat in Codex Desktop.
  2. Observe the reasoning selector is preselected as low.
  3. Before submitting the initial prompt, change reasoning to xhigh.
  4. Submit the initial prompt.
  5. Inspect the session JSONL / request logs for the first turn.

Expected behavior

The initial request should be sent with reasoning_effort: "xhigh" because the user changed the new-chat selector before submitting. This should also align with model_reasoning_effort = "xhigh" in ~/.codex/config.toml.

Actual behavior

The first turn was recorded as low reasoning:

{
  "model": "gpt-5.5",
  "mode": "default",
  "mode_settings": {
    "model": "gpt-5.5",
    "reasoning_effort": "low"
  },
  "effort": "low"
}

The local Responses request log also showed:

"reasoning": { "effort": "low" }

So this does not appear to be a purely visual UI issue; the backend request actually used low reasoning.

Additional notes

  • Follow-up prompts in the same thread can successfully change reasoning effort.
  • service_tier = "fast" is configured intentionally; this should select the fast service tier, not force reasoning_effort = "low".
  • The issue seems specific to the new-chat initial prompt path, possibly the Desktop app composer state not applying the pre-submit reasoning selector value to the first turn.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗