{"record":{"id":"67cc6088ed99d35f","repo":"BerriAI/litellm","slug":"max-budget-limit-reached","errorCode":null,"errorMessage":"Max budget limit reached.","messagePattern":"Max budget limit reached\\.","errorType":"http","errorClass":"ProxyRateLimitError","httpStatus":429,"severity":"error","filePath":"litellm/proxy/hooks/max_budget_limiter.py","lineNumber":73,"sourceCode":"\n            from litellm.proxy.proxy_server import get_current_spend\n\n            curr_spend: Final = await get_current_spend(\n                counter_key=user_counter_key,\n                fallback_spend=user_api_key_dict.user_spend or 0.0,\n            )\n\n            verbose_proxy_logger.debug(\n                \"MaxBudgetLimiter: user_id=%s, spend=%.6f, max=%.6f\",\n                user_id,\n                curr_spend,\n                max_budget,\n            )\n\n            # CHECK IF REQUEST ALLOWED\n            if curr_spend >= max_budget:\n                resolved_model, llm_provider = resolve_llm_provider_for_rate_limit(data.get(\"model\") if data else None)\n                raise ProxyRateLimitError(\n                    detail=\"Max budget limit reached.\",\n                    rate_limit_type=RateLimitType.BUDGET,\n                    model=resolved_model,\n                    llm_provider=llm_provider,\n                )\n        except HTTPException as e:\n            raise e\n        except Exception as e:\n            verbose_logger.exception(\n                \"litellm.proxy.hooks.max_budget_limiter.py::async_pre_call_hook(): Exception occured - %s\", e\n            )\n","sourceCodeStart":55,"sourceCodeEnd":85,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/hooks/max_budget_limiter.py#L55-L85","documentation":"Error \"Max budget limit reached.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/hooks/max_budget_limiter.py:73 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Increase max_budget for the key, user, or team.","Reset or wait out the budget period.","Review spend to find unexpected usage."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}