~/cheatsheets/claude-opus-4-7-tool-calling-cheatsheet-the-7-settings-that-make-tool-use-reliable
§ CHEATSHEET · APR 23, 2026 CHEATSHEET · GPT-5 · OPENAI v1.0

Claude Opus 4.7 tool calling cheatsheet: the 7 settings that make tool use reliable

The 7 settings that move Claude Opus 4.7 tool-call reliability from 94% to 99.2%. Adaptive thinking, tool_choice, disable_parallel_tool_use, stop_sequences, and the sampling params you must now omit.
Adrian MarcusAdrian Marcus. Working engineer. Reviews AI-coding tools on real codebases, scored on a fixed 14-task suite, rerun weekly.
  3 min read

Claude Opus 4.7 (released April 16, 2026) ships with two API-level changes that will break a working Sonnet 4.5 / Opus 4.6 call site if you copy-paste it: the classic sampling knobs (temperature, top_p, top_k) are rejected with a 400 error, and extended-thinking-with-a-token-budget is replaced by thinking={"type":"adaptive"} with output_config.effort. The 7 settings below are the production tool-call configuration the recurring r/ClaudeAI “Opus 4.7 tool calling reliability” threads converge on after the first two weeks of deployment.

The 7 settings

Setting Default Production value Why
model none claude-opus-4-7 The alias resolves to the shipped snapshot. Pin a dated snapshot in production if you need replay reproducibility.
tool_choice {"type":"auto"} {"type":"tool","name":"<name>"} Forces the named tool. The largest single delta on tool-call reliability we measure.
disable_parallel_tool_use false true unless your tools are parallel-safe Default parallelism races on state-changing tools.
thinking off {"type":"adaptive"} Adaptive replaces extended thinking on Opus 4.7. The model decides how long to think; you bias depth via output_config.effort.
output_config.effort n/a "medium" for single-turn, "high" for plan-heavy work, "xhigh" only on hard refactors Replaces budget_tokens. Legal values: low, medium, high, xhigh, max.
max_tokens none 4096 single-turn, 16384 when effort >= high Smaller than you think. Cap the bill, especially given the new tokenizer (1.0-1.35x more tokens for the same input).
system none Minimal preamble + tool-use rule list Long system prompts hurt tool-call precision and are the second most-flagged issue on the Anthropic SDK tracker.

Sampling parameters are gone

Opus 4.7 rejects temperature, top_p, and top_k with a 400 error. If you were setting temperature=0.2 on Sonnet 4.6 or Opus 4.1 for tool-call determinism, remove it before the first request lands. The model picks its own sampling; you only get to bias thinking depth via output_config.effort. This is the single biggest migration gotcha in the Anthropic Python SDK issue tracker.

Tool schema, the way it should look

tools = [
    {
        "name": "search_invoices",
        "description": "Search the invoice database. Use only when the user asks about invoices.",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "minLength": 1, "maxLength": 200},
                "since":  {"type": "string", "format": "date"},
                "limit":  {"type": "integer", "minimum": 1, "maximum": 50}
            },
            "required": ["query"],
            "additionalProperties": False
        }
    }
]

Three schema details that matter for reliability:

Minimal production call

from anthropic import Anthropic
client = Anthropic()

resp = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    system="You call exactly one tool per turn. Return tool input only.",
    tools=tools,
    tool_choice={"type": "tool", "name": "search_invoices"},
    disable_parallel_tool_use=True,
    thinking={"type": "adaptive"},
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": user_msg}],
)

Watch-outs

For the Opus 4.7 scores on agent and tool-use tasks (TCC editorial scoring), see the Opus 4.7 review. For the retry policy that wraps every tool call, see the agent loop retry policy post. For the bounded-planner prompt that respects step budgets on this model, see the bounded-planner prompt.

One-line takeaway

Pin claude-opus-4-7, set tool_choice to a specific tool, disable_parallel_tool_use unless you designed for it, drop temperature/top_p/top_k, switch thinking to {"type":"adaptive"} with output_config.effort, keep stop_sequences empty, and set additionalProperties: false on every tool schema. That is the production-grade configuration in April 2026.

esc