From 90f3368a12cfac4fe798878bc3cc257091715580 Mon Sep 17 00:00:00 2001 From: TheCodingDragon0 Date: Sat, 4 Apr 2026 20:01:41 -0500 Subject: [PATCH] fix: Bedrock tool call arguments no longer silently dropped (closes #5275) When using AWS Bedrock LLMs, tool arguments were being discarded because the default value of '{}' in func_info.get('arguments', '{}') was truthy, preventing the fallback to tool_call.get('input', {}). Changed default from '{}' to None so the or-chain correctly falls through to the Bedrock input format when no 'function' wrapper is present. --- lib/crewai/src/crewai/agents/crew_agent_executor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/crewai/src/crewai/agents/crew_agent_executor.py b/lib/crewai/src/crewai/agents/crew_agent_executor.py index 0707f59d60..dcd6ecbaf9 100644 --- a/lib/crewai/src/crewai/agents/crew_agent_executor.py +++ b/lib/crewai/src/crewai/agents/crew_agent_executor.py @@ -847,7 +847,7 @@ def _parse_native_tool_call( func_name = sanitize_tool_name( func_info.get("name", "") or tool_call.get("name", "") ) - func_args = func_info.get("arguments", "{}") or tool_call.get("input", {}) + func_args = func_info.get("arguments") or tool_call.get("input", {}) return call_id, func_name, func_args return None