diff --git a/packages/cli/src/test-utils/render.tsx b/packages/cli/src/test-utils/render.tsx index ff9bbb78a7..bf8ca468eb 100644 --- a/packages/cli/src/test-utils/render.tsx +++ b/packages/cli/src/test-utils/render.tsx @@ -504,6 +504,8 @@ const baseMockUiState = { history: [], renderMarkdown: true, streamingState: StreamingState.Idle, + isConfigInitialized: true, + isAuthenticating: false, terminalWidth: 100, terminalHeight: 40, currentModel: 'gemini-pro', diff --git a/packages/cli/src/ui/components/AppHeader.tsx b/packages/cli/src/ui/components/AppHeader.tsx index 7d0ef75a36..1b3d9b2cfa 100644 --- a/packages/cli/src/ui/components/AppHeader.tsx +++ b/packages/cli/src/ui/components/AppHeader.tsx @@ -59,13 +59,20 @@ const NARROW_TERMINAL_BREAKPOINT = 60; export const AppHeader = ({ version, showDetails = true }: AppHeaderProps) => { const settings = useSettings(); const config = useConfig(); - const { terminalWidth, bannerData, bannerVisible, updateInfo } = useUIState(); + const { + terminalWidth, + bannerData, + bannerVisible, + updateInfo, + isConfigInitialized, + isAuthenticating, + } = useUIState(); const { bannerText } = useBanner(bannerData); const { showTips } = useTips(); const authType = config.getContentGeneratorConfig()?.authType; - const loggedOut = !authType; + const loggedOut = isConfigInitialized && !isAuthenticating && !authType; const showHeader = !( settings.merged.ui.hideBanner || config.getScreenReader() diff --git a/packages/cli/src/ui/components/MainContent.tsx b/packages/cli/src/ui/components/MainContent.tsx index 9bfa4184af..b46af4965b 100644 --- a/packages/cli/src/ui/components/MainContent.tsx +++ b/packages/cli/src/ui/components/MainContent.tsx @@ -336,6 +336,10 @@ export const MainContent = () => { isAlternateBuffer, ]); + if (!uiState.isConfigInitialized) { + return null; + } + if (isAlternateBufferOrTerminalBuffer) { return scrollableList; }