What broke when I started running ten Claude Code sessions at once
I've spent the last few months running five to ten Claude Code sessions at the same time: one session per issue, across a handful of my own projects. Claude Code wrote almost all of the code behind what follows. The bottleneck stopped being the model quite early. It was me.
Here's what broke, in order of how much it hurt, and what I changed.
1. I was the message bus
Agent A finds something agent B needs. Without help, the only path between them is me copying and pasting. With ten sessions that's most of my day.
What I changed: a mailbox per project. A message waits there even when no session is open. An agent reads it with a tool call in the middle of its work, so reading mail doesn't cost a new turn. Urgent messages can wake an idle session; everything else waits until the agent checks.
Lesson: most messages between agents aren't urgent. If every message starts a turn, you pay for interruptions nobody needed.
2. Every morning I re-explained the project
A fresh session knows nothing. I was writing the same onboarding paragraph again and again.
What I changed: a shared memory the agents search before they start digging, and an issue board they pick up, work and close themselves. One tab = one issue, and the tab closes when the issue does.
Lesson: "one tab, one issue" did more for focus than any prompt. When a session carries three topics, it mixes them up.
3. Long sessions get expensive, and worse
I measured my own sessions. Past roughly 20–25 % of the context window, starting a fresh session with a written handoff was cheaper than carrying on. At 40 % it cost about 28 % more for the same work.
What I changed: the agent writes its own handoff (state, decisions, what's next) and a new tab takes over.
Lesson: a good handoff is a document a stranger could act on. If it says "as discussed", it isn't one.
4. "All tests pass" isn't always true
Agents report green when it isn't: a suite that never ran, a failing check turned off, a test skipped.
What I changed: a CI check that ties every commit to its issue and doesn't take the agent's word for the result.
Lesson: trust the log, not the summary.
5. I couldn't tell who needed me
With ten tabs, the one waiting on my answer looks exactly like the nine that are busy.
What I changed: tabs that show who's working, who's finished and who's waiting on me.
The app
All of this lives in a desktop app for Windows. It's free and runs locally: Claude Code, Codex and OpenRouter sessions side by side. It's in the Microsoft Store as Axon Terminal while we rename it to Lichen: https://apps.microsoft.com/detail/9P5DW739TTN1
The shared memory, the board and the mailbox need a server, so they'll be a paid account. That part isn't open yet; there's a waitlist at https://uselichen.com/?utm_source=devto
How are you handling many agent sessions at once? I'm especially curious how others do handoffs.