Can you run multiple Claude Code sessions at the same time?
Yes. Claude Code is a CLI, so you can start as many claude processes as your machine and your plan allow. The catch is the folder. Two sessions in the same working directory edit the same files on the same branch, and they overwrite each other. The fix is to give every session its own working directory, and the clean way to do that is a git worktree.
- Same files: session A rewrites
auth.tswhile session B is halfway through editing it. - Same branch and index: one session's
git addorgit stashsweeps up the other's changes. - Same build output: tests, dev servers and lockfiles collide.
- Unreadable history: you cannot tell which change came from which prompt when you review.
How do I run multiple Claude Code sessions manually with git worktrees?
Create one worktree per task, then open one terminal tab per worktree and start Claude Code in each. Each worktree is a full checkout on its own branch, sharing the same .git history.
# from the root of your repo
git worktree add ../myapp-auth -b feat/auth-flow
git worktree add ../myapp-tests -b test/checkout
# terminal tab 1
cd ../myapp-auth && npm install && claude
# terminal tab 2
cd ../myapp-tests && npm install && claude
# see what you have
git worktree list- Copy the gitignored files each session needs (
.env, local config) into every worktree, and install dependencies there. - Give each session a different port if it runs a dev server.
- Review each branch with
git diff main...feat/auth-flowbefore merging. - Clean up with
git worktree remove ../myapp-authandgit branch -d feat/auth-flowwhen you are done.
This works, and it is exactly what happens under the hood in Tallos. The git worktrees guide covers every command and pitfall in detail.
What goes wrong when you manage parallel sessions by hand?
The manual setup is fine for two sessions and painful at five. The work is not the agents; it is everything around them.
- Tracking state: which tab finished, which is waiting for a permission prompt, which one crashed.
- Setup per worktree: dependencies,
.envfiles and ports, every time. - Reviewing: switching folders and running
git diffper branch, with no place to leave line comments for the agent. - Cleanup: stale worktrees and forgotten branches pile up, and a folder deleted by hand leaves metadata that needs
git worktree prune.
Skip the setup. Tallos gives every Claude Code session its own worktree in one click.
How do I run multiple Claude Code sessions in Tallos?
- 1
Connect Claude Code
Open Settings → Connections and make sure the Claude Code card says Connected. If not, click Install, then Sign in (runs
claude auth login) or Use API key. Guide: connect your agents. - 2
Open your project
Add the repository once. Tallos uses its default branch as the base every workspace starts from.
- 3
Create one workspace per task
Click New workspace, pick the project, name the task and choose Claude Code as the agent. Tallos creates a real git worktree and branch in the background. Repeat for each task; you can keep working while they are created.
- 4
Give each session its task
Claude Code opens in a chat inside each workspace. Describe the task there, or switch to View terminal for the raw CLI. Each session runs with its workspace as the working directory.
- 5
Watch them side by side
Drag a tab to the right or bottom edge of a pane to split, so you can watch several sessions at once. The sidebar shows which workspaces are working and which need you, and the status bar shows your Claude usage against the plan's limits.
- 6
Review each diff
Open each workspace's diff against its starting branch. Leave notes on lines and send them back to that session in one batch with Send notes to.
- 7
Ship the winners, delete the rest
Commit, push and Create PR from the workspaces you keep. Delete the others; Tallos removes the worktree folder and branch after you confirm.
To stop copying .env files by hand, list them in a .worktreeinclude file at the repo root. Tallos copies those gitignored files into every new workspace. More in parallel workspaces.
Manual worktrees vs Tallos: what is the difference?
| Task | Manual (git + terminal tabs) | Tallos |
|---|---|---|
| Create an isolated session | git worktree add ../dir -b branch, cd, claude | New workspace → Claude Code |
Copy .env and local config | By hand, per worktree | .worktreeinclude, applied to every new workspace |
| See which session needs you | Check each tab | Status in the sidebar |
| Watch several sessions | Terminal splits or tmux | Drag tabs into split panes |
| Review a session | git diff main...branch | Diff view with line notes sent back to the agent |
| Clean up | git worktree remove + git branch -d | Delete the workspace (with confirmation) |
Both approaches use the same git feature, so nothing is locked in: every Tallos workspace is a normal worktree you can open in any terminal, and worktrees you create yourself can be shown in the Tallos sidebar.
How many Claude Code sessions should I run in parallel?
Run as many as you can review. Tallos does not set a fixed cap, but three limits apply. Your plan: every session draws on the same Claude account's usage limits, so parallel sessions reach them faster. Your machine: each workspace keeps file watchers, dependencies and processes alive. Your attention: each diff still needs a human review before it ships.
Start with two or three independent tasks, such as a feature, a test suite and a bug fix. If you want several attempts at the same task, use the best-of-three squad: set the attempt member to Claude Code and a leader starts three copies in separate worktrees, compares the results and recommends one. For the wider picture, read running AI agents in parallel.
Troubleshooting parallel Claude Code sessions
- `fatal: 'branch' is already checked out`. Git allows a branch in only one worktree at a time. Create a new branch per session.
- Tests fail only in the new worktree. Gitignored files are missing. Install dependencies and copy
.env, or add them to.worktreeinclude. - Port already in use. Two sessions started the same dev server. Give each workspace its own port.
- Sessions stall at the same time. You probably hit your plan's usage limit. Check the usage readout in the status bar.
- A session waits with no output. It is asking for permission. Open the chat and answer.
Try it on your own repo.
Frequently asked questions
Can two Claude Code sessions work in the same folder?
They can, but they will edit the same files on the same branch and overwrite each other. Give each session its own git worktree instead.
Do parallel Claude Code sessions share usage limits?
Yes. Every session on the same account draws on that account's limits. Tallos shows your Claude usage in the status bar so you can see how close you are.
Does Tallos use git worktrees for Claude Code sessions?
Yes. Every Tallos workspace is a real git worktree with its own branch, and Claude Code runs with that worktree as its working directory.
Can I run Claude Code and Codex on the same task in parallel?
Yes. Create two workspaces from the same starting branch, one with each agent, give them the same prompt and compare the diffs.
How do I stop copying .env into every worktree?
List the gitignored files in a .worktreeinclude file at the repo root. Tallos copies them into each new workspace.
What happens to the branch when I delete a workspace?
Tallos removes the worktree folder and its branch after confirmation. If git keeps a branch because it may have unmerged commits, Tallos lets you review it before deleting.