
The Claude Code Changelog· Folge 150
Slashing Subagent Token Costs in Claude Code 2.1.292
Mittwoch, 7. Oktober 2026 · 5 min
Kapitelklicken springt direkt hin
Shownotes
James and Lachlan explore Claude Code 2.1.292, which introduces a dedicated effort parameter for subagents to dramatically slash token costs in multi-agent workflows. They also cover practical orchestration tips, CI-friendly retry configurations, and critical security patches for UNC paths.
Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin
Ever spun up five subagents to grep some logs and watched your token meter climb like they were all solving proofs? That's the itch version 2.1.292 scratches. This episode of The Claude Code Changelog is brought to you by Jellypod AI. I'm James. And I'm Lachlan. Last episode we covered 2.1.290 and 2.1.291, the WebFetch pagination and the Bash wildcard permission prompts.
2.1.291 was mostly cleanup. 2.1.292 is the bigger one for anyone running multi agent workflows, because the Agent tool now accepts an effort parameter. Right. Before this, when the main session delegated work, it could set the subagent type and the model, so opus, sonnet, or haiku. But reasoning effort wasn't something you could set per call.
Subagents inherited the session's effort level. People tried the effort field in subagent frontmatter, and the GitHub issue tracking this request, number 43083, has several users reporting that on Task tool spawns it did basically nothing. Now the Agent tool takes effort directly: low, medium, high, xhigh, or max.
And why that matters comes down to cost. In that same issue, one user measured the same prompt on Sonnet going from 616 output tokens at low effort to 5,556 at max. That's roughly nine times. On Opus it was 471 to 2,694, about five and a half times. Same model, same correct answer, the difference is reasoning depth.
So if your session runs at max, every mechanical subagent, the ones running tests or grepping logs, pays that tax. Run the session at low, and the subagent debugging a race condition gets starved. So now the orchestrator decides per delegation. The simplest way to use it is just to say so in your prompt.
Something like spawn a low effort subagent to run the test suite and collect the
failing test names, then spawn a high effort subagent to analyze the root cause of the deadlock. Claude passes the effort value into the Agent call for each one. If you've got skills or a CLAUDE.md that drive an orchestrator, bake the policy in.
Write it plainly when delegating code exploration or lint checks,
call Agent with effort low. When delegating security reviews or schema design, call Agent with effort high. One of the use cases in that issue was a review fan out, where eight narrow reviewers run at high and one or two adversarial verifiers get xhigh, because that's where extra depth actually pays off.
And to check it's working, the brief for this release says you can run slash tasks, and each active subagent row shows its name, model, and effort level. That's worth doing once, because people in that thread had trouble verifying what effort a subagent actually ran at. Now the caveats. First, precedence.
If you've exported CLAUDE_CODE_EFFORT_LEVEL in your shell, that acts as an absolute override, so it beats whatever the Agent call asks for. If your effort settings seem to be ignored, check your environment first. Second, thinking inheritance. If extended thinking is off in the parent session, subagents inherit that.
Third, model support. Haiku doesn't support the extended thinking levels the bigger models do, so asking for max on a Haiku subagent won't buy you anything. There's also a related fix. Subagents with permissionMode auto used to try entering auto mode even when it was unavailable, whether that was disabled by settings, tripped by the circuit breaker, or the model didn't support it.
In 2.1.292 they no longer do that. A few smaller things worth grabbing. Claude plugin install now takes a marketplace flag. Pass it a source, and it adds the marketplace under the usual policy checks if needed, then installs the plugin in one step. Handy for Dockerfiles and CI scripts. Also in CI land, there's a new environment variable, CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS.
It sets a longer base delay for the backoff when a request gets a 529 overloaded response, so your runs don't burn through retries during a busy stretch. Two more. At mentioned text files over 256 kilobytes used to be left out silently. Now Claude is told the file's size and to read it in portions. And local stdio MCP servers now negotiate the newer protocol version, dated July 28, 2026, by default, including on Bedrock, Vertex and Foundry.
If that causes trouble, set MCP_PROTOCOL_NEGOTIATION to legacy to opt out. Servers that ignore the newer check are remembered for seven days, so you don't wait on the slow connect every time.
And one security fix to note PreToolUse hook approvals and auto mode could bypass
the permission prompt for file reads from network UNC paths. That's closed in this version, so update if you're on Windows shares.
So the takeaway update to 2.1.292, put an effort policy in your orchestrator
prompt, and let the cheap work stay cheap.