Skip to content
§ 01 / 06 · HERO LAT 48.8566° N LON 2.3522° E BUILD 1.50.0-release REV 20260805
v1.50.0 shipped · reboot-proof since 2025

the workspace that doesn't forget._

tmux survives disconnects. Quil survives reboots. Typed panes, auto-resuming Claude Code sessions, and an MCP server that lets AI agents reach into your terminal. One static binary. No daemon to configure. No cloud account.

◆ LINUX · MACOS · WINDOWS ◆ NO WSL ◆ ~40 MB ◆ GO 1.25 · BUBBLE TEA V2
┏━━━ § 02 / 06 ━ WHAT IT DOES━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

A multiplexer is a tool. Quil is a contract.

The contract: your machine rebooting is not your problem. Neither is re-explaining context to Claude Code, re-pasting your last screenshot, rebuilding five SSH tunnels by hand, or losing a server-side agent because your laptop went to sleep. Six capabilities, each load-bearing, each opinionated.

◇ 01 Reboot-proof sessions

Tabs, panes, working directories, and layout ratios snapshot continuously to ~/.quil/workspace.json. Type quil after any restart — everything snaps back in under 30 seconds. Ghost buffers replay the last 500 lines per pane while shells re-initialise.

← PERSISTENCE
◇ 02 Claude Code resumes itself

Each AI pane owns a UUID at spawn. On restart, Quil runs claude --resume <id> automatically. No copy-paste, no context rebuild, no re-explaining what you were doing. Your conversation is where you left it. How auto-resume works →

← AI CONTINUITY
◇ 03 Typed panes, not shells

A Claude Code pane resumes differently than an SSH tunnel, which resumes differently than a stripe listen. Nine types built in — terminal, claude-code, opencode (beta), ssh, stripe, lazygit, k9s, lazysql. Yours in 30 lines of TOML. No compile, no restart, hot-reload on save.

← TOML PLUGINS
◇ 04 MCP server for agents

Run quil mcp and any MCP-capable client — Claude Desktop, Cursor, Claude Code — can list panes, read output, send keystrokes, and snapshot your workspace. 18 tools. Your terminal becomes addressable by AI.

← AGENT LAYER
◇ 05 Panes on another machine

quil --remote gpu01 puts the daemon on the server and the TUI on your laptop. No port is opened — it is ssh -T and one channel. Close the lid and the panes keep working; reopen and an amber bar reconnects on its own. Every directory picker reads the server's disk, not yours. How remote attach works →

← REMOTE · BETA
◇ 06 One key for everything

Alt+Shift+P fuzzy-finds every pane, tab and action — and the same box searches the scrollback of every pane at once. "Which pane had that container id?" becomes one query and one Enter. No other multiplexer searches across panes without a plugin.

← COMMAND PALETTE
see every capability →
┣━━━ § 03 / 06 ━ LIVE DEMO━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

Four panes. Four types. One workspace.

A real Quil layout — a Claude Code session, a live shell, an SSH tunnel, and a Stripe webhook listener. Click a pane to focus it. Everything you see here survives a reboot.

AI · CLAUDE-CODE
▸ ~/code/quil
TERMINAL · ZSH
▸ ~/code/quil/cmd/quild
SSH · prod-eu-1
▸ deploy@prod-eu-1:/srv/app
STRIPE · LISTEN
▸ whsec_****3f2b
main pane 1/4 · claude-code ghost-buf 500 lines snapshot 00:00:02 ago Alt+← → ↑ ↓ to navigate · Ctrl+E focus-mode · Alt+E pane notes
┣━━━ § 04 / 06 ━ VS THE FIELD━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

Different category.

tmux and Zellij survive network disconnects but not host reboots. WezTerm is a terminal emulator that happens to multiplex. Screen is 38 years old. Quil is a workflow orchestrator that treats your terminal as the source of truth.

Building the same thing for agents? So are herdr and Agent of Empires. They ship broader agent support and a web dashboard; Quil answers with native Windows, an MCP server, and pane notes. See the honest side-by-side — gaps included.

capability quil tmux zellij wezterm
Host reboot survival
AI session resume
Agent state at a glance
Typed panes
MCP server for agents
Remote attach, auto-reconnect
Search every pane at once
Native Windows (no WSL)
┣━━━ § 05 / 06 ━ COMMON QUESTIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

Questions, answered.

The honest version — what Quil does, how the persistence actually works, where it runs, and when you genuinely don't need it. No marketing hedging.

What is Quil?

Quil is a reboot-proof terminal multiplexer for developers who run complex multi-tool workflows alongside AI coding assistants. It persists your entire workspace — tabs, panes, layout, working directories, and AI session IDs — across host reboots, so typing `quil` after a restart snaps everything back in under 30 seconds.

How is Quil different from tmux or Zellij?

tmux and Zellij are terminal multiplexers — they survive network disconnects but not full host reboots. Quil survives reboots. It also understands pane types (a Claude Code pane resumes differently than an SSH pane), ships an MCP server for AI agents, and tracks per-pane notes alongside your work. For a deeper comparison, see /vs/tmux or /vs/zellij.

Can I use Quil on a remote server over SSH?

Yes — `quil --remote gpu01` runs the daemon on the server and the TUI on your laptop, so the panes and AI sessions live on the remote host and keep running when you close the lid. No port is opened on the server: Quil runs `ssh -T gpu01 "quil --stdio"` and speaks its normal protocol over that one channel, so bastions behind ProxyJump, Tailscale addresses, hardware tokens, and your existing ~/.ssh/config all work unchanged. If the link drops, an amber bar names the host and reconnects on its own with backoff — nothing stopped running, so there is nothing to resume. The server does not need Quil installed first: point --remote at a bare machine and it downloads the release for the remote's platform onto your laptop, verifies the checksum there, and pushes it over the connection you already have. It is beta today — plugin definitions still come from your local machine, and remotes must be Linux or macOS.

