diff --git a/packages/cli/src/core/initializer.ts b/packages/cli/src/core/initializer.ts index fe81816d9..7f7dd508e 100644 --- a/packages/cli/src/core/initializer.ts +++ b/packages/cli/src/core/initializer.ts @@ -15,7 +15,6 @@ import { type LoadedSettings, SettingScope } from '../config/settings.js'; import { performInitialAuth } from './auth.js'; import { validateTheme } from './theme.js'; import { initializeI18n, type SupportedLanguage } from '../i18n/index.js'; -import { initializeLlmOutputLanguage } from '../utils/languageUtils.js'; export interface InitializationResult { authError: string | null; @@ -42,9 +41,6 @@ export async function initializeApp( 'auto'; await initializeI18n(languageSetting as SupportedLanguage | 'auto'); - // Auto-detect and set LLM output language on first use - initializeLlmOutputLanguage(settings.merged.general?.outputLanguage); - // Use authType from modelsConfig which respects CLI --auth-type argument // over settings.security.auth.selectedType const authType = config.modelsConfig.getCurrentAuthType(); diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx index ea2dee43b..cdc873be9 100644 --- a/packages/cli/src/gemini.tsx +++ b/packages/cli/src/gemini.tsx @@ -53,6 +53,7 @@ import { getCliVersion } from './utils/version.js'; import { computeWindowTitle } from './utils/windowTitle.js'; import { validateNonInteractiveAuth } from './validateNonInterActiveAuth.js'; import { showResumeSessionPicker } from './ui/components/StandaloneSessionPicker.js'; +import { initializeLlmOutputLanguage } from './utils/languageUtils.js'; export function validateDnsResolutionOrder( order: string | undefined, @@ -327,6 +328,10 @@ export async function main() { // We are now past the logic handling potentially launching a child process // to run Gemini CLI. It is now safe to perform expensive initialization that // may have side effects. + + // Initialize output language file before config loads to ensure it's included in context + initializeLlmOutputLanguage(settings.merged.general?.outputLanguage); + { const config = await loadCliConfig( settings.merged,