← All articles

Guide · · 7 min read

How to run multiple Claude Code sessions at once

You can run multiple Claude Code sessions at once: each claude process is an independent conversation, so nothing stops you from opening three terminals and giving each one a task. The hard part is not starting them. It is keeping them from editing the same files, knowing which one is waiting for you, and remembering which project each one belongs to.

In short

  • Several terminals work, as long as two sessions never edit the same checkout at the same time.
  • claude --worktree <name> gives each session its own copy of the repository on its own branch.
  • claude --bg "<prompt>" and claude agents run sessions in the background and list them on one screen (research preview).
  • The Claude desktop app has a sidebar of parallel sessions for the projects you open in it.
  • None of these show the apps your sessions build (dev servers, ports, logs) or your other projects: that is the gap Tarmac fills.

1. Several terminals, one session each

The simplest setup is one terminal tab per session. Give each session a name when you start it, so you can find it again later:

cd ~/dev/shop
claude -n checkout-bug

In a second tab, in another project or the same one:

cd ~/dev/shop
claude -n product-filters

The name shows in the terminal title and in the /resume picker, and claude --resume checkout-bug reopens that session directly. You can also rename a running session with /rename.

The limit is the working copy. Two sessions in the same folder share the same files, so if both edit app/products/page.tsx, the last write wins and each session works from a file that changed under its feet. Use this setup for sessions in different projects, or for one session that writes code and another that only reads (reviews, explanations, plans).

2. Git worktrees: one checkout per session

When several sessions must change the same repository, give each one its own checkout. A git worktree is a second working folder of the same repository, on its own branch. Claude Code creates one for you:

cd ~/dev/shop
claude --worktree checkout-bug

Run the same command with another name in a second terminal and you have two isolated sessions. Claude Code puts the worktrees in <repo>/.claude/worktrees/<name>. Two things to know:

  • The repository needs at least one commit, because a worktree branches from an existing commit.
  • Files that are not tracked by Git, such as .env, are not copied by default. List them in a .worktreeinclude file at the root of the repository.

When a session is done, you merge its branch like any other branch. The worktrees page of the documentation covers cleanup.

3. Background agents and agent view

Recent versions of Claude Code can also run sessions without a terminal attached. Start one directly in the background:

claude --bg --name "docs" "update the README for the new install steps"

Then open the overview:

claude agents

Agent view groups sessions by state (needs input, working, ready for review, completed). Enter attaches to a session, ← on an empty prompt returns to the list, and /bg inside a running session sends it to the background. A session you dispatch from agent view moves into its own worktree before editing files, so parallel sessions do not write to the same checkout. Agent view is a research preview: the agent view documentation lists the commands, and claude update brings an older install up to date.

4. The Claude desktop app

If you prefer windows to terminals, the Code tab of the Claude desktop app runs several sessions side by side, with a session sidebar, worktrees, a diff view and a preview of the app Claude is building. It is the most integrated option when all your work goes through Claude Code.

What none of them show you

Each option answers “how do I start another session”. The questions that come next are different:

  • Which session is waiting for me? Five sessions in five tabs means checking each tab.
  • Which app is running, and on which port? Each session that builds a web app starts a dev server. Two of them both want port 3000, and the second one fails with EADDRINUSE.
  • What about the projects without a session today? Your other repositories, their Docker containers, their local Supabase stack.
  • How much of my plan is left? Parallel sessions draw on the same plan limits, so they reach the 5-hour limit faster.
  • What about Codex? Many developers run OpenAI’s Codex next to Claude Code, and its sessions live somewhere else.

Where Tarmac fits

Tarmac is a free, open source local dashboard that gathers all of this in one window, for macOS and Windows (WSL 2). It does not replace Claude Code: sessions stay the official claude command, Tarmac lists and starts them.

  • Every session of every project. Each project has a Claude tab with its sessions, active or finished, read from the transcripts Claude Code already keeps in ~/.claude/projects/. Sessions started in another terminal or an IDE appear under Running outside Tarmac, with a light that shows when they are working.
  • New or resumed sessions in one click. New session opens claude with Remote Control in a console built into Tarmac, so you can also follow it from claude.ai or the Claude app. Resume reopens a past one. Open sessions appear as tabs, and each can open in its own browser tab.
  • The apps next to the sessions. Start runs the app with a free port that stays the same from one run to the next, streams its logs, and Free the ports cleans up after a crash.
  • Your plan usage, live. The sidebar shows the same limits as /usage: 5-hour session, week and per-model limits.
  • Codex in the same sidebar, if you use it: see Claude Code and Codex in one place.
  • A task list for the project that the agent keeps up to date, with a ▶ button that hands the next task to an idle session.

A few habits that help

  1. Name every session (claude -n, or /rename): unnamed sessions get a generated title, which is harder to find in a list of ten.
  2. One task per session. A session that fixes a bug and then adds a feature fills its context with both.
  3. Worktree when two sessions touch the same repository. Separate folders cost nothing; untangling two sessions’ edits costs an afternoon.
  4. Watch your limits. Check /usage before you start a fourth session; read how to check your Claude Code usage limit.

Next steps

Install Tarmac (free, open source), point it at your code folder, and open a session from any project’s Claude tab. If a session from last week has vanished from your terminal history, here is how to resume it.

Sources: Claude Code documentation, CLI reference, Manage sessions, Common workflows and Agent view, checked on 6 November 2026.