From 2b4c10b8b98b9095cdfdfe219233159ca9709e79 Mon Sep 17 00:00:00 2001 From: Keith Guerin Date: Thu, 12 Mar 2026 23:38:16 -0700 Subject: [PATCH] fix: prevent shell attention message from duplicating in tip area --- packages/cli/src/ui/components/Composer.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/cli/src/ui/components/Composer.tsx b/packages/cli/src/ui/components/Composer.tsx index 13fafa82fc..84f6fe671e 100644 --- a/packages/cli/src/ui/components/Composer.tsx +++ b/packages/cli/src/ui/components/Composer.tsx @@ -180,6 +180,10 @@ export const Composer = ({ isFocused = true }: { isFocused?: boolean }) => { : undefined, ); + const isInteractiveShellWaiting = uiState.currentLoadingPhrase?.includes( + INTERACTIVE_SHELL_WAITING_PHRASE, + ); + /** * Calculate the estimated length of the status message to avoid collisions * with the tips area. @@ -214,7 +218,11 @@ export const Composer = ({ isFocused = true }: { isFocused?: boolean }) => { */ const ambientContentStr = (() => { // 1. Proactive Tip (Priority) - if (showTips && uiState.currentTip) { + if ( + showTips && + uiState.currentTip && + !(isInteractiveShellWaiting && uiState.currentTip === INTERACTIVE_SHELL_WAITING_PHRASE) + ) { if ( estimatedStatusLength + uiState.currentTip.length + 10 <= terminalWidth @@ -271,10 +279,6 @@ export const Composer = ({ isFocused = true }: { isFocused?: boolean }) => { const showMinimalInlineLoading = !showUiDetails && showLoadingIndicator; const showMinimalBleedThroughRow = !showUiDetails && showRow2_MiniMode; - const isInteractiveShellWaiting = uiState.currentLoadingPhrase?.includes( - INTERACTIVE_SHELL_WAITING_PHRASE, - ); - const renderAmbientNode = () => { if (!ambientContentStr) return null;