Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
584 commits
Select commit Hold shift + click to select a range
78dd4b2
feat: add /delete endpoint support for gemini
Sameerlite Jan 30, 2026
ed4c71e
Merge pull request #20018 from varunsripad123/fix/google-files-retrieval
Sameerlite Jan 30, 2026
ab8b459
Merge pull request #20046 from nht1206/bugfix/input-tokens-details-no…
Sameerlite Jan 30, 2026
fdb4b54
Merge pull request #20009 from genga6/fix/#20006-update-max-input-tok…
Sameerlite Jan 30, 2026
55348dd
Fix: vllm embedding format
Sameerlite Jan 30, 2026
a805426
Merge pull request #19975 from BerriAI/litellm_oss_staging_01_29_2026
Sameerlite Jan 30, 2026
51747ee
Merge pull request #20055 from BerriAI/litellm_files_gemini_endpoints…
Sameerlite Jan 30, 2026
cfc9c77
Merge pull request #19981 from BerriAI/litellm_fix_batches_permissions
Sameerlite Jan 30, 2026
8d485f2
Merge pull request #19986 from BerriAI/litellm_batch_cost_tracking_jan29
Sameerlite Jan 30, 2026
404c33e
Merge pull request #20051 from BerriAI/litellm_xai_web_search_routing
Sameerlite Jan 30, 2026
8b9d501
Merge pull request #20052 from BerriAI/litllm_disable_cache_jan_29
Sameerlite Jan 30, 2026
5277a0c
Merge pull request #20053 from BerriAI/litellm_gemini_edit_jan_30
Sameerlite Jan 30, 2026
1877483
Merge pull request #20056 from BerriAI/litellm_vllm_embedding
Sameerlite Jan 30, 2026
8363a26
Fix: remove unsupported prompt-caching-scope-2026-01-05 header for ve…
Sameerlite Jan 30, 2026
6e92103
Merge pull request #20058 from BerriAI/litellm_vertex_ai_prompt-cachi…
Sameerlite Jan 30, 2026
c301339
Merge pull request #20039 from BerriAI/litellm_ui_key_model_bd
yuneng-jiang Jan 30, 2026
0acfcb4
Add mock client factory pattern and mock support for PostHog, Helicon…
AlexsanderHamir Jan 30, 2026
3910161
Realtime API benchmarks (#20074)
ishaan-jaff Jan 30, 2026
481bb4b
fixes: ci pipeline router coverage failure (#20065)
Harshit28j Jan 30, 2026
974837c
fix: working claude code with agent SDKs (#20081)
ishaan-jaff Jan 30, 2026
6897d5f
[Feat] Add async_post_call_response_headers_hook to CustomLogger (#20…
ishaan-jaff Jan 30, 2026
1f5b875
Add WATSONX_ZENAPIKEY
yuneng-jiang Jan 30, 2026
a11b043
fix(proxy): resolve high CPU when router_settings in DB by avoiding R…
AlexsanderHamir Jan 30, 2026
8b7a925
v0 - looks decen view
ishaan-jaff Jan 30, 2026
f07ef8a
refactored code
ishaan-jaff Jan 30, 2026
5f07635
fix ui
ishaan-jaff Jan 30, 2026
2014bcf
fixes ui
ishaan-jaff Jan 30, 2026
61bb51d
complete v2 viewer
ishaan-jaff Jan 30, 2026
437e9e2
fix drawer
ishaan-jaff Jan 30, 2026
ad1b48a
Revert logs view commits to recreate with clean history (#20090)
ishaan-jaff Jan 31, 2026
3e8e1de
update image and bounded logo in navbar
yuneng-jiang Jan 31, 2026
b64cd31
Merge pull request #20092 from BerriAI/litellm_user_dropdown
yuneng-jiang Jan 31, 2026
0942f98
refactoring user dropdown
yuneng-jiang Jan 31, 2026
267993b
Merge pull request #20095 from BerriAI/litellm_user_dropdown_v2
yuneng-jiang Jan 31, 2026
2ce87a3
new utils
ishaan-jaff Jan 31, 2026
e2f7b10
address feedback
ishaan-jaff Jan 31, 2026
5345a76
[Feat] v2 - Logs view with side panel and improved UX (#20091)
ishaan-jaff Jan 31, 2026
b8e2ac4
Delete resource modal dark mode
yuneng-jiang Jan 31, 2026
1cd83e9
[Feat] UI - New View to render "Tools" on Logs View (#20093)
ishaan-jaff Jan 31, 2026
4abae44
[Feat] UI - Add Pretty print view of request/response (#20096)
ishaan-jaff Jan 31, 2026
87c1e6f
remove md
ishaan-jaff Jan 31, 2026
d012677
fixed mcp tools instructions on ui to show comma seprated str instead…
shivamrawat1 Jan 31, 2026
0edd50f
docs: cleanup docs
krrishdholakia Jan 29, 2026
3f1bda5
Merge pull request #20101 from BerriAI/ui-mcp-list-tools-instructions…
shivamrawat1 Jan 31, 2026
395ccac
team mapping
yuneng-jiang Jan 31, 2026
08e4d06
litellm_fix: add missing timezone import to proxy_server.py (#20121)
shin-bot-litellm Jan 31, 2026
4029f61
fix(proxy): reduce PLR0915 complexity in base_process_llm_request (#2…
shin-bot-litellm Jan 31, 2026
8e69c2e
litellm_fix(ui): remove unused ToolOutlined import (#20129)
shin-bot-litellm Jan 31, 2026
ecd0202
litellm_fix(e2e): disable bedrock-converse-claude-sonnet-4.5 model in…
shin-bot-litellm Jan 31, 2026
013b470
litellm_fix(test): fix Azure AI cost calculator test - use Logging cl…
shin-bot-litellm Jan 31, 2026
14a5706
litellm_fix(test): fix Bedrock tool search header test regression (#2…
shin-bot-litellm Jan 31, 2026
7db4594
litellm_fix(test): allow comment field in schema and exclude robotics…
shin-bot-litellm Jan 31, 2026
1c757de
litellm_docs: add missing environment variable documentation (#20138)
shin-bot-litellm Jan 31, 2026
395ad9b
litellm_fix(test): add acancel_batch to Azure SDK client initializati…
shin-bot-litellm Jan 31, 2026
10194d9
litellm_fix: handle unknown models in Azure AI cost calculator (#20150)
shin-bot-litellm Jan 31, 2026
e35e650
litellm_fix(test): fix router silent experiment tests to properly moc…
shin-bot-litellm Jan 31, 2026
b366335
Merge pull request #20098 from BerriAI/litellm_ui_dark_mode_2
yuneng-jiang Jan 31, 2026
c4a2745
Merge pull request #20031 from BerriAI/litellm_new_badge_dot
yuneng-jiang Jan 31, 2026
ae2cf71
Merge pull request #20086 from BerriAI/litellm_watsonx_inte_fix
yuneng-jiang Jan 31, 2026
87b4da4
chore: update Next.js build artifacts (2026-01-31 17:20 UTC, node v22…
yuneng-jiang Jan 31, 2026
f2cb31a
Merge pull request #20154 from BerriAI/ui_build_yj_jan_31
yuneng-jiang Jan 31, 2026
2f6d18e
fix(proxy): use get_async_httpx_client for logo download (#20155)
shin-bot-litellm Jan 31, 2026
d5bc80b
fix(datadog): check for agent mode before requiring DD_API_KEY/DD_SIT…
shin-bot-litellm Jan 31, 2026
1b43814
litellm_fix: handle empty dict for web_search_options in Nova groundi…
shin-bot-litellm Jan 31, 2026
6c497d2
fix(mypy): fix type errors in files, opentelemetry, gemini transforma…
shin-bot-litellm Jan 31, 2026
2780e2f
litellm_fix(test): update Prometheus metric test assertions with new …
shin-bot-litellm Jan 31, 2026
fea4092
test: remove hosted_vllm from OpenAI client tests (#20163)
shin-bot-litellm Jan 31, 2026
ea01163
litellm_fix: bump litellm-proxy-extras version to 0.4.28 (#20166)
shin-bot-litellm Jan 31, 2026
5434b66
litellm_fix(mypy): fix remaining type errors (#20164)
shin-bot-litellm Jan 31, 2026
df042f7
litellm_fix(security): allowlist Next.js CVEs for 7 days (#20169)
shin-bot-litellm Jan 31, 2026
244c80a
litellm_fix(router): use safe_deep_copy in _get_silent_experiment_kwa…
shin-bot-litellm Jan 31, 2026
3fa7ab1
docs(embeddings): add supported input formats section (#20073)
Chesars Jan 31, 2026
df7ea19
fix proxy extras pip
ishaan-jaff Jan 31, 2026
4bf4e79
fix gemini files
ishaan-jaff Jan 31, 2026
d53ef30
fix EventDrivenCacheCoordinator
ishaan-jaff Jan 31, 2026
3759ea2
test_increment_top_level_request_and_spend_metrics
ishaan-jaff Jan 31, 2026
05552b5
fix typing
ishaan-jaff Jan 31, 2026
08271a8
fix transform_retrieve_file_response
ishaan-jaff Jan 31, 2026
f508a99
fix linting
ishaan-jaff Jan 31, 2026
54a3838
fix mcp linting
ishaan-jaff Jan 31, 2026
9fe0819
_add_web_search_tool
ishaan-jaff Jan 31, 2026
8b575f4
test_bedrock_nova_grounding_web_search_options_non_streaming
ishaan-jaff Jan 31, 2026
e6c1a65
add _is_bedrock_tool_block
ishaan-jaff Jan 31, 2026
36dfa0f
fix MCP client
ishaan-jaff Jan 31, 2026
41ec820
fix files
ishaan-jaff Jan 31, 2026
14f31a0
litellm_fix(lint): remove unused ToolNameValidationResult imports (#2…
shin-bot-litellm Jan 31, 2026
bcc05a6
litellm_fix(azure): Fix acancel_batch not using Azure SDK client init…
shin-bot-litellm Jan 31, 2026
a002907
fix tar security issue with TAR
ishaan-jaff Jan 31, 2026
c9261c9
fix model name during fallback
yuneng-jiang Jan 31, 2026
a81af9a
Merge pull request #20177 from BerriAI/litellm_global_fallback_fix
yuneng-jiang Jan 31, 2026
280e8a9
test_get_image_non_root_uses_var_lib_assets_dir
ishaan-jaff Jan 31, 2026
f1b16d2
test_delete_vector_store_checks_access
ishaan-jaff Jan 31, 2026
66c7233
test_get_session_iterator_thread_safety
ishaan-jaff Jan 31, 2026
b7c4599
Fix health endpoints
yuneng-jiang Jan 31, 2026
ac1459e
Merge pull request #20182 from BerriAI/litellm_ui_health_checks
yuneng-jiang Jan 31, 2026
852ea7d
_prepare_vertex_auth_headers
ishaan-jaff Jan 31, 2026
38f5ae8
test_budget_reset_and_expires_at_first_of_month
ishaan-jaff Jan 31, 2026
5bd5df3
fix(test): add router.acancel_batch coverage (#20183)
shin-bot-litellm Jan 31, 2026
65fb18b
fix(mypy): fix validate_tool_name return type signatures (#20184)
shin-bot-litellm Jan 31, 2026
586b041
fix(test): update test_chat_completion to handle metadata in body
shin-bot-litellm Jan 31, 2026
dff7f83
fix(proxy): resolve 'multiple values for keyword argument' in batch c…
shin-bot-litellm Jan 31, 2026
f9fbffa
ci(security): allowlist GHSA-34x7-hfp2-rc4v (node-tar hardlink)
shin-bot-litellm Jan 31, 2026
d9da49b
fix(mypy): add type: ignore for conditional function variants in MCP …
shin-bot-litellm Jan 31, 2026
d038341
fix: make cache updates synchronous for budget enforcement
shin-bot-litellm Jan 31, 2026
db120c5
fix(test): accept both AuthenticationError and InternalServerError in…
shin-bot-litellm Jan 31, 2026
2e6659d
test_embedding fix
ishaan-jaff Jan 31, 2026
a4acf81
fix bedrock-nova-premier
ishaan-jaff Jan 31, 2026
54286fc
Revert "fix: make cache updates synchronous for budget enforcement"
ishaan-jaff Jan 31, 2026
e2475f4
fix(test): correct prompt_tokens in test_string_cost_values (#20185)
shin-bot-litellm Jan 31, 2026
671fd84
fix: bedrock-converse-claude-sonnet-4.5
ishaan-jaff Jan 31, 2026
c7522e3
fix: stabilize CI tests - routes and bedrock config
ishaan-jaff Jan 31, 2026
47efa33
sync: generator client
ishaan-jaff Jan 31, 2026
a92b938
add LiteLLM_ManagedVectorStoresTable_user_id_idx
ishaan-jaff Jan 31, 2026
82383cd
docs/blog index page (#20188)
ryan-crabbe Jan 31, 2026
af015fe
UI spend logs setting docs
yuneng-jiang Jan 31, 2026
7e5e626
bump extras
ishaan-jaff Jan 31, 2026
543e85a
Merge pull request #20197 from BerriAI/spend_logs_docs
yuneng-jiang Jan 31, 2026
94d5036
fix fake-openai-endpoint
ishaan-jaff Jan 31, 2026
93dfac7
doc fix
yuneng-jiang Jan 31, 2026
d897c5e
fix team budget checks
ishaan-jaff Jan 31, 2026
0bf471b
Merge pull request #20198 from BerriAI/spend_logs_docs
yuneng-jiang Jan 31, 2026
427d8f4
bump: version 1.81.5 → 1.81.6
ishaan-jaff Jan 31, 2026
37a45a3
litellm_fix_mapped_tests_core: clear client cache and fix isinstance …
shin-bot-litellm Jan 31, 2026
0c785b3
test_chat_completion_low_budget
ishaan-jaff Feb 1, 2026
ecb725f
fix: delete_file
ishaan-jaff Feb 1, 2026
2e8732c
remove key blocking
yuneng-jiang Feb 1, 2026
01b96f1
fixes
ishaan-jaff Feb 1, 2026
3a3576d
fix: update test_prometheus to expect masked user_id in metrics
ishaan-jaff Feb 1, 2026
8a57ee5
docs fix
ishaan-jaff Feb 1, 2026
76407bc
feat(bedrock): add base cache costs for sonnet v1 (#20214)
cscguochang Feb 1, 2026
b62f46e
Update next to 16.1.6
yuneng-jiang Feb 1, 2026
93a0631
docs: fix dead links in v1.81.6 release notes (#20218)
shin-bot-litellm Feb 1, 2026
bb3c2a9
fix(test): update test_prometheus with masked user_id and missing labels
ishaan-jaff Feb 1, 2026
0c00679
litellm_fix_mapped_tests_core: fix test isolation and mock injection …
shin-bot-litellm Feb 1, 2026
35e29c2
Revert "Merge pull request #18790 from BerriAI/litellm_key_team_routi…
ishaan-jaff Feb 1, 2026
faff9d1
test_proxy_failure_metrics
ishaan-jaff Feb 1, 2026
c68baa3
upgrade react version
yuneng-jiang Feb 1, 2026
dc5c8c8
react 19
yuneng-jiang Feb 1, 2026
92c8e00
test_proxy_success_metrics
ishaan-jaff Feb 1, 2026
466e6bd
fix(test): make test_proxy_failure_metrics resilient to missing proxy…
ishaan-jaff Feb 1, 2026
b7e48f1
test fix
ishaan-jaff Feb 1, 2026
9926a57
clean install for build ui
yuneng-jiang Feb 1, 2026
df387c3
docs: Update v1.81.6 release notes - focus on Logs v2 with Tool Call …
shin-bot-litellm Feb 1, 2026
33343bc
remove node_modules
yuneng-jiang Feb 1, 2026
b887683
revert react 18
yuneng-jiang Feb 1, 2026
f0853b2
feat: enhance Cohere embedding support with additional parameters and…
amirzaushnizer Feb 1, 2026
037c10d
Add bedrock route in realtim main.py
Sameerlite Feb 2, 2026
eb0f019
Add nova sonic realtime
Sameerlite Feb 2, 2026
cdeefe8
Add nova sonic tests
Sameerlite Feb 2, 2026
ea6c31a
Add documentation on nova sonic
Sameerlite Feb 2, 2026
5e17dea
Add tutorial to use bedrock nova
Sameerlite Feb 2, 2026
c13cb4c
Merge pull request #20235 from amirzaushnizer/litellm-support-cohere-…
Sameerlite Feb 2, 2026
88cb101
Add Anthropic caching and context tests
Sameerlite Feb 2, 2026
1f4222e
Add support for 0 cost models
Sameerlite Jan 13, 2026
14c2932
Add docs on Zero-Cost Models
Sameerlite Jan 13, 2026
1a7fcfb
Merge pull request #19881 from jayy-77/feat/user-agent-customization-…
Sameerlite Feb 2, 2026
6f2dc19
Merge pull request #20214 from cscguochang/feat/bedrock-1hr-tiered-ca…
Sameerlite Feb 2, 2026
c2298c2
Fix open_ai_embedding_models to have custom_llm_provider None
Sameerlite Feb 2, 2026
eee7375
fix: Map reasoning content to anthropic thinking block(streaming+non-…
Sameerlite Feb 2, 2026
c6f178e
Update Vertex AI Text to Speech doc to show use of audio
Sameerlite Feb 2, 2026
15cec5a
Merge pull request #20255 from BerriAI/litellm_tts_doc
Sameerlite Feb 2, 2026
72482c0
Fix: Slack alert issue
Sameerlite Feb 2, 2026
415c26f
fix: add reasoning param support for GPT OSS cerebras
Sameerlite Feb 2, 2026
7773a92
Merge pull request #20258 from BerriAI/litellm_cerebras_reasoning
Sameerlite Feb 2, 2026
fff35ee
Merge pull request #20257 from BerriAI/litellm_slack_alert_fix_jfeb_02
Sameerlite Feb 2, 2026
8d65ac6
Merge pull request #20254 from BerriAI/litellm_anthropic_reasoning_co…
Sameerlite Feb 2, 2026
fe7c7da
Merge pull request #20253 from BerriAI/litellm_SAP-model-routing-to-O…
Sameerlite Feb 2, 2026
19f6640
Merge pull request #20249 from BerriAI/litellm_add_0_budget_model_byp…
Sameerlite Feb 2, 2026
dafa26b
Merge pull request #20247 from BerriAI/litellm_smoketest_suite
Sameerlite Feb 2, 2026
be0bb97
Fix test_aaamodel_prices_and_context_window_json_is_valid
Sameerlite Feb 2, 2026
01cdc27
Fix: test_bedrock_optional_params_embeddings_dimension
Sameerlite Feb 2, 2026
bb363f0
Fix: test_bedrock_optional_params_embeddings_dimension
Sameerlite Feb 2, 2026
686aafe
Merge pull request #20262 from BerriAI/litellm_test_bedrock_optional_…
Sameerlite Feb 2, 2026
8e2f7e5
Fix mypy issues
Sameerlite Feb 2, 2026
27b4052
Merge pull request #20244 from BerriAI/litellm_nova_sonic_imp_2_feb
Sameerlite Feb 2, 2026
b246329
fix(image-gen): add thought_signature to ImageObject for Gemini 3 Pro
Chesars Nov 27, 2025
11fd92c
refactor(image-gen): move thought_signature to provider_specific_fields
Chesars Nov 28, 2025
c4dd22c
fix: broaden Azure AI rerank URL handling
emerzon Dec 17, 2025
92763a1
Update litellm/llms/azure_ai/rerank/transformation.py
emerzon Dec 17, 2025
bb5397d
fix: enforce scheme for Azure AI rerank api_base
emerzon Dec 18, 2025
3215dc4
feat(vertex_ai): add global endpoint support for Qwen MaaS models
Chesars Jan 27, 2026
b3f1696
refactor(vertex_ai): reuse get_vertex_base_url for URL construction
Chesars Jan 30, 2026
3e04e20
🐛 Bug Fix #19642 : bug in Vertex AI context caching (#19657)
RheagalFire Jan 31, 2026
72e5193
fix: models loadbalancing billing issue by filter (#18891) (#19220)
Harshit28j Jan 31, 2026
61a84e9
fix(anthropic-adapter): truncate tool names exceeding OpenAI's 64-cha…
Chesars Jan 31, 2026
a457162
fix: handle deprecated 'redis_db' arg to prevent crash (#19808)
Harshit28j Jan 31, 2026
6d86808
feat: enforce model-level TPM/RPM limits (enforce_model_rate_limits) …
Harshit28j Jan 31, 2026
c9757cd
fix(guardrails): populate applied_guardrails when Model Armor blocks …
hi120ki Jan 31, 2026
1e8848c
add missing indexes on VerificationToken table (#20040)
CAFxX Jan 31, 2026
1985aa0
Fix Nova grounding web_search_options={} not applying systemTool (#20…
jquinter Jan 31, 2026
07bffdd
fix(bedrock): deduplicate toolResult and toolUse blocks in Converse m…
srlynch1 Jan 31, 2026
ef73f33
fix: prevent error when max_fallbacks exceeds available models (#20071)
ahb7 Jan 31, 2026
726988a
Fix Azure AI Anthropic CountTokens 401 auth error (#20069)
vrlo Jan 31, 2026
d7997db
fix: Include hidden params in chat response to responses api response…
ntessman-capsule Jan 31, 2026
a513cfd
fix: Set standard_logging_object for pass-through endpoints (#19887)
neubig Jan 31, 2026
7329fa8
fix: litellm_oss_staging_01_31_2026_3 failing tests
Sameerlite Feb 2, 2026
b85f1f2
fix: litellm_core_utils/prompt_templates/factory.py:3431
Sameerlite Feb 2, 2026
ade35a3
Merge pull request #20266 from BerriAI/litellm_oss_staging_01_31_2026_3
Sameerlite Feb 2, 2026
fadc04f
perf: optimize wrapper_async with CallTypes caching and reduced looku…
ryan-crabbe Feb 2, 2026
7a6820d
perf: cache _get_relevant_args_to_use_for_logging() at module level (…
ryan-crabbe Feb 2, 2026
0a1b988
docs: Add FAQ for setting up and verifying LITELLM_LICENSE (#20284)
shin-bot-litellm Feb 2, 2026
73691fb
Model request tags documentation (#20290)
ishaan-jaff Feb 2, 2026
bb77123
Merge pull request #20220 from BerriAI/litellm_ui_next_upgrade
yuneng-jiang Feb 2, 2026
b30c17c
Merge pull request #20210 from BerriAI/litellm_key_block_rev
yuneng-jiang Feb 2, 2026
f1bca73
temp commit for branch switching
yuneng-jiang Feb 2, 2026
1f51f06
Merge remote-tracking branch 'origin' into litellm_sso_map_teams
yuneng-jiang Feb 2, 2026
899bafb
adding team mappings UI
yuneng-jiang Feb 2, 2026
c4bbd56
feat: add Kimi K2.5 model entry for Moonshot provider (#20273)
krauckbot Feb 2, 2026
923b1cf
fix: MCP "Session not found" error on VSCode reconnect (#20298)
shin-bot-litellm Feb 2, 2026
65c62ff
Adding tests
yuneng-jiang Feb 2, 2026
f1227ce
Merge pull request #20111 from BerriAI/litellm_sso_map_teams
yuneng-jiang Feb 2, 2026
3124141
feat: add base /scim/v2 endpoint for SCIM resource discovery (#20301)
shin-bot-litellm Feb 2, 2026
0614ff9
docs: add Prisma migration troubleshooting guide (#20300)
shin-bot-litellm Feb 2, 2026
edfe239
reset_spend endpoint
yuneng-jiang Feb 2, 2026
16f0b49
team setting disable global guardrail fix
yuneng-jiang Feb 3, 2026
2645d25
fixing tests
yuneng-jiang Feb 3, 2026
cd154c4
Merge pull request #20307 from BerriAI/litellm_ui_disable_global_guar…
yuneng-jiang Feb 3, 2026
62993b5
Merge pull request #20305 from BerriAI/litellm_reset_spend_endpoint
yuneng-jiang Feb 3, 2026
8eba641
Merge pull request #20299 from BerriAI/litellm_ui_allowed_routes_drop…
yuneng-jiang Feb 3, 2026
32b1ff7
option to hide community engagement buttons
yuneng-jiang Feb 3, 2026
1b9631d
Add blog post: Achieving Sub-Millisecond Proxy Overhead (#20309)
AlexsanderHamir Feb 3, 2026
cf734cb
Migrate Default Team settings to use reusable Model Select
yuneng-jiang Feb 3, 2026
079f49f
[Feat] - MCP Semantic Filtering Support (#20296)
ishaan-jaff Feb 3, 2026
0ef506a
Litellm docs mcp filtering semantic (#20316)
ishaan-jaff Feb 3, 2026
4e8c6d1
fix linting
ishaan-jaff Feb 3, 2026
c8f9af1
fix mypy lint
ishaan-jaff Feb 3, 2026
333419b
Add documentation correctly for nova sonic
Sameerlite Feb 3, 2026
5cfcf67
[Feat] /chat/completions - allow using OpenAI style tools for `web_se…
ishaan-jaff Feb 3, 2026
24a4979
Merge pull request #20320 from BerriAI/litellm_nova-sonic_doc
Sameerlite Feb 3, 2026
5aa8725
docs Tracing Tools
ishaan-jaff Feb 3, 2026
7ae9804
docs fix
ishaan-jaff Feb 3, 2026
2984832
Merge pull request #20310 from BerriAI/litellm_ui_def_team_settings
yuneng-jiang Feb 3, 2026
9202870
Merge pull request #20308 from BerriAI/litellm_ui_community_buttons
yuneng-jiang Feb 3, 2026
7dd0248
Revert "fix: models loadbalancing billing issue by filter (#18891) (#…
Sameerlite Feb 3, 2026
86ae627
Fix litellm/tests/test_litellm/proxy/_experimental/mcp_server/test_se…
Sameerlite Feb 3, 2026
b379fb6
Fix code quality tests
Sameerlite Feb 3, 2026
ecb6413
Revert "add missing indexes on VerificationToken table (#20040)"
Sameerlite Feb 3, 2026
23f662e
Merge pull request #20328 from BerriAI/litellm_tuesday_cicd_release
Sameerlite Feb 3, 2026
1b1854b
Revert "Litellm tuesday cicd release"
Sameerlite Feb 3, 2026
80acd4c
Merge pull request #20330 from BerriAI/revert-20328-litellm_tuesday_c…
Sameerlite Feb 3, 2026
eb8f4d3
Revert "fix: models loadbalancing billing issue by filter (#18891) (#…
Sameerlite Feb 3, 2026
9a6bafe
Fix litellm/tests/test_litellm/proxy/_experimental/mcp_server/test_se…
Sameerlite Feb 3, 2026
017b78d
Fix code quality tests
Sameerlite Feb 3, 2026
fae0554
Revert "add missing indexes on VerificationToken table (#20040)"
Sameerlite Feb 3, 2026
31cdffd
Revert "fix: prevent error when max_fallbacks exceeds available model…
Sameerlite Feb 3, 2026
21e95c7
Fix litellm_security_tests
Sameerlite Feb 3, 2026
793a7fd
Merge pull request #20333 from BerriAI/litellm_tuesday_cicd_release_f…
Sameerlite Feb 3, 2026
47c5366
bump litellm 1.81.7
Sameerlite Feb 3, 2026
070d501
Merge pull request #20336 from BerriAI/litellm_bump_version_1.81.7
Sameerlite Feb 3, 2026
b265ef2
fix(otel): guard against None message in set_attributes tool_calls
Harshit28j Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
340 changes: 303 additions & 37 deletions .circleci/config.yml

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion .circleci/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ uvloop==0.21.0
mcp==1.25.0 # for MCP server
semantic_router==0.1.10 # for auto-routing with litellm
fastuuid==0.12.0
responses==0.25.7 # for proxy client tests
responses==0.25.7 # for proxy client tests
pytest-retry==1.6.3 # for automatic test retries
2 changes: 1 addition & 1 deletion .github/workflows/test-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ jobs:

- name: Check import safety
run: |
poetry run python -c "from litellm import *" || (echo '🚨 import failed, this means you introduced unprotected imports! 🚨'; exit 1)
poetry run python -c "from litellm import *" || (echo '🚨 import failed, this means you introduced unprotected imports! 🚨'; exit 1)
2 changes: 1 addition & 1 deletion .github/workflows/test-litellm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
poetry run pip install "google-genai==1.22.0"
poetry run pip install "google-cloud-aiplatform>=1.38"
poetry run pip install "fastapi-offline==1.7.3"
poetry run pip install "python-multipart==0.0.18"
poetry run pip install "python-multipart==0.0.22"
poetry run pip install "openapi-core"
- name: Setup litellm-enterprise as local package
run: |
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/test-model-map.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Validate model_prices_and_context_window.json

on:
pull_request:
branches: [ main ]

jobs:
validate-model-prices-json:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Validate model_prices_and_context_window.json
run: |
jq empty model_prices_and_context_window.json
9 changes: 1 addition & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,6 @@ litellm/proxy/_super_secret_config.yaml
litellm/proxy/myenv/bin/activate
litellm/proxy/myenv/bin/Activate.ps1
myenv/*
litellm/proxy/_experimental/out/_next/
litellm/proxy/_experimental/out/404/index.html
litellm/proxy/_experimental/out/model_hub/index.html
litellm/proxy/_experimental/out/onboarding/index.html
litellm/tests/log.txt
litellm/tests/langfuse.log
litellm/tests/langfuse.log
Expand All @@ -76,9 +72,6 @@ tests/local_testing/log.txt
litellm/proxy/_new_new_secret_config.yaml
litellm/proxy/custom_guardrail.py
.mypy_cache/*
litellm/proxy/_experimental/out/404.html
litellm/proxy/_experimental/out/404.html
litellm/proxy/_experimental/out/model_hub.html
.mypy_cache/*
litellm/proxy/application.log
tests/llm_translation/vertex_test_account.json
Expand All @@ -100,9 +93,9 @@ litellm_config.yaml
litellm/proxy/to_delete_loadtest_work/*
update_model_cost_map.py
tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_server_manager.py
litellm/proxy/_experimental/out/guardrails/index.html
scripts/test_vertex_ai_search.py
LAZY_LOADING_IMPROVEMENTS.md
STABILIZATION_TODO.md
**/test-results
**/playwright-report
**/*.storageState.json
Expand Down
12 changes: 12 additions & 0 deletions .trivyignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# LiteLLM Trivy Ignore File
# CVEs listed here are temporarily allowlisted pending fixes

# Next.js vulnerabilities in UI dashboard (next@14.2.35)
# Allowlisted: 2026-01-31, 7-day fix timeline
# Fix: Upgrade to Next.js 15.5.10+ or 16.1.5+

# HIGH: DoS via request deserialization
GHSA-h25m-26qc-wcjf

# MEDIUM: Image Optimizer DoS
CVE-2025-59471
8 changes: 5 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,14 @@ LiteLLM is a unified interface for 100+ LLMs that:

### MAKING CODE CHANGES FOR THE UI (IGNORE FOR BACKEND)

1. **Use Common Components as much as possible**:
1. **Tremor is DEPRECATED, do not use Tremor components in new features/changes**
- The only exception is the Tremor Table component and its required Tremor Table sub components.

2. **Use Common Components as much as possible**:
- These are usually defined in the `common_components` directory
- Use these components as much as possible and avoid building new components unless needed
- Tremor components are deprecated; prefer using Ant Design (AntD) as much as possible

2. **Testing**:
3. **Testing**:
- The codebase uses **Vitest** and **React Testing Library**
- **Query Priority Order**: Use query methods in this order: `getByRole`, `getByLabelText`, `getByPlaceholderText`, `getByText`, `getByTestId`
- **Always use `screen`** instead of destructuring from `render()` (e.g., use `screen.getByText()` not `getByText`)
Expand Down
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime
# Ensure runtime stage runs as root
USER root

# Install runtime dependencies
RUN apk add --no-cache bash openssl tzdata nodejs npm python3 py3-pip
# Install runtime dependencies (libsndfile needed for audio processing on ARM64)
RUN apk add --no-cache bash openssl tzdata nodejs npm python3 py3-pip libsndfile && \
npm install -g npm@latest tar@latest

WORKDIR /app
# Copy the current directory contents into the container at /app
Expand Down
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,12 +259,17 @@ LiteLLM Performance: **8ms P95 latency** at 1k RPS (See benchmarks [here](https:
Support for more providers. Missing a provider or LLM Platform, raise a [feature request](https://github.com/BerriAI/litellm/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.yml&title=%5BFeature%5D%3A+).

## OSS Adopters
<img width="250" height="104" alt="Stripe wordmark - Blurple - Small" src="https://github.com/user-attachments/assets/f7296d4f-9fbd-460d-9d05-e4df31697c4b" />

<img width="250" height="69" alt="download__1_-removebg-preview" src="https://github.com/user-attachments/assets/0be4bd8a-7cfa-48d3-9090-f415fe948280" />



<table>
<tr>
<td><img height="60" alt="Stripe" src="https://github.com/user-attachments/assets/f7296d4f-9fbd-460d-9d05-e4df31697c4b" /></td>
<td><img height="60" alt="Google ADK" src="https://github.com/user-attachments/assets/caf270a2-5aee-45c4-8222-41a2070c4f19" /></td>
<td><img height="60" alt="Greptile" src="https://github.com/user-attachments/assets/0be4bd8a-7cfa-48d3-9090-f415fe948280" /></td>
<td><img height="60" alt="OpenHands" src="https://github.com/user-attachments/assets/a6150c4c-149e-4cae-888b-8b92be6e003f" /></td>
<td><h2>Netflix</h2></td>
<td><img height="60" alt="OpenAI Agents SDK" src="https://github.com/user-attachments/assets/c02f7be0-8c2e-4d27-aea7-7c024bfaebc0" /></td>
</tr>
</table>

## Supported Providers ([Website Supported Models](https://models.litellm.ai/) | [Docs](https://docs.litellm.ai/docs/providers))

Expand Down
6 changes: 4 additions & 2 deletions ci_cd/security_scans.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ run_trivy_scans() {
echo "Running Trivy scans..."

echo "Scanning LiteLLM Docs..."
trivy fs --scanners vuln --dependency-tree --exit-code 1 --severity HIGH,CRITICAL,MEDIUM ./docs/
trivy fs --ignorefile .trivyignore --scanners vuln --dependency-tree --exit-code 1 --severity HIGH,CRITICAL,MEDIUM ./docs/

echo "Scanning LiteLLM UI..."
trivy fs --scanners vuln --dependency-tree --exit-code 1 --severity HIGH,CRITICAL,MEDIUM ./ui/
trivy fs --ignorefile .trivyignore --scanners vuln --dependency-tree --exit-code 1 --severity HIGH,CRITICAL,MEDIUM ./ui/

echo "Trivy scans completed successfully"
}
Expand Down Expand Up @@ -137,6 +137,7 @@ run_grype_scans() {
"CVE-2019-1010025" # glibc pthread heap address leak - awaiting patched Wolfi glibc build
"CVE-2026-22184" # zlib untgz buffer overflow - untgz unused + no fixed Wolfi build yet
"GHSA-58pv-8j8x-9vj2" # jaraco.context path traversal - setuptools vendored only (v5.3.0), not used in application code (using v6.1.0+)
"GHSA-34x7-hfp2-rc4v" # node-tar hardlink path traversal - not applicable, tar CLI not exposed in application code
"GHSA-r6q2-hw4h-h46w" # node-tar not used by application runtime, Linux-only container, not affect by macOS APFS-specific exploit
"GHSA-8rrh-rw8j-w5fx" # wheel is from chainguard and will be handled by then TODO: Remove this after Chainguard updates the wheel
"CVE-2025-59465" # We do not use Node in application runtime, only used for building Admin UI
Expand All @@ -153,6 +154,7 @@ run_grype_scans() {
"CVE-2025-15367" # No fix available yet
"CVE-2025-12781" # No fix available yet
"CVE-2025-11468" # No fix available yet
"CVE-2026-1299" # Python 3.13 email module header injection - not applicable, LiteLLM doesn't use BytesGenerator for email serialization
)

# Build JSON array of allowlisted CVE IDs for jq
Expand Down
144 changes: 144 additions & 0 deletions cookbook/anthropic_agent_sdk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Claude Agent SDK with LiteLLM Gateway

A simple example showing how to use Claude's Agent SDK with LiteLLM as a proxy. This lets you use any LLM provider (OpenAI, Bedrock, Azure, etc.) through the Agent SDK.

## Quick Start

### 1. Install dependencies

```bash
pip install anthropic claude-agent-sdk litellm
```

### 2. Start LiteLLM proxy

```bash
# Simple start with Claude
litellm --model claude-sonnet-4-20250514

# Or with a config file
litellm --config config.yaml
```

### 3. Run the chat

**Basic Agent (no MCP):**

```bash
python main.py
```

**Agent with MCP (DeepWiki2 for research):**

```bash
python agent_with_mcp.py
```

If MCP connection fails, you can disable it:

```bash
USE_MCP=false python agent_with_mcp.py
```

That's it! You can now chat with the agent in your terminal.

### Chat Commands

While chatting, you can use these commands:
- `models` - List all available models (fetched from your LiteLLM proxy)
- `model` - Switch to a different model
- `clear` - Start a new conversation
- `quit` or `exit` - End the chat

The chat automatically fetches available models from your LiteLLM proxy's `/models` endpoint, so you'll always see what's currently configured.

## Configuration

Set these environment variables if needed:

```bash
export LITELLM_PROXY_URL="http://localhost:4000"
export LITELLM_API_KEY="sk-1234"
export LITELLM_MODEL="bedrock-claude-sonnet-4.5"
```

Or just use the defaults - it'll connect to `http://localhost:4000` by default.

## Files

- `main.py` - Basic interactive agent without MCP
- `agent_with_mcp.py` - Agent with MCP server integration (DeepWiki2)
- `common.py` - Shared utilities and functions
- `config.example.yaml` - Example LiteLLM configuration
- `requirements.txt` - Python dependencies

## Example Config File

If you want to use multiple models, create a `config.yaml` (see `config.example.yaml`):

```yaml
model_list:
- model_name: bedrock-claude-sonnet-4
litellm_params:
model: "bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0"
aws_region_name: "us-east-1"

- model_name: bedrock-claude-sonnet-4.5
litellm_params:
model: "bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0"
aws_region_name: "us-east-1"
```

Then start LiteLLM with: `litellm --config config.yaml`

## How It Works

The key is pointing the Agent SDK to LiteLLM instead of directly to Anthropic:

```python
# Point to LiteLLM gateway (not Anthropic)
os.environ["ANTHROPIC_BASE_URL"] = "http://localhost:4000"
os.environ["ANTHROPIC_API_KEY"] = "sk-1234" # Your LiteLLM key

# Use any model configured in LiteLLM
options = ClaudeAgentOptions(
model="bedrock-claude-sonnet-4", # or gpt-4, or anything else
system_prompt="You are a helpful assistant.",
max_turns=50,
)
```

Note: Don't add `/anthropic` to the base URL - LiteLLM handles the routing automatically.

## Why Use This?

- **Switch providers easily**: Use the same code with OpenAI, Bedrock, Azure, etc.
- **Cost tracking**: LiteLLM tracks spending across all your agent conversations
- **Rate limiting**: Set budgets and limits on your agent usage
- **Load balancing**: Distribute requests across multiple API keys or regions
- **Fallbacks**: Automatically retry with a different model if one fails

## Troubleshooting

**Connection errors?**
- Make sure LiteLLM is running: `litellm --model your-model`
- Check the URL is correct (default: `http://localhost:4000`)

**Authentication errors?**
- Verify your LiteLLM API key is correct
- Make sure the model is configured in your LiteLLM setup

**Model not found?**
- Check the model name matches what's in your LiteLLM config
- Run `litellm --model your-model` to test it works

**Agent with MCP stuck or failing?**
- The MCP server might not be available at `http://localhost:4000/mcp/deepwiki2`
- Try disabling MCP: `USE_MCP=false python agent_with_mcp.py`
- Or use the basic agent: `python main.py`

## Learn More

- [LiteLLM Docs](https://docs.litellm.ai/)
- [Claude Agent SDK](https://github.com/anthropics/anthropic-agent-sdk)
- [LiteLLM Proxy Guide](https://docs.litellm.ai/docs/proxy/quick_start)
Loading
Loading