model_reasoning_summary
auto (the model default)Published Jul 15, 2026 · Verified against the official config docs
Sets how much reasoning-summary text Codex shows while it works: auto, concise, detailed, or none. auto defers to the model's own default summary level. Set none to keep summaries out of scripted runs, detailed when you want to read why Codex chose an approach. Only does anything on reasoning-capable models, and only shapes the summaries, never the raw chain-of-thought.
Values
| Value | What you get |
|---|---|
"auto" |
The model’s default summary level. Default for the key itself. |
"concise" |
Short summaries |
"detailed" |
Fuller write-ups of what the model is weighing |
"none" |
No reasoning summaries at all |
The current reference describes it as “Select reasoning summary detail or disable summaries entirely” and lists those four values without stating a default. The last full in-repo config.md listed "auto" as the default, and noted reasoning turns on by default for models whose names start with o or codex on the Responses API. On anything else, this key sits idle.
# ~/.codex/config.toml
model_reasoning_summary = "none" # disable reasoning summaries
When to change it
- CI or
codex execlogs where reasoning chatter buries the actual output: set"none". To also strip the reasoning events from the display entirely,hide_agent_reasoning = truehandles that layer. - Codex keeps taking approaches you didn’t expect: flip to
"detailed"for a session and read what it was weighing before you tune your prompt or AGENTS.md. - Long interactive sessions where full summaries slow your reading:
"concise"keeps the signal without the essay.
Gotchas
Three knobs get conflated here. model_reasoning_summary controls what summary the API produces. hide_agent_reasoning controls whether Codex displays reasoning events in the TUI and exec output. show_raw_agent_reasoning surfaces raw reasoning content when the model emits it, per the official reference. Setting one and expecting the others’ behavior is the usual mixup.
Codex only sends reasoning parameters to OpenAI models it knows support them. For a custom or proxied model, force it with model_supports_reasoning_summaries = true, per the in-repo docs.
A sibling key, model_reasoning_summary_format, was removed in December 2025 (PR #8484), so any guide telling you to set it is stale (it still shows up in plenty of older writeups).
Related settings
model_reasoning_effortsets how hard the model thinks; this key sets how much of that thinking gets summarized back to you.hide_agent_reasoningsuppresses reasoning events in the TUI andcodex exec.model_supports_reasoning_summariesforces reasoning metadata on for models Codex doesn’t recognize.