RU

Claude Code burns 16% of tokens on a status line: how to turn it off

Published: 2026-10-29 · Author: AI Release · @ai_release1
Claude Code burns 16% of tokens on a status line: how to turn it off

⚡ The gist in 5 seconds

🔍 What happened

The write-up was published by the Flamerix AI team under an MIT license — a gist on GitHub. It gathered 376 points and 129 comments on Hacker News. Testing ran on Linux, Claude Code versions 2.1.257–2.1.312.

The mechanics are simple, which is exactly what makes it unpleasant. Every ~30 seconds, each background agent's full transcript goes to that same agent's model — usually Opus. The prompt is one line: "describe your most recent action in 3-5 words". The answer lives only in the status line of the agents panel. It never reaches the conversation or the model. There is no setting to turn this off. Since 2.1.232, the feature runs by default.

It was discovered via Claude Code's OpenTelemetry export. The authors grouped claude_code.api_request events by query_source. agent_summary turned out to be more expensive than the main conversation: 16.4% of total spend versus 15.7%. Two days after the hook was enabled — 0%. Share of requests: 19.7%, roughly one in five. Then zero as well. 96% of that spend went to Opus, with input-to-output tokens at about 9000 to 1. Issue #86879 collected four independent measurements: 18–26%.

The fix is no-agent-summary.js, about 80 lines. It's a Bun preload: it wraps setTimeout/setInterval and scans the callback's source for the summarizer's anchor, e.g. the string [AgentSummary] Timer fired. If it finds one, it returns a dummy handle instead of a timer. All other timers pass through as usual.

A simpler route didn't pan out. The module sits inside the binary already compiled to Bun bytecode, so patching the JS text inside changes nothing. The API client doesn't go through globalThis.fetch. But Function.prototype.toString returns the callback's source even from bytecode — that string is how the timer gets caught. The inert timer sets a delay of 2³¹−1 ms: anything larger, and Node and Bun turn it into 1 ms.

🧠 Our take

Background agents are no longer an experiment — people run several at once and pay for the tokens. The status line looks like a trifle nobody checks. Our assessment: this isn't malice, it's a side effect. Someone wanted a readable caption in the UI and didn't price it out. It just so happens that at Anthropic everything is visible in telemetry, while everywhere else it isn't.

What this changes in money terms. For anyone running several agents on Opus, 16–26% is no abstraction. On a subscription you hit your limits sooner; on the API you pay real money for a caption that not even the model reads. But what bothers me more is privacy: the transcript gets sent out without asking. We're used to a "background task" being something local.

Who wins. Those who install the hook, and the competitors — Cursor, Codex CLI, open-source wrappers like OpenHands. As far as I know, they don't have such a line in their telemetry, so the comparison now doesn't favor Claude Code. What loses is the idea of "smart defaults": once a default costs money, people start measuring it.

⚠️ What we don't know

cost_usd is Claude Code's own per-request estimate, not a bill from the billing system. On a subscription you lose not money but remaining quota, and the authors don't convert any of it into rubles. There's no comment from Anthropic. All measurements come from a single machine on Linux. On other OSes and versions the numbers may differ. The hook hinges on the internal log string [AgentSummary], and strings like that get changed without warning. Checking after every update is the only way not to guess.

💬 What's up for debate

  • Install the preload or keep paying: 16% of tokens versus the risk that after an update the hook silently breaks and you don't notice.
  • Hidden telemetry that makes the interface clearer — is that caring for the user or spending at their expense? The answer depends on whether you count the tokens as yours or as shared.
  • Anthropic should be the one to fix this with a settings toggle — or is it up to the users themselves, now that demand for agents is growing faster than the settings?

Prediction: within a quarter, Claude Code will get either a setting or agent_summary will move to a cheaper model. Public telemetry like this usually ends exactly that way. The condition is simple: if the noise doesn't die down and Anthropic responds publicly.

Disclaimer: not officially confirmed — the analysis comes from third-party researchers, one gist and one issue.

Source: GitHub Gist / Flamerix AI

🤖 AI summary
#Claude#Anthropic#токены#OpenTelemetry#ClaudeCode#LLM#нейросети#AI
← PreviousXreal Aura: world's first Android XR glasses, Japan first

Source: gist.github.com · post in Telegram