BerriAI/litellm · error · HTTPException
User not allowed to access proxy. User role={user_role}, pro
Error message
User not allowed to access proxy. User role={user_role}, proxy mode={ui_access_mode} What it means
Error "User not allowed to access proxy. User role={user_role}, proxy mode={ui_access_mode}" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/ui_sso.py:3578
table_name="key",
)
key = response["token"]
user_id = response["user_id"]
user_role = user_defined_values["user_role"] or LitellmUserRoles.INTERNAL_USER_VIEW_ONLY.value
if user_id and isinstance(user_id, str):
user_role = await check_and_update_if_proxy_admin_id(
user_role=user_role, user_id=user_id, prisma_client=prisma_client
)
verbose_proxy_logger.debug("user_role: %s; ui_access_mode: %s", user_role, ui_access_mode)
## CHECK IF ROLE ALLOWED TO USE PROXY ##
is_admin_only_access: Final = check_is_admin_only_access(ui_access_mode or {})
if is_admin_only_access:
has_access: Final = has_admin_ui_access(user_role or "")
if not has_access:
raise HTTPException(
status_code=401,
detail={
"error": f"User not allowed to access proxy. User role={user_role}, proxy mode={ui_access_mode}"
},
)
if isinstance(user_id, str) and user_id:
await retain_sso_identity_assertion_for_ema(user_id=user_id, assertion=sso_assertion)
disabled_non_admin_personal_key_creation: Final = get_disabled_non_admin_personal_key_creation()
litellm_dashboard_ui = get_custom_url(request_base_url=str(request.base_url), route="ui/")
if get_secret_bool("EXPERIMENTAL_UI_LOGIN"):
_user_info: LiteLLM_UserTable | None = None
if user_defined_values is not None and user_defined_values["user_id"] is not None:
_user_info = LiteLLM_UserTable(
user_id=user_defined_values["user_id"],
user_role=user_defined_values["user_role"] or user_role,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Use an account whose role is permitted by the proxy's ui_access_mode, or ask the admin to adjust ui_access_mode.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/ui_sso.py:3578 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/714bb300a6e5af48.
Report an issue: GitHub.