model_verbosity
model defaultPublished Jul 15, 2026 · Verified against the official config docs
Sets how much the model writes back on GPT-5 family models: low, medium, or high. It only shapes the answer text, and the docs scope it to the GPT-5 Responses API. There's no published default; unset means whatever the selected model or preset ships with. Drop it to low when replies run long and you're paying for output you skim past anyway.
model_verbosity controls how long the model’s written replies are. Thinking depth is a separate key, model_reasoning_effort; this one only shapes the final answer text. The official config reference scopes it to GPT-5 family models on the Responses API.
Values
| Value | What you get |
|---|---|
low |
Short answers, minimal explanation |
medium |
Standard detail |
high |
Long answers that walk through everything |
There’s no fixed default. The reference says “when unset, the selected model/preset default is used,” and it doesn’t publish what each preset actually defaults to. It’s a top-level key in ~/.codex/config.toml:
# ~/.codex/config.toml
model_reasoning_effort = "medium"
model_verbosity = "low"
When to change it
- Usage is climbing and the replies are essays. Set
model_verbosity = "low". You pay for every output token, and across a long session the walkthrough text adds up (nobody reads the high-verbosity essay twice). - You’re learning a codebase and want the model to explain itself. Set it to
highfor that stretch, then put it back. - Quick-edit sessions. When you mostly want the diff and a one-line confirmation,
lowkeeps replies to the point.
Gotchas
- The docs scope this key to GPT-5 models on the Responses API. What it does on anything else isn’t documented, so don’t count on it doing anything there.
- It won’t fix reasoning-driven token burn. The long “Burning tokens very fast” thread (#14593) is about high reasoning effort chewing through quota, roughly 20% of a business plan in two hours in the original report. That problem lives in
model_reasoning_effort; verbosity only trims the reply text. - Because the default is per model preset and unpublished, the only way to know what you’re currently running is to set the key explicitly and compare. The docs don’t say.
Related settings
model_reasoning_effort: the bigger token lever; controls how hard the model thinks before answering (minimalthroughxhigh).model_reasoning_summary: controls how much of the reasoning gets summarized back into your transcript (auto,concise,detailed,none).