diff --git a/hermes_cli/model_switch.py b/hermes_cli/model_switch.py index d1691ab285..0e01903eba 100644 --- a/hermes_cli/model_switch.py +++ b/hermes_cli/model_switch.py @@ -1720,7 +1720,10 @@ def list_authenticated_providers( results.append({ "slug": slug, "name": grp["name"], - "is_current": slug == current_provider, + "is_current": slug == current_provider or ( + bool(current_base_url) + and _grp_url_norm == current_base_url.strip().rstrip("/").lower() + ), "is_user_defined": True, "models": grp["models"], "total_models": len(grp["models"]), diff --git a/tests/hermes_cli/test_model_switch_custom_providers.py b/tests/hermes_cli/test_model_switch_custom_providers.py index 84734e622d..4d88942b3f 100644 --- a/tests/hermes_cli/test_model_switch_custom_providers.py +++ b/tests/hermes_cli/test_model_switch_custom_providers.py @@ -343,6 +343,7 @@ def test_list_authenticated_providers_bare_custom_slug_recovers(monkeypatch): group = matches[0] # Canonical slug, NOT the bare "custom" that caused #17478 assert group["slug"] == "custom:ollama" + assert group["is_current"] is True def test_list_authenticated_providers_distinct_endpoints_stay_separate(monkeypatch):