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
- 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.