{"record":{"id":"5d58c5a9c1215749","repo":"BerriAI/litellm","slug":"too-many-cli-login-attempts-try-again-later","errorCode":null,"errorMessage":"Too many CLI login attempts. Try again later.","messagePattern":"Too many CLI login attempts\\. Try again later\\.","errorType":"http","errorClass":"HTTPException","httpStatus":429,"severity":"error","filePath":"litellm/proxy/management_endpoints/ui_sso.py","lineNumber":384,"sourceCode":"    client_ip_hash: Final = _hash_cli_sso_secret(client_ip)\n    return f\"{_CLI_SSO_START_RATE_LIMIT_CACHE_KEY_PREFIX}:{client_ip_hash}\"\n\n\ndef _check_cli_sso_start_rate_limit(\n    request: Request,\n    cache: DualCache,\n    use_x_forwarded_for: bool | None = False,\n) -> None:\n    rate_limit_cache_key: Final = _get_cli_sso_start_rate_limit_cache_key(\n        request=request, use_x_forwarded_for=use_x_forwarded_for\n    )\n    current_attempts: Final = cache.increment_cache(\n        key=rate_limit_cache_key,\n        value=1,\n        ttl=_CLI_SSO_START_RATE_LIMIT_WINDOW_SECONDS,\n    )\n    if current_attempts > _CLI_SSO_START_RATE_LIMIT_MAX_ATTEMPTS:\n        raise HTTPException(\n            status_code=429,\n            detail=\"Too many CLI login attempts. Try again later.\",\n        )\n\n\ndef _get_cli_sso_flow_or_raise(login_id: str | None, cache: DualCache) -> dict:\n    if isinstance(login_id, str) and login_id.startswith(\"sk-\"):\n        raise HTTPException(\n            status_code=400,\n            detail=(\n                \"Your litellm CLI is out of date and uses a login flow this proxy no longer supports. \"\n                \"Upgrade it with `pip install -U 'litellm[proxy]'` and run `litellm-proxy login` again.\"\n            ),\n        )\n    if not _is_valid_cli_sso_login_id(login_id):\n        raise HTTPException(status_code=400, detail=\"Invalid CLI login session id\")\n\n    cache_key: Final = _get_cli_sso_flow_cache_key(cast(str, login_id))","sourceCodeStart":366,"sourceCodeEnd":402,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/ui_sso.py#L366-L402","documentation":"Error \"Too many CLI login attempts. Try again later.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/ui_sso.py:384 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Wait for the rate-limit window to pass, then run `litellm-proxy login` again."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}