SaasBuzz
An illustration of a tiny figure beside a ladder reading an enormous unrolled scroll under a desk lamp, an alarm clock ticking beside it: a whole transcript re-read on a timer for a few-word status line. Illustration: SaasBuzz, made with Z-Image

Claude Code's agent status line: what it costs and how to stop it

Background subagents re-send their transcript every 30 seconds for a few-word label. Testers measured 10% to 18% of spend; Anthropic says 2% on average.

By Nichole Rae Dizon

· 14 min read

Claude Code's background subagents each make a hidden model request about every 30 seconds while they work, sending the agent's whole transcript to its own model to write the three-to-five-word status line in the agents panel. Anthropic says those agent_summary calls were about 2% of cost, at API list prices, across Claude Code users who send it telemetry in the week before October 29. Developers who run many long background agents measured far more, on versions 2.1.233 to 2.1.314: 18% of weighted tokens in one 27-agent session, 16.4% of one team's spend over a week. As of version 2.1.317 (November 3, 2026) there is no supported setting to turn the calls off.

Both numbers are true. The cost grows with each agent's context and the number of agents working at once, so it is small for most users and a real share of the bill for those who delegate the most. Our view: a status line is a reasonable feature, but Anthropic shipped a cost that scales with heavy use with no off switch, no line in the cost documentation and no per-request record on disk, so the users it hits hardest cannot see it.

What to do now: measure your own share first (the method is below). If it matters, the one documented setting that stopped the calls in most tests is CLAUDE_CODE_FORK_SUBAGENT=0, but it also turns off fork mode and one tester measured no effect. Unattended runs with claude -p made no summary calls in the two tests that measured them. Do not install the third-party preload script that patches the timer. Everything here was checked on November 3, 2026.

30 sDefault summary interval per working agent
2%Share of cost across users, per Anthropic
6%Share in the terminal, per Anthropic
18%Weighted share in one measured 27-agent session

Symptoms, causes and fixes at a glance

Symptom

Likely cause

What to do

Plan limit drains faster when background agents run

One summary call per working agent every 30 s

Measure with a debug log, then decide

Cost tools show less than your bill

Summary calls are not written to transcripts

Count them in the debug log or OpenTelemetry

Fork switch set, calls continue

A settings env block overrides the shell value

Check what the process sees

Overnight runs cost most

Long, busy agents with large contexts

Run them with claude -p

Source: SaasBuzz, from the GitHub issues and Anthropic documentation linked below.

What the status line actually does

The agents panel shows a short line for each background subagent, such as "Running sleep 20 for echo 5", and a model writes it. The developer who opened GitHub issue #86879 on August 15 quoted the call from the 2.1.233 code: it is labelled agent_summary, takes a copy of the agent's conversation, denies every tool, runs one turn and is marked skipTranscript: true, so it never appears in the session's transcript.

Testers who read the shipped code or logged it add four details:

  • The call goes to the agent's own model. A Haiku subagent is summarized by Haiku and an Opus subagent by Opus, according to issue #105981, measured on 2.1.312.

  • The interval defaults to 30 seconds and appears to be set by Anthropic's servers within 30 to 240 seconds, a tester reading the 2.1.300 code reported.

  • A call is skipped while the agent's transcript has not changed. Anthropic's changelog for 2.1.128 (May 4) lists a fix for "summaries firing repeatedly while a sub-agent's transcript is static", and a debug log on 2.1.314 shows four skipped ticks during a three-minute command.

  • Only Agent-tool subagents get the timer. A team that counted 1,802 workflow-agent requests on 2.1.312 found no summaries for those agents.

Anthropic's status line page, which says the status line "does not consume API tokens", covers the customizable bar at the bottom of the terminal, not this per-agent line. We found no Anthropic documentation of the summary call.

Is it 2% or 18% of my usage?

Anthropic's only public figures came from Edwin Arbus, who wrote on Hacker News on October 29 that he works on Claude Code; his profile there links an X account describing him as head of product and community communications for Claude. He confirmed the mechanism, said idle background agents get no summary calls, and gave the only fleet figures Anthropic has published: in the previous week, across users who send Claude Code telemetry, about 2% of cost at API list prices and just under 4% of requests, and about 6% of cost in the terminal, "where nearly all of these calls happen".

Edwin Arbus's Hacker News reply saying agent_summary was about 2% of cost and just under 4% of requests across users, and about 6% of cost in the terminal
Arbus's reply on Hacker News, posted October 29, 2026, with Anthropic's 2% and 6% figures; captured November 3, his email address removed by SaasBuzz. Screenshot: SaasBuzz

