diff --git a/hermes_cli/doctor.py b/hermes_cli/doctor.py index a987a76f710..aaa490a3372 100644 --- a/hermes_cli/doctor.py +++ b/hermes_cli/doctor.py @@ -254,13 +254,21 @@ def _build_apikey_providers_list() -> list: try: from providers import list_providers from providers.base import ProviderProfile as _PP + try: + from hermes_cli.providers import normalize_provider as _normalize_provider + except Exception: # pragma: no cover - normalization is best-effort + def _normalize_provider(_name: str) -> str: + return (_name or "").strip().lower() for _pp in list_providers(): if not isinstance(_pp, _PP) or _pp.auth_type != "api_key" or not _pp.env_vars: continue _label = _pp.display_name or _pp.name if _label in _known_names or _pp.name in _known_canonical: continue - if any(_alias in _dedicated_canonical for _alias in (_pp.aliases or ())): + _candidates = {_normalize_provider(_pp.name)} + for _alias in (_pp.aliases or ()): + _candidates.add(_normalize_provider(_alias)) + if _candidates & _dedicated_canonical: continue # Separate API-key vars from base-URL override vars — the health-check # loop sends the first found value as Authorization: Bearer, so a URL