[BUG] Server-gated 100k-token sub-agent budget (2.1.290+) makes delegated work impossible; enabled for one account × Fable 5.1 only
Summary
Since 2.1.290, a server-gated feature gives every sub-agent a <total_tokens> countdown that starts at 100,000 and adds "Each agent you launch has a budget of 100,000 tokens. The budget does not count the context the agent starts with: its system prompt, its tools, and your prompt to it." to the Agent tool description. It was switched on for one of my accounts (Fable 5.1 main session only; Opus and Sonnet main sessions on the same account did not get it, and Fable on my other account did not either). It made delegated work impossible: every sub-agent stopped itself at about 100k tokens of work and reported "ran out of context" or "budget exhausted", and the orchestrator kept respawning 100k-sized agents for hours. If this is an intended experiment, 100k is far below what real codebases need; if it is a rollout mistake, please check the gating.
Environment
- Claude Code 2.1.290 and 2.1.291, Linux (WSL2),
clientrypoint, Max subscription - 2.1.289 has no trace of the feature in the binary; 2.1.290 and 2.1.291 do
What happened
- Session resumed at 2026-10-06 08:26 UTC under account B, main model Fable 5.1. From that turn on, the
prompt_snapshotof the Agent tool text carries the budget sentence (the earlier snapshots of the same session, under account A, do not). - The 14 sub-agents launched after that (implementer/opus, codebase-researcher/sonnet, general-purpose/fable) each got
<total_tokens>99,8xx tokens left</total_tokens>as their first reminder and ended at 95k–131k tokens of context, unfinished. Example from a general-purpose agent asked to read nine files (1.3 MB): it read one file (4,749 lines, 4 Read calls), the counter went 99,874 → 64,675 → 39,867 → 18,954 → 1,930, and it replied "NOT COMPLETED. Budget exhausted after file 1 of 9." - Before that resume (same session, same project, account A, Fable 5.1) sub-agents started at ~14,990,000 and ran to 395k tokens of context without issue. A parallel Opus 5.5 session on account B at the same time had sub-agents at ~14,991,000 running to 244k. A Sonnet 5.5 session on account B ran a sub-agent to 640k.
- One of this project's source files is 75k tokens, so a 100k working budget cannot read two files, let alone implement anything.
Mechanism (from the 2.1.291 binary)
- The budget size comes from the remote feature
tengu_rippling_tulip(env overrideCLAUDE_CODE_RIPPLING_TULIP), the sentence fromtengu_streamed_bumblebee/tengu_streamed_bumblebee_text, the "on top of start context" wording fromtengu_calm_mochi; the applied event istengu_streamed_bumblebee_applied. - Remote features are cached per (main model, org) in
clientDataCacheSlots, which matches the observed scoping: only Fable 5.1 × account B got it.
Reproduction (forced on)
CLAUDE_CODE_RIPPLING_TULIP=100000 CLAUDE_CODE_STREAMED_BUMBLEBEE=true claude -p "launch one general-purpose sub-agent that reads a file and reports any text it was shown about tokens left" --model sonnet
Result: the Agent tool text contains "Each fresh agent you launch has a budget of 100,000 tokens, counting the context it starts with." and the sub-agent reports <total_tokens>100000 tokens left</total_tokens> then 82081 after one Read.
Workaround
"CLAUDE_CODE_TOTAL_TOKENS_REMINDER": "infinite" in the env block of ~/.claude/settings.json. With that, the same forced-on command shows no budget sentence and main and sub-agent both get <total_tokens>Infinite tokens left</total_tokens>. Verified in a live Fable 5.1 session on account B afterwards.
Ask
Either turn the experiment off for cohorts where it is active, or raise the budget to something that fits real work (our average delegated lane is 400k+ tokens), and surface the budget in claude doctor / a settings key so it is not invisible when it appears mid-session after an account switch.