Commit graph

31779 commits

Author SHA1 Message Date
Sameer Kankute
ad1edd38d5
Merge branch 'main' into litellm_staging_01_21_2026 2026-01-22 17:56:40 +05:30
Sameer Kankute
4d20c8fbc0 feat: Limit stop sequence as per openai spec 2026-01-22 17:52:13 +05:30
Sameer Kankute
24faca9bcf Add support for output formatfor bedrock invoke via v1/messages 2026-01-22 16:36:03 +05:30
Sameer Kankute
18240662db Add custom vertex ai mapping to the output 2026-01-22 15:18:24 +05:30
Sameer Kankute
c374345e12 Fix: generation config empty for batch 2026-01-22 14:32:44 +05:30
YutaSaito
b7b26492a8
Merge pull request #19553 from BerriAI/litellm_feat_completions_mcp_output_ui
[feat] display mcp output on the play ground
2026-01-22 16:14:30 +09:00
Yuta Saito
59edd90228 feat: display mcp output on the play ground 2026-01-22 16:11:56 +09:00
YutaSaito
27e494cba6
Merge pull request #19552 from BerriAI/litellm_feat_completions_mcp_output
[feat] Add MCP tools response to chat completions
2026-01-22 16:03:25 +09:00
Yuta Saito
ed67bf2705 feat: Add MCP tools response to chat completions 2026-01-22 15:32:04 +09:00
yuneng-jiang
5ea031eaf6
Merge pull request #19543 from BerriAI/litellm_model_select_team
[Feature] UI - Create Team: Reusable Model Select
2026-01-21 21:11:09 -08:00
Will Chen
9f57eb3e74
Fix Azure AI costs for Anthropic models (#19530)
* Fix Azure AI cost calculation

* fixup
2026-01-21 21:10:27 -08:00
Emerson Gomes
a3f7f5858b
Fix date overflow/division by zero in proxy utils (#19527)
* Fix date overflow/division by zero in proxy utils

* Fix projected spend calculation

* Strengthen projected spend tests
2026-01-21 21:09:57 -08:00
Yogeshwaran Ravichandran
ab274ac3c4
fix(azure response api): flatten tools for responses api to support nested definitions (#19526)
The Azure Responses API uses a different schema (flattened) for tools compared to the standard OpenAI/Azure Chat Completions API (nested). This caused a `BadRequestError` when users passed standard tool definitions.

Changes:
- Implemented tool flattening logic in `AzureOpenAIResponsesAPIConfig.transform_responses_api_request`.
- Added comprehensive unit tests in test_azure_transformation.py to verify nested-to-flat transformation, pass-through of flat tools, and immutability.
- Ensures cross-provider compatibility for tool definitions.

Fixes #19523
2026-01-21 21:08:28 -08:00
Emerson Gomes
c8669cf8fa
Fix Azure RPM calculation formula (#19513)
* Fix Azure RPM calculation formula

* updated test
2026-01-21 21:03:23 -08:00
João Dinis Ferreira
60840ea292
fix(bedrock): correct streaming choice index for tool calls (#19506)
Bedrock's contentBlockIndex identifies content blocks within a message
(text=0, tool_call=1), not OpenAI's choice index (which varies with n>1).
This caused OpenAI SDK's ChatCompletionAccumulator to fail when tool call
chunks arrived on index 1 while finish_reason arrived on index 0.

Bedrock doesn't support n>1 (no such parameter exists):
https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html

OpenAI choice index spec:
https://platform.openai.com/docs/api-reference/chat/streaming
2026-01-21 20:57:14 -08:00
Harshit Jain
22000f3beb
fix: add case-insensitive support for guardrail mode and actions (#19480) 2026-01-21 20:52:57 -08:00
Harshit Jain
73d49f8d63
fix: UI 404 error when SERVER_ROOT_PATH is set (#19467) 2026-01-21 20:19:48 -08:00
Ishaan Jaff
a117509f93
[Fix] UI Cost Estimator - Fix model dropdown (#19529)
* add cost estimator

* ui fix show errors

* test_estimate_cost_resolves_router_model_alias
2026-01-21 20:19:40 -08:00
houdataali
ebcc37dfdf
add redisvl dependency to the root requiremnts.tx (#19417) 2026-01-21 20:12:07 -08:00
Cesar Garcia
815e6fcf76
docs: update Claude Code integration guides (#19415)
* docs: document Claude Code default models and env var overrides

- Update config example with current Claude Code 2.1.x model names
- Add section documenting default models (sonnet/haiku) that Claude Code requests
- Document env var overrides (ANTHROPIC_DEFAULT_SONNET_MODEL, etc.)
- Show how model_name alias can route to any provider (Bedrock, Vertex, etc.)

* Update docs

Removed warning about changing model names in Claude Code versions.

* docs: add 1M context support and improve Claude Code quickstart guide

- Add comprehensive 1M context window documentation
- Document [1m] suffix usage and shell escaping requirements
- Clarify that LiteLLM config should NOT include [1m] in model names
- Add standalone claude_code_1m_context.md guide
- Improve model selection documentation with environment variables
- Add section on default models used by Claude Code v2.1.14
- Add troubleshooting for 1M context issues
- Reorganize to emphasize environment variables approach

Addresses GitHub issue #14444

* docs: reorder model selection options - prioritize --model over env vars

- Move command line/session model selection to Option 1 (most reliable)
- Move environment variables to Option 2
- Add note that env vars may be cached from previous session
- Emphasize that --model always uses exact model specified

* docs: reorganize 1M context section - separate command line from env vars

- Split 1M context examples into two clear sections
- Show command line usage first (--model and /model)
- Show environment variables as alternative approach
- Improves readability and emphasizes most reliable method

* docs: remove misleading default models section from website tutorial

- Remove 'Default Models Used by Claude Code' section (misleading)
- Remove claim that config must match exact default model names
- Update config comment to be more general
- Add claude-opus-4-5-20251101 to example config
- Keep authentication section as-is

* docs: correct model selection in website tutorial

- Remove incorrect claim that Claude Code automatically uses proxy models
- Add explicit model selection examples with --model and /model
- Show environment variables as alternative approach
- Remove misleading comment about 'multiple configured'

* docs: add 1M context section to website tutorial

- Add section on using [1m] suffix for 1 million token context
- Include warning about shell escaping (quotes required)
- Explain how Claude Code handles [1m] internally
- Add /context verification command
- Note that LiteLLM config should NOT include [1m]

* docs: add tip about using .env for API keys

- Add note that ANTHROPIC_API_KEY can be stored in .env file
- Clarifies alternative to exporting environment variables
2026-01-21 20:11:06 -08:00
Harshit Jain
746414eb9b
Fix/per service ssl override v2 (#19538)
* refactor(ssl): support per-service SSL verification overrides

* add test cases for ssl
2026-01-21 20:10:04 -08:00
davida-ps
7777aeb695
fixing prompt-security's guardrail implementation (#19374)
* Consolidated change

* fix(prompt_security): update message processing to persist sanitized files and filter for API calls

* fix per krrishdholakia suggestion
2026-01-21 20:09:40 -08:00
Ishaan Jaff
ab606c9a73
[Feat] Add Structured output for /v1/messages with Anthropic API, Azure Anthropic API, Bedrock Converse (#19545)
* fix: add AnthropicMessagesRequestOptionalParams

* add _update_headers_with_anthropic_beta

* fix output format tests

* test_structured_output_e2e

* TestAnthropicAPIStructuredOutput

* test_structured_output_e2e

* fix BASE

* TestAzureAnthropicStructuredOutput

* fix: Bedrock Converse

* add nthropic Messages Pass-Through Architecture

* fix: bedrock invoke output_format

* fix: transform_anthropic_messages_request for vertex anthropic

* TestBedrockInvokeStructuredOutput

* docs anthropic vertex

* docs fix

* docs fix
2026-01-21 20:09:18 -08:00
jay prajapati
363b0cc132
fix(azure): preserve content_policy_violation details for images (#19328) (#19372)
Azure OpenAI Images (DALL·E 3) returns policy violations as a structured payload under body["error"], including inner_error.content_filter_results and revised_prompt.

LiteLLM previously:
- Failed to extract nested error messages (get_error_message only handled body["message"])
- Missed policy violation detection when error strings were generic
- Dropped inner_error details when raising ContentPolicyViolationError

This change:
- Extracts nested Azure error fields (code/type/message + inner_error)
- Detects policy violations via structured error codes
- Passes an OpenAI-style error body + provider_specific_fields to preserve details

Tests:
- python3 -m pytest tests/test_litellm/llms/azure/test_azure_exception_mapping.py
- python3 -m pytest tests/test_litellm/litellm_core_utils/test_exception_mapping_utils.py

Fixes #19328
2026-01-21 20:06:51 -08:00
Sameer Kankute
3794f86af0
Merge pull request #19502 from Chesars/docs/base-model-openai-dated-versions
docs(custom_pricing): add base_model usage for OpenAI dated model versions
2026-01-22 09:19:12 +05:30
Sameer Kankute
36f3250016
Merge pull request #19500 from Chesars/fix/audio-model-pricing
fix(pricing): correct audio token costs for gpt-4o-audio-preview models
2026-01-22 09:18:55 +05:30
Sameer Kankute
967bc82e53
Merge pull request #19509 from Chesars/add-gpt-audio-models
Add gpt-audio and gpt-audio-mini models to pricing
2026-01-22 09:18:11 +05:30
jay prajapati
0e738a5027
fix(mcp): forward static_headers to MCP servers (#19341) (#19366)
Forward static_headers from /mcp-rest/test/* routes into the MCP client so headers are present during session.initialize() and tool discovery.

Also add a shared merge_mcp_headers() helper to keep header precedence consistent and ensure OpenAPI-to-MCP generated tools include static_headers.

Tests:
- pytest tests/test_litellm/proxy/_experimental/mcp_server/test_rest_endpoints.py
- pytest tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_server_manager.py -k register_openapi_tools_includes_static_headers

Fixes #19341

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-21 19:30:55 -08:00
Ishaan Jaff
d5e912322f
[Fix] VertexAI Pass through - Ensure only anthropic betas are forwarded down to LLM API (#19542)
* fix ALLOWED_VERTEX_AI_PASSTHROUGH_HEADERS

* test_vertex_passthrough_forwards_anthropic_beta_header

* fix test_vertex_passthrough_forwards_anthropic_beta_header

* test_vertex_passthrough_does_not_forward_litellm_auth_token

* fix utils

* Using Anthropic Beta Features on Vertex AI

* test_forward_headers_from_request_x_pass_prefix
2026-01-21 19:12:04 -08:00
yuneng-jiang
d1172562bc fixing build 2026-01-21 18:29:08 -08:00
yuneng-jiang
f737429ad9 create team model select 2026-01-21 18:21:42 -08:00
yuneng-jiang
9fe2822cf0
Merge pull request #19540 from BerriAI/litellm_ui_e2e_internal_viewer_tests
[Infra] UI - E2E Tests: Internal Viewer Sidebar
2026-01-21 18:15:16 -08:00
yuneng-jiang
e406ebf0dd Model Select for Create Team 2026-01-21 18:14:45 -08:00
yuneng-jiang
6b6785bc4f
Merge pull request #19539 from BerriAI/litellm_models_scope
[Feature] Adding Optional scope Param to /models
2026-01-21 17:41:22 -08:00
yuneng-jiang
4497f2de5c e2e test internal viewer sidebar 2026-01-21 17:39:02 -08:00
yuneng-jiang
e877b08314
Merge pull request #18995 from BerriAI/litellm_e2e_create_key_test
[Infra] UI - E2E Test: Create Key With All Team Models
2026-01-21 16:46:49 -08:00
yuneng-jiang
c6b157832b
Merge pull request #19296 from BerriAI/litellm_esca_reissue
[Reissue: Fix] /user/new Privilege Escalation
2026-01-21 16:46:34 -08:00
yuneng-jiang
1a0faaff0d
Merge pull request #19468 from BerriAI/litellm_ui_team_select_001
[Fix] UI - MCP Servers: MCP Tools Tab Resetting to Overview
2026-01-21 16:46:19 -08:00
yuneng-jiang
6723b30d03 Adding scope to /models 2026-01-21 16:40:31 -08:00
Alexsander Hamir
2620b9f041
Cut chat_completion latency by ~21% by reducing pre-call processing time (#19535) 2026-01-21 16:05:29 -08:00
Cesar Garcia
4106d24215
feat: add GMI Cloud provider support (#19376)
* feat: add GMI Cloud provider support

Add GMI Cloud as an OpenAI-compatible provider with:
- Provider configuration in providers.json
- Documentation page with usage examples
- Model pricing for 16 models (Claude, GPT, DeepSeek, Gemini, etc.)
- Sidebar entry for docs navigation

* Add gmi_cloud to provider_endpoints_support.json

Add provider entry to pass CI validation check that ensures all
providers in openai_like/providers.json are documented.

* Fix provider key: gmi_cloud -> gmi

Match the provider key with providers.json

---------

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-21 15:48:15 -08:00
yuneng-jiang
665d3f2f25
Merge pull request #19534 from BerriAI/litellm_ui_sorting_keys_fix_2
[Fix] UI - Virtual Keys Table: Sorting Shows Incorrect Entries
2026-01-21 15:09:43 -08:00
yuneng-jiang
a1636640ce Adding tests 2026-01-21 14:59:56 -08:00
yuneng-jiang
b23e77585f Fix virtual keys table sorting 2026-01-21 14:49:33 -08:00
YutaSaito
3a49e4362f
Merge pull request #19528 from BerriAI/litellm_fix_langfuse_trace_id
[fix] Send litellm_trace_id to Langfuse
2026-01-22 07:08:10 +09:00
Yuta Saito
898cc3ff4f test: update langfuse trace_id tests to use litellm_trace_id 2026-01-22 06:19:43 +09:00
Yuta Saito
c0007bd418 fix: Send litellm_trace_id to Langfuse to link LiteLLM logs with Langfuse logs 2026-01-22 05:40:16 +09:00
mubashir1osmani
5f7d8486ff fix lint 2026-01-21 15:35:13 -05:00
YutaSaito
4a14a53ae8
Merge pull request #19469 from BerriAI/litellm_feat_mcp_spendlogs
[feat] mcp spendlogs
2026-01-22 05:29:21 +09:00
yuneng-jiang
2a2717a79c
Merge pull request #19525 from BerriAI/litellm_ui_models_pag_change
[Feature] UI - Model Page: All Model Tab Pagination
2026-01-21 12:15:18 -08:00