Zellij
Canonical version: Zellij.
Zellij is a modern terminal multiplexer written in Rust. It positions itself as a "terminal workspace" that doesn't sacrifice simplicity for power; discoverable UI with on-screen keybinding hints makes it approachable without limiting what power users can do.
Key Features
- Floating and stacked panes: first-class floating panes (toggle with
Alt f), persistent across hide/show. Stacked panes layer multiple panes vertically for compact layouts - Layouts: KDL-based layout files define panes, tabs, commands, and plugins. Version-controllable and shareable
- Session management: session manager (
Ctrl o+w), welcome screen, and session resurrection (restore closed sessions with full pane structure, even across reboots) - Command panes: treat shell commands as first-class panes with visible exit codes and one-key re-run (
Enter) - Plugin system: WebAssembly-based plugins; write in any language that compiles to WASM (Rust has first-class SDK support). The entire UI (tab bar, status bar, session manager) is built from plugins
- Web client: built-in web server serves sessions in the browser with authentication; useful for remote access and multiplayer collaboration
- Scrollback editing: open any pane's scrollback in
$EDITOR(Ctrl s+e) - Multiple pane select: bulk operations on panes via
Alt+ click
How It Compares to tmux
| Aspect | Zellij | TMux |
|---|---|---|
| Language | Rust | C |
| Config format | KDL | Custom (~/.tmux.conf) |
| Plugin system | WASM | None (scripting via hooks) |
| UI discoverability | Built-in keybinding hints | Minimal (need prefix ?) |
| Floating panes | Native | Not built-in |
| Session resurrection | Built-in | Via plugin (tmux-resurrect) |
| Ecosystem maturity | Growing | Very mature, large plugin ecosystem |
Installation
# Cargo
cargo install --locked zellij
# Try without installing
bash <(curl -L https://zellij.dev/launch)
References
Related
- Terminal Multiplexers
- TMux
- Rust
- Shell
- Command Line Interface (CLI)
- Terminal User Interface (TUI)
- Ghostty
- Alacritty
- Secure Shell (SSH)
- WezTerm — GPU-accelerated terminal with built-in multiplexing, Lua config
- Byobu — the wrapper approach to the same discoverability goal
- shpool — the unbundled alternative
About Sébastien
Ready to get to the next level?
Found this valuable? Share it with someone who needs it.