Every independent measurement we found is far higher, all from workloads built on background agents:

Tester, release

Workload

Summary share

rflcrz, 2.1.233

4 hours, 27 subagents

22.7% of requests, 18.0% weighted

sylvain-artois, 2.1.276

1h45, four agents, one at 380k context

26% of cache reads

Flamerix, Oct.

One week, one team

16.4% of spend, 19.7% of requests

chrisvaillancourt, versions not given

30 days, 129 sessions

About 10% of estimated spend, up to 24% in a 40-agent session

oroboros083-jpg, 2.1.314

One agent, Windows

4 of 18 requests, about 14% weighted

Source: the testers' comments on issue #86879 and Flamerix's write-up. SaasBuzz recomputed the request shares from their published counts.

GitHub issue 86879's opening table: agent_summary made 339 of 1,496 requests in a four-hour, 27-subagent session, 22.2% of raw and 18.0% of weighted tokens
The first measurement, in the opening post of issue #86879 on August 15, 2026: 339 summary calls in one four-hour session; captured November 3. Screenshot: SaasBuzz

The 18% weighted share is nine times Anthropic's average and three times its terminal figure. A fleet average includes every user who never starts a background agent, and Arbus said as much: the 16.4% "doesn't seem like a typical session". The testers are the tail: developers running many agents for hours, some unattended, on Opus. chrisvaillancourt's team found Opus subagents behind about 90% of its summary cost.

How the cost scales with agents, hours and model

Each summary call re-reads the agent's context, mostly from the prompt cache: about 212,000 cached tokens a call in sylvain-artois's session and 182,000 in rflcrz's, for 20 to 65 output tokens. A tick costs roughly one context, and in the three sessions with full counts there was one summary call for every three to four other requests (0.23 to 0.32).

The ceiling is one call per working agent every 30 seconds, or 120 an hour. Priced at the cache-hit rate Anthropic publishes for Opus 5.5, $0.20 per million tokens, one agent at the ceiling costs $2.40 an hour in cache reads at 100,000 tokens of context, $4.80 at 200,000 and $9.12 at 380,000. We repriced the two measured sessions at today's Opus 5.5 list prices and set them beside the ceiling:

Session

Calls an hour

Cost an hour

8-hour day

rflcrz, 27 agents

85

$4.43

$35

sylvain-artois, 4 agents

59

$2.89

$23

Ceiling, 4 agents

480

$19.82

$159

Ceiling, 10 agents

1,200

$49.56

$396

Source: SaasBuzz arithmetic on the testers' published counts in issue #86879, at Anthropic's Opus 5.5 list prices checked November 3, 2026. rflcrz's summaries ran on Opus 5, as did sylvain-artois's largest agent, so this is not their bill. Session rows include the fresh input the testers reported: 157,500 uncached tokens in sylvain-artois's table, and about 920,000 in rflcrz's, his raw-token total less the columns he lists. Ceiling rows assume 200,000 tokens of context and 65 output tokens a call, with no fresh input.

Three things follow. The cost tracks working agent-hours, so it scales with fan-out times wall-clock time, not with output. Measured sessions fire far fewer calls than the ceiling because agents are not all working all the time: sylvain-artois logged one call every 30.8 to 31.3 seconds while an agent ran, yet his 103 calls would have been 12% of the possible ticks had all four agents worked the whole 1h45. And the model matters most: the same calls cost half as much on Sonnet 5.5 subagents and a little under a quarter on Haiku 5.5, at Haiku's higher price for prompts over 100,000 tokens.

Our ceiling leaves out fresh input, which a 2.1.314 debug log put at 2,790 to 13,006 uncached tokens a call, with 195 to 526 output tokens, on a 32,000-token context. On a subscription, Flamerix wrote, what you lose is rate-limit headroom rather than money.

Every proposed switch, and what testers measured

CLAUDE_CODE_FORK_SUBAGENT set to 0 is disputed: it stopped the calls in most tests on 2.1.310 to 2.1.312 and made no difference in one (details below).

CLAUDE_CODE_AGENT_PROGRESS_SUMMARIES set to 0 cannot turn summaries off: any value counts as on, according to a reading of the 2.1.312 code.

CLAUDE_CODE_ENABLE_NARRATION set to 0 worked on 2.1.241 and was gone by 2.1.245, two testers reported.

CLAUDE_CODE_DISABLE_BACKGROUND_TASKS set to 1 stops the calls only by removing background agents, Flamerix wrote.

Print mode, claude -p, produced zero summary calls in two tests, on 2.1.312 and 2.1.314.

A third-party Bun preload script produced zero calls on Linux and macOS, but it is unsupported, with risks set out below.

