$ cat context-switch-tax.md
/ 6 min read #productivity #developer

> The context-switch tax

— forge team

There is a tax on every tab you open.

It is paid in minutes — yours — and the bill comes due whether you read it or not. The work that makes you any good — the architecture in your head, the variable bindings, the trace of why-the-test-is-flaky — that whole working set evaporates the moment you alt-tab to a chatbox to ask a model a question.

The number most commonly cited is 23 minutes and 15 seconds to fully recover focus after an interruption — the figure from Gloria Mark's UC Irvine research, reproduced everywhere from Gallup to popular productivity writeups, and consistent with her later finding that average screen-attention spans have collapsed to roughly 47 seconds. The 23 minutes does not bend just because the interruption is "useful" or "self-inflicted." Switching tabs is switching tasks. Your brain bills you the same.

What that costs, applied to developers

Programming is unusually expensive to interrupt because the working set is unusually large. You're holding the call graph, the failing assertion, the four variables that matter, and the half-formed hypothesis about why. Industry research tracking developers (summarised by ShiftMag) puts it at 10–15 minutes to return to editing code after an interruption, and 30–45 minutes to recover the full context you had before the break. A widely-cited GitHub-referencing figure estimates that frequent interruption can erase up to 82% of productive time.

The interruption does not have to come from a person. The interruption is the act of leaving the context. A Slack ping does it. A meeting does it. A browser tab does it. Opening a chatbox in another window to ask "how do I do this in pandas" does it. Same tax. The model is helpful; the tab is not.

Where the bill comes from

The bill comes from the shape of the tool, not the model behind it.

A chatbox in a browser tab forces three switches: out of editor, into browser, into a separate text field with separate keybinds, separate history, separate clipboard discipline. Each switch costs something. Then you paste back. Then you re-orient. Then, twenty minutes later, you remember what you were trying to do.

A model that lives in the terminal collapses all three. The editor is already in the terminal (or one keystroke away). The shell is the input field. Stdin is the clipboard. The reply goes to stdout, which is where you read everything else anyway. You did not leave the context. You did not pay the tax.

This is the case Eficode makes for Unix-philosophy AI — small, composable agents that "do one thing well" reduce cognitive load because they fit into a workflow you already have, instead of demanding a new one. And it is why the existing terminal-native tools (aider, llm, gh copilot) feel different in the hand even when the underlying model is the same one a chatbox is calling. The model is not the variable. The tab is the variable.

The stance

If your AI demands a browser tab, it is taxing you 23 minutes a question. You will not notice. You will just notice that you got less done than you thought, and that the day felt fragmented.

If your AI lives in the shell — pipeable, scriptable, exit code 0 or 1 — it costs you nothing to consult it. You can ask it twenty things in a row and never break flow.

forge is built for that. One binary, in the terminal, between two pipes. No tab. No tax.

Stay in the context. Pay yourself, not the switch.

Sources