Repository navigation
Description
Windows Terminal version (or Windows build number)
1.6.10571
Other Software
tmux 3.0a
Steps to reproduce
In Windows terminal, if you have an existing selection and then make a new selection while the shift key is held, the beginning of the selection is not changed, but instead of the selection is extended.
If you are using an application that supports mouse input (tmux in my example, but this should hold true for any application that supports mouse input), you have to hold the shift key to disable mouse input so you can natively select text in the terminal.
These 2 features conflict with each other as they are on the same modifier key (shift).
A common pattern for me in tmux, is I want to highlight some text, so I shift+select, but I miss my desired start of the selection, so I attempt to shift+select again, but due to the "extend select" feature, it doesn't move my starting position.
There is no-way I can find to clear the current selection using the mouse. My only workaround is to type a character and delete it again to clear my selection.
Expected Behavior
I would like to see a way to disable the "extend select" feature, or move it to a different modifier key, so it doesn't conflict.
Actual Behavior
See Steps to reproduce
Activity
DHowett commentedon Mar 24, 2021
The solution we took for 1.7 is that Shift-clicking when there's no selection sets the selection start point. Is that an acceptable compromise?
DHowett commentedon Mar 24, 2021
(with esc for dismissing the selection- sorry; I didn't consider all of the issues there)
danfoster commentedon Mar 24, 2021
It's not ideal imo, as this differs from the behavior of terminal emulators on different OSes, which makes moving between platforms and muscle memory conflict.
My preference would be that there is some method of making shift+click always start a new selection, but I do realise it's subjective at this point.
Don-Vito commentedon Apr 11, 2021
Dustin L. Howett (@DHowett), Dan Foster (@danfoster) - some terminals dismiss selection with shift click on the selection boundaries (anchor / end). We can easily implement. WDYT?
DHowett commentedon Apr 12, 2021
I don't mind that, yeah
YAMLcase commentedon Apr 14, 2021
I'm not sure trying to get
mouse event overrideandextend selectionto co-exist is the best approach as even long standing terminal apps struggle with this clash.putty for instance has options to have the mouse behave like windows or xterm (or a mix of the two). I for one have never once used shift to extend my selection, I just reselect if I'm not satisfied... however I also wouldn't presume anyone else to use my workflow.
Perhaps the way to go is add a suite of options to let people decide on their own with some reasonable defaults. Here's some ideas:
FYI, more behaviors affected by this are shift + double and triple clicking won't select the entire word/line, it only selects from the beginning of the word/line to the character you're clicking on
zadjii-msft commentedon Feb 25, 2022
Hmm. Here's a thought: the selection anchors from #10865, we could make those draggable with the mouse even in mouse mode. Then you could just move the start anchor manually, even without shift.
Big picture there's also #1553 for more elaborate settings for mouse bindings.
DHowett commentedon Oct 1, 2025
Copying Josef Wells (@josefwells)' request from #19321
Improve UX for selection during VTMM (microsoft#19973)
Improve UX for selection during VTMM (#19973)
Improve UX for selection during VTMM (#19973)
Slimariella commentedon Jun 18, 2026
Workaround: keep native WT selection and mouse-wheel scroll in tmux — without Shift
The Shift conflict in this issue comes from a single constraint: the mouse is one signal. With tmux
mouse on, tmux owns drag + wheel, so native WT selection requires holding Shift. With tmuxmouse off, WT handles selection natively, but the wheel just becomes ↑/↓ arrows (alternate-scroll) and stops scrolling the pane.Instead of trying to split the mouse inside the terminal (which WT can't do today), you can split it one layer up, at the OS input level, with AutoHotkey v2 — and only while Terminal is focused:
Then keep tmux in
mouse off(native WT selection + right-click copy/paste preserved) and bind those keys to scroll the pane:Result: the physical wheel scrolls the tmux scrollback, drag still produces the native blue selection, and Shift is never needed. Adjust
-N 3for scroll speed.Full snippet (AHK script +
tmux.conf+ README) as a gist: https://gist.github.com/Slimariella/6fc293e1350132cad1826b1492f30460Tested on Windows Terminal 1.24 + tmux 3.4.