From 6eeed3f1e8847a352ae1090450a71f0975a3d3a9 Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Wed, 8 Jul 2026 17:07:52 +0530 Subject: [PATCH] fix: don't flip active_provider when caching Z.AI probe result MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _save_provider_state() sets auth_store['active_provider'] as a side effect. The Z.AI endpoint probe runs from credential-pool env seeding for any user with a Z.AI key in env — persisting the probe cache must not silently make zai the active provider. Use _store_provider_state(set_active=False). Follow-up to PR #41201 salvage. --- hermes_cli/auth.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hermes_cli/auth.py b/hermes_cli/auth.py index 961afd0b4db..103c151e675 100644 --- a/hermes_cli/auth.py +++ b/hermes_cli/auth.py @@ -713,7 +713,10 @@ def _resolve_zai_base_url(api_key: str, default_url: str, env_override: str) -> auth_store = _load_auth_store() state_under_lock = _load_provider_state(auth_store, "zai") or {} state_under_lock["detected_endpoint"] = state["detected_endpoint"] - _save_provider_state(auth_store, "zai", state_under_lock) + # set_active=False: this runs from credential-pool env seeding + # (agent/credential_pool.py) for ANY user with a Z.AI key in env, + # and caching a probe result must not flip their active provider. + _store_provider_state(auth_store, "zai", state_under_lock, set_active=False) _save_auth_store(auth_store) logger.info("Z.AI: auto-detected endpoint %s (%s)", detected["label"], detected["base_url"]) return detected["base_url"]