After Claude issues a tool_use block, how does the developer return the tool's result to Claude?
Select an answer to reveal the explanation.
Short Explanation and Infographic
After Claude asks to use a tool, you run the function in your app, then send back a user turn with a tool_result block that includes the matching tool_use_id and the output data.
Full explanation below image
Full Explanation
The tool use loop in Claude's API: (1) Claude responds with a tool_use content block specifying the tool name and input arguments, (2) your application executes the function, (3) you send a new user message with a tool_result content block containing the tool_use_id (matching the original request) and the function's output (as a string), (4) Claude processes the result and generates its final response. This stateless, message-based design gives developers full control over tool execution. Option A is absurd. Option C invents a non-existent API parameter. Option D is wrong — tool execution and result delivery are the developer's responsibility.