--- title: "Unused built-in tools" description: "antiburn flags sessions where a native tool definition sat in context the whole session and was never called." url: "https://antiburn.ai/docs/findings/unused-built-in-tools/" --- ## What it detects An agent's own built-in tools - not MCP, just the harness's native tool set - each add a definition to every request's context once the harness or model version includes them. antiburn resolves a session's harness version and model against its own built-in tool catalogue and checks whether every tool definition that showed up was ever invoked. One unused, real-cost definition anywhere in the session is a finding. A few kinds of definition are excluded on purpose, so they can never cause a false finding: a situational tool that only enters the request when it's actually used (things like `Skill` or plan-mode tools), a deferred definition that never sent its full token cost, and a zero-token definition with nothing to reclaim. ## Why it burns tokens A tool definition that's present in every request but never called is context you're paying for on every single turn without ever getting any use from it. ## How to fix it If your agent lets you disable individual built-in tools or trim which ones load for a given project, turning off ones you never use removes their context cost entirely. Which tools are configurable, and how, depends on your agent - check its own settings for a tool or capability toggle. ## When it shows "not assessed" This only assesses on agents that both expose a named catalogue of their built-in tool definitions and record whether each one was invoked - among antiburn's supported agents, that's Claude Code today. Other agents can't be assessed for this finding at all. Even on a supported agent, a session can come back not assessed instead of clean or a finding in two distinct ways. If the session's harness version or model doesn't resolve against antiburn's built-in tool catalogue, antiburn has nothing to check invocation against, even though the agent in principle supports this signal. Separately, a session where antiburn's read of the invocation or context-loading records is incomplete never produces a clean result, since an absence claim needs complete evidence - a missed record could be the one call that used a tool antiburn otherwise saw as idle. See [hygiene score and findings](/docs/concepts/hygiene-score-and-findings/) for how this fits into your overall score.
Unused built-in tools
antiburn flags sessions where a native tool definition sat in context the whole session and was never called.
What it detects
An agent’s own built-in tools - not MCP, just the harness’s native tool set - each add a definition to every request’s context once the harness or model version includes them. antiburn resolves a session’s harness version and model against its own built-in tool catalogue and checks whether every tool definition that showed up was ever invoked. One unused, real-cost definition anywhere in the session is a finding.
A few kinds of definition are excluded on purpose, so they can never cause a false finding: a situational tool that only enters the request when it’s actually used (things like Skill or plan-mode tools), a deferred definition that never sent its full token cost, and a zero-token definition with nothing to reclaim.
Why it burns tokens
A tool definition that’s present in every request but never called is context you’re paying for on every single turn without ever getting any use from it.
How to fix it
If your agent lets you disable individual built-in tools or trim which ones load for a given project, turning off ones you never use removes their context cost entirely. Which tools are configurable, and how, depends on your agent - check its own settings for a tool or capability toggle.
When it shows “not assessed”
This only assesses on agents that both expose a named catalogue of their built-in tool definitions and record whether each one was invoked - among antiburn’s supported agents, that’s Claude Code today. Other agents can’t be assessed for this finding at all.
Even on a supported agent, a session can come back not assessed instead of clean or a finding in two distinct ways. If the session’s harness version or model doesn’t resolve against antiburn’s built-in tool catalogue, antiburn has nothing to check invocation against, even though the agent in principle supports this signal. Separately, a session where antiburn’s read of the invocation or context-loading records is incomplete never produces a clean result, since an absence claim needs complete evidence - a missed record could be the one call that used a tool antiburn otherwise saw as idle.
See hygiene score and findings for how this fits into your overall score.