How do I find the right pane when I have dozens open?

Press Alt+Shift+P for the command palette. It fuzzy-finds every pane and tab across the whole workspace (listed as tab.pane with the pane type, so duplicates are distinguishable) and every action, each row showing its keybinding. The same box also searches content: start typing and a `Found in panes` section lists every pane whose scrollback contains your text, with a match count and a preview of the most recent hit — press Enter on one to jump straight to that pane. That answers "which pane had that error, URL, or container id?" without hunting tab by tab. No other multiplexer searches across panes without a third-party plugin.

Which AI tools does Quil support today?

Claude Code has first-class support via the built-in Claude Code pane type, with auto-resume on daemon restart, a setup dialog that pre-fills the active pane's working directory (so the project's `.claude/` context is preserved), and a one-click `Dangerously skip permissions` toggle for unattended runs. Quil also runs an MCP server (`quil mcp`) that exposes 18 tools so any MCP-capable client can read pane output, send keystrokes, snapshot a workspace, and query per-pane memory usage. Any other AI tool can be wrapped in a custom TOML plugin that defines its spawn command, resume strategy, and error patterns.

Can I paste a screenshot into Claude Code on Windows?

Yes. Quil ships a Win32 clipboard image proxy that works around the upstream Claude Code Windows clipboard image bug (anthropics/claude-code#32791). Take a screenshot with Win+Shift+S, focus a Claude Code pane, and press F8 (or Ctrl+Alt+V — Windows Terminal eats Ctrl+V before it reaches the TUI). Quil decodes the clipboard DIB, saves a PNG under `~/.quil/paste/` with owner-only 0o600 permissions and a crypto/rand filename suffix, then types the absolute file path into the pane. Claude Code reads the file via its normal file-reading tools.

Does Quil work on Windows without WSL?

Yes. Quil ships a native Windows binary that uses ConPTY for pseudo-terminal support and Named Pipes for client-daemon IPC. No WSL required. Linux and macOS use creack/pty and Unix domain sockets, respectively.

Why does the Windows build include OpenConsole.exe?

On Windows 10, the built-in console host (conhost.exe) mis-renders some TUIs — Claude Code's input box, for example, shows an extra space after the first typed character. Quil fixes this automatically by bundling Microsoft's MIT-licensed OpenConsole (the same console host Windows Terminal ships) and hosting panes through it; on Windows 10 it is extracted to ~/.quil/conpty/ at first run. Windows 11's console host is already correct, so nothing is extracted there. Attribution and license text are on the /legal page and in THIRD_PARTY_LICENSES.md.

How does the reboot-proof persistence actually work?

Quil runs as a client-daemon pair. The daemon (quild) continuously snapshots workspace state to ~/.quil/workspace.json (atomic temp+rename) and maintains 500-line ghost buffers per pane as binary files under ~/.quil/buffers/. On reboot the client spawns the daemon, reads the snapshot, re-creates the pane split tree, and replays ghost buffers instantly while shells re-initialise in the background.

Can I write my own plugins?

Yes. Plugins are single TOML files in ~/.quil/plugins/<name>.toml with sections for spawn, resume, keybindings, error handlers, and status lines. No compilation, no restart, hot-reload on save. See the plugin reference on GitHub or the /plugins page for a walk-through.

What happens when I upgrade Quil and plugin configs have changed?

Quil detects when your on-disk plugin TOML has a lower schema_version than the version shipped with the new binary. Instead of silently overwriting your config, it opens a full-screen side-by-side merge dialog at startup: your config on the left (editable), the new default on the right (read-only). Lines unique to your config are highlighted red, new lines in the default are highlighted green. Copy what you need from the right, edit on the left, then Ctrl+S to save. You can also press F5 to accept the new default entirely. The dialog blocks until resolved — no risk of running with a stale config.

What if Quil hangs or a pane stops responding?

One command recovers everything: `quil restart` stops the daemon with escalating force (graceful shutdown with a final state snapshot, then SIGTERM, then force-kill — each step has a timeout, so even a fully deadlocked daemon can't resist), starts a fresh one, and reopens your tabs and panes from the last snapshot. AI panes resume their sessions. If only a single pane stops accepting input (for example an AI tool wedged mid-turn), Quil shows a 'Pane not accepting input' warning in the notification sidebar while every other pane keeps working — press Alt+R to restart just that pane in place.

Is Quil free?

Yes. Quil is open source under the MIT License. There's no hosted version, no paid tier, no telemetry. You self-host it on your own machine and it stores all state locally under ~/.quil/.

How do I install it?

On Linux or macOS: `curl -sSfL https://raw.githubusercontent.com/artyomsv/quil/master/scripts/install.sh | sh`. Go users can `go install github.com/artyomsv/quil/cmd/quil@latest`. Windows users download the .zip from the latest GitHub release. Full instructions at /install.

┗━━━ § 06 / 06 ━ TAKE IT HOME━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Install it. Reboot once.
Feel the difference.

One binary. ~40 MB. No database. No cloud account. No telemetry. No runtime dependencies. Open source under MIT. Tested on Linux, macOS, and native Windows.

$ curl -sSfL https://raw.githubusercontent.com/artyomsv/quil/master/scripts/install.sh | sh