How to run several Claude Code sessions at the same time
Run Claude Code in several terminal tabs without the sessions stepping on each other: one folder per task with git worktrees, small separate tasks, and a way to see which one needs you.
One Claude Code session works on one thing at a time. To move faster, many people open several terminal tabs and give each session its own task. It works well, with two things to watch.
Give each session its own folder
Two sessions editing the same folder can overwrite each other's changes. Git worktrees give every task its own copy of the project on its own branch, sharing one repository:
cd ~/code/my-project
git worktree add ../my-project-login -b login-fix
cd ../my-project-login
claude
When the work is merged, remove the copy with git worktree remove ../my-project-login.
Keep the tasks small and separate
- One task per session: a bug, a screen, a test suite.
- Avoid two sessions changing the same files.
- Commit often, so each session's work is easy to review and undo.
Know which session needs you
With five or more tabs, the real cost is attention. A session stops to ask for permission and waits there while you watch another one. A Notification hook can tell you that something is waiting, but not which tab.
Claude Code's built-in agent view (claude agents) lists background sessions with their state and moves each one into its own git worktree before it edits files. Sessions you keep in ordinary terminal tabs are not listed there.
Alien Desk shows every Claude Code tab in one small panel: which one needs you, which is working and which is done, with the task each one is on. Click a row to jump to that tab. It works with Terminal, iTerm2, Ghostty and tmux, and this part is free.