Headless Shell Protocol - oils-for-unix/oils GitHub Wiki
(back: Interactive Shell / Headless Mode)
Some Zulip threads
Demos
GUIs
Vibe-coded with Claude:
- #shell-gui > Demo of Shell GUI with Copyable Blocks in PyQT
- #shell-gui > Demo of embedded terminal on GUI in Linux
Design
Comparisons
Features
Feature comparison
| Feature | readline | FANOS | Warp | DOMTerm | hsp 1(https://github.com/132ikl/hsp/)[2](/oils-for-unix/oils/wiki/2)(https://git.ikl.sh/132ikl/hsp-rs/) |
|---|---|---|---|---|---|
| command information (started, still running, stopped, last exit code, ...) | prompthacks | command stopped | ?? | ?? | yes |
| completion | simple file/directory completion/shell integration | no | ?? | ?? | possible? |
| history | yes | no | ?? | yes, client-side | |
| clear separate stdin/stdout/stderr & per command | - | separate fds per command | - | prompthacks | yes |
| multiplexing/concurrent processes/async? | no | yes | no? | ?? | no |
| send signal to the command/current external process (ctrl+c) | yes | broken? | ?? | ?? | possible |
| remote (e.g. via SSH/Socket/...) | yes | no | yes? | ?? | possible |
| implementable in plain shell | no | no | yes? | no? | yes |
| support PTY features (line modes, WINCH, tput, etc.) | - | yes | yes? | ?? | possible? |
| Don't break any escape sequences | yes | yes | yes? | yes? | yes |
"nested" shells like nix-shell, virtualenv, new shell in a container, etc. |
yes | possible | yes? | ?? | possible |
| she-dot / seperate render | no | possible | no? | insert html; "\e]72;" html-text "\a" |
yes |