Skip to content

Tool Choice ⚠ verify

Definition

The tool_choice parameter controls whether and which tool Claude must use on a given turn.

Key points

  • Four options:
    • {"type": "auto"} — Claude decides. Default when tools are provided.
    • {"type": "any"} — must use one of the provided tools (not a specific one).
    • {"type": "tool", "name": "..."} — forces a specific named tool.
    • {"type": "none"} — no tools. Default when no tools provided.
  • disable_parallel_tool_use: true can be added to any value → at most one tool call per response (default: multiple allowed).
  • With any or tool, the API prefills the assistant message → no natural-language preamble before tool_use blocks.
  • Extended thinking incompatibility: any and tool are NOT supported with extended thinking (error) — only auto and none work. See Adaptive Thinking and Effort.
  • Claude Mythos Preview does not support forced tool use (any/tool → 400). ⚠ verify (2026-07-08).
  • Changing tool_choice invalidates cached message blocks (tools + system stay cached). See Prompt Caching.

Why it matters for the exam

  • Tests the two defaults (auto with tools, none without) and the extended-thinking incompatibility.
  • Cache-invalidation nuance appears in context/caching questions.

Common gotchas

  • any ≠ forcing a specific tool; use tool + name for that.
  • Pairing any/tool with extended thinking errors — a frequent trap.
  • Changing tool_choice busts the message cache but not tools/system.

See also

Sources