From 75c0e12dacd245db4e6c164397b39e9cf211502a Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:52:54 -0700 Subject: [PATCH] fix(bedrock): let parallel_tool_calls-derived disable flag win over raw tool_choice value --- litellm/llms/bedrock/chat/converse_transformation.py | 6 +++++- .../llms/bedrock/chat/test_converse_transformation.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) 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}}, )