From b5dbb71a4431b249d1e64e2a42c5d50c17e31eac Mon Sep 17 00:00:00 2001 From: gnanam1990 Date: Tue, 7 Apr 2026 19:40:47 +0530 Subject: [PATCH] fix: preserve explicit ollama startup intent --- src/utils/providerEnvSelection.test.ts | 13 +++++++++++++ src/utils/providerEnvSelection.ts | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/src/utils/providerEnvSelection.test.ts b/src/utils/providerEnvSelection.test.ts index 23849269..2c4c6127 100644 --- a/src/utils/providerEnvSelection.test.ts +++ b/src/utils/providerEnvSelection.test.ts @@ -100,4 +100,17 @@ describe('filterSettingsEnvForExplicitProvider', () => { }), ).toEqual({ OTHER: 'keep-me' }) }) + + test('preserves explicit ollama startup intent by stripping OpenAI routing settings', () => { + process.env.CLAUDE_CODE_EXPLICIT_PROVIDER = 'ollama' + + expect( + filterSettingsEnvForExplicitProvider({ + OPENAI_BASE_URL: 'https://api.openai.com/v1', + OPENAI_MODEL: 'gpt-4o', + OPENAI_API_KEY: 'sk-test', + OTHER: 'keep-me', + }), + ).toEqual({ OTHER: 'keep-me' }) + }) }) diff --git a/src/utils/providerEnvSelection.ts b/src/utils/providerEnvSelection.ts index c11cb9d6..2603188a 100644 --- a/src/utils/providerEnvSelection.ts +++ b/src/utils/providerEnvSelection.ts @@ -41,6 +41,13 @@ export function filterSettingsEnvForExplicitProvider( delete filtered[key] } + if (explicitProvider === 'ollama') { + delete filtered.OPENAI_BASE_URL + delete filtered.OPENAI_MODEL + delete filtered.OPENAI_API_KEY + return filtered + } + if (explicitProvider === 'github') { if (!isGithubModel(filtered.OPENAI_MODEL)) { delete filtered.OPENAI_MODEL