diff --git a/src/shared/EnvManager.ts b/src/shared/EnvManager.ts index ed9159a6..eca3120e 100644 --- a/src/shared/EnvManager.ts +++ b/src/shared/EnvManager.ts @@ -40,6 +40,7 @@ export const MANAGED_CREDENTIAL_KEYS = [ export interface ClaudeMemEnv { // Credentials (optional - empty means use CLI billing for Claude) ANTHROPIC_API_KEY?: string; + ANTHROPIC_BASE_URL?: string; GEMINI_API_KEY?: string; OPENROUTER_API_KEY?: string; } @@ -115,6 +116,7 @@ export function loadClaudeMemEnv(): ClaudeMemEnv { // Only return managed credential keys const result: ClaudeMemEnv = {}; if (parsed.ANTHROPIC_API_KEY) result.ANTHROPIC_API_KEY = parsed.ANTHROPIC_API_KEY; + if (parsed.ANTHROPIC_BASE_URL) result.ANTHROPIC_BASE_URL = parsed.ANTHROPIC_BASE_URL; if (parsed.GEMINI_API_KEY) result.GEMINI_API_KEY = parsed.GEMINI_API_KEY; if (parsed.OPENROUTER_API_KEY) result.OPENROUTER_API_KEY = parsed.OPENROUTER_API_KEY; @@ -151,6 +153,13 @@ export function saveClaudeMemEnv(env: ClaudeMemEnv): void { delete updated.ANTHROPIC_API_KEY; } } + if (env.ANTHROPIC_BASE_URL !== undefined) { + if (env.ANTHROPIC_BASE_URL) { + updated.ANTHROPIC_BASE_URL = env.ANTHROPIC_BASE_URL; + } else { + delete updated.ANTHROPIC_BASE_URL; + } + } if (env.GEMINI_API_KEY !== undefined) { if (env.GEMINI_API_KEY) { updated.GEMINI_API_KEY = env.GEMINI_API_KEY; @@ -210,6 +219,12 @@ export function buildIsolatedEnv(includeCredentials: boolean = true): Record