BerriAI/litellm · error · HTTPException

budget_limits entry max_budget ({over_ceiling.max_budget}) c

Error message

budget_limits entry max_budget ({over_ceiling.max_budget}) cannot exceed the caller's own max_budget ({delegation_ceiling}).

What it means

Error "budget_limits entry max_budget ({over_ceiling.max_budget}) cannot exceed the caller's own max_budget ({delegation_ceiling})." thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/management_endpoints/key_management_endpoints.py:737

            status_code=400,
            detail={"error": (f"budget_limits entry max_budget ({non_finite.max_budget}) must be a finite number.")},
        )
    if user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN.value:
        return
    if is_ui_session_team_key:
        return
    if user_api_key_dict.is_session_token and team_table is None:
        raise HTTPException(
            status_code=400,
            detail={
                "error": ("budget_limits cannot be set without specifying team_id when using a CLI session token.")
            },
        )
    if delegation_ceiling is None:
        return
    over_ceiling: Final = next((w for w in budget_limits if w.max_budget > delegation_ceiling), None)
    if over_ceiling is not None:
        raise HTTPException(
            status_code=400,
            detail={
                "error": (
                    f"budget_limits entry max_budget ({over_ceiling.max_budget}) "
                    f"cannot exceed the caller's own max_budget ({delegation_ceiling})."
                )
            },
        )


async def validate_team_id_used_in_service_account_request(
    team_id: str | None,
    prisma_client: PrismaClient | None,
):
    """
    Validate team_id is used in the request body for generating a service account key
    """
    if team_id is None:

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Set max_budget to a value at or below your own max_budget.
  2. Ask a proxy admin with a higher budget ceiling to create the key.

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/key_management_endpoints.py:737 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/160ed67a71cb9f1b. Report an issue: GitHub.