Source: issue #86879, issue #105981 and the Flamerix write-up.

Why the fork switch works for some people and not others

Anthropic documents CLAUDE_CODE_FORK_SUBAGENT for something else: its subagents page says 0 turns off fork mode, on by default from 2.1.302, and lets Claude wait for a subagent. Nobody at Anthropic has confirmed its effect on summaries.

The results conflict. dblumenau measured five summary calls with the default and five with the switch, on Linux 2.1.312, in issue #105981. chrisvaillancourt measured two calls with the default and none with the switch on macOS 2.1.312, set in the shell or in a settings file. canneyi read the 2.1.309 to 2.1.312 code, ran eight tests on 2.1.309 and 2.1.310 and then two on Linux 2.1.312: three calls with the default, none with the variable exported.

canneyi's reading explains the split. In an interactive session the summaries depend on the fork gate, which closes when the process sees 0. But Claude Code writes every settings env block over the shell's environment at startup, so a "1" in any settings file reopens it: in that test the session saw 1 and made three calls. canneyi called a settings entry "the most likely cause" of the failed test; dblumenau had not posted the checks canneyi asked for by November 3, so the dispute is open. If your calls continue with the switch set, check the session's environment and every settings file for the variable. Either way, fork subagents and skills that run with context: fork are summarized in every mode, and the switch gives up fork mode.

How to measure your own share, step by step

Transcript-based cost tools miss these calls. Issue #104358 found transcript sums landing 1.35 to 2.13 times below Claude Code's own cost record in 14 subagent-heavy sessions, and named agent_summary as the largest of the missing requests. Two methods see them. SaasBuzz has not run either itself: the flags and variables below are from Anthropic's documentation as published on November 3, when the current release was 2.1.317, and the log lines are as testers posted them from 2.1.312 and 2.1.314.

Method 1: a debug log, no setup

  1. Start Claude Code with claude --debug-file ./cc-debug.log. Anthropic's CLI reference says the flag writes debug logs to that path and turns on debug mode.

  2. Give a background agent a task of a few minutes and let it work as usual.

  3. Count the summary calls: search the file for lines containing "AgentSummary" and "Forking for summary". A tick that found nothing new logs "Skipping summary" instead and costs nothing.

  4. Add up their tokens: each finished call logs a line containing "agent_summary" and "totalUsage", with its input, output and cache-read counts. Price them at your subagent model's rates.

  5. For a share, run the same task with claude -p, which made no summary calls in the tests above, and set the summaries' tokens against that run's, as oroboros083-jpg did on Windows.

Method 2: OpenTelemetry, with dollar figures

  1. Turn on telemetry and the events exporter, using the variables in Anthropic's monitoring quick start: CLAUDE_CODE_ENABLE_TELEMETRY=1, OTEL_LOGS_EXPORTER=otlp, OTEL_EXPORTER_OTLP_PROTOCOL=grpc and OTEL_EXPORTER_OTLP_ENDPOINT set to your collector, then run claude.

  2. Use the events, not the metrics. The cost and token metrics sort requests into only three buckets, main, subagent and auxiliary. Each claude_code.api_request event carries the subsystem's own query_source, plus cost_usd and token counts.

  3. Filter on query_source equal to agent_summary, the label the summaries carry in sylvain-artois's table, built from raw request bodies on 2.1.276.

  4. Divide: the summaries' cost_usd total over the session's, and their request count over all requests. That is the figure to set against Anthropic's 2% and the testers' 10% to 18%.

  5. No collector? Add OTEL_LOG_RAW_API_BODIES=file: and a folder. From 2.1.274, Claude Code appends a line to index.jsonl there for every successful response, with its query_source and the files holding the request and response. The documentation warns that the bodies include the entire conversation history, so delete the folder when you are done.

What to do without a hack

  • Run unattended work with claude -p. dblumenau on 2.1.312 and oroboros083-jpg on 2.1.314 each counted zero summary calls in print mode, and sylvain-artois's reading of the 2.1.276 code found them off there. Setting the progress-summaries variable listed above switches them back on.

  • Give subagents a cheaper model. The summary uses the agent's own model, and Anthropic's docs let each subagent name one, such as haiku, or set a default with CLAUDE_CODE_SUBAGENT_MODEL. Testers found no setting that sends only the summary to a smaller model.

  • Use a workflow for large fan-outs. Workflow agents were not summarized in the one test that checked.

  • Keep subagent contexts short and the count low. Each tick costs about one context, and each working agent has its own timer, so four busy agents can make eight calls a minute.

Why we would not install the preload script

