Group of 3 You'll notice
Claude Code now has one consolidated 'tool search absent' mode with matching reason codes, telemetry, and message wording
What
- A new "tool search absent" mode was added for when tool search isn't available for a given model or session.
- The reasons tool search can be unavailable (
model_unsupported,vertex_model_unsupported,foundry_deployment_unsupported,no_tools_in_request,not_registered,mcp_search_unavailable) were consolidated into a single function that returns a reason code, used both by the existing gating logic and a new helper that specifically checks for themcp_search_unavailablecase. - The messaging shown for deferred/blocked tools now changes wording when tool search is absent: it says "tool" instead of "deferred tool", says "Do not call them" instead of "Do not search for them", and describes MCP servers still connecting as tools that "will be announced here" rather than tools to search for.
- The deferred-tools-pool telemetry event (
tengu_deferred_tools_pool_change) gained new fieldsresurfacedCountandtoolSearchAbsent, and in this mode resurfaced tools are counted separately.
- The reasons tool search can be unavailable (
Why
When tool search can't be used, Claude now gets consistent messaging and reasoning, driven by one shared reason-code function, that matches its actual situation instead of instructions referencing a tool-search feature it can't use.