diff --git a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py index c90b061b4f..213604ea03 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py @@ -617,6 +617,7 @@ def _prepare_options( # betas run_options["betas"] = self._prepare_betas(options) + run_options.pop("additional_beta_flags", None) # extra headers run_options["extra_headers"] = {"User-Agent": get_user_agent()} diff --git a/python/packages/anthropic/tests/test_anthropic_client.py b/python/packages/anthropic/tests/test_anthropic_client.py index abad158b8c..0bc8a37337 100644 --- a/python/packages/anthropic/tests/test_anthropic_client.py +++ b/python/packages/anthropic/tests/test_anthropic_client.py @@ -988,6 +988,24 @@ async def test_prepare_options_with_tool_choice_auto( assert "allow_multiple_tool_calls" not in run_options +async def test_prepare_options_consumes_additional_beta_flags( + mock_anthropic_client: MagicMock, +) -> None: + client = create_test_anthropic_client(mock_anthropic_client) + + messages = [Message(role="user", contents=["Hello"])] + run_options = client._prepare_options( + messages, + { + "model": "claude-3-5-sonnet-20241022", + "additional_beta_flags": ["extended-cache-ttl-2025-04-11"], + }, + ) + + assert "extended-cache-ttl-2025-04-11" in run_options["betas"] + assert "additional_beta_flags" not in run_options + + async def test_prepare_options_with_tool_choice_required( mock_anthropic_client: MagicMock, ) -> None: