[FEATURE] Mouse support in the terminal UI — click-to-navigate and cursor interaction
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code's terminal UI is currently keyboard-only. Navigating between UI elements (menus, prompts, options, message history) requires arrow keys and keyboard shortcuts, which can be slow and unintuitive — especially for users who naturally reach for the mouse. There is no way to click on an element in the TUI to select it, move the cursor by clicking, or interact with on-screen hints/buttons directly.
Proposed Solution
Add mouse support to the Claude Code terminal UI so that pointer interaction works alongside the keyboard:
- Click to navigate: clicking on a menu item, option, tab, or list row selects/activates it, mirroring what the corresponding keypress would do.
- Click to position the cursor: clicking inside the input/prompt area moves the text cursor to that position.
- Clickable footer/hint keycaps: the shortcut hints shown at the bottom of the UI act as buttons when clicked.
- Wheel scrolling: scroll message history, lists, and panes with the mouse wheel.
- Click-away to dismiss: clicking outside a dialog/overlay dismisses it (like pressing esc).
Modern terminal emulators support mouse reporting escape sequences (SGR mouse mode), and TUI frameworks commonly expose click and wheel events with hit-testing, so clicks can be routed to whatever element is under the pointer. Keyboard navigation should remain fully functional — mouse support would be additive, not a replacement.
Alternative Solutions
Currently the only option is keyboard navigation (arrow keys, tab, shortcuts). Other terminal-based tools with rich TUIs have successfully implemented full mouse support (wheel scrolling, clicking tabs/rows/buttons, click-away dialog dismissal), demonstrating this is feasible and greatly improves usability.
Priority
Low - Nice to have
Feature Category
Interactive mode (TUI)
Use Case Example
Example scenario:
- I'm in an interactive Claude Code session and a permission prompt appears with multiple options.
- Instead of arrowing down to the option I want, I simply click it with the mouse.
- Later, I want to edit part of my prompt — I click directly at the spot in the input where I want the cursor, rather than holding arrow keys.
- I scroll back through the conversation history with the mouse wheel and click a footer hint to trigger its action.
- This makes navigation faster and more natural, especially in long sessions.
Additional Context
Mouse reporting is widely supported across modern terminal emulators (iTerm2, Windows Terminal, kitty, WezTerm, Alacritty, GNOME Terminal, etc.), and popular TUI frameworks provide click/wheel event handling out of the box. Mouse mode could be gated behind a setting for users who prefer native terminal text selection.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