Hide or expand reasoning in Codex output: hide_agent_reasoning and model_reasoning_summary

Codex Published:

The three Codex CLI settings that control reasoning display: hide_agent_reasoning, show_raw_agent_reasoning, and model_reasoning_summary, and how they differ from reasoning effort.

Verified on Sep 10, 2026 These tools change quickly. Please also check the latest official documentation.
Contents
  1. The three keys
  2. Display is not depth
  3. Non-interactive use
  4. Summary

Codex shows summaries of what it is thinking while it works. That is useful for following along, but noise when you are skimming a log or piping codex exec output through a script. Other times you want more detail about why it made a decision.

In short: display is controlled by hide_agent_reasoning (suppress) and show_raw_agent_reasoning (show raw reasoning), and summary granularity by model_reasoning_summary. All three are separate from model_reasoning_effort, which sets how deeply the model reasons.

KEY POINT

What you will learn

  • The role and default of the three display keys
  • Display settings versus depth (model_reasoning_effort)
  • Cases where the settings have no effect because of the model or provider

The three keys

hide_agent_reasoning = true          # suppress reasoning events
show_raw_agent_reasoning = false     # surface raw reasoning when the model emits it
model_reasoning_summary = "concise"  # auto | concise | detailed | none
KeyTypeDefaultMeaning
hide_agent_reasoningBooleanfalsetrue suppresses reasoning events in the output
show_raw_agent_reasoningBooleanunsetshow raw reasoning content when the model returns it
model_reasoning_summarystringunsetsummary granularity: auto / concise / detailed / none

With hide_agent_reasoning = true, reasoning events disappear and only tool activity and the final response remain. model_reasoning_summary = "none" stops summaries being generated at all, which is a different layer from merely hiding them.

用語解説

Reasoning summary: a short, display-oriented digest of the model's internal reasoning. Whether the raw reasoning itself is returned depends on the model and provider; if it is not, show_raw_agent_reasoning = true shows nothing.

Display is not depth

How deeply the model reasons is set by model_reasoning_effort: minimal, low, medium, high, or xhigh. Hiding the display does not reduce reasoning or the tokens it consumes.

GoalSetting
hide reasoning from the outputhide_agent_reasoning = true
reason less and respond fastermodel_reasoning_effort = "low"
see more of the rationalemodel_reasoning_summary = "detailed"
see raw reasoning (supported models only)show_raw_agent_reasoning = true

Choosing a reasoning effort is covered in the hub article Configuring Codex with config.toml.

Non-interactive use

When you drive Codex from scripts with codex exec, reasoning summaries mixed into stdout make post-processing awkward. A CI profile with hide_agent_reasoning = true keeps the output stable. Profiles live in separate files such as $CODEX_HOME/ci.config.toml and are selected with codex --profile ci.

# ~/.codex/ci.config.toml
hide_agent_reasoning = true
model_reasoning_summary = "none"
approval_policy = "never"

Behavior depends on the model and provider

The docs state that show_raw_agent_reasoning has no effect with models or providers that do not emit raw reasoning. model_supports_reasoning_summaries can force reasoning metadata to be sent, but the display does not change if the model does not support it. When a setting appears to do nothing, check the model first.

Another output-readability setting, opening file references in your editor, is covered in file_opener, and turn-completion notifications in notify and tui.notifications.

Summary

  • hide_agent_reasoning = true hides reasoning; show_raw_agent_reasoning = true shows raw reasoning when available
  • model_reasoning_summary sets granularity: auto, concise, detailed, none
  • Depth is a different key, model_reasoning_effort; hiding does not reduce reasoning or tokens
  • A codex exec profile with reasoning hidden gives stable output
  • Raw reasoning appears only when the model and provider support it

FAQ

Does hiding reasoning stop the model from reasoning?
No. hide_agent_reasoning only suppresses the display. Reasoning depth is set separately with model_reasoning_effort.
show_raw_agent_reasoning = true changes nothing.
Some models and providers do not emit raw reasoning, and the docs note the setting has no effect in those cases.
I just want shorter summaries.
Set model_reasoning_summary = "concise". none disables summaries entirely.

Primary sources

This article was drafted by AI from official documentation and reviewed by the site operator before publishing. Found a mistake? Let us know via the contact page.