PRODUCTION SCENARIO
An assistant has the web_fetch server tool and a client run_query tool. One response has stop_reason set to tool_use, a server_tool_use block for web_fetch with no result block, and a tool_use block for run_query.
What should the application send next?
Answering here is anonymous. Nothing is saved unless you sign in.
Show answer and explanation
Answer: A user message containing only the tool_result for run_query, with the same tools array
When Claude calls a server tool and a client tool in the same parallel group, the API returns before running the server tool; the client sends back only tool_result blocks for the client tools and keeps the same tools, and the API runs the pending server tool on the next request. Adding text after the results ends the turn and produces a 400 for the unresolved server tool.