[BUG] VSCode extension: viewport auto-scrolls to bottom on AskUserQuestion / permission prompt, interrupting scrollback

Resolved 💬 3 comments Opened May 11, 2026 by renato-frizanco-ifc Closed May 15, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Environment

  • Claude Code: VSCode native extension
  • OS: macOS (Darwin 25.4.0)
  • Model: Opus 4.7 (1M)
  • Setting tested: claude-code.useTerminal: true — does NOT mitigate

Repro

  1. Assistant emits a long response.
  2. User scrolls up in the panel to re-read earlier content.
  3. Assistant finishes streaming and emits an interactive prompt (AskUserQuestion or tool permission request).
  4. Viewport jumps to the bottom of the conversation, taking the user away from their reading position.

Expected

Viewport stays at the user's current scroll position. New prompts surface via an unread/"jump to bottom" affordance (Slack/Discord style) instead of forcing scroll.

Notes

  • useTerminal: true does not help because interactive prompts render in the extension UI layer, not inside the integrated terminal.
  • No setting under claude-code.* exposes scroll behavior as of today.

Asks

  • Expose a setting like claude-code.followOutput: false (or equivalent) to opt out of auto-scroll.
  • Or: only auto-scroll when the user was already pinned to the bottom before the new message.

What Should Happen?

Viewport stays at the user's current scroll position. New prompts surface via an unread/"jump to bottom" affordance (Slack/Discord style) instead of forcing scroll.

Error Messages/Logs

Steps to Reproduce

Environment

  • Claude Code: VSCode native extension
  • OS: macOS (Darwin 25.4.0)
  • Model: Opus 4.7 (1M)
  • Setting tested: claude-code.useTerminal: true — does NOT mitigate

Repro

  1. Assistant emits a long response.
  2. User scrolls up in the panel to re-read earlier content.
  3. Assistant finishes streaming and emits an interactive prompt (AskUserQuestion or tool permission request).
  4. Viewport jumps to the bottom of the conversation, taking the user away from their reading position.

Expected

Viewport stays at the user's current scroll position. New prompts surface via an unread/"jump to bottom" affordance (Slack/Discord style) instead of forcing scroll.

Notes

  • useTerminal: true does not help because interactive prompts render in the extension UI layer, not inside the integrated terminal.
  • No setting under claude-code.* exposes scroll behavior as of today.

Asks

  • Expose a setting like claude-code.followOutput: false (or equivalent) to opt out of auto-scroll.
  • Or: only auto-scroll when the user was already pinned to the bottom before the new message.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.126

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Environment

  • Claude Code: VSCode native extension
  • OS: macOS (Darwin 25.4.0)
  • Model: Opus 4.7 (1M)
  • Setting tested: claude-code.useTerminal: true — does NOT mitigate

Repro

  1. Assistant emits a long response.
  2. User scrolls up in the panel to re-read earlier content.
  3. Assistant finishes streaming and emits an interactive prompt (AskUserQuestion or tool permission request).
  4. Viewport jumps to the bottom of the conversation, taking the user away from their reading position.

Expected

Viewport stays at the user's current scroll position. New prompts surface via an unread/"jump to bottom" affordance (Slack/Discord style) instead of forcing scroll.

Notes

  • useTerminal: true does not help because interactive prompts render in the extension UI layer, not inside the integrated terminal.
  • No setting under claude-code.* exposes scroll behavior as of today.

Asks

  • Expose a setting like claude-code.followOutput: false (or equivalent) to opt out of auto-scroll.
  • Or: only auto-scroll when the user was already pinned to the bottom before the new message.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