arranger runs Claude Code, Codex, Gemini and pi on your laptop and your SSH boxes, each on its own git worktree, in a fast native chat or their own terminal. Whoever is blocked on you comes to the top. When they're done, you see what they checked, send notes back, and merge their work.
curl -fsSL https://arranger.dev/install.sh | sh


Keep parallel work in view, with each task on its own branch and worktree. Follow the conversation, inspect tool calls and edits, or open a terminal. Search the sidebar to jump to the task you want.
@ in a new task.arranger ls, approve 3, commit 3.Everything the window does is a command. Start an agent from a nightly job or a failing build, wait for it, check its work with your own tests, and keep the result ready for review in the morning.
arranger new prints the task id; ls shows its state; commit <id> commits the task’s changes.arranger run <id> cargo test runs in the task's worktree and exits with the command's status. Use the result to decide whether to continue.needs-you, the script decides: approve, or deny with a reason the agent reads and works around.arranger chat <id> prints the conversation and events the timeline, ready to attach as build artifacts.A green diff isn't proof. Review puts the change beside the latest result of every test, build and lint command the agent ran in that worktree, so you see what failed, what it fixed, and what it never ran.
arranger run 3 cargo test runs in the task's checkout, uncommitted edits included, and keeps the exit status, so a script can gate the merge.Connect a dev server or GPU box over SSH and choose it when you start a task. Agents run on that machine, using its repository, tools and compute, while you follow their work from the same workspace.
Add a machine from Settings → Add machine or arranger machine add. Arranger uses your existing SSH keys and ~/.ssh/config. Local and remote tasks appear side by side, ready to chat, review and merge.
Native Rust from daemon to window: no webview, no Electron, no browser engine idling in the background. The agents use the memory; arranger barely does.
measured on macOS · release build$ just bench-mem # starts the daemon, spawns 20 agents through it daemon RSS: 49312 KB (20/20 fake agents running) $ ls -lh target/release/arranger* 9.3M arranger # CLI and daemon 5.5M arranger-gui # the window
The parts you only notice when they're missing.
⌘N, then Tab for the agent, Ctrl+Tab for the model, Alt+Tab for reasoning effort. Choose the machine and the base branch in the same box.
Type @ in a prompt to find files in that machine's repository. Ignored files stay out of the list.
When an agent finishes or needs you, you hear it, even with the window buried. One toggle turns it off.
Every task on a machine grouped by state: Approve, Answer, Review, Open or Revive from one row. V selects many to delete at once.
j k through agents, h l through tabs, y / n to approve. ? shows every binding.
Gruvbox, Ink, Moss, Ember, and their light partners Gruvbox Light, Snow, Paper and Linen.