From 75adad801864c6c737195b28abffc02f96a7d814 Mon Sep 17 00:00:00 2001 From: Jarrod Whelan <150866123+jwhelangoog@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:52:58 -0700 Subject: [PATCH] fix(cli): prevent suppression of history items during tool confirmation Updates the history item suppression logic in MainContent to ensure that intermediate turns and narration text remain visible while a tool confirmation (like ask_user) is active. This prevents items from unexpectedly disappearing from the UI during interactive tool execution. - Modified MainContent.tsx to skip suppression when showConfirmationQueue is true. - Updated MainContent.test.tsx with a default mock for useConfirmingTool. --- packages/cli/src/ui/components/MainContent.test.tsx | 2 +- packages/cli/src/ui/components/MainContent.tsx | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/ui/components/MainContent.test.tsx b/packages/cli/src/ui/components/MainContent.test.tsx index ec75573d75..2be3a0ac8b 100644 --- a/packages/cli/src/ui/components/MainContent.test.tsx +++ b/packages/cli/src/ui/components/MainContent.test.tsx @@ -66,7 +66,7 @@ vi.mock('../hooks/useAlternateBuffer.js', () => ({ })); vi.mock('../hooks/useConfirmingTool.js', () => ({ - useConfirmingTool: vi.fn(), + useConfirmingTool: vi.fn(() => null), })); vi.mock('./AppHeader.js', () => ({ diff --git a/packages/cli/src/ui/components/MainContent.tsx b/packages/cli/src/ui/components/MainContent.tsx index 527462be28..d0b7e1284e 100644 --- a/packages/cli/src/ui/components/MainContent.tsx +++ b/packages/cli/src/ui/components/MainContent.tsx @@ -123,20 +123,25 @@ export const MainContent = () => { // Rule 2: Suppress text in intermediate turns (turns containing non-topic // tools) to hide mechanical narration. - if (turnIsIntermediate) { + if (turnIsIntermediate && !showConfirmationQueue) { flags[i] = true; } // Rule 3: Suppress text that precedes a topic tool in the same turn, // as the topic tool "replaces" it. - if (hasTopicToolInTurn) { + if (hasTopicToolInTurn && !showConfirmationQueue) { flags[i] = true; } } } } return flags; - }, [uiState.history, pendingHistoryItems, topicUpdateNarrationEnabled]); + }, [ + uiState.history, + pendingHistoryItems, + topicUpdateNarrationEnabled, + showConfirmationQueue, + ]); const augmentedHistory = useMemo( () =>