diff --git a/packages/kilo-vscode/webview-ui/src/context/session.tsx b/packages/kilo-vscode/webview-ui/src/context/session.tsx index 6e626322687..e73abe9fb07 100644 --- a/packages/kilo-vscode/webview-ui/src/context/session.tsx +++ b/packages/kilo-vscode/webview-ui/src/context/session.tsx @@ -885,6 +885,11 @@ export const SessionProvider: ParentComponent = (props) => { } setStore("messages", sid, (msgs = []) => [...msgs, temp]) setStore("parts", tempId, [{ type: "text" as const, id: `${tempId}-text`, text }]) + // The optimistic message is now in the DOM but the session status is + // still "idle" (the CLI backend hasn't started yet), so the auto-scroll + // ResizeObserver won't scroll on its own. Force scroll to bottom so the + // user's own message is immediately visible. + queueMicrotask(() => window.dispatchEvent(new CustomEvent("resumeAutoScroll"))) } const agent = selectedAgentName() !== defaultAgent() ? selectedAgentName() : undefined