Open
Description
Checks
- I have updated to the lastest minor and patch version of Strands
- I have checked the documentation and this is not expected behavior
- I have searched ./issues and there are no duplicates of my issue
Strands Version
0.1.7
Tools Package Version
0.1.5
Tools used
- Custom tool 1
- Custom tool 2
- Custom tool 3
Python Version
3.11.12
Operating System
macOs
Installation Method
pip
Steps to Reproduce
- Created a custom class named StrandsSupervisorAgent with the configuration
# Prepare tools list
tools = [
classifier,
call_agent_1,
call_agent_2,
call_agent_3,
call_agent_4,
current_time
]
self.agent = Agent(
max_parallel_tools = 5,
tools=tools,
model=bedrock_model,
system_prompt=system_prompt
)
- Can have custom tools that make API calls/Bedrock invocation.
- Supervisor system prompt includes instructions to make parallel calls to call_agent_2, call_agent_3 and call_agent_4.
- Observing the logs of each tool calls - its is evident that the calls are sequential and not parallel as they appear in different times one after the other.
Expected Behavior
parallel tool call must be truly parallel - should be executing around the same timestamp and process in parallel
Actual Behavior
In the logs I can see the supervisor determining to make parallel calls
[2025-06-17 00:45:52] DEBUG: 🔧 Tool use tracked: call_bedrock_agent (ID: tooluse_wu1R8P_GRCSOH31ufZHanA)
[2025-06-17 00:45:54] DEBUG: 🔧 Tool use tracked: call_bedrock_agent (ID: tooluse_aoHCISAvTsqjJnT4fdhhqg)
[2025-06-17 00:45:55] DEBUG: 🔧 Tool use tracked: call_bedrock_agent (ID: tooluse_aEVgjOsBTB2_jvqJkTq61g)
Additional Context
No response
Possible Solution
No response
Related Issues
Internal ticket id: V1822332014