quil
v1.92.0 github
Compare · all comparisons

Quil vs GNU Screen

The original Unix terminal multiplexer, first released in 1987. Still shipped by default on most Unix distributions.

GNU Screen · where it wins

Ships by default on virtually every Unix host.

Ships by default on virtually every Unix host. Minimal dependencies. Works on systems where you can't install anything else. A legitimate fallback when you SSH into a hardened server.

Quil · where it takes over

Reboot survival. AI continuity. Typed panes.

1987-era UX. No mouse support by default. Config syntax that nobody enjoys writing. Zero AI integration. No reboot persistence. No typed panes.

Where they fit

Screen is what every serious Unix admin learned first. It's stable, tiny, and still works on systems where tmux isn't installed. But it's a product of its era: no mouse support, no modern plugin model, no AI awareness, no reboot persistence, and a config syntax from another century.

Capability matrix

Feature by feature

capabilityquilGNU Screen
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 no
└── 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 no
└── 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 no
└── Quil uses declarative TOML. Zellij uses WASM. WezTerm uses Lua. tmux uses shell scripts.
Mouse support yes no
Ghost buffers (last 500 lines instant on reconnect) yes no
Command palette (fuzzy action + pane launcher) yes no
└── 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 no
Declarative keybindings (config file) yes yes
Migrating from GNU Screen

Coming from GNU Screen?

If you're still on screen for everyday work, any modern multiplexer is a straight upgrade. Quil's sweet spot is if you want the modern UX and also the reboot-proof persistence that even tmux doesn't give you.

Questions

Is Quil smaller than screen?

No. Quil ships as two binaries (quil + quild) totalling around 40 MB. Screen is a single ~1 MB binary. If binary size is your constraint, screen wins.

Can Quil replace screen on a headless server?

Technically yes, but Quil is designed for interactive developer workflows. For pure detach-and-reattach on a headless host, screen and tmux are better targeted.

Is screen actively maintained?

Yes, but slowly. Version 5.0 shipped in 2024 — the first major release since 2014.

What is a modern alternative to GNU Screen?

Any current multiplexer — tmux, Zellij, or Quil — is a straight upgrade from Screen's 1987-era UX, mouse-less defaults, and dated config syntax. Quil goes further than the others by surviving a full host reboot and auto-resuming AI coding sessions, which even tmux doesn't do. If you only need detach-and-reattach on a headless server, tmux is the closest like-for-like replacement.

Does Quil run on Windows, unlike GNU Screen?

Yes. GNU Screen is Unix-only. Quil ships a native Windows binary using ConPTY — no WSL required — alongside its Linux and macOS builds, so it's a cross-platform alternative to Screen for developers who also work on Windows.

See also

Other comparisons

▸ install quil every capability →

Quil installs side by side with GNU Screen. Nothing to uninstall first.