How to Monitor Multiple Claude Code Agents Without Losing Your Mind
You started with one Claude Code session. It was great. So you opened another. Then a third, because one agent is refactoring the auth module while another writes tests and a third handles the docs update.
Now you have a wall of terminal tabs and no idea which agent is waiting for approval, which one finished, and which one went off the rails three minutes ago.
This is the monitoring problem, and it gets worse the more productive you get with Claude Code.
Why multiple agents break the standard terminal
Claude Code is designed for conversational, interactive work. It asks for permission before running commands, edits files, and makes decisions that need your review. That’s a feature — until you multiply it across five or six sessions.
In a standard terminal, each agent lives in its own tab or window. You can’t see their status at a glance. You have to click into each tab, scroll through output, and figure out where things stand. Meanwhile, an agent in another tab has been waiting for approval for four minutes, blocking its entire task.
The core issue: terminals weren’t designed to show you the status of multiple interactive AI sessions at once.
The tmux/screen approach
The obvious first attempt is tmux or GNU Screen. Split your terminal into panes, run one agent per pane, and tile them so you can see everything.
This works — sort of. A typical tmux setup:
# Create a session with multiple panes
tmux new-session -d -s agents
tmux split-window -h
tmux split-window -v
tmux select-pane -t 0
tmux split-window -v
Now you have four panes. You can watch all four agents simultaneously. But the problems pile up quickly:
- Panes are tiny. Four agents on one screen means each gets a quarter of your display. Claude Code’s output is dense — you’re going to be squinting.
- No status indicators. You can’t tell which pane needs attention without reading the actual output. There’s no “waiting for approval” badge.
- Switching context is manual. To approve something, you need to click into the right pane, scroll to find the prompt, respond, then navigate back.
- Scaling breaks down. Four panes is manageable. Eight is chaos. Twelve is unusable.
Tmux is a fantastic tool for many workflows. Monitoring multiple AI agents just isn’t one of them.
What actually works for monitoring agents
Four things matter for multi-agent monitoring:
1. Status indicators that don’t require reading output
You need to know three things about each agent without reading its terminal output: Is it working? Is it waiting for me? Did it finish? Any monitoring approach should surface this information instantly.
2. Notifications when agents need attention
Polling — manually checking each agent — doesn’t scale. You need the system to tell you when something needs your input. Whether that’s a sound, a visual indicator, or a macOS notification, push beats pull every time.
3. Quick context switching
When an agent does need attention, you should be able to jump to it, see the full conversation context, make a decision, and get back to what you were doing. Minimal friction.
4. Project-level organization
If you’re running agents across multiple projects, you need to know which agents belong to which project. Terminal tabs don’t give you this — they’re all flat.
How Crystl handles multi-agent monitoring
Crystl was built specifically for this problem. Instead of fighting terminal conventions, it rethinks how multiple Claude Code sessions are organized and monitored.
Each project is a gem, and each Claude Code session within a project is a shard. The Crystal Rail — a navigation bar anchored to the edge of your screen — shows all your active gems and shards with color-coded status indicators. You can see at a glance which shards are working, which are waiting for approval, and which are done.
When an agent needs a decision, Crystl sends a macOS notification and marks the shard with a visual indicator. No polling required. You click, review the floating approval panel, approve or deny, and you’re back to your other work.
Split view lets you watch two shards side-by-side at full readability — no squinting at tiny tmux panes. And because shards are organized under gems, you always know which project each agent is working on.
For fully parallel work, isolated shards give each agent its own git worktree. Two agents can work on the same repo simultaneously without stepping on each other’s branches.
Structuring work for parallel agents
Regardless of what tool you use, running multiple agents effectively requires some discipline:
- Give each agent a clearly scoped task. Vague instructions lead to agents wandering into each other’s territory.
- Separate concerns by file or module. If two agents are editing the same files, you’ll have merge conflicts even with worktrees.
- Check in at natural breakpoints. Don’t let agents run unattended for too long. Review their work periodically, especially early in a task when they might go in the wrong direction.
- Start with two or three agents before scaling up. Get comfortable with the workflow before adding more.
The bigger picture
Running multiple Claude Code agents is genuinely powerful — tests, refactoring, feature work, and documentation all happening at the same time. But the bottleneck shifts from “how fast can the agent code” to “how well can I keep track of what’s happening.”
Whether you use tmux or a purpose-built tool like Crystl, the key is having a system that lets you stay informed without being overwhelmed. Your agents are doing the work — you just need to keep them on track.