hide_agent_reasoning = true hides Codex reasoning output; show_raw_agent_reasoning = true shows it
hide_agent_reasoning = true suppresses reasoning, show_raw_agent_reasoning = true shows raw reasoning, model_reasoning_summary (auto to none) sets length. Depth is a separate key.
Contents
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
| Key | Type | Default | Meaning |
|---|---|---|---|
hide_agent_reasoning | Boolean | false | true suppresses reasoning events in the output |
show_raw_agent_reasoning | Boolean | unset | show raw reasoning content when the model returns it |
model_reasoning_summary | string | unset | summary granularity: auto / concise / detailed / none |
The reference describes hide_agent_reasoning as suppressing "reasoning events in both the TUI and codex exec output". With it set to true, the thinking Codex shows while it works disappears 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. The reference names low, medium, high, xhigh, max and ultra as examples, and says the available levels depend on the model and client. Hiding the display does not reduce reasoning or the tokens it consumes.
| Goal | Setting |
|---|---|
| hide reasoning from the output | hide_agent_reasoning = true |
| reason less and respond faster | model_reasoning_effort = "low" |
| see more of the rationale | model_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.
Showing more reasoning, not less
The same three keys work in the other direction when you want to see more:
| You want | Setting |
|---|---|
| Summaries visible at all | Leave hide_agent_reasoning at its default false |
| Fuller summaries | model_reasoning_summary = "detailed" |
| Raw reasoning where the model exposes it | show_raw_agent_reasoning = true |
hide_agent_reasoning = false
model_reasoning_summary = "detailed"
show_raw_agent_reasoning = true
Remember that these change the display only, not how much the model reasons. To change the depth itself, see How to change reasoning effort in Codex CLI.
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 = truehides reasoning;show_raw_agent_reasoning = trueshows raw reasoning when availablemodel_reasoning_summarysets granularity:auto,concise,detailed,none- Depth is a different key,
model_reasoning_effort; hiding does not reduce reasoning or tokens - A
codex execprofile 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.
- How do I show reasoning in Codex instead of hiding it?
- Leave hide_agent_reasoning at its default of false, and set model_reasoning_summary to detailed for fuller summaries. show_raw_agent_reasoning = true additionally shows raw reasoning where the model exposes it.
- How do I hide thinking in Codex?
- Set hide_agent_reasoning = true in config.toml, which suppresses reasoning events in both the TUI and codex exec output. For shorter summaries instead, use model_reasoning_summary = "concise"; "none" stops them being generated.
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.