Terminal & shell
$ printf 'cherry\napple\nbanana\n' > fruits.txt$ sort fruits.txt | head -2applebanana$ chmod +x greet.sh && ./greet.sh # a real, persisted exec bitThe shell is a real lexer, parser, and interpreter for POSIX-like syntax.
Pipes, redirects, heredocs, command substitution, set -e, trap,
source, $?, and 60+ coreutils work. Shebangs and WASM magic dispatch
./script.sh and ./hello.wasm. Full IFS splitting and complete job
control aren’t done. The probes in tests/behavioral/shell/ are the
source of truth for every claim here.
The terminal below is a live sandbox running a redirect, a pipe through
real coreutils, and id, which prints the credential every command runs
under. After the demo, you can type your own commands.
Live sandbox — connecting…
Run python, ruby, node, or bun with no arguments to open a REPL.
Python and Ruby are stateful real interpreters, so variables and imports
persist across submits. Node and Bun can’t keep declarations: workerd’s CSP
blocks runtime eval. Their banners say so. Scripts are unaffected.
Leave with Ctrl+D or exit.
Full-screen CLIs alpha
Section titled “Full-screen CLIs alpha”Foreground npm bins open in attached tabs. Keystrokes reach the process,
resizes propagate, and ANSI redraws render. Pipe the same bin and it sees
isTTY: false. Behavioral probes run the Pi coding agent end to end
through both install paths.
opencode is the reference stress test. Its serve half boots, passes its health gate, and streams SSE. The TUI half renders frames but runs on a thin memory margin that is still being hardened, so full-TUI support is not yet claimed. Full PTY parity — raw and cooked modes, signals, and scrollback replay — is roadmap.
Recovery
Section titled “Recovery”After a dropped WebSocket, the terminal reconnects with cwd, environment,
and files intact. One person owns the active terminal. If a deployment
enforces auth, anyone joining also needs a valid
attach token.