Once I started running Claude Code sessions in parallel, my bottleneck moved. The agents write the code. What slows everything down is me figuring out which session is waiting for my input.

Put three or four agents in tmux panes or terminal tabs and you can't tell a stalled session from a working one. They look identical. I kept finding sessions that had been sitting on a permission prompt for ages before I noticed. The agents were fast; my dispatching was slow.

So I built a terminal. It's called viterm: a native macOS app in Swift + AppKit, with rendering handled by libghostty. MIT licensed.

What I wanted

The requirements never grew past two items.