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-webhooksEach 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 agentsAgent view lists your background sessions and their state: working, needs input, idle, completed, failed or stopped. From there:
Spacepeeks at a session's latest output and lets you reply without leaving the list.Enterattaches to a session, and Claude posts a recap of what happened while you were away.Ctrl+Tpins one,Ctrl+Rrenames it, andCtrl+Sswitches between grouping by state and by directory.
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:
- Name sessions with
-nor/rename, so the list reads as tasks rather than IDs. - End sessions with a note: ask Claude "what's left open?" before you close it. The answer ends up in the transcript and costs you ten seconds.
- Group by the work, not the session. Five sessions on the same feature are one thread of work. Keep a short list of threads with what's done and what's open, and update it when a thread moves.
- Close threads on purpose. When something is finished, say so and archive it, so tomorrow's list only has live work on it.
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.