PRODUCTION SCENARIO
Claude returns one assistant message with two tool_use blocks: fetch_stock_price for AAPL and fetch_stock_price for MSFT. The application has run both calls and has both prices.
How should the results go back to Claude?
Answering here is anonymous. Nothing is saved unless you sign in.
Show answer and explanation
Answer: One user message with both tool_result blocks, keyed by their tool_use_ids
Return one tool_result for each tool_use block, all together in the next user message, matched by tool_use_id. Consecutive user turns are combined into a single turn, so splitting the results does not fail outright, but the docs call a separate user message per tool result the wrong shape: it teaches Claude to stop calling tools in parallel. Folding both prices into one tool_result leaves the other id unanswered, and an assistant message answers neither call.