{"record":{"id":"3a5bfbefd159cfda","repo":"BerriAI/litellm","slug":"no-provider-budget-config-found-please-set-a-prov","errorCode":null,"errorMessage":"No provider budget config found. Please set a provider budget config in the router settings. https://docs.litellm.ai/docs/proxy/provider_budget_routing","messagePattern":"No provider budget config found\\. Please set a provider budget config in the router settings\\. https://docs\\.litellm\\.ai/docs/proxy/provider_budget_routing","errorType":"exception","errorClass":"ValueError","httpStatus":500,"severity":"error","filePath":"litellm/proxy/spend_tracking/spend_management_endpoints.py","lineNumber":3747,"sourceCode":"                \"budget_limit\": 100.0,\n                \"time_period\": \"12d\",\n                \"spend\": 0.0,\n                \"budget_reset_at\": null\n            }\n        }\n    }\n    ```\n\n    \"\"\"\n    from litellm.proxy.proxy_server import llm_router\n\n    try:\n        if llm_router is None:\n            raise HTTPException(status_code=500, detail={\"error\": \"No llm_router found\"})\n\n        provider_budget_config: Final = llm_router.provider_budget_config\n        if provider_budget_config is None:\n            raise ValueError(\n                \"No provider budget config found. Please set a provider budget config in the router settings. https://docs.litellm.ai/docs/proxy/provider_budget_routing\"\n            )\n\n        router_budget_logger: Final = llm_router._get_router_deployment_budget_limiter()\n        if router_budget_logger is None:\n            raise ValueError(\"No router budget logger found\")\n\n        provider_budget_response_dict: Final[dict[str, ProviderBudgetResponseObject]] = {}\n        for _provider, _budget_info in provider_budget_config.items():\n            _provider_spend = await router_budget_logger._get_current_provider_spend(_provider) or 0.0\n            _provider_budget_ttl = await router_budget_logger._get_current_provider_budget_reset_at(_provider)\n            provider_budget_response_object = ProviderBudgetResponseObject(\n                budget_limit=_budget_info.max_budget,\n                time_period=_budget_info.budget_duration,\n                spend=_provider_spend,\n                budget_reset_at=_provider_budget_ttl,\n            )\n            provider_budget_response_dict[_provider] = provider_budget_response_object","sourceCodeStart":3729,"sourceCodeEnd":3765,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/spend_tracking/spend_management_endpoints.py#L3729-L3765","documentation":"Error \"No provider budget config found. Please set a provider budget config in the router settings. https://docs.litellm.ai/docs/proxy/provider_budget_routing\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:3747 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set provider_budget_config in the router settings of your config.yaml as documented at https://docs.litellm.ai/docs/proxy/provider_budget_routing."],"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"}