How to change reasoning effort in Codex CLI: model_reasoning_effort values and one-off overrides A developer has documented how to control reasoning effort in OpenAI's Codex CLI through the model_reasoning_effort configuration key, which accepts five levels: minimal, low, medium, high, and xhigh. The guide covers setting the value permanently in ~/.codex/config.toml, overriding it for a single run with the -c flag, switching mid-session via the /model command, and bundling settings into reusable profiles. It also notes that plan_mode_reasoning_effort and agents.default_subagent_reasoning_effort apply effort settings only to plan mode or spawned subagents, and warns that values unsupported by the active model may not take effect. Originally published at https://aicoding-guide.com https://aicoding-guide.com/en/posts/codex-reasoning-effort/ . Codex feels slow, or it overthinks a trivial fix. The knob for that is reasoning effort , the Codex counterpart of extended thinking in Claude Code, controlled by the model reasoning effort key. In short: set model reasoning effort = "high" or another value in ~/.codex/config.toml to change it permanently, use the -c flag for a single run, or /model during a session. The five levels are minimal , low , medium , high , and xhigh . Key point What you will learn - The five values and when each fits - Four ways to change effort: permanently, for one run, mid-session, and per profile - The keys that change effort only for plan mode or subagents The configuration reference defines model reasoning effort as a string with the values minimal | low | medium | high | xhigh . The reference does not state a default, and it may depend on the model, so none is given here. | Value | Suited to | |---|---| | minimal | one-line questions, formatting fixes, anything with little to reason about | | low | small bug fixes, simple refactors | | medium | everyday feature work and investigation | | high | multi-file design changes, bugs with no obvious cause | | xhigh | hard algorithms, reviews of large changes where mistakes are costly | Higher effort means slower responses and more tokens. Keeping everyday work around medium and raising it only for hard tasks is the easiest routine. Glossary Reasoning effort : how much the model reasons internally before answering. It is separate from how much of the reasoning summary is displayed; hiding the display is covered in Hiding reasoning in Codex output https://aicoding-guide.com/en/posts/codex-hide-agent-reasoning/ . One line in ~/.codex/config.toml : model = "gpt-5.5" model reasoning effort = "high" In a trusted project you can put it in the repository's .codex/config.toml to affect only that project; project settings outrank user settings. To change effort for a single invocation without touching the file, use -c --config . Values are parsed as TOML , so wrap the string in double quotes and wrap the whole thing in single quotes to keep the shell from eating them. codex -c model reasoning effort='"high"' "Find out why this test fails and fix it" The same form works with codex exec from scripts. According to the docs, a value that cannot be parsed as TOML is treated as a string, so a missing pair of quotes often still works, but quoting makes the intent explicit. Run /model in a session to switch. The official command list describes it as choosing the active model "and reasoning effort, when available". Raise it before a hard investigation and drop it afterwards. Rather than typing the override every time you review code, bundle the settings in a profile. Profiles live in $CODEX HOME default ~/.codex as