From aa56df090f7b7eeca62531834996b74cdb554005 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Sun, 5 Apr 2026 22:33:24 -0700 Subject: [PATCH] fix: allow env var overrides for Nous portal/inference URLs (#5419) The _login_nous() call site was pre-filling portal_base_url, inference_base_url, client_id, and scope with pconfig defaults before passing them to _nous_device_code_login(). Since pconfig defaults are always truthy, the env var checks inside the function (HERMES_PORTAL_BASE_URL, NOUS_PORTAL_BASE_URL, NOUS_INFERENCE_BASE_URL) could never take effect. Fix: pass None from the call site when no CLI flag is provided, letting the function's own priority chain handle defaults correctly: explicit CLI flag > env var > pconfig default. Addresses the issue reported in PR #5397 by jquesnelle. --- hermes_cli/auth.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hermes_cli/auth.py b/hermes_cli/auth.py index 740a69e2e6..d40c02584b 100644 --- a/hermes_cli/auth.py +++ b/hermes_cli/auth.py @@ -2634,10 +2634,10 @@ def _login_nous(args, pconfig: ProviderConfig) -> None: try: auth_state = _nous_device_code_login( - portal_base_url=getattr(args, "portal_url", None) or pconfig.portal_base_url, - inference_base_url=getattr(args, "inference_url", None) or pconfig.inference_base_url, - client_id=getattr(args, "client_id", None) or pconfig.client_id, - scope=getattr(args, "scope", None) or pconfig.scope, + portal_base_url=getattr(args, "portal_url", None), + inference_base_url=getattr(args, "inference_url", None), + client_id=getattr(args, "client_id", None), + scope=getattr(args, "scope", None), open_browser=not getattr(args, "no_browser", False), timeout_seconds=timeout_seconds, insecure=insecure,