Question 10
A developer productivity assistant uses a provider-hosted web-search capability that executes inside Anthropic's infrastructure. The application sees the completed search response and then tries to dispatch an identically named local search tool. What is the correct treatment?
Explanation
Correct Answer
Server-executed tools run within Anthropic's managed execution path and are not requests for arbitrary application-side execution. The client may need to continue a paused server-side turn under the documented protocol, but should not call a local search merely because a server result appears in the conversation. In contrast, a client `tool_use` stop requires the application to invoke its own configured tool and return a correlated `tool_result`. Separating those paths avoids duplicate searches and conflicting evidence.
Incorrect Answers
A server-side search already has an execution result available to the model, so a duplicate local call is not part of the required handoff. It may generate different results, waste network budget, or access resources beyond the server tool's scope. Tool ownership must be determined from structured tool type and stop behavior, not a matching display name.
The client-tool result format is used to answer a specific `tool_use` request that the application executed. Server tools have their own execution lifecycle and do not require the client to fabricate matching result blocks. Made-up IDs can corrupt the conversation history and obscure which system actually performed the search.
The Messages API can support both server and client tool mechanisms in a single application, with their execution responsibilities kept separate. A server search does not invalidate an unrelated client-owned tool such as a project-file read. Disabling all client tools would unnecessarily remove legitimate capabilities and fail to solve the duplicate-dispatch bug.