From 6f80e96fee808bdb1687a4148aa547b70ed22ddf Mon Sep 17 00:00:00 2001 From: HitMargin Date: Mon, 6 Apr 2026 10:38:16 +0800 Subject: [PATCH] fix: make modelType take precedence over all env vars in getAPIProvider --- src/utils/model/providers.ts | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/utils/model/providers.ts b/src/utils/model/providers.ts index 723155b0f..22f900aa6 100644 --- a/src/utils/model/providers.ts +++ b/src/utils/model/providers.ts @@ -11,28 +11,18 @@ export type APIProvider = | 'gemini' export function getAPIProvider(): APIProvider { - // Cloud provider env vars have highest priority (they are explicit switches) - if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK)) return 'bedrock' - if (isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX)) return 'vertex' - if (isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY)) return 'foundry' - - // Check settings.json modelType field const modelType = getInitialSettings().modelType if (modelType === 'openai') return 'openai' if (modelType === 'gemini') return 'gemini' - // 2. Check environment variables (backward compatibility) - return isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) - ? 'bedrock' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) - ? 'vertex' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) - ? 'foundry' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_OPENAI) - ? 'openai' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_GEMINI) - ? 'gemini' - : 'firstParty' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK)) return 'bedrock' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX)) return 'vertex' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY)) return 'foundry' + + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_OPENAI)) return 'openai' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_GEMINI)) return 'gemini' + + return 'firstParty' } export function getAPIProviderForStatsig(): AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS {