quil
v1.92.0 github
Compare · all comparisons

Quil vs WezTerm

A GPU-accelerated cross-platform terminal emulator with built-in multiplexer features, written in Rust, extensible via Lua. Released by Wez Furlong.

WezTerm · where it wins

Best-in-class rendering, GPU-accelerated, ligature support, Lua extensibility, built-in SSH multiplexer.

Best-in-class rendering, GPU-accelerated, ligature support, Lua extensibility, built-in SSH multiplexer. WezTerm is one of the most polished terminal emulators available.

Quil · where it takes over

Reboot survival. AI continuity. Typed panes.

No reboot persistence, no AI session awareness, no typed panes. WezTerm's multiplexer is an escape hatch for when you need tabs without a separate multiplexer — it's not the core of the product.

Where they fit

WezTerm is a terminal emulator that happens to have multiplexer features. Quil is a workflow orchestrator that happens to render terminals. The category is different: WezTerm cares about glyph rendering, ligatures, and GPU compositing. Quil cares about what happens when you reboot.

Capability matrix

Feature by feature

capabilityquilWezTerm
Session persistence while the multiplexer server is running yes yes
Survives a full host reboot yes no
└── Quil's defining capability. Zellij is the one honest partial: session serialization is on by default, so after a reboot it brings back the layout, the tabs and the working directories, and offers each pane's command behind a “Press ENTER to run” prompt. What it does not bring back is the work — no running processes, no scrollback unless you turned that on, and no idea an AI session ever existed. tmux, WezTerm and Screen lose the session outright; tmux-resurrect gets tmux to roughly where Zellij already is.
AI session auto-resume (Claude Code, OpenCode, Codex) yes no
Remote attach: local client, sessions on another host yes yes
└── tmux, Zellij and Screen run their client ON the remote — you ssh in first, and a dropped link means re-attaching by hand. WezTerm's mux domains and Quil's `quil --remote <host>` both keep the client local and reconnect by themselves. Quil opens no port on the server (it is one `ssh -T` channel) and installs itself on a bare host.
Agent state per group, visible at a glance yes no
└── Not "does it have a sidebar" — the claim is that the multiplexer knows an agent is mid-turn, versus waiting on a permission prompt, versus finished. That needs a feed from the agent itself; Quil reads Claude Code and OpenCode hook events. Every project row carries a roll-up of its agents and keeps updating while you are looking at a different project, which is the point: the one that got stuck is the one you are not watching.
Several hosts' sessions side by side in one client yes yes
└── WezTerm's mux domains genuinely do this — you can attach several and mix their tabs in one window. tmux, Zellij and Screen run the client on the remote, so a second host means a second terminal. Quil dials each host over its own `ssh -T` channel, gives each its own reconnect state, and groups their projects in the same sidebar; one daemon dying leaves the rest interactive.
Typed panes (Terminal / AI / SSH / Webhook) yes no
Plugin system yes yes
└── Quil uses declarative TOML. Zellij uses WASM. WezTerm uses Lua. tmux uses shell scripts.
Mouse support yes yes
Ghost buffers (last 500 lines instant on reconnect) yes partial
Command palette (fuzzy action + pane launcher) yes yes
└── WezTerm's is built in (Ctrl+Shift+P, frecency-ranked). tmux has a command prompt but it is not fuzzy. Zellij's comes from community plugins (cmd-pal), not the core.
Search every pane's scrollback from one prompt yes no
└── Every other tool searches one pane at a time in copy mode — including WezTerm, whose palette is command-only. Across panes, tmux needs the third-party tmux-grep plugin. In Quil it is the same box as the command palette: type, and matching panes appear under `Found in panes` with a preview and a match count.
MCP server for AI agents yes no
Notification center + idle analysis yes no
Pane notes editor (Alt+E) yes no
Windows native (no WSL) yes yes
Declarative keybindings (config file) yes yes
Migrating from WezTerm

Coming from WezTerm?

Keep WezTerm as your terminal emulator and run Quil inside it. The two are complementary: WezTerm handles rendering (fonts, ligatures, GPU acceleration), Quil handles workflow (persistence, AI sessions, typed panes).

Questions

Can I use WezTerm and Quil together?

Yes, and we recommend it. WezTerm renders Quil beautifully, and Quil's persistence layer complements WezTerm's lack of reboot survival.

Does Quil have its own terminal emulator?

No. Quil is a TUI that runs inside whatever terminal emulator you already use — WezTerm, Alacritty, Kitty, Windows Terminal, Ghostty, iTerm2, the Linux console — anything with PTY support works.

Why not just use WezTerm's multiplexer?

WezTerm's multiplexer is fine for tabs and splits but doesn't survive a reboot or understand pane types. If those features don't matter to you, WezTerm alone is plenty.