From d5abaa89e70301f8d259bd13d11f658e9be60279 Mon Sep 17 00:00:00 2001 From: Eric Jacksch Date: Thu, 19 Mar 2026 14:40:40 -0400 Subject: [PATCH] fix(launcher): recognise gemini-cli as a credential-free CLI provider requiresRuntimeProbe and probeLocalModelAvailability handled claude-cli and codex-cli but not gemini-cli, causing the launcher to report "default model has no credentials configured" and skip auto-start when gemini-cli was set as the default model. Co-Authored-By: Claude Sonnet 4.6 --- web/backend/api/model_status.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/backend/api/model_status.go b/web/backend/api/model_status.go index 22bf5c15b..e3ff7e5b1 100644 --- a/web/backend/api/model_status.go +++ b/web/backend/api/model_status.go @@ -61,7 +61,7 @@ func requiresRuntimeProbe(m config.ModelConfig) bool { } switch modelProtocol(m.Model) { - case "claude-cli", "claudecli", "codex-cli", "codexcli", "github-copilot", "copilot": + case "claude-cli", "claudecli", "codex-cli", "codexcli", "gemini-cli", "geminicli", "github-copilot", "copilot": return true case "ollama", "vllm": apiBase := strings.TrimSpace(m.APIBase) @@ -85,7 +85,7 @@ func probeLocalModelAvailability(m config.ModelConfig) bool { return probeOpenAICompatibleModelFunc(apiBase, modelID) case "github-copilot", "copilot": return probeTCPServiceFunc(apiBase) - case "claude-cli", "claudecli", "codex-cli", "codexcli": + case "claude-cli", "claudecli", "codex-cli", "codexcli", "gemini-cli", "geminicli": return true default: if hasLocalAPIBase(apiBase) {