Guide

Run multiple Claude Code agents in parallel

Run several Claude Code sessions at once by giving each one its own git worktree, so they never edit the same files on disk. wisp makes a worktree and branch per task from origin/main, runs claude headless in each, and puts every run in one queue that tells you which one needs you.

Source on GitHub

Free and open source · Claude Code, Codex, Cursor CLI, opencode, Antigravity CLI, Grok Build · macOS, Linux, Windows (beta) · Node 20+

The wisp queue: several Claude Code tasks sorted into Needs you, Working and Done

Why not just open more terminals?

Two Claude Code sessions in the same folder share one working tree. One overwrites the other’s edits, both fight over the git index, and the tests one runs see the other’s half-finished code. Separate git worktrees fix that: each session gets its own checkout and branch, and they share only the repository’s history.

The manual way

git worktree add ../app-auth   -b fix/auth   origin/main
git worktree add ../app-stripe -b feat/stripe origin/main

# one terminal (or tmux pane) each
cd ../app-auth   && claude
cd ../app-stripe && claude

# when a branch is merged
git worktree remove ../app-auth

Things to know: dependencies aren’t shared, so each worktree needs its own install, and two dev servers on the same port collide. And you have to keep checking each terminal to see which session is waiting for you.

With wisp

  1. Start wisp in your repo.
  2. Launch tasks back to back. Press N, describe the task, press Enter, and the next one. Each runs in its own worktree under ~/.wisp/worktrees/ on a branch named wisp/<task>-<id>.
  3. Watch one queue, not five terminals. Cards sort into Needs you, Working with a live one-line status, and Done. When Claude Code needs a decision it asks through an MCP tool, the card moves to Needs you, and your answer goes straight back into the running session. In Edits mode its permission prompts come to you as Allow, Always allow in this task and Deny.
  4. Read the report, ship it. Each finished run hands back a headline, the real diff, the test run and next steps. Ship it commits, pushes and opens the PR; Merge squash-merges and syncs your local main.

Press T on any card to continue that session yourself: your terminal opens in its worktree with claude --resume <id>.

How many at once?

The limits are your Claude plan’s usage limits and your machine. When Claude Code says it’s at its limit, wisp’s Auto harness rests it until the limit resets and moves the next tasks to another agent you have, like Codex. For more CPU, run some of the sessions on another machine.

Questions

Does this use my Claude Pro or Max subscription?
wisp runs the claude CLI you are signed in with, so it uses whatever that CLI uses: your subscription or an API key.
Do parallel sessions share context?
No. Each is its own Claude Code session. To have one session hand work to others, use subagents: the lead gets a delegate tool and the members run in parallel.
Are my uncommitted changes carried into the worktrees?
No. Each worktree starts from origin/main (fetched first). Commit or push what the agents should see, or turn worktrees off for a task to edit your folder in place.