diff --git a/litellm/llms/bedrock/chat/converse_transformation.py b/litellm/llms/bedrock/chat/converse_transformation.py index 7e49d43dbfd..8ce2b982955 100644 --- a/litellm/llms/bedrock/chat/converse_transformation.py +++ b/litellm/llms/bedrock/chat/converse_transformation.py @@ -1211,7 +1211,11 @@ class AmazonConverseConfig(BaseConfig): def _merge_parallel_tool_use_config(additional_request_params: dict, parallel_tool_use_config: dict) -> dict: merged_entries = { key: ( - {**value, **additional_request_params[key]} + { + **value, + **additional_request_params[key], + **{k: v for k, v in value.items() if k != "type"}, + } if isinstance(additional_request_params.get(key), dict) and isinstance(value, dict) else value ) diff --git a/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py b/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py index 5ea64262ec5..f832a4087ec 100644 --- a/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py +++ b/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py @@ -4284,7 +4284,7 @@ def test_parallel_tool_calls_emits_typed_auto_tool_choice(parallel_tool_calls, e def test_parallel_tool_use_merge_preserves_user_tool_choice_type(): merged = AmazonConverseConfig._merge_parallel_tool_use_config( - {"tool_choice": {"type": "tool", "name": "get_weather"}}, + {"tool_choice": {"type": "tool", "name": "get_weather", "disable_parallel_tool_use": False}}, {"tool_choice": {"type": "auto", "disable_parallel_tool_use": True}}, )