diff --git a/src/components/AiPanel.test.tsx b/src/components/AiPanel.test.tsx
index aaae70e2..1b62c223 100644
--- a/src/components/AiPanel.test.tsx
+++ b/src/components/AiPanel.test.tsx
@@ -197,6 +197,18 @@ describe('AiPanel', () => {
expect(screen.getByTestId('ai-panel')).toBeTruthy()
})
+ it('caps long AI agent drafts inside a scrollable composer while keeping send visible', () => {
+ render()
+
+ const editor = screen.getByTestId('agent-input')
+ editor.textContent = Array.from({ length: 40 }, (_, index) => `Line ${index + 1}`).join('\n')
+ fireEvent.input(editor)
+
+ expect(editor).toHaveClass('max-h-[160px]', 'overflow-y-auto', 'overscroll-contain')
+ expect(editor).toHaveStyle({ maxHeight: '160px', overflowY: 'auto' })
+ expect(screen.getByTestId('agent-send')).toBeVisible()
+ })
+
it('calls onClose when close button is clicked', () => {
const onClose = vi.fn()
render()
diff --git a/src/components/AiPanelChrome.tsx b/src/components/AiPanelChrome.tsx
index c6284926..fcf4cbc7 100644
--- a/src/components/AiPanelChrome.tsx
+++ b/src/components/AiPanelChrome.tsx
@@ -369,7 +369,7 @@ export function AiPanelComposer({
style={{ padding: '8px 12px' }}
>
-
+