diff --git a/litellm/llms/bedrock/chat/converse_transformation.py b/litellm/llms/bedrock/chat/converse_transformation.py index db6784d042b..eea897e43e8 100644 --- a/litellm/llms/bedrock/chat/converse_transformation.py +++ b/litellm/llms/bedrock/chat/converse_transformation.py @@ -11,6 +11,7 @@ from typing import List, Literal, Optional, Tuple, Union, cast, overload import httpx import litellm +from litellm.anthropic_beta_headers_manager import filter_and_transform_beta_headers from litellm._logging import verbose_logger from litellm.constants import ( BEDROCK_MIN_THINKING_BUDGET_TOKENS, @@ -1271,6 +1272,12 @@ class AmazonConverseConfig(BaseConfig): if headers: user_betas = get_anthropic_beta_from_headers(headers) anthropic_beta_list.extend(user_betas) + if anthropic_beta_list: + # Bedrock Converse has stricter beta-header support than raw Anthropic APIs. + # Filter/mapping ensures unsupported beta flags do not get forwarded. + anthropic_beta_list = filter_and_transform_beta_headers( + beta_headers=anthropic_beta_list, provider="bedrock_converse" + ) # Separate pre-formatted Bedrock tools (e.g. systemTool from web_search_options) # from OpenAI-format tools that need transformation via _bedrock_tools_pt