Problem Solutions
Claude Code’s 3-Word Status Line Is Quietly Eating Your Tokens — Here’s How to Cut It
If you run background agents in Claude Code, a small label next to each agent — three or four words like “Checking login-form.md” — is quietly spending your tokens. A test run on October 29 measured the cost: 1.3% of a fast session, and 15.7% of a slow one. There is no setting to turn it off. But there are safe ways to cut it.
What the status line actually is
When Claude Code runs work in the background, each agent gets a short progress label in the agents list. That label is not free text generated locally: every time it updates, Claude Code sends a small request to the model — internally called agent_summary — asking it to describe the agent’s latest action in 3 to 5 words. Each background agent has its own timer firing about every 30 seconds, but only when the agent has done something new; idle agents are skipped. The request carries the agent’s context, mostly read from the prompt cache (cheaper than fresh input, but still counted), and uses the same model as the agent itself. It is not the custom statusLine bar you can configure yourself — that runs your own script and costs no tokens.
What the test measured
The test, run by AI Parabellum on October 29 with Claude Code v2.1.312 on macOS and the default Sonnet 5.5 model, ran the same kind of job twice. A quick job — two agents reading 12 small files each and writing a summary in about 30 seconds — produced 1 label: 2.5% of requests, 1.3% of cost. A slow job — two agents running 25-second checks on 6 files each, about 3 minutes total — produced 11 labels: 34.4% of requests, 15.7% of cost. In the slow job the labels added roughly 31% on top of what the two agents spent on their actual work, at about half a cent per label at API rates. The difference is time: a fast agent finishes before the timer fires much; a slow agent that keeps making progress gets a new label every 30 seconds, each re-reading its whole context.
What it costs on a subscription
On Pro or Max you are not billed per request, so the label does not cost money directly. It does consume your plan’s usage limits, so on agent-heavy days you may hit limits sooner. That is why the viral claim going around — that the status line burns 15–20% of your tokens — is true for some workflows and not for others: it depends on how long your agents stay busy.
How to check your own sessions
Two ways. Quick: start Claude Code with a debug log (claude --debug-file ~/cc-debug.log), work normally, then count label lines with grep -c “Summary result” ~/cc-debug.log — each match is one extra model request. Exact: enable Claude Code’s OpenTelemetry export and group api_request events by query_source; the agent_summary row is your status line cost. Keep any saved telemetry file private — it can include account details.
How to cut the cost, safely
First, run fewer background agents at once: four busy agents make four times the labels. Second, keep agent tasks short and focused: two fast agents cost less in labels than one 20-minute grind. Third, do not make an agent babysit slow commands: run long test suites or builds yourself or in the main session and hand the agent only the result. Fourth, use a cheaper model for subagents (CLAUDE_CODE_SUBAGENT_MODEL=haiku): labels use the agent’s own model, so cheaper agents mean cheaper labels. Fifth, stop agents you no longer need: the down arrow opens the agents list, and ctrl+x ctrl+k twice stops all background agents. Sixth, do not patch Claude Code with a script from the internet to kill the labels: it runs someone else’s code inside a tool that can read and edit your files, and it can break silently after any update. Ask Anthropic for an official setting through the /feedback command instead. One caveat on this whole article: these numbers come from one tester’s measurement, not from Anthropic. Your numbers will differ; the debug-log check takes a minute and tells you your own.