BerriAI/litellm · error · HTTPException
Only proxy admins can set `permissions`.
Error message
Only proxy admins can set `permissions`.
What it means
Error "Only proxy admins can set `permissions`." thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/key_management_endpoints.py:691
def _check_permissions_caller_permission(
data: GenerateRequestBase,
user_api_key_dict: UserAPIKeyAuth,
) -> None:
"""
Require PROXY_ADMIN when `permissions` is present in the request body.
Presence is detected via `data.model_fields_set` so a caller that
omits the field (default flows through) is distinct from one that
sends any explicit value.
"""
permissions_in_request: Final = "permissions" in data.model_fields_set
if not permissions_in_request and not data.permissions:
return
if user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN.value:
return
raise HTTPException(
status_code=403,
detail={"error": "Only proxy admins can set `permissions`."},
)
def _check_budget_limits_delegation_ceiling(
budget_limits: list[BudgetLimitEntry] | None,
delegation_ceiling: float | None,
user_api_key_dict: UserAPIKeyAuth,
is_ui_session_team_key: bool,
team_table: LiteLLM_TeamTableCachedObj | None,
) -> None:
"""
Enforce three invariants on `budget_limits`:
- Every `budget_limits[*].max_budget` must be a finite number; applies
to every caller including proxy admin.
- A CLI session token caller may not set `budget_limits` on a personalView on GitHub (pinned to 77b7c6c40c)
Solutions
- Remove the permissions field from the request.
- Ask a proxy admin to set permissions on the key.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/key_management_endpoints.py:691 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/a9b95ca746deda45.
Report an issue: GitHub.