From 909de72426a5b26fef5b0cd05fdd54f727d3c675 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:07:11 -0700 Subject: [PATCH] fix: set api_mode when switching providers via hermes model (#3726) When switching providers via 'hermes model', the previous provider's api_mode persisted in config.yaml. Switching from Copilot (codex_responses) to a chat_completions provider like Z.AI would send requests to the wrong endpoint (404). Set api_mode = chat_completions in the 4 provider flows that were missing it: OpenRouter, custom endpoint, Kimi, and api_key_provider. Co-authored-by: Nour Eddine Hamaidi --- hermes_cli/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hermes_cli/main.py b/hermes_cli/main.py index 867b8db4..59900cfd 100644 --- a/hermes_cli/main.py +++ b/hermes_cli/main.py @@ -980,6 +980,7 @@ def _model_flow_openrouter(config, current_model=""): cfg["model"] = model model["provider"] = "openrouter" model["base_url"] = OPENROUTER_BASE_URL + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() print(f"Default model set to: {selected} (via OpenRouter)") @@ -1203,6 +1204,7 @@ def _model_flow_custom(config): cfg["model"] = model model["provider"] = "custom" model["base_url"] = effective_url + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() @@ -1984,6 +1986,7 @@ def _model_flow_kimi(config, current_model=""): cfg["model"] = model model["provider"] = provider_id model["base_url"] = effective_base + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() @@ -2090,6 +2093,7 @@ def _model_flow_api_key_provider(config, provider_id, current_model=""): cfg["model"] = model model["provider"] = provider_id model["base_url"] = effective_base + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider()