Guide

The multi-agent coding setup for 2026: several agents, one machine, one view

The multi-agent coding setup for 2026: several agents, one machine, one view

In 2024 the question was "which coding agent should I use?" In 2026 the better question is "how many, and how do I keep them from becoming my full-time job?" A single Claude Code session leaves you idle while it grinds; the obvious move is to run a second one, then a Codex CLI on another repo, then a cursor-agent on the docs site. Each agent alone is easy. The team is where setups fall apart — not because the machines can't handle it, but because your attention can't.

This is the setup that scales, layer by layer: isolate agents so they can't collide, put every session on one board, let same-folder agents coordinate instead of clobbering each other, pre-approve the boring decisions so ten agents don't mean ten interruptions, and keep a cross-vendor council for the calls that are genuinely hard. Every layer has a DIY version; where Backgrind ships the layer, we'll say so honestly.

Claude Code repo-a/wt-auth Codex CLI repo-a/wt-billing cursor-agent repo-b Mission control running · running · blocked policies auto-answer the routine asks 1 needs a decision You one decision
The shape that scales: isolated agents feed one board, policies absorb the routine asks, and only the decision that genuinely needs a human reaches you.

Layer 1: isolation — one agent per folder or worktree

The first rule of running several agents hasn't changed since we wrote about running multiple agents at once: two agents editing the same checkout will eventually stomp each other's files, and you'll spend an evening untangling a merge that no one committed. The fix is boring and reliable — give each agent its own directory.

Across different repos, that's free: one agent in ~/code/api, another in ~/code/app. Within one repo, use git worktrees:

git worktree add ../api-auth feature/auth
git worktree add ../api-billing feature/billing
# terminal 1
cd ../api-auth && claude
# terminal 2
cd ../api-billing && codex

Each worktree is a full checkout on its own branch sharing one .git, so edits, builds, and test runs never collide. We covered the full workflow — and the three-to-five-agents sweet spot — in git worktrees + parallel agents.

Worth knowing before you reach for separate processes at all: Claude Code subagents cover the case where one task fans out into parallel workers inside a single session — same vendor, results folded back into the parent. Use subagents when it's one task with parallel parts; use separate agents when it's genuinely separate workstreams, or when you want different vendors on different jobs (Codex on the refactor, Claude on the feature). Most heavy users end up with both.

Layer 2: one board for every session

Five isolated agents means five terminals, and a terminal only shows you one thing at a time. The failure mode is always the same: agent three hit a permission prompt eleven minutes ago and has been sitting idle behind your editor while you watched agent one work. The parallelism you set up quietly evaporates into dead queue time.

The DIY version is a tmux grid plus notification hooks — Claude Code's hooks and Codex's notify setting can both fire a script when an agent finishes or needs input, and a bit of glue gets you desktop alerts. That works, and it's where most people should start. Its ceiling is that alerts tell you something happened; they don't give you one place that answers "what is every agent doing right now, and which one is blocked?"

That's the gap a mission-control view fills. In Backgrind it's the Fleet board (⌘⇧F): every session — Claude Code, Codex, cursor-agent, local or cloud — as a card with its repo, its current activity, and its state. Running agents stay quiet. A blocked one surfaces with the actual question, and you can approve or deny inline from the board without switching to that terminal. The point isn't the dashboard aesthetics; it's that "scan the fleet, unblock the one that's stuck" becomes a five-second glance instead of a window-hunting expedition.

Layer 3: coordination when agents share a folder

Worktrees solve same-repo parallelism, but sometimes two agents legitimately belong in the same checkout — one wiring a feature while another fixes the flaky test it keeps tripping over. Unmanaged, that's the worst version of pair programming: neither agent knows the other exists, both hold stale assumptions about files the other is editing, and one git checkout can vaporize its neighbor's work.

The principle that fixes it: agents sharing a working directory need to know about each other. Backgrind ships this as workspace peers — when two sessions run in the same folder, each gets a coordination prompt telling it who else is working there and what they're on, backed by a live registry (under ~/.backgrind/peers/) that updates as peers come and go. The agents then do what you'd tell two humans to do: stay off each other's files, announce risky operations, don't rebase under a colleague. If you're rolling your own, the low-tech equivalent is a COORDINATION.md each agent is instructed to read and update — cruder, but the same idea: shared state beats mutual ignorance.

Layer 4: policies, so ten agents don't mean ten interruptions

Here's the multiplication problem nobody warns you about. One agent asking permission four times an hour is tolerable. Five agents asking four times an hour is an interruption every three minutes — congratulations, you've built a job for yourself that's strictly worse than just writing the code.

The fix is to answer categories of question ahead of time instead of instances of it. Pre-approval policies covers the single-agent version: a PreToolUse hook that allows read-only commands, blocks the destructive ones, and escalates the gray zone. With a fleet, the same idea needs to be granular and shared — a rule like "pnpm test is always fine in this repo" should apply to every agent working there, not be re-decided per session.

Backgrind's policy engine does exactly that: when an agent asks and you click "Always allow," it saves a granular rule — this repo, this tool, this command shape — to ~/.backgrind/policies.json. Deny rules beat allow rules, the daemon evaluates the policy before ever holding the prompt for you, and every decision lands in an audit trail (policy-audit.jsonl) so you can see what your fleet actually ran while you weren't looking. The effect compounds: each answered question is answered forever, so week two of running five agents is dramatically quieter than day one. What still gets through is the residue that genuinely deserves you — git push, a schema migration, anything with no undo.

Layer 5: a council for the hard calls

Everything so far handles volume. It doesn't handle the moment an agent presents a plan for something consequential — an architecture change, a data migration — and you're supposed to be the reviewer, at 23:40, of a plan produced by a model that argues its case very fluently. Approving because it sounds right is how confident nonsense ships.

For those calls, the 2026 pattern is a cross-vendor council: put the same question to several of your own CLIs in parallel, read-only, and have a chairman model judge the answers into one verdict — flagged loudly when the models disagree, quietly when they agree. It turns "do I trust this plan?" into "three independent vendors looked at the repo; two flagged the same missing index." We go deep on when a second opinion is worth it — and when it isn't — in getting a real second opinion on Claude Code's work.

Putting it together: a concrete starting point

Frequently asked questions

How many AI coding agents can I run at once?
The practical limit is your attention, not your hardware. Three to five parallel agents is the sweet spot for most developers: enough to keep independent work moving, few enough that you can still make a good decision when one escalates. Past that, you need a mission-control view and pre-approval policies or you spend the whole time context-switching.
Can I run Claude Code and Codex CLI at the same time?
Yes — they are independent processes with separate logins, so nothing stops you from running both. Give each its own folder or git worktree so their edits never collide, and route their notification hooks (Claude Code hooks, the Codex notify setting) into one place so you are not watching two terminals.
Do I need git worktrees for parallel agents?
Only when several agents work on the same repository. One agent per repo needs nothing special. For same-repo parallelism, git worktree add gives each agent its own checkout and branch, so edits and builds never collide — see our worktrees guide.
What is the difference between subagents and separate agents?
Subagents are workers one Claude Code session spawns internally — same vendor, one orchestrating session, results folded back into the parent. Separate agents are independent CLI processes, possibly from different vendors, each with its own session and context. Subagents fan out one task; separate agents run genuinely parallel workstreams.

Where Backgrind fits

You can assemble layers one, two, and four yourself from worktrees, tmux, and hook scripts — plenty of people do, and the DIY posts linked above are the honest starting point. Backgrind is those layers as one product: your real CLIs in an always-on-top overlay with a tab per session, the Fleet board across all of them, workspace-peer coordination when sessions share a folder, and the policy engine standing between your fleet and your attention — plus the council for the calls that deserve more than one model's opinion. The agents grind; you get the one decision that actually needs you. See it move in the live demo.