Repository navigation
Description
Note
🤖 Claude Opus 5.5 writing on behalf of Theo
This is the single tracking issue for reports that Claude's 5-hour limit drains faster in T3 Code than in Claude Code directly. It replaces #7338 and #7565.
Summary
- The bug is real, and it is on Anthropic's side. For the same tokens, Anthropic's 5h meter charges Agent SDK and
claude -ptraffic about 1.6x to 1.7x more than the interactive Claude Code TUI. - T3 Code runs Claude through the Agent SDK, so all Claude usage in T3 Code gets the higher rate. Other apps built on the Agent SDK get the same rate.
- Weekly limits are not affected. Weekly burn was the same in every run.
- T3 Code does not send more tokens or break the prompt cache.
- I reported this to Anthropic. Upstream issue: [BUG] Headless
claude -p(entrypointsdk-cli) uses ~1.8× more of the 5-hour window per token than interactivecli, same workload anthropics/claude-code#97074.
Tweet: https://x.com/theo/status/2114166439813017873
Numbers
One Max account. Nothing else used it during the test, and it started at 0% (5h) and 0% (weekly). The workload was the same for each run. "5h cost" is % of the 5h window per million cache-write tokens.
| Run (in order) | 5h meter | 5h cost | Weekly |
|---|---|---|---|
| Interactive TUI #1 | +7% | 1.14 | +2% |
| T3 Code #1 | +13% | 1.94 | +2% |
claude -p |
+9% | 1.83 | +2% |
| T3 Code #2 | +16% | 1.97 | +2% |
| Interactive TUI #2 | +7% | 1.11 | +2% |
The two T3 Code runs also include 23M to 28M cache reads. After we remove those, T3 Code still costs about 1.6x the TUI. The order was reversed for the second set of runs, and the result did not change.
Because the weekly meter is not affected, users fill the 5h window with about 14% of their weekly limit used in T3 Code, versus about 29% in the CLI.
What we ruled out
- Cache TTL. T3 Code gets the 1h prompt cache for signed-in users. We checked this in the transcripts.
- Cache breaks. Neither arm rewrote the cache. This includes 8-minute gaps, and a 35-minute gap where T3 Code closed the Claude process and resumed it.
- Token volume. The first request from T3 Code is smaller than the TUI's (34.6k prefix tokens vs 47.0k).
- Permission mode. The TUI in bypass mode costs the normal TUI rate.
Upstream
- [BUG] Headless
claude -p(entrypointsdk-cli) uses ~1.8× more of the 5-hour window per token than interactivecli, same workload anthropics/claude-code#97074:sdk-cliandsdk-tsuse about 1.8x to 2.9x more of the 5h window per token than the interactive CLI. Many people reproduced it there, including with T3 Code. - Session limit blocks the Agent SDK while the desktop app on the same account is at 62% anthropics/claude-code#104738: the session limit blocks the Agent SDK while the desktop app on the same account is at 62%.
I will update this issue when Anthropic responds. The T3 Code cache issue after Stop is separate and is tracked in #10955.

Activity
feat(launch): add opt-in entrypoint relabeling via CPROXY_ENTRYPOINT (#…
0oAstro commentedon Oct 29, 2026
all good ;)
t3dotgg commentedon Nov 2, 2026
🤐
Folio sessions name themselves horadric to the CLI, not sdk-cli
A5harib commentedon Nov 2, 2026
Note
Claude Opus 5.5 writing on behalf of A5harib.
Post-merge check of #28410 on a Pro plan: with the
t3-codeentrypoint, the 5h meter now drains at the same rate as the interactive TUI.Setup. Windows 10, Claude Code 2.1.316, Opus, T3 Code nightly
0.1.7-nightly.20261102.4080. The account started the window at 0%. Each arm ran 8 turns of the same prompt shape, "Write an original 2500-word short story about ", with no tools. The SDK arms usedclaude -pwithCLAUDE_CODE_ENTRYPOINTset. The TUI arm drove a real interactiveclaudein a pty. A local capture server confirmed the labels on the wire: the TUI sends(external, cli)and the other arms sendsdk-tsort3-code. The T3 Code session I ran this from also sentt3-code, so the nightly applies the fix.The meter is
five_hour.utilizationfrom/api/oauth/usage, read after each arm. Cost is weighted tokens from the session transcripts (input 1, cache write 1.25, cache read 0.1, output 5), in millions.cli)t3-code(run 2)t3-code(run 1)sdk-ts, the old default (derived)The
sdk-tsrow is derived. A meter read between the TUI andsdk-tsarms of run 1 failed with a 429, so I subtracted the TUI share using run 2's TUI rate. Run 1 moved 7 → 30 across both arms.Caveats.
t3-codearm. I left that in.The
sdk-tspenalty looks larger now than the 1.6x to 1.7x measured in October. Anyone still on stable v0.1.6, which predates #28410, should see that larger gap until they update or set the entrypoint themselves.arandomhooman commentedon Nov 2, 2026
This is a great example of why you should read what your clanker writes before you let it send it.
feat(pool): record each Claude request's entrypoint and weight Agent …
fix(claude): hex's headless runs say they're hex, not the Agent SDK (#…
sync: label the agent's Claude runs autofork, so the 5-hour limit met…