Shabash
Blog · Claude Code guides

How to manage multiple Claude Code sessions without losing track

Running several Claude Code sessions at once is normal now. Here's how to keep their files apart, see what each one is doing, and know what's still unfinished tomorrow.

By Robin Mehta · September 25, 2026

Once Claude Code is doing most of the typing, the bottleneck moves to you. Three sessions in three terminal tabs, one waiting on a question, one finished an hour ago, one you forgot about. The problem is no longer writing code. It's keeping track of work in flight.

There are three separate problems here, and Claude Code now has good tools for the first two.

1. Keep their files apart: worktrees

Two sessions editing the same checkout will step on each other. Give each one its own git worktree:

claude --worktree feature-auth
claude --worktree fix-webhooks

Each gets its own directory under .claude/worktrees/ and its own branch, sharing the same repository history. When you exit, Claude Code removes a clean worktree automatically and asks before removing one with changes in it. Add .claude/worktrees/ to your .gitignore, and list files like .env in a .worktreeinclude file so every new worktree gets a copy.

2. See what each one is doing: agent view

claude agents

Agent view lists your background sessions and their state: working, needs input, idle, completed, failed or stopped. From there:

You can send a session into the background with /bg, or start one from the shell with claude --bg "task". Background sessions keep running with no terminal open, and move into their own worktree before editing files.

3. Know what's unfinished tomorrow

This is the part no command covers. Agent view shows what's running now. Worktrees keep changes apart. Neither tells you, the next morning, which of yesterday's eleven sessions left something half done, which ones belong to the same feature, or whether the thing you spent four hours on was the thing that mattered most.

What helps:

That list is project management. When you run several agents, you're doing a product manager's job for them whether you meant to or not: deciding priorities, tracking what's in flight, noticing what stalled, and telling people what shipped. I wrote more about that in Claude Code project management.

I built Shabash to do the third part automatically. It reads your Claude Code history on your Mac, groups sessions into threads per project, and each morning shows what you left unfinished. Check the ones that matter, press Start, and each opens in Claude Code where it stopped.

Questions

How many Claude Code sessions can I run at once?

There's no fixed limit, but each session uses your plan's quota independently. Most people find three to five active sessions is where keeping track gets hard.

How do I stop parallel sessions editing the same files?

Start each one in its own git worktree with claude --worktree <name>. Background sessions dispatched from agent view move into a worktree automatically before editing.

How do I see all my running Claude Code sessions?

Run claude agents. Agent view lists every background session with its state: working, needs input, idle, completed, failed or stopped.

What happens to sessions when I close the terminal?

Interactive sessions end, but their transcripts stay on disk and can be resumed with claude --resume until the cleanup period passes. Background sessions keep running without a terminal.