Skip to content

Run several agents in parallel

This page runs several agents at once, each in its own sandbox with its own clone, and tracks them from one list.

  1. Hand off several tasks at once.

    Terminal window
    droneship run claude -p "fix the flaky test in tests/test_api.py" -d
    droneship run claude -p "add type hints to src/billing/" -d
    droneship run claude -p "update the README for the new config flags" -d

    Each task gets its own sandbox and a fresh clone at your current branch. Tasks don’t use your saved workspace, so you can start several on the same repo, up to your plan’s limit on sandboxes at once (Limits), and keep working in your own sandbox while they run.

  2. Open a second live session on the same repo.

    Terminal window
    droneship run claude --new --ephemeral

    --new starts another sandbox instead of reattaching to yours. --ephemeral gives it a scratch clone, because your saved workspace holds one sandbox at a time. Without it, the launch stops and tells you so:

    This saved workspace is in use by <id>.
    Join it: droneship run claude --id <id>
    Or work separately: droneship run claude --ephemeral (a scratch sandbox; nothing is saved)

    Add -d to start it without connecting. The CLI prints its id and droneship run claude --id <id> to connect later.

  3. Work on another repo at the same time.

    Terminal window
    cd ~/src/other-repo
    droneship run claude

    run claude only reattaches to a sandbox for the repo you’re in, so in another repo it starts a new one. Each repo has its own saved workspace.

  4. Keep track of them.

    Terminal window
    droneship list # running sandboxes, with repo@branch
    droneship list -a # also your tasks, with how each one went
    droneship watch # a desktop notification as each one finishes or needs you
  5. Land each one on its own branch.

    Terminal window
    droneship pull --id <id>
    droneship pr --id <id>

    Ask each agent to work on its own branch. droneship pull fetches each sandbox into droneship/<branch>, so each agent’s work lands on its own local branch. Tasks with GitHub connected open their own pull requests.

    pull --id and pr --id need a running sandbox. If a task has already stopped, resume it first.

The Sandboxes page lists your sandboxes in the project with each one’s repository and branch, status and auto-stop time. Filter it by Running or Stopped. The Tasks page shows each task’s result as it finishes.

Each sandbox is isolated from the others and from your laptop, and has its own clone. An agent has no access to another sandbox’s files, and each sandbox can reach only the hosts its egress policy allows. An idle sandbox stops on its own. Because of this, starting another agent doesn’t depend on what the running ones are doing. Isolation and identity explains the boundary.

More: Sandbox, Workspaces, droneship list.