Workain

Field notes

The tab-switching tax: what actually breaks once you're running 3+ coding agents

2026-07-18

Running one Claude Code or Codex CLI session at a time is a solved problem — the vendor's own tooling handles it fine. Somewhere around the second or third session running at once (a refactor here, a test-writing pass there, an exploratory read somewhere else), something shifts, and it's usually not the agents themselves that start costing you time.

It's not the work, it's the checking

The actual bottleneck is re-establishing context every time you switch panes: which one were you waiting on again? Did that one finish, or is it still genuinely mid-tool-call? Scrollback tells you what happened, not what's happening right now — so the default move is checking anyway, "just in case," on a session that's been quietly working the whole time. Multiply that by however many sessions you're running and the checking itself becomes the second job.

Two failure modes, and they pull in opposite directions

  • False idle. A session that's still genuinely working gets treated as done because the terminal's gone quiet for a bit — you either interrupt it mid-task, or worse, you miss that it's actually stuck and let it burn time doing nothing.
  • Missed "your turn." A session that's been waiting on you for ten minutes looks identical, at a glance, to one that's still working — nothing in a raw terminal pane distinguishes "the agent needs an answer" from "the agent is thinking."

Both are the same underlying problem: a terminal pane shows you output, not state. You have to read and interpret it every time, and that read has to be repeated for every session, every time you glance over.

Why this is new, not a permanent condition of the tools

This specific pain is recent. Running two or three agents on genuinely different tasks at once only became normal practice once the underlying models got reliable enough to trust with less supervision per task — which is recent enough that the tooling for operating one agent well (the vendor's own CLI) is mature, while fleet-level tooling is only now emerging: a few real tools exist (we compare against them directly on the main page), but for most people it's still hand-rolled tmux setups. It's the same shape as the old jump from "SSH into your one server" to "now you need a dashboard" once you're past a couple of machines — just arriving for coding agents specifically, now that running several at once is normal instead of a power-user edge case.

What we think the fix actually requires: not a timer-based guess, but a status that only ever changes on positive evidence — a session marked working stays that way for however long it genuinely takes, and something only flips to your turn when there's real evidence it's actually waiting on you. That's the specific design constraint we built Workain's own status board around, for exactly this reason.