From fb4530cafe821e15b55d68c53c0f37239aca4229 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sat, 21 Feb 2026 03:33:20 +0900 Subject: [PATCH] fix(provider-matching): normalize provider names to lowercase for connectivity checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) --- src/features/background-agent/manager.ts | 4 ++-- src/shared/model-error-classifier.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/features/background-agent/manager.ts b/src/features/background-agent/manager.ts index 42d80d14..065e4ed2 100644 --- a/src/features/background-agent/manager.ts +++ b/src/features/background-agent/manager.ts @@ -945,14 +945,14 @@ export class BackgroundManager { const attemptCount = task.attemptCount ?? 0 const providerModelsCache = readProviderModelsCache() const connectedProviders = providerModelsCache?.connected ?? readConnectedProvidersCache() - const connectedSet = connectedProviders ? new Set(connectedProviders) : null + const connectedSet = connectedProviders ? new Set(connectedProviders.map(p => p.toLowerCase())) : null const isReachable = (entry: FallbackEntry): boolean => { if (!connectedSet) return true // Gate only on provider connectivity. Provider model lists can be stale/incomplete, // especially after users manually add models to opencode.json. - return entry.providers.some((p) => connectedSet.has(p)) + return entry.providers.some((p) => connectedSet.has(p.toLowerCase())) } let selectedAttemptCount = attemptCount diff --git a/src/shared/model-error-classifier.ts b/src/shared/model-error-classifier.ts index 65366bf3..defcef67 100644 --- a/src/shared/model-error-classifier.ts +++ b/src/shared/model-error-classifier.ts @@ -123,9 +123,9 @@ export function selectFallbackProvider( ): string { const connectedProviders = readConnectedProvidersCache() if (connectedProviders) { - const connectedSet = new Set(connectedProviders) + const connectedSet = new Set(connectedProviders.map(p => p.toLowerCase())) for (const provider of providers) { - if (connectedSet.has(provider)) { + if (connectedSet.has(provider.toLowerCase())) { return provider } }