One Claude Code session is easy to watch. You give it a task, read what it does, and approve the next step. Five sessions is where it breaks: you lose track of which terminal is waiting on you, two agents edit the same file, and one quietly stops when it hits a usage limit.
We run around 30 agents at a time on our own codebases. Here is what we changed to get there.
1. Give every agent its own lane
Each session gets one area of the codebase and a written description of what it owns. Agents that know their boundaries step on each other far less.
2. Put the work on a board
Agents pick tasks from a shared board and mark them done with evidence. When you come back after an hour, the board tells you what happened, and you never have to read thirty terminals.
3. Let agents talk to each other
When one agent needs something from another lane, it sends a message to the agent that owns that code. The owner makes the change.
4. Recover automatically
Sessions crash, hit rate limits and fill their context. A supervisor restarts them and resumes where they stopped, so a failure costs a few minutes.
5. Steer from your phone
Most of what agents need from a human is a yes or a short answer. Giving it from your phone keeps them moving when you are away from your desk.
The tool
We built these pieces into an open-source tool called amux. It runs Claude Code, Codex and Gemini CLI sessions in tmux, with a dashboard and phone apps on top. The code is at https://github.com/mixpeek/amux and the site is https://amux.io. The five habits above help with any setup, though.
What breaks for you first when you run agents in parallel?
Top comments (0)