fix(bedrock): filter anthropic beta headers for converse requests

Apply provider-aware beta header filtering on Bedrock Converse request translation so unsupported anthropic_beta values from Claude Code do not get forwarded and fail runtime calls.

Made-with: Cursor
This commit is contained in:
Darcy Liu 2026-04-26 00:09:01 +00:00
parent 81abd35c85
commit be97da44fa

View file

@ -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