diff --git a/hermes_cli/dashboard_auth/middleware.py b/hermes_cli/dashboard_auth/middleware.py index 2c5f5b4f7b958..0cb4feaba48a2 100644 --- a/hermes_cli/dashboard_auth/middleware.py +++ b/hermes_cli/dashboard_auth/middleware.py @@ -185,6 +185,11 @@ def _auto_sso_response(request: Request) -> Response | None: from hermes_cli.dashboard_auth.prefix import prefix_from_request provider = providers[0] + # Password-only providers (e.g. basic) have no OAuth redirect flow; + # /auth/login would call start_login() which raises NotImplementedError. + # Let the normal /login page render instead. + if getattr(provider, "supports_password", False): + return None prefix = prefix_from_request(request) next_param = _safe_next_target(request) from urllib.parse import quote