version downloads license platform

Your agents work in parallel, this keeps them in sight.

Paneflow is a native terminal workspace for running coding agents side by side. Each agent lives in a real PTY pane you can read, interrupt, and take over, while the app tracks which one is thinking, waiting, stalled, failed, or done, and keeps every task tied to its workspace and branch.

Works with any CLI agent - Claude Code, Codex, Gemini, opencode, Pi, Hermes, you name it.

Everything runs locally: agents are ordinary CLI processes in ordinary terminals, there is no hosted runtime and no proxy in front of your model. Prompts are pre-filled and you press Enter; auto-submit is explicit and gated.

Written in Rust on Zed's GPUI, with panes emulated by Ghostty: the same libghostty-vt engine, statically linked, on every target and with no fallback. Native builds for Linux, macOS Apple Silicon, and Windows x64. No Electron, no WSL.

Website →

Install

1. Quick start

On macOS:

brew install --cask arthjean/paneflow/paneflow

Everywhere else, take the build for your machine from the latest release: the .AppImage runs on any Linux, the .deb and .rpm also register the package repo so later versions arrive through apt upgrade or dnf upgrade, and the .msi installs on Windows. Every artifact ships a SHA-256 sidecar and a Minisign signature.

Install docs →

2. Install for agents

Let one agent read another agent's pane, so you stop copy-pasting scrollback between them.

paneflow mcp install

This registers a local read-only MCP bridge - list_panes, read_pane, search_pane - for every agent it detects. The bridge cannot type into panes or control them, and terminal output comes back wrapped as untrusted data so the reading agent analyzes it instead of obeying it.

Bridge docs →

3. Coordinate a fleet

The paneflow CLI talks to the same local socket as the app, so a script or an agent can drive the fleet you are watching.

paneflow ps
paneflow read cargo-run --lines 100
paneflow send codex-review "Review this branch and report risks"
paneflow wait --match claude-impl --pattern "REPORT_DONE"
paneflow watch --type ai.stop

paneflow up spawns a declarative workspace, and paneflow flow run executes a flow.toml DAG with spawn, wait, send, capture, and review steps.

Conductor docs →

4. Configure

Themes, shell, keybindings, and shortcuts live in ~/.config/paneflow/paneflow.json (%APPDATA%\paneflow on Windows) and hot-reload while the app runs. Everything is also editable in Settings.

Learn more →

Review worktree diffs

When each agent works on its own branch or worktree, the review surface shows the resulting diffs side by side, one column per worktree, with hunk navigation, per-hunk actions, agent attribution, and a local cost estimate where token usage is available.

Reviewing is a supervision step, not an automation step: acting on a hunk pre-fills a prompt in the agent's own pane and waits for you.

Review docs →

Telemetry

Telemetry is opt-in, never includes terminal contents, paths, or prompts, and PANEFLOW_NO_TELEMETRY=1 disables it regardless of config.

Build from source

Paneflow pins Rust 1.96.1 through rust-toolchain.toml. Linux builds need Vulkan and the usual Wayland/X11 development libraries.

git clone https://github.com/arthjean/paneflow.git
cd paneflow
cargo run --release -p paneflow-app

ARCHITECTURE.md covers the runtime and thread model, AGENTS.md the repository instructions for coding agents.

Contributing

Issues welcome!

License

GPL-3.0-or-later