Great command line editing in the PowerShell console host

Minimum PowerShell version


This is a prerelease version of PSReadLine.
There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PSReadLine -RequiredVersion 2.0.0-beta1 -AllowPrerelease

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Microsoft Corporation


(c) Microsoft Corporation. All rights reserved.



Get-PSReadLineKeyHandler Set-PSReadLineKeyHandler Remove-PSReadLineKeyHandler Get-PSReadLineOption Set-PSReadLineOption




This module has no dependencies.

Release Notes

### Version 2.0

Pre-release notes:

There are known issues:

* Some custom key bindings are broken (#580)

Breaking changes:
* Requires PowerShell V5 or later and .Net 4.6.1
* Set-PSReadLineOption options have changed
 - To specify colors, use the new `-Color` parameter and pass a Hashtable
 - All other color options have been removed include `-ResetTokenColors`
 - To specify background colors, you must now use a VT escape sequence.
* Changing the end of the prompt to red may not work automatically anymore if
 your prompt is non-trivial. To fix, use `Set-PSReadLineOption -PromptText "> "`.
* Consistently use `PSReadLine` instead of `PSReadline` everywhere, APIs, cmdlets, files, etc.
* Building requires VS2017

New features:
* Interactive filtering during menu complete (#515) (Thanks @MVKozlov!)
* Redirected input now works (#564) (Thanks @parkovski!)
* Tooltips always on in MenuComplete (only displayed
 if they give more information than the completion.)
* Get-PSReadLineKeyHandler output is grouped by category. (#114)
* Support for VT escape sequences to specify colors.
* Shift+Insert bound to Paste in Windows mode (#484)
* Ctrl+t bound to SwapCharacters in Emacs mode (#538) (Thanks andrewcromwell!)
* Ctrl+x,Ctrl+e bound to ViEditVisually in Emacs mode (#478)
* HistoryNoDuplicates is now on by default (#208)

Bug fixes:
* DeleteChar no longer deletes any text left of the cursor in Windows/Emacs
 and matches vim behavior of working like <x> in command mode.
* Fix InvokePrompt when the prompt is > 1 line.
* Fix YankToPercent off by 1 error.
* Fix error reported when running in container.
* Catch and ignore execptions in InvokePrompt (#583)
* Get new completions on 2nd tab if 1st had 1 result (#238)
* Tab replaced with 4 spaces during paste (#144)
* Fix rendering after buffer resize (#418)
* Invoke external editor w/o AcceptLine (#339)
* Fix exception with UpArrow after a command line edit in vi-mode (#573) (Thanks @srdubya!)
* Treat DingDuration=0 as BellStyle.None (#364)
* Color long name parameters like --force as a parameter (#398)
* Allow CaptureScreen to be used w/o a key binding (#419)
* Ignore duplicates during tab completion (#413)
* Fix exception with negative count in Delete (#502)
* Use correct help file name (#507)
* Fix exception in ShowKeyBinding w/ custom handler (#505)
* Normalize filename for saving history (#512)
* Treat end of buffer as whitespace for vi words (#536)
* Fix exception with invalid CompletionResult (#534)
* Fix exception with negative count in Kill* (#540) (Thanks andrewcromwell!)
* Fixes to SwapCharacters (#538) (Thanks andrewcromwell!)
* Fix cursor placement with CJK characters (#542)
* Fix key bindings with certain Windows keyboard layouts (#168 #556)
* Remove Ding from Backspace on an empty line (#422)
* Fix occasional hang reading history file (#524)
* HistorySearchCursorMovesToEnd previously only worked in incremental search.
 It is now on by default, honored in the non-incremental search (HistorySearch)
 and also in Vi Command mode for non-search history recall. (#438 #530) (Thanks @srdubya!)

Version History

Version Downloads Last updated
2.0.0-rc1 301 12/11/2019
2.0.0-beta6 4,323 11/14/2019
2.0.0-beta5 12,609 9/13/2019
2.0.0-beta4 14,383 5/7/2019
2.0.0-beta3 30,136 9/4/2018
2.0.0-beta2 7,205 6/4/2018
2.0.0-beta1 (current version) 1,860 12/6/2017
1.2 90,908 1/25/2016 6,496 2/18/2015 724 8/26/2014 134 6/13/2014 20 6/13/2014 21 6/11/2014 136 5/7/2014
Show less