Skip to main content
Models & Research

Claude’s New addTools() Can Reuse 98.7% of Your Next Request. Editing tools[] Reuses None.

Author(s): Chew Loong Nian – AI ENGINEER Originally published on Towards AI.

By Precis Daily Newsroom2 min read334 words
Illustration for: Claude’s New addTools() Can Reuse 98.7% of Your Next R
Illustration
Key points
  • Author(s): Chew Loong Nian – AI ENGINEER Originally published on Towards AI.
  • Anthropic’s SDK 0.128.0, released with Claude Opus 5.5, can hand the model a new tool mid-run without touching tools[].
  • Join over 80,000 subscribers and keep up to date with the latest developments in AI.

Author(s): Chew Loong Nian – AI ENGINEER Originally published on Towards AI. Anthropic’s SDK 0.128.0, released with Claude Opus 5.5, can hand the model a new tool mid-run without touching tools[]. It needs one beta flag the runner won’t add for you. If your Claude agent picks up a new tool halfway through a long conversation, the way you add it decides how much of the next request can still come from the prompt cache: 98.7% of it with the new runner.addTools(), none if you edit tools[]. After introducing the problem of tool changes during long runs, the article explains what changed in the Anthropic SDK (TypeScript 0.128.0) and why editing tools[] is expensive: tool definitions are at the front of the prompt-cached prefix, so changing them forces a full cache miss. It then shows how addTools() avoids that by leaving tools[] intact and instead appending a system message containing a tool_addition block, so only the appended part is processed as new input. The author provides and walks through a reproducible Node script that measures request JSON reuse, demonstrating up to 98.7% shared prefix with addTools() versus near-zero reuse when updating tools[], and shows how the gap grows with conversation length. Key caveats include needing the inline-tools-2026-09-15 beta header/param (not auto-added by the runner), model limitations, and behavioral details like one special case that can still cause a full miss, plus how pause turns delay tool change propagation while both addition/removal are immediate on the agent side. The piece ends with a practical verdict: keep your initial tools[] unchanged and use addTools(), but add the beta flag explicitly for supported models. Read the full blog for free on Medium. Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor. Published via Towards AI

Sources

Summarized from the linked originals.

Related stories

Illustration for: ToolGrad: Efficient tool-use dataset generation with textual
Models & Research

ToolGrad: Efficient tool-use dataset generation with textual "gradients" ToolGrad: Efficient tool-use dataset generation with textual "gradients" Zhongyi Zhou, Research Scientist, and Ruofei Du, Interactive Perception & Graphics Lead, Google XR ToolGrad is a data generation framework that reverses the traditional paradigm by first generating tool-use answers before user queries. We show this design enables LLMs to achieve better tool-use performance.

Google Research6 min
Illustration for: Introducing Muse Spark: Scaling Towards Personal Superintell
Models & Research

Introducing Muse Spark: Scaling Towards Personal Superintelligence Introducing Muse Spark: Scaling Towards Personal Superintelligence Today, we’re excited to introduce Muse Spark, the first in the Muse family of models developed by Meta Superintelligence Labs. Muse Spark is a natively multimodal reasoning model with support for tool-use, visual chain of thought, and multi-agent orchestration.

Meta AI6 min