Pressing 'Enter' to execute a command first moves cursor to end of line #12954

Closed
opened 2026-01-31 03:29:53 +00:00 by claunia · 4 comments
Owner

Originally created by @rectified95 on GitHub (Mar 10, 2021).

Environment

Windows build number: Win32NT             10.0.21322.0 Microsoft Windows NT 10.0.21322.0
Windows Terminal version (if applicable): 1.6.10571.0

Any other software?

Steps to reproduce

  1. Type any command, eg. git status and move the cursor to the middle of the string.
  2. Press Enter to run the command.

Expected behavior

Command should execute immediately.

Actual behavior

Seeing a short flicker due to the cursor moving to the end of the line before the command gets executed.

Originally created by @rectified95 on GitHub (Mar 10, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: Win32NT 10.0.21322.0 Microsoft Windows NT 10.0.21322.0 Windows Terminal version (if applicable): 1.6.10571.0 Any other software? ``` # Steps to reproduce <!-- A description of how to trigger this bug. --> 1. Type any command, eg. `git status` and move the cursor to the middle of the string. 2. Press `Enter` to run the command. # Expected behavior <!-- A description of what you're expecting, possibly containing screenshots or reference material. --> Command should execute immediately. # Actual behavior <!-- What's actually happening? --> Seeing a short flicker due to the cursor moving to the end of the line before the command gets executed.
claunia added the Needs-TriageResolution-ExternalNeeds-Tag-FixNeeds-Attention labels 2026-01-31 03:29:53 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Mar 10, 2021):

What shell are you using? cmd? PowerShell? Some linux shell (possibly via ssh or WSL)? Something else? And what version of that shell?

@zadjii-msft commented on GitHub (Mar 10, 2021): What shell are you using? cmd? PowerShell? Some linux shell (possibly via ssh or WSL)? Something else? And what version of that shell?
Author
Owner

@rectified95 commented on GitHub (Mar 10, 2021):

It defaults to Powershell for me.
PSVersion 5.1.21322.1000

@rectified95 commented on GitHub (Mar 10, 2021): It defaults to Powershell for me. PSVersion 5.1.21322.1000
Author
Owner

@jdebp commented on GitHub (Mar 12, 2021):

Actually, executing immediately from the cursor in the middle of the input line is not the expected behaviour. The expected behaviour, from pretty much all shells and command interpreters, is to have the cursor on the start of the following line and then execute the command. Sometimes this involves finalization of the input area in some form. (The Z shell erases any active completion menu, for example. A command-line interpreter could have things like deferred syntax colouring, un-highlighting of pasted text, or other stuff to do at finalization.)

PSReadLine's finalization apparently involves moving the input point to the end of the line. This is nothing to do with Windows Terminal, which just displays what programs tell it to.

@jdebp commented on GitHub (Mar 12, 2021): Actually, executing immediately from the cursor in the middle of the input line is _not_ the expected behaviour. The expected behaviour, from pretty much all shells and command interpreters, is to have the cursor on the start of the following line and _then_ execute the command. Sometimes this involves finalization of the input area in some form. (The Z shell erases any active completion menu, for example. A command-line interpreter could have things like deferred syntax colouring, un-highlighting of pasted text, or other stuff to do at finalization.) [PSReadLine's finalization apparently involves moving the input point to the end of the line](https://github.com/PowerShell/PSReadLine/blob/0de63689c40135825d84002e6c394d8033f22ee0/PSReadLine/BasicEditing.cs#L303). This is _nothing to do with Windows Terminal_, which just displays what programs tell it to.
Author
Owner

@zadjii-msft commented on GitHub (Mar 12, 2021):

Yep, that sure does sound like it's caused by PSReadline. Note that if you Remove-Module PSReadline, the behavior goes away 😉 If you want, you could try filing a bug upstream at https://github.com/powershell/PSReadline, but this might be by-design.

@zadjii-msft commented on GitHub (Mar 12, 2021): Yep, that sure does sound like it's caused by PSReadline. Note that if you `Remove-Module PSReadline`, the behavior goes away 😉 If you want, you could try filing a bug upstream at https://github.com/powershell/PSReadline, but this might be by-design.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12954