The most reliable off switch in the tests is a Bun preload script published by Flamerix AI, which replaces the summary timer inside Claude Code. dblumenau measured zero calls with it on Linux 2.1.312. We would still not put it on a work machine:

  • The install command downloads whatever version the gist holds at that moment, with no pinned version or checksum, and the gist has had four versions, all dated October 28 and 29. JHVIW warned on the issue that the script "runs inside every Claude Code process".

  • It loads through BUN_OPTIONS, which, in the gist's own words, "reaches every bun on the machine", though the script is written to do nothing outside Claude Code.

  • On Windows it does nothing as published: oroboros083-jpg found that its check for the Claude Code process never matches there.

A tool with access to your repository and credentials is the wrong place for a third party's unpinned code. The fork switch, whatever its side effects, is a setting Anthropic documents.

What Anthropic has said, and what it has not

Arbus wrote "we agree that's a lot for a status line", and that Anthropic had "just rolled out a fix" for summaries that miss the prompt cache, in 2.1.311 and later, and was "working on a much cheaper mode that sends short notes to a smaller model instead of the full transcript". Anthropic's public changelog for 2.1.311 through 2.1.317 has no entry about agent summaries, and dblumenau's test on 2.1.312 still showed full-transcript calls. Arbus's reply did not mention an off switch.

Issue #86879 has been open since August 15 with 115 reactions and no reply from Anthropic staff. The "Background token usage" section of Anthropic's cost documentation lists session recap, idle compaction and prompt suggestions, each with a way to turn it off, but not the agent summaries.

Anthropic has handled this kind of cost before. Goal check-ins, another background request that resends the full context, had no cap until version 2.1.246, on August 25, limited them to three per goal between prompts, and CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0 turns them off. And its agent view documentation describes a different summary feature built the way testers are asking for: session rows update at most every 15 seconds "without sending a model request", with a short Haiku-class request when each turn ends and every few minutes during a long one.

Anthropic's agent view documentation: row text updates at most every 15 seconds from the session's own output without sending a model request
Anthropic's agent view documentation on row summaries, as published November 3, 2026: the cheaper design, used for a different panel. Screenshot: SaasBuzz

Our take

The 2% figure is accurate and beside the point for the people asking. A fleet average says the feature is cheap for the typical user; it says nothing about the team in Flamerix's measurement, whose agent summaries cost more than its main conversation: 16.4% of spend against 15.7%.

The strongest objection is Arbus's: the summaries help both the user and Claude track what each agent is doing, and Anthropic is making them cheaper. That is fair when someone is watching. But a cheaper default is not a choice, and Anthropic already gives users an off switch for goal check-ins, prompt suggestions and session recaps. Until the agent summary gets the same, readers who run many background agents should measure, and if the share is large, set the fork switch and check it took effect.

Questions readers asked

Does closing an idle agent's tab stop the calls?

Idle agents are not the cost: Arbus said they get no summary calls, and the 2.1.128 fix skips unchanged transcripts. What costs tokens is an agent still working, whether or not you are looking at it.

Can the summaries be sent to Haiku instead of Opus?

Not on their own. The call uses the subagent's own model, and testers found no setting that changes that. Running the subagent itself on Haiku or Sonnet makes its summaries cheaper too. Arbus said Anthropic is working on a mode that sends short notes to a smaller model; the changelog had not announced it by November 3.

Does the Claude desktop app do this?

Mostly not, so far. canneyi's reading of the app's code found ordinary background agents there get no summaries, though forks do, and oroboros083-jpg saw no summary timers in the Windows app's bundled 2.1.309. Neither is an Anthropic statement.


Sources

  1. GitHub issue #86879, opened August 15, 2026, with testers' measurements to November 3

  2. GitHub issue #105981, opened October 29, 2026

  3. GitHub issue #104358, opened October 22, 2026

  4. Edwin Arbus on Hacker News, October 29, 2026

  5. Claude Code changelog, versions 2.1.128 and 2.1.311 to 2.1.317

  6. Claude Code subagents documentation, fork mode and models

  7. Claude Code monitoring documentation, OpenTelemetry and query_source

  8. Claude Code CLI reference, the --debug-file flag

  9. Claude Code agent view documentation, row summaries

  10. Claude Code cost documentation, background token usage

  11. Anthropic API pricing, cache-hit rates

  12. Flamerix's measurement and preload script, revised October 29, 2026


Nichole Rae Dizon

Writer · 4 stories

Nichole Rae Dizon writes for SaasBuzz.

More in Guides

See all →

SaaS TLDR Newsletter

Free forever. Unsubscribe in one click.