Persist active provider profile across restarts (#833)

* Persist active provider profile across restarts

* Clear stale startup provider overrides

* Fix provider profile restart fallback

* Fix provider profile restart fallback

* Omit empty OpenAI API key from startup env

* Fix startup override settings typing
This commit is contained in:
TechBrewBoss
2026-04-24 06:36:21 -05:00
committed by GitHub
parent 038f715b7a
commit 5a21d05741
7 changed files with 295 additions and 21 deletions

View File

@@ -42,6 +42,7 @@ export const DEFAULT_MISTRAL_MODEL = 'devstral-latest'
const PROFILE_ENV_KEYS = [
'CLAUDE_CODE_USE_OPENAI',
'CLAUDE_CODE_USE_GITHUB',
'CLAUDE_CODE_USE_GEMINI',
'CLAUDE_CODE_USE_MISTRAL',
'CLAUDE_CODE_USE_BEDROCK',
@@ -823,7 +824,12 @@ export async function buildLaunchEnv(options: {
(useShellOpenAIConfig ? shellOpenAIModel : undefined) ||
(usePersistedOpenAIConfig ? persistedOpenAIModel : undefined) ||
defaultOpenAIModel
env.OPENAI_API_KEY = processEnv.OPENAI_API_KEY || persistedEnv.OPENAI_API_KEY
const openAIKey = processEnv.OPENAI_API_KEY || persistedEnv.OPENAI_API_KEY
if (openAIKey) {
env.OPENAI_API_KEY = openAIKey
} else {
delete env.OPENAI_API_KEY
}
delete env.CODEX_API_KEY
delete env.CHATGPT_ACCOUNT_ID
delete env.CODEX_ACCOUNT_ID
@@ -859,6 +865,10 @@ export async function buildStartupEnvFromProfile(options?: {
return processEnv
}
if (isEnvTruthy(processEnv.CLAUDE_CODE_USE_GITHUB)) {
return processEnv
}
if (!persisted) {
return processEnv
}