BerriAI/litellm · error · HTTPException
max_budget ({data.max_budget}) must be strictly greater than
Error message
max_budget ({data.max_budget}) must be strictly greater than soft_budget ({soft_budget_to_check}) What it means
Error "max_budget ({data.max_budget}) must be strictly greater than soft_budget ({soft_budget_to_check})" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/team_endpoints.py:2026
_check_passthrough_routes_caller_permission(data, user_api_key_dict, entity="team")
if data.soft_budget is not None:
max_budget_to_check = data.max_budget if data.max_budget is not None else existing_team_row.max_budget
if max_budget_to_check is not None:
if data.soft_budget >= max_budget_to_check:
raise HTTPException(
status_code=400,
detail={
"error": f"soft_budget ({data.soft_budget}) must be strictly lower than max_budget ({max_budget_to_check})"
},
)
if data.max_budget is not None:
existing_soft_budget: Final[object] = _as_object(getattr(existing_team_row, "soft_budget", None))
soft_budget_to_check: Final = data.soft_budget if data.soft_budget is not None else existing_soft_budget
if soft_budget_to_check is not None and isinstance(soft_budget_to_check, (int, float)):
if data.max_budget <= soft_budget_to_check:
raise HTTPException(
status_code=400,
detail={
"error": f"max_budget ({data.max_budget}) must be strictly greater than soft_budget ({soft_budget_to_check})"
},
)
if data.organization_id is not None and len(data.organization_id) > 0: # allow unsetting the organization_id
# If the caller is relocating the team to a different org, they
# must also be PROXY_ADMIN or an org-admin of the DESTINATION org.
# _verify_team_access above only checked the team's CURRENT org,
# so without this gate an org-admin could hand their team to any
# other org (or capture a team from another org they once
# administered into a new destination).
current_org_id: Final = getattr(existing_team_row, "organization_id", None)
if (
data.organization_id != current_org_id
and user_api_key_dict.user_role != LitellmUserRoles.PROXY_ADMIN.value
):View on GitHub (pinned to 77b7c6c40c)
Solutions
- Set max_budget to a value strictly greater than soft_budget, or lower soft_budget.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/team_endpoints.py:2026 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/cb77362737124380.
Report an issue: GitHub.