Using the claude py sdk via ClaudeSDKClient, I noticed the following:
- Claude can request multiple tool uses in a single message (client.receive_messages() --> emits multiple
ToolUseBlock's)
- However, the tools are executed synchronously, one after the other only upon completion of the prior -- I have logged this with both internal tools like bash, and mcp tools.
Is this the expected behavior, and if so, are there any plans to support parallel tool execution? This would be beneficial for long running tool executions that are independent of one another, cutting down latency quite a bit.
Using the claude py sdk via
ClaudeSDKClient, I noticed the following:ToolUseBlock's)Is this the expected behavior, and if so, are there any plans to support parallel tool execution? This would be beneficial for long running tool executions that are independent of one another, cutting down latency quite a bit.