Codex Desktop overrides `model_reasoning_summary = "concise"` with `detailed`
What version of the Codex App are you using (From “About Codex” dialog)?
Desktop build identifier observed in the injected app context: 26.721.41059
Bundled core recorded by the rollout:
codex-cli 0.146.0-alpha.3.1
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Windows 11 x64
Which model were you using?
gpt-5.6-terra, medium reasoning effort
What issue are you seeing?
Codex Desktop appears to ignore the explicit user-level configuration:
model_reasoning_summary = "concise"
A fresh Desktop thread records the effective thread setting as:
"reasoning_summary": "detailed"
The rollout contains this thread_settings_applied event twice, including after a rollback/retry:
{
"type": "thread_settings_applied",
"thread_settings": {
"model": "gpt-5.6-terra",
"reasoning_effort": "medium",
"reasoning_summary": "detailed"
}
}
The same rollout identifies its origin as:
{
"originator": "Codex Desktop",
"source": "vscode",
"cli_version": "0.146.0-alpha.3.1"
}
Reasoning response items were subsequently persisted with generated summary sections, consistent with the effective detailed setting.
This is not the older behavior from #2376 / #2625 where a model rejected concise with HTTP 400. Here the request succeeds, but the effective Desktop thread configuration becomes detailed instead of the explicit configured value.
What steps can reproduce the bug?
- Close Codex Desktop.
- Set the following as a top-level value in the user config at
~/.codex/config.toml:
``toml``
model_reasoning_summary = "concise"
- Reopen Codex Desktop.
- Start a new thread using
gpt-5.6-terrawith medium reasoning effort. - Run a multi-step coding task.
- Inspect the generated rollout JSONL under
~/.codex/sessions/.... - Find the
thread_settings_appliedevent. - Observe
"reasoning_summary":"detailed"rather than"concise".
Observed thread/session ID:
019f9da5-7cac-7590-822e-ddaebe723274
What is the expected behavior?
An explicit user-level model_reasoning_summary = "concise" should remain the effective thread setting unless the user explicitly selects a different thread-level override in the Desktop UI.
The rollout should record:
"reasoning_summary": "concise"
Alternatively, if the Desktop client has no explicit user-selected override, it should omit the turn/start.summary or thread-level summary override and allow normal config resolution to use model_reasoning_summary.
Additional information
The official config reference currently documents auto, concise, detailed, and none as valid values for model_reasoning_summary.
This may be related to the config-precedence observation in #30793. That issue notes that turn/start.summary is an override and that a frontend-provided fallback can override ~/.codex/config.toml. The value in this report is detailed rather than none, but the likely failure mode may be similar: the Desktop frontend or model preset supplies an explicit summary override even though the user did not choose one.
Two possible causes worth checking:
- Codex Desktop always sends a model/preset-derived
summary: detailedoverride for new turns or threads. - The model catalog's
default_reasoning_summaryincorrectly takes precedence over an explicitConfig.model_reasoning_summaryvalue in the Desktop/app-server path.
A sanitized rollout can be provided if needed.
1 Comment
you can also set
personality = none
it seems to be more concise than "consise"
https://github.com/openai/codex/commit/6e243cc
(see this commit)
)))