BerriAI/litellm · error · HTTPException

Invalid CLI polling secret

Error message

Invalid CLI polling secret

What it means

Error "Invalid CLI polling secret" thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/management_endpoints/ui_sso.py:2430

):
    """
    CLI polling endpoint - retrieves session from cache and generates JWT.

    Flow:
    1. First poll (no team_id): Returns teams list without generating JWT
    2. Second poll (with team_id): Generates JWT with selected team and deletes session

    Args:
        key_id: The CLI login session ID
        team_id: Optional team ID to assign to the JWT. If provided, must be one of user's teams.
    """
    from litellm.proxy.auth.auth_checks import ExperimentalUIJWTToken
    from litellm.proxy.proxy_server import cli_sso_session_cache

    try:
        flow: Final = _get_cli_sso_flow_or_raise(login_id=key_id, cache=cli_sso_session_cache)
        if not _verify_cli_sso_poll_secret(flow=flow, poll_secret=x_litellm_cli_poll_secret):
            raise HTTPException(status_code=403, detail="Invalid CLI polling secret")

        if not flow.get("sso_complete") or not flow.get("user_code_verified"):
            return {"status": "pending"}

        session_data: Final = flow.get("session_data")

        if isinstance(session_data, dict):
            user_teams: Final = session_data.get("teams", [])
            user_team_details: Final = session_data.get("team_details")
            user_id: Final = session_data["user_id"]

            verbose_proxy_logger.info(
                "CLI poll: user=%s, team_id=%s, user_teams=%s, num_teams=%s",
                user_id,
                team_id,
                user_teams,
                len(user_teams),
            )

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Restart the CLI login flow to obtain a fresh polling secret; do not reuse an old session.

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/ui_sso.py:2430 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/49aeddc4099a4920. Report an issue: GitHub.