# Zellij — Terminal Workspace with Batteries Included > Zellij is a terminal workspace (multiplexer) with batteries included. Written in Rust with sane defaults, discoverable keybindings, a layout system, floating panes, session management, and a WebAssembly plugin system. The modern alternative to tmux. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash # Install brew install zellij # macOS cargo install --locked zellij # Rust # Launch zellij # With layout zellij --layout compact # Named session zellij -s myproject zellij attach myproject zellij list-sessions ``` Default keybindings (press a mode key first): - `Ctrl+p` then `n` — new pane - `Ctrl+p` then `d` — pane direction (down/right) - `Ctrl+p` then `f` — toggle floating pane - `Ctrl+t` then `n` — new tab - `Ctrl+t` then `1-9` — go to tab - `Ctrl+n` then arrows — resize - `Ctrl+s` then `d` — detach session - `Ctrl+o` then `w` — session manager - `Ctrl+q` — quit ## Intro Zellij is a terminal workspace (multiplexer) written in Rust. Unlike tmux with its steep learning curve and cryptic keybindings, Zellij ships with discoverable UI hints, sane defaults, and a layout system. First released in 2021 by Aram Drevekenin, it quickly became the go-to tmux alternative for developers who want modern UX. - **Repo**: https://github.com/zellij-org/zellij - **Stars**: 31K+ - **Language**: Rust - **License**: MIT ## What Zellij Does - **Panes** — horizontal, vertical, floating - **Tabs** — named, reorderable - **Sessions** — persist across detach/reattach - **Layouts** — KDL-based declarative layouts - **Floating panes** — overlay panes - **Plugin system** — WebAssembly plugins (WASI) - **Session manager** — built-in session picker - **Discoverable UI** — mode indicators and key hints at bottom - **Copy mode** — search and select text - **Themes** — built-in themes ## Architecture Rust binary using crossterm for terminal rendering. Plugins run as WASM modules (WASI), isolated and sandboxed. Each pane is a separate PTY process. State is serialized for session persistence. ## Comparison | Multiplexer | Language | Defaults | Plugins | |---|---|---|---| | Zellij | Rust | Discoverable | WASM | | tmux | C | Cryptic | Shell | | screen | C | Basic | None | | Byobu | tmux wrapper | Simplified | tmux | ## FAQ **Q: Zellij vs tmux?** A: Zellij works out of the box (beginner-friendly, discoverable UI, floating panes); tmux is more mature (stable server, larger community, deeper customization). Both work, but Zellij is 10x easier to pick up. **Q: Can it be used with Alacritty?** A: A perfect match. Alacritty (minimal terminal) + Zellij (pane management) is a golden combo for many developers. **Q: Does it support SSH?** A: Run Zellij inside an SSH session. After disconnecting, `zellij attach` restores it. ## Sources - Docs: https://zellij.dev/documentation - GitHub: https://github.com/zellij-org/zellij - License: MIT --- Source: https://tokrepo.com/en/workflows/zellij-terminal-workspace-batteries-included-290aeef4 Author: Script Depot