From d8f556e18cefbf15087fde80de0df03dd84cc829 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Fri, 1 May 2026 14:39:24 -0700 Subject: [PATCH] [Fix] Auth: Restore Request-Context Model Resolution In Skip-Budget Helper Merge of #26845 kept the PR's _should_skip_budget_checks helper but lost staging's upgrade to _get_model_from_request_context, so zero-cost models resolved from request headers/query params no longer skipped budget checks. Route the helper through _get_model_from_request_context so this path matches the other 8 model-resolution sites in the file. --- litellm/proxy/auth/user_api_key_auth.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/auth/user_api_key_auth.py b/litellm/proxy/auth/user_api_key_auth.py index d7cfb8962a..2e5140e0e3 100644 --- a/litellm/proxy/auth/user_api_key_auth.py +++ b/litellm/proxy/auth/user_api_key_auth.py @@ -1907,6 +1907,7 @@ async def _run_centralized_common_checks( skip_budget_checks = _should_skip_budget_checks( request_data=request_data, route=route, + request=request, llm_router=llm_router, ) @@ -1988,9 +1989,14 @@ async def _reserve_budget_after_common_checks( def _should_skip_budget_checks( request_data: dict, route: str, + request: Optional[Request], llm_router: Optional[Any], ) -> bool: - model = get_model_from_request(request_data, route) + model = _get_model_from_request_context( + request_data=request_data, + route=route, + request=request, + ) if model is not None and llm_router is not None: return _is_model_cost_zero(model=model, llm_router=llm_router) return False