How to Run Multiple Claude Code Sessions at Once

KM16 Macropad provides sixteen keycaps and three knobs on anodised aluminium with confirmed VIA remapping. Spare outputs can select named tmux windows for parallel Claude Code sessions without answering those sessions automatically.

What does each session need for isolation?

Claude's official documentation recommends separate Git worktrees for parallel sessions so each conversation operates in its own directory and branch. Each new Claude conversation has independent context, while the worktree prevents two processes from editing the same checked-out files.

Give each task a narrow scope, branch and verification command. Shared databases, generated caches, ports and external services can still collide even when Git files are isolated, so record those resources too.

How should sessions be organized in tmux?

Create one tmux session for the project and one clearly named window per Claude task, or use separate tmux sessions when environment variables differ. Claude Code supports naming conversations and resuming them later. Align the Claude session name, tmux window name and worktree task where practical.

Names are for people; tmux window indexes are the convenient navigation targets. Keep a status line that shows both, and remove completed windows before reusing their numbers.

How do you switch without losing context?

Assign the pad spare function keys through VIA, then create tmux root bindings that select explicit windows. A press should reveal the target prompt and nothing else. Read the window title, working directory and latest request before typing.

Use activity indicators to find sessions with new output, but do not treat activity as proof that an agent needs approval. Logs and progress bars can trigger the same signal.

How many sessions can one person supervise?

There is no useful fixed number. The limit is reached when you cannot remember each task's branch, last request, pending risk and verification status. Start with two. Add another only when both existing sessions have clear names and are often waiting rather than demanding review.

The KM16 Macropad can select many windows, but hardware capacity is not attention capacity. Keep approval and Enter on the normal keyboard, maintain a task ledger and merge or clean worktrees only after reviewing each branch independently. Keep a short ledger with task, worktree path, branch, Claude session name, tmux target and next required review. Update it whenever a session stops or changes scope. Before merging, compare each worktree against its base and run the intended checks from that worktree. Remove stale worktrees only after their branches and uncommitted files have been accounted for. Keep the ledger outside any one temporary worktree so cleanup cannot delete the only record.

Back to blog