finds.dev← search

// the find

zellij-org/zellij

★ 32,881 · Rust · MIT · updated May 2026

A terminal workspace with batteries included

Zellij is a terminal multiplexer written in Rust, positioned as a more approachable alternative to tmux/screen with better defaults and a discoverable UI. It targets developers who want tabs, panes, and session management without memorizing a config file first, but it also has a deep plugin system via WebAssembly for power users who want to extend it.

- WebAssembly plugin system is genuinely interesting: plugins can be written in any language that compiles to WASM, which means you're not locked into writing Rust to extend it, and the sandbox model is a real security win over tmux's scripting approach.

- Layouts defined in KDL give you reproducible workspace setups as code — you can commit a layout file and get the exact same pane arrangement and commands on any machine, which tmux sessions can't do cleanly.

- E2E test suite uses snapshot testing against actual terminal output, which is the right way to test a terminal emulator and means regressions in rendering are actually caught.

- Built-in multiplayer/web-client support is a real differentiator — sharing a terminal session or accessing it via browser without setting up SSH tunneling or extra tooling is useful for pairing and demos.

- Startup time with WASM plugin loading is noticeably slower than tmux, especially on first run — every default plugin (status bar, tab bar, session manager) is a WASM module that needs to be compiled and cached, which adds friction on constrained machines.

- The plugin API surface is large but documented unevenly; the Rust bindings are well-covered but if you're writing a plugin in Go or Zig you'll be reverse-engineering the ABI from examples rather than from stable docs.

- Session resurrection serializes pane layout but not arbitrary terminal state — scroll history and program state are lost on daemon restart unless you opt into viewport serialization, which has its own caveats. This is a weaker story than tools like `tmux-resurrect`.

- Configuration in KDL is non-standard enough that most existing editor integrations and dotfile templates don't help you; the format also changes between versions, and the migration tooling (`convert-config`) is a signal that breaking changes happen.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →