Skip to content

tmux compatibility ​

What zeropty does and does not do compared with tmux.

Feature comparison with tmux ​

zeropty focuses on keeping programs running, reading their screens and sending them keys. Most features for humans sharing a terminal are not there.

Featuretmuxzeropty
Create, kill and list sessions, send keys, read the screen✅✅ same arguments
capture-pane optionsmany-p -e -J -N -S -E -b -q (others are errors)
Buffersload/paste/set/show/save-buffer and moreload-buffer, paste-buffer, capture-pane -b
pipe-pane, rename-session, resize-window, set-environment -g✅✅ (no pipe-pane -I)
Format variables #{...}hundreds25 session, window, pane, cursor, history and process variables (no conditionals or modifiers)
Attach to watch as a human (attach)✅✅ read-only (-r), Ctrl-b d, follows the terminal size
Windows and panes✅❌ one program per session
Status line, copy mode, key bindings, config file, hooks✅❌
Several clients attached to one session✅✅ (the size follows the terminal that attached last)
PTY1 per session (macOS limit 511~999)not used; 1000+ sessions
Full-screen programs (vim and others)✅Launch them with zeropty-tty <program>. Verified with vim (editing, saving), less (paging, quitting), the python REPL (line editing, history) and claude. System programs that need privileges (setuid, entitlements), such as top and ps, do not work
Access for programscontrol mode (-C)JSON socket protocol, Node client
Search text across every session's screen❌ capture-pane per session✅ grep-panes (16~32ms for 1000)
Line discipline for key input (Enter, C-c signals, line editing, echo, C-d)✅ PTY✅ emulated by the engine (same keys checked against tmux). EOF from C-d closes the input
Wait until text appears on screen or output stops❌ repeatedly check with capture-pane✅ wait-pane (the server checks only when output arrives; detection 2ms)
Embed as a library❌✅ C ABI, Node module, Rust crate
Move running sessions to another process❌✅ pull-sessions, push-sessions
Keep sessions across server restarts and upgrades❌✅ restart-server
Platformsmost Unix systemsmacOS only (kqueue, DYLD shim)

Released under the MIT or Apache-2.0 license.