From 2e5034016f8f752906079232c6f2f54c5d664d61 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 28 Sep 2026 19:12:31 +0000 Subject: [PATCH] fix(model_prices): correct Claude Sonnet 5.5 capabilities and provider keys (#43587) * feat(anthropic): add Claude Sonnet 5.5 Adds the anthropic cost map entry for claude-sonnet-5-5 mirroring claude-sonnet-5 pricing and capabilities, with prompt_cache_min_tokens at 512, thinking_always_on (thinking cannot be disabled on this model), and supports_forced_tool_use false (tool_choice required/named returns 400 upstream). Omits thinking cache preservation, same as Opus 5.5, and registers the model in the setup wizard provider list Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(model_prices): correct Claude Sonnet 5.5 capabilities and provider keys Sets prompt_cache_min_tokens 512, thinking_always_on, and supports_forced_tool_use false on every anthropic, bedrock, vertex_ai, and azure_ai Sonnet 5.5 key, dropping the thinking cache preservation flag cloned from Sonnet 5. Removes unpublished deprecation dates on azure_ai and vertex_ai, renames the OpenRouter key to the live anthropic/claude-sonnet-5.5 id and drops its batch variant, and removes the aihubmix, deepinfra, and databricks keys for vendors that do not list the model Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(anthropic): drop vendor-absence assertions for Sonnet 5.5 keys Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: kerry Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- ...odel_prices_and_context_window_backup.json | 233 +++++++----------- litellm/setup_wizard.py | 3 +- model_prices_and_context_window.json | 233 +++++++----------- tests/unit/test_claude_sonnet_5_config.py | 50 ++++ 4 files changed, 222 insertions(+), 297 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index b577a642d54..66563696d5a 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -14827,6 +14827,51 @@ "prompt_cache_min_tokens": 1024, "source": "https://platform.claude.com/docs/en/about-claude/pricing" }, + "claude-sonnet-5-5": { + "supports_anthropic_compaction": true, + "cache_creation_input_token_cost": 2.5e-06, + "cache_creation_input_token_cost_above_1hr": 4e-06, + "cache_creation_input_token_cost_batches": 1.25e-06, + "cache_read_input_token_cost": 2e-07, + "cache_read_input_token_cost_batches": 1e-07, + "input_cost_per_token": 2e-06, + "input_cost_per_token_batches": 1e-06, + "litellm_provider": "anthropic", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 1e-05, + "output_cost_per_token_batches": 5e-06, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_function_calling": true, + "supports_native_structured_output": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "provider_specific_entry": { + "us": 1.1 + }, + "supports_output_config": true, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, + "source": "https://platform.claude.com/docs/en/about-claude/pricing" + }, "claude-sonnet-4-6": { "supports_anthropic_compaction": true, "cache_creation_input_token_cost": 3.75e-06, @@ -77903,26 +77948,6 @@ "ocr_cost_per_page": 0.002, "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/mistral-ai/" }, -"aihubmix/claude-sonnet-5-5": { - "cache_read_input_token_cost": 2e-07, - "cache_creation_input_token_cost": 2.5e-06, - "input_cost_per_token": 2e-06, - "litellm_provider": "aihubmix", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "source": "https://aihubmix.com/api/v1/models", - "supports_function_calling": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_vision": true, - "prompt_cache_min_tokens": 1024, - "supports_adaptive_thinking": true, - "supports_sampling_params": false - }, "anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, "cache_creation_input_token_cost": 2.5e-06, @@ -77959,7 +77984,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json" }, "apac.anthropic.claude-sonnet-5-5": { @@ -77988,7 +78015,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "cache_creation_input_token_cost_above_1hr": 4.4e-06, "cache_creation_input_token_cost": 2.75e-06, "input_cost_per_token": 2.2e-06, @@ -78032,11 +78061,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "azure_ai/claude-sonnet-5-5": { - "deprecation_date": "2027-06-30", "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, "cache_creation_input_token_cost_above_1hr": 4e-06, @@ -78066,7 +78096,9 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024 + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512 }, "bedrock/us-gov-east-1/anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, @@ -78082,7 +78114,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "supports_adaptive_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -78115,7 +78149,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "supports_adaptive_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -78134,95 +78170,6 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true }, - "claude-sonnet-5-5": { - "supports_anthropic_compaction": true, - "cache_creation_input_token_cost": 2.5e-06, - "cache_creation_input_token_cost_above_1hr": 4e-06, - "cache_creation_input_token_cost_batches": 1.25e-06, - "cache_read_input_token_cost": 2e-07, - "cache_read_input_token_cost_batches": 1e-07, - "input_cost_per_token": 2e-06, - "input_cost_per_token_batches": 1e-06, - "litellm_provider": "anthropic", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "output_cost_per_token_batches": 5e-06, - "search_context_cost_per_query": { - "search_context_size_high": 0.01, - "search_context_size_low": 0.01, - "search_context_size_medium": 0.01 - }, - "supports_adaptive_thinking": true, - "supports_mid_conversation_system": true, - "supports_assistant_prefill": false, - "supports_computer_use": true, - "supports_function_calling": true, - "supports_native_structured_output": true, - "supports_pdf_input": true, - "supports_prompt_caching": true, - "supports_thinking_cache_preservation": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true, - "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true, - "provider_specific_entry": { - "us": 1.1 - }, - "supports_output_config": true, - "prompt_cache_min_tokens": 1024, - "source": "https://platform.claude.com/docs/en/about-claude/pricing" - }, - "databricks/databricks-claude-sonnet-5-5": { - "cache_creation_input_token_cost": 3.74997e-06, - "cache_read_input_token_cost": 3.0002e-07, - "input_cost_per_token": 2.99999e-06, - "input_dbu_cost_per_token": 4.2857e-05, - "litellm_provider": "databricks", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "metadata": { - "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields. Introductory launch rates of 28.571 input / 142.857 output / 35.714 cache write / 2.857 cache read DBU run through 2026-08-31; the standard rates are listed here because entries carry no expiry date." - }, - "mode": "chat", - "output_cost_per_token": 1.500002e-05, - "output_dbu_cost_per_token": 0.000214286, - "prompt_cache_min_tokens": 1024, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", - "supports_adaptive_thinking": true, - "supports_assistant_prefill": false, - "supports_function_calling": true, - "supports_mid_conversation_system": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_anthropic_thinking_payload": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true - }, - "deepinfra/anthropic/claude-sonnet-5-5": { - "input_cost_per_token": 2e-06, - "litellm_provider": "deepinfra", - "max_input_tokens": 1000000, - "max_tokens": 1000000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "prompt_cache_min_tokens": 1024, - "source": "https://deepinfra.com/pricing", - "supports_adaptive_thinking": true, - "supports_function_calling": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true - }, "eu.anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, "cache_creation_input_token_cost": 2.75e-06, @@ -78259,7 +78206,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "global.anthropic.claude-sonnet-5-5": { @@ -78298,7 +78247,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "jp.anthropic.claude-sonnet-5-5": { @@ -78337,10 +78288,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, - "openrouter/anthropic/claude-sonnet-5-5": { + "openrouter/anthropic/claude-sonnet-5.5": { "input_cost_per_token": 2e-06, "output_cost_per_token": 1e-05, "litellm_provider": "openrouter", @@ -78364,28 +78317,6 @@ "cache_creation_input_token_cost_above_1hr": 4e-06, "supports_web_search": true }, - "openrouter/anthropic/claude-sonnet-5-5:batch": { - "cache_creation_input_token_cost": 1.25e-06, - "cache_creation_input_token_cost_above_1hr": 2e-06, - "cache_read_input_token_cost": 1e-07, - "input_cost_per_token": 1e-06, - "litellm_provider": "openrouter", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 5e-06, - "source": "https://openrouter.ai/api/v1/models", - "supports_audio_input": false, - "supports_function_calling": true, - "supports_pdf_input": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_tool_choice": true, - "supports_vision": true, - "supports_web_search": true - }, "perplexity/anthropic/claude-sonnet-5-5": { "litellm_provider": "perplexity", "mode": "responses", @@ -78411,7 +78342,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/", "supports_adaptive_thinking": true, "supports_assistant_prefill": false, @@ -78467,11 +78400,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "vertex_ai/claude-sonnet-5-5": { - "deprecation_date": "2026-12-24", "regional_endpoint_uplift_multiplier": 1.1, "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, @@ -78504,11 +78438,12 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing" }, "vertex_ai/claude-sonnet-5-5@default": { - "deprecation_date": "2026-12-24", "regional_endpoint_uplift_multiplier": 1.1, "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, @@ -78541,7 +78476,9 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing" } } diff --git a/litellm/setup_wizard.py b/litellm/setup_wizard.py index 8b946923cd2..390e8c8d568 100644 --- a/litellm/setup_wizard.py +++ b/litellm/setup_wizard.py @@ -53,7 +53,7 @@ PROVIDERS: Final[list[dict]] = [ { "id": "anthropic", "name": "Anthropic", - "description": "Claude Fable 5.1, Fable 5, Opus 5.5, Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 5, Sonnet 4.6, Haiku 4.5", + "description": "Claude Fable 5.1, Fable 5, Opus 5.5, Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 5.5, Sonnet 5, Sonnet 4.6, Haiku 4.5", "env_key": "ANTHROPIC_API_KEY", "key_hint": "sk-ant-...", "test_model": "claude-haiku-4-5-20251001", @@ -62,6 +62,7 @@ PROVIDERS: Final[list[dict]] = [ "claude-fable-5", "claude-opus-5-5", "claude-opus-5", + "claude-sonnet-5-5", "claude-sonnet-5", "claude-opus-4-8", "claude-opus-4-7", diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index b577a642d54..66563696d5a 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -14827,6 +14827,51 @@ "prompt_cache_min_tokens": 1024, "source": "https://platform.claude.com/docs/en/about-claude/pricing" }, + "claude-sonnet-5-5": { + "supports_anthropic_compaction": true, + "cache_creation_input_token_cost": 2.5e-06, + "cache_creation_input_token_cost_above_1hr": 4e-06, + "cache_creation_input_token_cost_batches": 1.25e-06, + "cache_read_input_token_cost": 2e-07, + "cache_read_input_token_cost_batches": 1e-07, + "input_cost_per_token": 2e-06, + "input_cost_per_token_batches": 1e-06, + "litellm_provider": "anthropic", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 1e-05, + "output_cost_per_token_batches": 5e-06, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_function_calling": true, + "supports_native_structured_output": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "provider_specific_entry": { + "us": 1.1 + }, + "supports_output_config": true, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, + "source": "https://platform.claude.com/docs/en/about-claude/pricing" + }, "claude-sonnet-4-6": { "supports_anthropic_compaction": true, "cache_creation_input_token_cost": 3.75e-06, @@ -77903,26 +77948,6 @@ "ocr_cost_per_page": 0.002, "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/mistral-ai/" }, -"aihubmix/claude-sonnet-5-5": { - "cache_read_input_token_cost": 2e-07, - "cache_creation_input_token_cost": 2.5e-06, - "input_cost_per_token": 2e-06, - "litellm_provider": "aihubmix", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "source": "https://aihubmix.com/api/v1/models", - "supports_function_calling": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_vision": true, - "prompt_cache_min_tokens": 1024, - "supports_adaptive_thinking": true, - "supports_sampling_params": false - }, "anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, "cache_creation_input_token_cost": 2.5e-06, @@ -77959,7 +77984,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json" }, "apac.anthropic.claude-sonnet-5-5": { @@ -77988,7 +78015,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "cache_creation_input_token_cost_above_1hr": 4.4e-06, "cache_creation_input_token_cost": 2.75e-06, "input_cost_per_token": 2.2e-06, @@ -78032,11 +78061,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "azure_ai/claude-sonnet-5-5": { - "deprecation_date": "2027-06-30", "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, "cache_creation_input_token_cost_above_1hr": 4e-06, @@ -78066,7 +78096,9 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024 + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512 }, "bedrock/us-gov-east-1/anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, @@ -78082,7 +78114,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "supports_adaptive_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -78115,7 +78149,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "supports_adaptive_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -78134,95 +78170,6 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true }, - "claude-sonnet-5-5": { - "supports_anthropic_compaction": true, - "cache_creation_input_token_cost": 2.5e-06, - "cache_creation_input_token_cost_above_1hr": 4e-06, - "cache_creation_input_token_cost_batches": 1.25e-06, - "cache_read_input_token_cost": 2e-07, - "cache_read_input_token_cost_batches": 1e-07, - "input_cost_per_token": 2e-06, - "input_cost_per_token_batches": 1e-06, - "litellm_provider": "anthropic", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "output_cost_per_token_batches": 5e-06, - "search_context_cost_per_query": { - "search_context_size_high": 0.01, - "search_context_size_low": 0.01, - "search_context_size_medium": 0.01 - }, - "supports_adaptive_thinking": true, - "supports_mid_conversation_system": true, - "supports_assistant_prefill": false, - "supports_computer_use": true, - "supports_function_calling": true, - "supports_native_structured_output": true, - "supports_pdf_input": true, - "supports_prompt_caching": true, - "supports_thinking_cache_preservation": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true, - "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true, - "provider_specific_entry": { - "us": 1.1 - }, - "supports_output_config": true, - "prompt_cache_min_tokens": 1024, - "source": "https://platform.claude.com/docs/en/about-claude/pricing" - }, - "databricks/databricks-claude-sonnet-5-5": { - "cache_creation_input_token_cost": 3.74997e-06, - "cache_read_input_token_cost": 3.0002e-07, - "input_cost_per_token": 2.99999e-06, - "input_dbu_cost_per_token": 4.2857e-05, - "litellm_provider": "databricks", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "metadata": { - "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields. Introductory launch rates of 28.571 input / 142.857 output / 35.714 cache write / 2.857 cache read DBU run through 2026-08-31; the standard rates are listed here because entries carry no expiry date." - }, - "mode": "chat", - "output_cost_per_token": 1.500002e-05, - "output_dbu_cost_per_token": 0.000214286, - "prompt_cache_min_tokens": 1024, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", - "supports_adaptive_thinking": true, - "supports_assistant_prefill": false, - "supports_function_calling": true, - "supports_mid_conversation_system": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_anthropic_thinking_payload": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true - }, - "deepinfra/anthropic/claude-sonnet-5-5": { - "input_cost_per_token": 2e-06, - "litellm_provider": "deepinfra", - "max_input_tokens": 1000000, - "max_tokens": 1000000, - "mode": "chat", - "output_cost_per_token": 1e-05, - "prompt_cache_min_tokens": 1024, - "source": "https://deepinfra.com/pricing", - "supports_adaptive_thinking": true, - "supports_function_calling": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_sampling_params": false, - "supports_tool_choice": true, - "supports_vision": true - }, "eu.anthropic.claude-sonnet-5-5": { "bedrock_converse_supports_strict_tools": false, "cache_creation_input_token_cost": 2.75e-06, @@ -78259,7 +78206,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "global.anthropic.claude-sonnet-5-5": { @@ -78298,7 +78247,9 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "jp.anthropic.claude-sonnet-5-5": { @@ -78337,10 +78288,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, - "openrouter/anthropic/claude-sonnet-5-5": { + "openrouter/anthropic/claude-sonnet-5.5": { "input_cost_per_token": 2e-06, "output_cost_per_token": 1e-05, "litellm_provider": "openrouter", @@ -78364,28 +78317,6 @@ "cache_creation_input_token_cost_above_1hr": 4e-06, "supports_web_search": true }, - "openrouter/anthropic/claude-sonnet-5-5:batch": { - "cache_creation_input_token_cost": 1.25e-06, - "cache_creation_input_token_cost_above_1hr": 2e-06, - "cache_read_input_token_cost": 1e-07, - "input_cost_per_token": 1e-06, - "litellm_provider": "openrouter", - "max_input_tokens": 1000000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "output_cost_per_token": 5e-06, - "source": "https://openrouter.ai/api/v1/models", - "supports_audio_input": false, - "supports_function_calling": true, - "supports_pdf_input": true, - "supports_prompt_caching": true, - "supports_reasoning": true, - "supports_response_schema": true, - "supports_tool_choice": true, - "supports_vision": true, - "supports_web_search": true - }, "perplexity/anthropic/claude-sonnet-5-5": { "litellm_provider": "perplexity", "mode": "responses", @@ -78411,7 +78342,9 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 1.2e-05, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/", "supports_adaptive_thinking": true, "supports_assistant_prefill": false, @@ -78467,11 +78400,12 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://aws.amazon.com/bedrock/pricing/" }, "vertex_ai/claude-sonnet-5-5": { - "deprecation_date": "2026-12-24", "regional_endpoint_uplift_multiplier": 1.1, "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, @@ -78504,11 +78438,12 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing" }, "vertex_ai/claude-sonnet-5-5@default": { - "deprecation_date": "2026-12-24", "regional_endpoint_uplift_multiplier": 1.1, "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 2.5e-06, @@ -78541,7 +78476,9 @@ "supports_vision": true, "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, - "prompt_cache_min_tokens": 1024, + "supports_forced_tool_use": false, + "thinking_always_on": true, + "prompt_cache_min_tokens": 512, "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing" } } diff --git a/tests/unit/test_claude_sonnet_5_config.py b/tests/unit/test_claude_sonnet_5_config.py index 5e7d5797a62..36078ff494f 100644 --- a/tests/unit/test_claude_sonnet_5_config.py +++ b/tests/unit/test_claude_sonnet_5_config.py @@ -8,15 +8,29 @@ rather than the older Sonnet 4.6 behavior. The cost-map entries are also what populate ``litellm.anthropic_models`` at import, which is what lets a bare ``claude-sonnet-5`` name resolve to the ``anthropic`` provider (and match an ``anthropic/*`` wildcard deployment). + +Sonnet 5.5 (``claude-sonnet-5-5``) is covered here too. It carries the same +gen-5 profile but thinking cannot be turned off and forced tool use is not +supported, same as Opus 5.5 """ +import json import os +import pytest from litellm.constants import BEDROCK_CONVERSE_MODELS +from litellm.litellm_core_utils.get_model_cost_map import GetModelCostMap REPO_ROOT = os.path.join(os.path.dirname(__file__), "../..") + +def _load_root_cost_map() -> dict: + json_path = os.path.join(REPO_ROOT, "model_prices_and_context_window.json") + with open(json_path) as f: + return json.load(f) + + ALL_SONNET_5_VARIANTS = ( "claude-sonnet-5", "anthropic.claude-sonnet-5", @@ -35,3 +49,39 @@ def test_sonnet_5_registered_for_bedrock_converse(): assert "anthropic.claude-sonnet-5" in BEDROCK_CONVERSE_MODELS +SONNET_5_5_VARIANTS = ( + "claude-sonnet-5-5", + "us.anthropic.claude-sonnet-5-5", + "vertex_ai/claude-sonnet-5-5", + "vertex_ai/claude-sonnet-5-5@default", + "azure_ai/claude-sonnet-5-5", + "openrouter/anthropic/claude-sonnet-5.5", +) + + +@pytest.mark.parametrize("model_name", SONNET_5_5_VARIANTS) +def test_sonnet_5_5_present_in_bundled_backup(model_name): + backup = GetModelCostMap.load_local_model_cost_map() + root = _load_root_cost_map() + assert model_name in backup + assert model_name in root + assert backup[model_name] == root[model_name] + + +@pytest.mark.parametrize( + ("model", "provider"), + [ + ("claude-sonnet-5-5", "anthropic"), + ("anthropic/claude-sonnet-5-5", "anthropic"), + ("vertex_ai/claude-sonnet-5-5", "vertex_ai"), + ("azure_ai/claude-sonnet-5-5", "azure_ai"), + ], +) +def test_sonnet_5_5_thinking_profile(local_model_cost_map, model, provider): + """Sonnet 5.5 has thinking always on with the adaptive thinking surface, and + no forced tool use, same as Opus 5.5.""" + from litellm.llms.anthropic.common_utils import AnthropicModelInfo + + assert AnthropicModelInfo._is_adaptive_thinking_model(model, provider) is True + assert AnthropicModelInfo._is_always_on_thinking_model(model, provider) is True + assert AnthropicModelInfo.forced_tool_use_unsupported(model.removeprefix("anthropic/")) is True