diff --git a/hermes_cli/web_server.py b/hermes_cli/web_server.py index 54ee28e26..ae53511d4 100644 --- a/hermes_cli/web_server.py +++ b/hermes_cli/web_server.py @@ -4846,6 +4846,25 @@ def _catalog_provider_env_metadata() -> dict: "advanced": existing.get("advanced", True), "category": "provider", } + + # Vertex AI authenticates via OAuth2 (service-account JSON or ADC), not a + # pasted API key, so it also has no api_key_env_vars. Tag its credential + # env var to the provider card so it appears on the Keys tab (otherwise + # Vertex — a `hermes model` provider — would be invisible in the desktop + # app). The value is a filesystem path, not a secret string, so it is + # not a password field. + if d.auth_type == "vertex": + existing = meta.get("VERTEX_CREDENTIALS_PATH", {}) + meta["VERTEX_CREDENTIALS_PATH"] = { + "provider": d.slug, + "provider_label": d.label, + "description": existing.get("description") + or f"{d.label} — service account JSON path (or use ADC)", + "url": existing.get("url"), + "is_password": False, + "advanced": existing.get("advanced", True), + "category": "provider", + } return meta