You ask Claude Code to investigate a slow test. It sends one subagent to find the test helpers and another to inspect the database code. Finding a filename and tracing a transaction bug need different amounts of work. If you run these tasks often, you want some control over how much effort each one gets.
Claude Code 2.1.292 adds an effort parameter to the Agent tool. Claude can now set effort when it invokes a subagent. For someone tuning a repeated workflow, that gives you a place to ask for a lighter search or a more thorough review without changing the whole conversation's setting.
What shipped on October 6
Anthropic published the 2.1.292 release on October 6, 2026, at 18:59 UTC. Its release note says: "Added an effort parameter to the Agent tool, so Claude runs a sub-agent at the effort level you ask for."
The change is in the tool Claude uses to delegate work. A subagent already has its own context window and can have its own model and tool restrictions. Anthropic's subagent documentation also describes an effort field in a saved subagent definition. The addition in this release is the parameter on the Agent tool itself. Keep those two places separate when reading examples or checking an older installation.
There is no performance result attached to that release note. It does not say your reviews become cheaper by a fixed percentage or finish in a fixed time. You still have to test the setting on your work.
Effort changes more than the thinking text
Anthropic's effort documentation describes a trade between thoroughness and token use within a model. Effort affects the whole response, including tool calls and their arguments. Lower effort can mean fewer and shorter tool calls, along with less reasoning.
That matters for a coding task. A cheaper answer can also contain less evidence. A search that stops after its first match may miss a second implementation. A review can sound confident while checking fewer paths. Those are things to look for when you compare runs, not measured outcomes of this release.
The documented levels are low, medium, high, xhigh and max, with support depending on the model. Effort is a behavioral signal. It is not a strict token budget, a deadline or a cap on your bill. Setting low does not promise that a difficult task will use only a small number of tokens.
Treat it as a setting to test for one kind of task. Keep the model fixed while comparing effort, or you will have changed two things at once.
Give the lookup a narrow job
Suppose your team repeatedly asks an agent to find the tests that cover a handler. You could try a prompt like this:
Use a subagent at low effort to find the tests for the login handler.
Return the file paths and the matching test names. Do not edit files.
If coverage is missing or unclear, say so and show what you searched.
This is a request for Claude to make an Agent tool call. Check the call's arguments in the transcript to see whether it passed the effort you requested. A sentence in the final answer saying "I used low effort" is weaker evidence than the actual call.
The narrow output makes the result easy to check. Open the named files. Do they test the handler, or only a helper with a similar name? Did the search cover the right repository? Lower effort is useful here only if those answers remain reliable.
For a transaction review, give the subagent a different task. Ask it to trace rollback behavior and report a concrete failure case, with file references. Try a higher effort level supported by your model. Compare the finding against a test or a manual trace before you accept it. A longer report alone does not tell you whether the review improved.
Save a definition for work you repeat
If the lookup is a regular job, Claude Code supports project subagents in .claude/agents/. The subagent docs show Markdown files with front matter for the name, description, tools and model. The documented effort field lets a definition carry its own setting.
A small project definition could look like this:
---
name: test-finder
description: Finds tests covering a named handler without editing files.
tools: Read, Grep, Glob
model: sonnet
effort: low
---
Find the tests for the handler named in the task.
Return file paths and test names. Explain any gaps in coverage.
Do not infer coverage from a filename alone.
Save it as .claude/agents/test-finder.md. Ask Claude to use the test-finder subagent for a specific handler. The tool list follows Anthropic's read-only example; it gives this worker no Write or Edit tool.
Check your launch settings too. The docs say a definition's effort overrides the session effort, but not the CLAUDE_CODE_EFFORT_LEVEL environment variable. If the behavior differs from your file, that variable is one place to inspect. Do not assume every setting called "effort" has the same precedence.
Check the version inside the workspace
Before relying on the new Agent tool parameter, run this where Claude Code actually runs:
claude --version
It should print 2.1.292 or a later version that includes the change. A copy on your laptop tells you nothing about the copy inside a container. Anthropic's installation instructions explain updates for each installation method. Native installations support claude update; package-manager installations have their own update steps. Installed updates take effect when you next start Claude Code.
For Sessionboxer, use the terminal inside the box to check that version. Publishing a Claude Code release does not update an existing Sessionboxer box by itself.
Compare the result and the calls
We build Sessionboxer. Its part in this workflow is letting you inspect the run. The context and turn counters show reported tokens, model calls and cost. For Claude Code, Inspect LLM records request and response bodies. The inspection guide explains where to open them.
Use the same starting code and task for each run. Record the requested effort, model and result, then inspect the calls. Check the answer against the files before comparing token totals. Our older post on what an agent sends to the model explains why a small prompt can still carry a large request.
Sessionboxer does not decide which effort level makes a review correct. Its counters do not replace tests. A Claude subagent's separate context window also does not give it a separate Sessionboxer container; independent sessions are covered in the parallel-agents guide.
Keep a few known cases for your lookup: one handler with direct tests, one covered through a helper and one with no coverage. Run them again when you change the model or effort setting. If the lower-effort worker misses the indirect test, keep the stronger setting for that job and save the missed case with your checks.