diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx
index 06a551554a..e8209d884d 100644
--- a/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx
+++ b/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx
@@ -46,4 +46,21 @@ describe(' - Raw Markdown Display Snapshots', () => {
expect(lastFrame()).toMatchSnapshot();
},
);
+
+ it('wraps long lines correctly in raw markdown mode', () => {
+ const terminalWidth = 20;
+ const text =
+ 'This is a long line that should wrap correctly without truncation';
+ const { lastFrame } = renderWithProviders(
+ ,
+ {
+ uiState: { renderMarkdown: false, streamingState: StreamingState.Idle },
+ },
+ );
+ expect(lastFrame()).toMatchSnapshot();
+ });
});
diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.tsx
index 95e392dab7..3c17a3850f 100644
--- a/packages/cli/src/ui/components/messages/GeminiMessage.tsx
+++ b/packages/cli/src/ui/components/messages/GeminiMessage.tsx
@@ -47,7 +47,7 @@ export const GeminiMessage: React.FC = ({
? undefined
: Math.max(availableTerminalHeight - 1, 1)
}
- terminalWidth={terminalWidth}
+ terminalWidth={Math.max(terminalWidth - prefixWidth, 0)}
renderMarkdown={renderMarkdown}
/>
= ({
? undefined
: Math.max(availableTerminalHeight - 1, 1)
}
- terminalWidth={terminalWidth}
+ terminalWidth={Math.max(terminalWidth - prefixWidth, 0)}
renderMarkdown={renderMarkdown}
/>
- Raw Markdown Display Snapshots > renders with rende
1 const x = 1;
"
`;
+
+exports[` - Raw Markdown Display Snapshots > wraps long lines correctly in raw markdown mode 1`] = `
+"✦ This is a long
+ line that should
+ wrap correctly
+ without
+ truncation
+"
+`;