diff --git a/desktop/src/components/chat/ChatInput.test.tsx b/desktop/src/components/chat/ChatInput.test.tsx
index 05c42d26..6b1c3d63 100644
--- a/desktop/src/components/chat/ChatInput.test.tsx
+++ b/desktop/src/components/chat/ChatInput.test.tsx
@@ -841,6 +841,22 @@ describe('ChatInput file mentions', () => {
expect(fileSearchMenu).not.toHaveTextContent('Navigate')
})
+ it('keeps the active-session toolbar in flow so multiline caret cannot render behind controls', async () => {
+ render()
+
+ await waitFor(() => {
+ expect(mocks.getGitInfo).toHaveBeenCalledWith(sessionId)
+ })
+
+ const input = screen.getByRole('textbox')
+ const toolbar = screen.getByTestId('chat-input-toolbar')
+
+ expect(toolbar).not.toHaveClass('absolute')
+ expect(toolbar).toHaveClass('mt-2')
+ expect(input).not.toHaveClass('pb-12')
+ expect(input).not.toHaveClass('pb-14')
+ })
+
it('prioritizes active-session slash commands by command name when filtering', async () => {
useChatStore.setState({
sessions: {
diff --git a/desktop/src/components/chat/ChatInput.tsx b/desktop/src/components/chat/ChatInput.tsx
index 0b1d9f2c..48bc7aae 100644
--- a/desktop/src/components/chat/ChatInput.tsx
+++ b/desktop/src/components/chat/ChatInput.tsx
@@ -983,15 +983,15 @@ export function ChatInput({ variant = 'default', compact = false }: ChatInputPro
disabled={isWorkspaceMissing}
rows={1}
className={`w-full resize-none bg-transparent text-sm leading-relaxed text-[var(--color-text-primary)] outline-none placeholder:text-[var(--color-text-tertiary)] disabled:opacity-50 ${
- useCompactControls ? 'py-1.5 pb-14' : 'py-2 pb-12'
+ useCompactControls ? 'py-1.5' : 'py-2'
}`}
/>
)}
-