# Run Multiple Claude Code Agents in Parallel on Windows

To run several Claude Code sessions at once without them changing the same
files, give each session its own git worktree and its own terminal. Nana is a
free Windows terminal that does both, and shows which session is working,
waiting for you, or done.

## Why one folder is not enough

Two agents in the same folder share one checkout. They edit the same files,
work on the same branch, and run tests against each other's half-finished
changes. A [git worktree](https://nana.areshk.dev/docs/guides/git-worktrees-for-ai-agents.md) is a second checkout
of the same repository on its own branch, so each agent works alone.

## Steps

1. **Install Nana.** Download the `.msi` from the
   [latest release](https://github.com/Areshkew/nana/releases/latest), or run
   this in PowerShell. No administrator rights are needed.

   ```powershell
   irm https://nana.areshk.dev/install.ps1 | iex
   ```

2. **Open your project.** Run `nana <folder>` in any terminal, or use
   **Add project** (`Ctrl+Shift+O`).
3. **Turn on worktrees.** In the project menu, choose **Worktrees → Show
   Worktrees**.
4. **Create one worktree per task.** Choose **New Worktree…**, give it a name,
   and create a new branch from your base branch. Nana puts it in
   `~/.nana/worktrees/<project>/<name>` by default.
5. **Start Claude Code in each worktree.** Open a terminal in the worktree and
   run `claude`.
6. **Watch them side by side.** Split the tab with `Ctrl+Shift+D` (right) or
   `Ctrl+Shift+Alt+D` (down).

## Know which session needs you

Nana recognizes Claude Code in a terminal and shows its state on the tab, the
worktree, and the project:

| State | Meaning |
| --- | --- |
| Working | The agent is busy. |
| Waiting | The agent needs your input. |
| Idle | The agent is done or not doing anything. |

It needs no hooks or setup. When a session needs you or finishes, Nana sends a
Windows notification; click it to jump to that pane. Choose **Agents Focused**
in the sidebar to list only the tabs that run an agent. See
[AI agents](https://nana.areshk.dev/docs/features/ai-agents.md).

## Send one prompt to every session

Open the composer with `Ctrl+Shift+I`, write the prompt, and choose **Send to
All Split Panes** in its **…** menu. See [Composer](https://nana.areshk.dev/docs/features/composer.md).

## Review and merge each branch

- The **Review** tab shows each worktree's diffs and history.
- **Commit** asks an AI tool you already have, such as Claude Code, to write
  the commit message.
- **Create PR** pushes the branch and opens a pull request. After merging,
  Nana can remove the worktree.

See [Git](https://nana.areshk.dev/docs/features/git.md).

## Close the window, keep the agents

Terminals run in `nana-server`, not in the window. Quit the app and your Claude
Code sessions keep running; open it again to find them where you left them.
See [Server](https://nana.areshk.dev/docs/features/server.md).

## Other agents

The same steps work for Codex, OpenCode, Copilot, Cursor, Droid, Grok, Kiro,
Pi, Oh My Pi, Antigravity, and Xal. You can mix them: one worktree with Claude
Code, another with Codex.

## Without Nana

You can do the same with plain git and any terminal. Create a worktree per
task, then start Claude Code in each folder in its own tab:

```powershell
git worktree add ../myapp-auth -b feat/auth
git worktree add ../myapp-search -b feat/search
```

You then have to check each tab yourself to see which session is waiting, and
the sessions stop when you close the terminal.