A native macOS workspace for running coding agents side by side.
Run Claude Code, Codex, opencode, or another command-line agent in terminal panes you can watch and type into. Keep projects organized, see which agents need your attention, and review their changes without switching between terminal windows.
This is The AAM Group's macOS-only fork of PaneFlow. It is built with Rust, Zed's GPUI framework, and Ghostty's terminal engine, with Metal rendering. Your shells and agent processes run on your Mac; agents use their own services and accounts.
Download the latest release · Build from source · User guide
PaneFlow requires macOS 13 Ventura or later on Apple Silicon.
- Download the signed, notarized DMG from the release link above.
- Open the DMG, drag PaneFlow.app into Applications, and launch it.
- Use your installed coding agents. Install and sign in to each agent you want to use before launching it in PaneFlow.
A workspace groups a project's tabs. Each tab contains one or more terminal panes, where you run a shell, an agent, or a command such as your test runner.
- Create a workspace with
Cmd+Shift+Nand navigate to your project in its terminal. - Start an agent from the terminal, or open the new-pane picker with
Cmd+Option+Tand choose an agent. - Split the pane with
Cmd+Shift+DorCmd+Shift+Eto run another agent, tests, or a development server alongside it. - Press
Cmd+Shift+Jto jump to an agent waiting for input. - Open Review with
Cmd+Shift+Gto inspect changes in your repositories and worktrees.
- Keep parallel work organized. Group terminals into workspaces and tabs, associate tabs with Git worktrees, and restore your workspace layout between launches.
- See what needs attention. Agent status indicators and desktop
notifications help you spot agents that are running, waiting, stalled,
finished, or reporting an error. Jump to the next waiting agent with
Cmd+Shift+J. - Review changes together. Arrange repository and worktree diffs in a grid, switch between unified and split views, and navigate change by change. Review with agent opens an agent in a workspace tab with a prepared prompt; you press Enter to submit it.
- Script pane workflows. Scripts and agents read and search panes, inspect agent state, and ask which pane they run in over the JSON-RPC socket. The CLI sends text behind an explicit write gate.
Cmd is Command (⌘); Option is Alt (⌥). You can browse and customize
shortcuts in Settings → Keyboard Shortcuts.
| Action | Shortcut |
|---|---|
| New workspace | Cmd+Shift+N |
| Jump to workspace 1–9 | Cmd+1–Cmd+9 |
| Next workspace | Ctrl+Tab |
| New tab (shell, agent, or command) / close tab | Cmd+Option+T / Cmd+W |
| Split horizontally / vertically | Cmd+Shift+D / Cmd+Shift+E |
| Close pane | Cmd+Shift+W |
| Move focus between panes | Option+Arrow |
| Jump to next waiting agent | Cmd+Shift+J |
| Open Review | Cmd+Shift+G |
| Show or hide sidebar | Cmd+Option+B |
| Copy / paste | Cmd+C / Cmd+V |
| Clear scrollback / reset terminal | Cmd+K / Cmd+Shift+R |
| Increase / decrease font size | Cmd+= / Cmd+- |
The app and CLI share the paneflow binary. Inside a PaneFlow pane,
paneflow is already on your PATH. Run these commands while the app is open:
paneflow send reviewer "Review the current diff" # Stage text in a pane
paneflow key reviewer ctrl-c # Send one keystrokeReplace reviewer with a pane name or surface ID. Both verbs require
scripting access on the running app. Scripts and agents read pane output
by calling the JSON-RPC socket directly.
The scripting guide explains prompt delivery, submission controls, and pane reads.
From an external terminal, use the installed binary's full path or
add it to your PATH.
For a local debug build, use ./target/debug/paneflow from the repository root.
Use Settings to customize appearance, terminal behavior, and shortcuts. The installed app stores its configuration at:
~/Library/Application Support/paneflow/paneflow.json
Debug builds use paneflow-dev in place of paneflow, keeping development
settings separate from the installed app. See the
configuration reference for available
options and defaults.
You need Rust 1.98.0, full Xcode, the Metal Toolchain component, and CMake. Follow INSTALL.md to prepare these dependencies; Xcode Command Line Tools alone are insufficient.
Then, from the repository root:
cargo run -p paneflow-app # Build and launch the development app
cargo build --release -p paneflow-appCargo fetches the pinned GPUI dependencies automatically. The Ghostty terminal library is vendored, so building PaneFlow does not require Zig.
For development checks and troubleshooting, see INSTALL.md. For the code structure and runtime design, see ARCHITECTURE.md.
- User guide — features, layouts, themes, and settings
- Troubleshooting — help with common problems
- CLI and automation — commands and pane reads
- Architecture — how the application is built
PaneFlow is licensed under GPL-3.0-or-later. This fork is based on arthjean/paneflow v0.8.2. See LICENSE.