BerriAI/litellm · error · ValueError

No budget config found for provider {provider}, provider_bud

Error message

No budget config found for provider {provider}, provider_budget_config: {self.provider_budget_config}

What it means

Budget accounting guard: a provider appears in deployment spend tracking but has no entry in provider_budget_config, so the router cannot determine that provider's budget limit; the config map is included for debugging.

Source

Thrown at litellm/router_strategy/budget_limiter.py:759

        if litellm.tag_budget_config is not None:
            return True

        if model_list is None:
            return False

        for _model in model_list:
            _litellm_params = _model.get("litellm_params", {})
            if _litellm_params.get("max_budget") or _litellm_params.get("budget_duration") is not None:
                return True
        return False

    def _init_provider_budgets(self):
        if self.provider_budget_config is not None:
            # cast elements of provider_budget_config to GenericBudgetInfo
            for provider, config in self.provider_budget_config.items():
                if config is None:
                    raise ValueError(
                        f"No budget config found for provider {provider}, provider_budget_config: {self.provider_budget_config}"
                    )

                if not isinstance(config, GenericBudgetInfo):
                    self.provider_budget_config[provider] = GenericBudgetInfo(
                        budget_limit=config.get("budget_limit"),
                        time_period=config.get("time_period"),
                    )
                asyncio.create_task(
                    self._init_provider_budget_in_cache(
                        provider=provider,
                        budget_config=self.provider_budget_config[provider],
                    )
                )

            verbose_router_logger.debug("Initalized Provider budget config: %s", self.provider_budget_config)

    def _init_deployment_budgets(

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Add a budget config entry for the provider in provider_budget_config.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/router_strategy/budget_limiter.py:759 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/ae79d4e096684a37. Report an issue: GitHub.