#1625·sliver

Adding readline capabilities to `shell` (like keyboard shortcuts for editing text, history, and auto-completion)

Author: n3radaCreated Apr 7, 2024Updated Sep 12, 2026
Labelsenhancement

I would very much like to improve the shell command interface in Sliver to allow easier editing of pasted commands. Currently, when a command is pasted into the shell interface, making changes, particularly towards the beginning or middle of the command, can be tedious.

This feature would be particularly useful for commands requiring only minor modification, such as changing a file name or path.

bash
sliver (BIG_ATHLETE) > shell

? This action is bad OPSEC, are you an adult? Yes

[*] Wait approximately 10 seconds after exit, and press <enter> to continue
[*] Opening shell tunnel (EOF to exit) ...

[*] Started remote shell with pid 10608

PS C:\Windows\system32> ^[[A^[[D^[[C^[[B

Consider the following scenario where the user pastes a PowerShell command and needs to modify it:

bash
PS C:\Windows\system32> gci C:\ -filter local.txt -rec -ea 0 | % { "$($_.FullName) -> $((gc $_.FullName) -join ' ')" }

If the user needs to change local.txt to config.txt, it currently could not to this because it is even not able to move character by character.

Isn't it possible to use the same behavior as rlwrap in this context? Or a special go plugin?