Pick Your Coding-Agent Model by Opportunity Cost — Why I Run Fable 5 Low and Codex 5.6 Sol Light for Speed Developer Tadashi Shigeoka now defaults to lighter reasoning and speed settings on coding agents, running Anthropic's Fable 5 at Low reasoning in Claude Code and OpenAI's Codex 5.6 Sol at Light reasoning and Fast speed, which reached general availability on July 9, 2026. Shigeoka argues that choosing settings by opportunity cost, not token cost, speeds up daily work because faster replies let him read and fix code sooner, and that lighter settings do not reduce model intelligence, only the number of reasoning tokens spent. Pick Your Coding-Agent Model by Opportunity Cost — Why I Run Fable 5 Low and Codex 5.6 Sol Light for Speed Tadashi Shigeoka /en/author/tadashi-shigeoka/ · Sat, July 11, 2026 Lately I’ve been deliberately dialing the model settings on my coding agents toward the lighter end. In Claude Code https://claude.com/product/claude-code I run Fable 5 https://www.anthropic.com/claude/fable at the Low reasoning level, and in Codex https://openai.com/codex/ I run 5.6 Sol https://openai.com/index/gpt-5-6/ at the Light reasoning level and the Fast speed level. That’s my default now. I used to lean the other way, reasoning that “if the model is this smart, I might as well let it think hard for the best possible result,” and I tended to pick the heavier settings. Over the past few months I’ve come to doubt that premise pretty seriously. It wasn’t some elaborate benchmark that changed my mind. It was the day-to-day feel of using these agents constantly. For all the extra time the heavier setting made me wait, the answer that came back wasn’t noticeably better. If anything, having the lighter setting fire back quickly, so I could read the result with my own eyes and fix it, let me move the day’s work forward faster. Put that feeling into words and it resolves into a single line: choose the model setting by opportunity cost, not token cost. Why Light Is My Default Now Let me be concrete about the current settings. In Claude Code I use Fable 5 at the Low reasoning level, and in Codex I use 5.6 Sol, which reached general availability on July 9, at the Light reasoning level and the Fast speed level. The thing to pin down here is that the reasoning level and the speed level are two separate dials. The reasoning level decides how many moves of thinking the model gets to spend, and in Codex it runs from Light all the way up to Ultra. The speed level decides, independently of that, how quickly the reply comes back. I have both of them tilted toward the lighter and faster end. Claude Code’s Low is a reasoning level in the same sense, sitting at the lighter end of the range Fable 5 can reach. The other thing that matters is that a light setting doesn’t mean a dumber model. Dialing down the reasoning tokens is not the same as dropping to a weaker, cheaper model tier. It’s the same smart model, just told to spend fewer moves thinking. So for code generation or investigation, the raw comprehension and the breadth of what it knows stay high, and only the reply gets faster. This sense of “same intelligence, more speed” is the premise underneath how I now pick settings. I’m not claiming light is always right. As I’ll get to, I flip to a heavier setting when the work is genuinely hard. But for the ordinary tasks that fill most of a day, drafting an implementation, fixing existing code, scaffolding tests, doing light research, starting from a light setting is currently the best deal I’ve found. The Speed-Versus-Intelligence Trade-off Choosing a reasoning setting is, at bottom, a question of where to strike the trade-off between speed and intelligence. Let the model spend more reasoning tokens and it takes longer, but there’s room for a more deeply considered answer. Spend fewer and it’s faster, but there’s room for the thinking to be shallow. The naive conclusion is that the more important the work, the more you should tilt toward intelligence. That naive view is exactly why I used to reach for heavier settings. If the capacity for deep reasoning is right there, leaving it unused feels wasteful. Even if it takes a bit longer, getting a higher-quality answer must pay off in the end. That’s what I believed. But this trade-off smuggles in a hidden assumption: that thickening the reasoning meaningfully reduces failures, or at least makes the nature of the failures better. That’s where things started diverging from experience. Even with the heavier setting, I still had to read the returned code myself and check it. And when I read it, the way it got things wrong looked much the same as with the light setting. The “intelligence-side payoff” I thought I was putting on the scale turned out to be far lighter than I’d assumed. The Shape of the Mistakes Barely Changes With Reasoning Tokens Here is the heart of it. Today’s high-intelligence models fail with much the same shape of mistakes whether you spend a lot of reasoning tokens or few. What do I mean? When a task you handed to an agent goes wrong, the failure tends to take one of a handful of recurring patterns. It misreads a premise in the instructions. It ignores the conventions of the existing code and brings in its own approach. The tests pass but the requirement is subtly missed. It drops a single boundary condition. These failure shapes show up with a strikingly similar face whether the setting is light or heavy. Thickening the reasoning doesn’t hand you safe code from some entirely different dimension. The frequency may drop a little, but the categories of failure don’t get swapped out. The practical consequence is that my review stance doesn’t change. The failure shapes I need to catch in review are the same for the light output and the heavy output. So the attention I bring to reading the code, and the angles I check, are nearly identical. In other words, a heavier setting does not let me skip human review. Review effort, the most expensive human cost of all, stays right where it is whether the reasoning is thick or thin. If that’s so, then what exactly is the wait time I’m paying for with the heavier setting buying me? If the failure shape is the same and review can’t be skipped, the extra reasoning tokens buy roughly “a slightly lower frequency.” That payoff is astonishingly small against the time I’m made to wait. The scale of the trade-off was tipped far further toward the speed side than I had thought. Decide by Opportunity Cost, Not Token Cost Let me restate that realization in the language of cost. When we pick a model setting, we’re weighing two kinds of cost against each other. - Token cost: the cost visible as a dollar figure, for reasoning tokens and API usage. The heavier the setting, the higher it goes - Opportunity cost: the value lost while a human sits idle waiting for the agent’s reply. The heavier the setting, the longer the wait, and the larger this grows When the conversation turns to the cost of generative AI, it tends to congregate around token cost, because it shows up as a dollar figure: so much per request, so much per month. But I’ve come to think the one that actually bites is the other one, opportunity cost. Since the failure shape doesn’t change and review can’t be skipped, what a heavier setting buys is small, yet the wait time reliably grows. During that stretched wait, a human’s thinking and judgment are on hold. That costs far more than the dollar figure on the tokens. So I decide model settings by opportunity cost, not token cost. I don’t pick a light setting to save on the token bill. If anything it’s the reverse: I’ll happily spend a few extra tokens if doing so cuts opportunity cost. The one criterion is minimizing the time a human’s hands are stopped. That’s where I set it. Here’s the whole line of reasoning as a single flowchart. php flowchart TD A "How to set the model for one turn" -- B{"Does the mistake shape