BerriAI/litellm · error · HTTPException

User Information is required for experimental UI login

Error message

User Information is required for experimental UI login

What it means

Guard in the experimental-UI login path: EXPERIMENTAL_UI_LOGIN is enabled but no LiteLLM_UserTable could be resolved for the login (neither a user row nor UI_USERNAME/UI_PASSWORD identity), so the JWT cannot be minted.

Source

Thrown at litellm/proxy/auth/login_utils.py:236

            )

        key = response["token"]

        if get_secret_bool("EXPERIMENTAL_UI_LOGIN"):
            from litellm.proxy.auth.auth_checks import ExperimentalUIJWTToken

            user_info: LiteLLM_UserTable | None = None
            if _user_row is not None:
                user_info = _user_row
            elif user_id is not None:  # if user_id is not None, we are using the UI_USERNAME and UI_PASSWORD
                user_info = LiteLLM_UserTable(
                    user_id=user_id,
                    user_role=user_role,
                    models=[],
                    max_budget=litellm.max_ui_session_budget,
                )
            if user_info is None:
                raise HTTPException(
                    status_code=401,
                    detail={"error": "User Information is required for experimental UI login"},
                )

            key = ExperimentalUIJWTToken.get_experimental_ui_login_jwt_auth_token(user_info)

        return LoginResult(
            user_id=user_id,
            key=key,
            user_email=None,
            user_role=user_role,
            login_method="username_password",
        )

    elif _user_row is not None:
        """
        When sharing invite links

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Pass valid user information (user email/ID) with the experimental UI login request.
  2. Ensure the SSO/identity provider response includes the user info claims the proxy expects.

Example fix

Retry the UI login after confirming your identity provider returns user info (email/sub) claims.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/auth/login_utils.py:236 when the library encounters an invalid state.

Common situations: Occurs when the experimental UI login callback lacks user information, e.g. IdP did not return profile claims.


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