[FEATURE] Option to disable mouse capture for native terminal scrolling

Resolved 💬 4 comments Opened Jan 28, 2026 by bog-dance Closed Feb 28, 2026

Problem

Claude Code captures mouse events, which prevents native terminal scrolling in many terminal emulators. When scrolling with the mouse wheel or trackpad, it cycles through input history instead of scrolling the conversation.

This is similar to how Vim behaves with set mouse=a - mouse events are captured by the application instead of the terminal.

Proposed Solution

Add a configuration option to disable mouse capture, similar to Vim's set mouse= (empty/disabled). This would allow users to:

  • Use native terminal scrolling (mouse wheel, trackpad gestures)
  • Use terminal's Page Up/Page Down behavior
  • Still interact with Claude Code via keyboard

Use Case

  • Terminal: Ghostty 1.2.3 (macOS)
  • Shift+Scroll workaround does not work
  • Keyboard shortcuts (Fn+Arrow, Cmd+PageUp) are also captured
  • No terminal-side configuration available to override this

Environment

  • Claude Code version: latest
  • OS: macOS (Darwin 25.2.0)
  • Terminal: Ghostty 1.2.3

Related Issues

  • #12953 - Mousewheel scrolls through input history instead of chat history
  • #15780 - Support mouse scrolling in tmux
  • #2479 - Avoid clearing the terminal scrollback

Additional Context

Many terminal power users prefer native scrollback behavior. An opt-in/opt-out flag (e.g., --no-mouse or config option mouse: false) would improve compatibility with various terminal setups.

View original on GitHub ↗

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