Claude Code’s Billing False Positive and Anthropic’s Developer Trust Problem

Theo Browne examines a subscription billing false positive, explains prompt caching, and shares T3 Chat’s API costs.

TBTheo Browne연사 · T3
채널
Theo - t3․gg
게시일
2026년 5월 1일
영상
34:39
읽기
7분
슬라이드
3
원문
영어
YouTube에서 열기
스크롤하면 영상이 오른쪽 아래로 작아져 계속 재생됩니다. 자막은 읽기 언어를 따릅니다.
읽기 언어2개 언어로 읽을 수 있음
이 글은 아직 한국어 번역이 없어 영어 원문으로 표시합니다.
요약

30초 요약

Theo Browne examines a Claude Code third-party harness detection false positive in which Git context led legitimate usage into an extra-billing path. Anthropic acknowledged the bug and said it would contact affected users with refunds and credits. Theo discusses caching economics, his own tests and T3 Chat’s experience, arguing that opaque billing boundaries undermine trust; his claims about company motives are speculation.

  1. 1Unexpected chargesA subscriber reported extra billing despite remaining subscription allowance.
  2. 2Caching depends on the workloadPrefix reuse, expiration and pricing all affect costs.
  3. 3An observational cost comparisonT3 Chat’s bill did not clearly fall after its caching change, but the comparison was not controlled.
  4. 4A fragile classificationThe demonstration shows an extra-usage warning in Claude Code; the underlying detection details are not established.
  5. 5Acknowledgment and remedyAnthropic acknowledged the interaction with Git status and said it was contacting affected users about refunds and credits.

핵심 정리

  1. A false positive in third-party harness detection can affect legitimate Claude Code users and billing.
  2. Prompt caching costs depend on prefix reuse, traffic patterns, expiration and pricing.
  3. T3 Chat’s before-and-after billing observation is informative but not a controlled experiment.
  4. Anthropic acknowledged the Git-context interaction and said it would offer affected users refunds and credits.
  5. Clear billing boundaries and reliable support are essential to developer trust.
전문

챕터별로 다듬은 전문 읽기

원본 자막만 보기
01

An unexpected subscription charge

A subscriber reports extra charges despite remaining allowance. Theo places the incident in the context of subscription and API billing.

I hate making another video criticizing Anthropic, but this time a Claude Code billing incident deserves attention. A subscriber reported unexpected extra charges despite having most of their weekly allowance left. The company later acknowledged a bug, but the episode raises a larger question about how subscription restrictions interact with ordinary developer workflows.

The product distinction matters. A subscription gives an individual access to Claude Code under usage limits, while an API charges for consumption. Anthropic has restricted using subscription credentials with certain third-party tools; that policy is the backdrop for a detection mechanism that misclassified a legitimate session.

For a developer paying a fixed subscription, the expectation is that the included usage stays within that plan. Extra usage is a separate paid option. The reported problem was not simply that someone reached a normal limit: the system treated certain usage as something that belonged in the extra-billing path.

The original report involved the text HERMES.md appearing in Git-related context. That does not establish that every file with this name causes a charge or that the exact detection logic is known. The alarming part is that normal project context could interact with a third-party harness check and affect billing.

I still keep a Max subscription for testing. The amount of inference included in a high-tier plan can be substantial, and that helps explain why the economics of flat-rate access matter. It also makes it especially important for customers to understand when they are using the subscription and when another meter applies.

02

Why prompt caching matters

Theo explains how repeated context affects inference cost and discusses possible incentives behind restrictions. His account of the company’s motives is speculation.

There is a plausible reason a provider might worry about third-party harnesses: different tools can send different prompts and use resources differently. But a possible economic concern does not excuse an opaque restriction or a billing mistake. To discuss the cost, we first need to understand prompt caching.

An AI model processes input tokens to produce output. When requests share a long prefix, a prompt cache can reuse intermediate computations for that prefix instead of processing it all over again. The model's weights are not rewritten by the prompt; the cached state is an optimization for repeated inference.

A coding agent repeatedly sends context such as instructions, conversation history and tool results. If a reusable prefix stays stable, caching can reduce repeated work and charges. If earlier parts change, the affected later prefix may no longer match, so the way a harness assembles its context matters.

Cache lifetimes and pricing also affect the result. A short-lived cache can expire between requests, while creating and retaining cached state has its own cost. The best choice depends on request frequency, shared prefix length and the provider's actual terms; it cannot be inferred from a single price line.

I have complained about cache behavior and changes in Claude Code before. Here I speculate that the company may be trying to control the cost of less cache-friendly third-party usage. That is my interpretation of the incentives, not proof of Anthropic's internal reasoning or the exact cause of this particular bug.

A poorly placed change in a system prompt can make reuse less effective, and changes to the harness can also affect the behavior users experience. These are implementation details with real consequences: users see latency, bills and answer quality, even if they cannot see the machinery behind them.

I have also argued that Claude Code became less reliable during earlier changes. My broader point is that an AI product is more than model weights: prompts, context management, caching and tools are part of the experience. Diagnosing a regression requires distinguishing those layers instead of assuming the base model alone changed.

03

T3 Chat’s API bill

He shows April usage and describes what happened after disabling caching. The before-and-after observation is not a controlled comparison.

Let me show a concrete bill from T3 Chat. We serve many requests through Anthropic's API, so this is API spending rather than my personal subscription. Our April dashboard shows roughly 11 billion input tokens and 650 million output tokens across models.

April API token usage
슬라이드 1 / 3April API token usageT3 Chat’s dashboard shows approximately 11 billion input tokens and 650 million output tokens.

The dashboard gives a sense of scale, but raw token totals alone do not explain the invoice. Model mix, output volume, cache writes and cache reads all affect what a workload costs. Different products may have very different request patterns even when they use the same model.

The April token-cost view is about $39,818. I say that a large part of the bill had come from cache writes, and that around April 20 we stopped caching in this workload. Looking at the subsequent daily totals, I did not see a meaningful reduction in our bill.

April API token costs
슬라이드 2 / 3April API token costsThe cost view shows approximately $39,818 across Anthropic models.

That observation surprised me, but it is not a controlled experiment. Traffic, model mix, prompt length and other factors can change at the same time. It tells us to inspect our own usage rather than assume caching always saves money; it does not establish that caching is useless for everyone.

I think restricting outside harnesses is a poor way to address those economics. Developers build their own workflows for good reasons, and the boundary between a normal Claude Code feature and an external integration can be confusing. A billing policy needs a predictable boundary and clear feedback.

04

Testing the billing boundary

A Claude Code demonstration produces an extra-usage warning and, with paid usage enabled, charges. The precise detection implementation remains unknown.

Claude Code itself supports noninteractive prompts with `claude -p`, as well as options for modifying the system prompt. I use these capabilities to demonstrate why detecting a third-party tool from text can be fragile: legitimate commands and ordinary context can contain material that resembles an integration.

In my demonstration I construct a prompt containing text associated with another agent. The result is a message about extra usage. This shows what happened in my test; it does not independently reveal the server-side implementation or prove that every similar request will be classified the same way.

With extra usage disabled, I see an error instead of a successful request. I then enable the paid option and repeat the test. The distinction matters: extra usage must be enabled for the demonstrated paid path, but an unexpected classification can still surprise someone who has enabled it.

The test appears to move usage onto the extra-usage meter even though I am invoking Claude Code itself. I find that disturbing because the words in a prompt should not silently change a customer's understanding of what they will pay. My inference about how the detection works remains a hypothesis.

05

The report and Anthropic’s response

The original Git-context report led to an acknowledgment and an offer of refunds and credits. Theo argues that false positives expose a design problem.

Now return to the original report. The subscriber described a roughly $201 charge while only a small portion of the weekly subscription allowance had been used. The relevant text appeared in Git context, which the tool incorporated into its prompt; the person said they were using Claude Code normally.

The important distinction is between a deliberate policy for third-party harnesses and a false positive affecting ordinary use. A provider can choose its subscription terms, but customers need to know those terms and need protection from accidental charges when a detector makes a mistake.

Anthropic engineer Thariq Shihipar apologized and said the bug involved third-party harness detection interacting with how Git status was pulled into the system prompt. He said the company was reaching out to affected users with refunds and an additional month of credits, citing $200 in this case.

Anthropic’s acknowledgment
슬라이드 3 / 3Anthropic’s acknowledgmentAn engineer describes the Git-context detection bug and the proposed customer remedy.

The public issue provides a useful record of the report and response: https://github.com/anthropics/claude-code/issues/53262. The acknowledgment supports the existence of this specific failure, not a claim that every potentially affected user has already received a refund or that the entire problem is resolved.

A refund and credits are the right response to affected customers. My criticism goes further: when a system classifies users for billing based on context that can include ordinary repository data, this kind of false positive is a product-design problem, not merely an awkward error message.

06

Trust and developer experience

Theo criticizes leadership and recounts a separate billing problem. He argues that transparent rules and reliable billing matter alongside model quality.

I have been harsh toward the team and distinguish the people building the product from decisions made by leadership. I am frustrated that the same themes keep recurring: restrictions, confusing changes, and an experience that makes developers feel their normal work is treated with suspicion.

I speculate about Anthropic leadership's attitudes and motivations, but those personal claims are my opinions, not established facts. The observable issue is narrower: a detection policy and a Git-context interaction produced an acknowledged false positive with billing consequences.

My larger complaint is about trust. Developers are being asked to integrate AI tools deeply into their work, while the rules and economics can change underneath them. A company that wants long-term adoption needs to make limits understandable and treat accidental failures as something to fix at the system level.

I also describe a separate T3 Chat incident in which Anthropic's automatic API rebilling failed and our users temporarily could not use its models. That is my account of our operational experience, not independent evidence that all customers experienced the same billing failure.

Despite spending heavily on the service, I feel the relationship has become unnecessarily adversarial. I contrast that experience with other providers and explain why I may direct more work elsewhere. Those comparisons are my experience and preference, not a general ranking of every provider.

Strong models are valuable, but a developer platform also has to offer dependable billing, clear policies and a way to trust routine tooling. My conclusion is that the company should address the incentives and product choices behind this incident, not rely solely on apologizing after users discover the charges.

I remain a substantial customer, which is precisely why these failures matter to me. I want the product to work for developers without making them second-guess whether normal project data will change the price of a session.

같은 채널의 다른 글

슬라이드 5장38:47EN
Theo - t3․gg· 2026년 10월 28일Theo’s Long-Running Agent Experiments: Verification, Compute and CostTheo Browne · Ping LabsA skateboard game and two compiler projects show how repeated checks and flexible compute can sustain agent work—and how expensive those loops can become.코딩 에이전트에이전트 엔지니어링AI cost & performance+2
슬라이드 5장36:07EN
Theo - t3․gg· 2026년 10월 27일Theo on Token Costs, Coding Agents, and the Price of AI CapabilityTheo Browne · Ping LabsA viral estimate of Lauren's AI spending prompts a closer look at cache pricing, benchmarks, and the changing work of coding agents.AI cost & performance코딩 에이전트Inference+1
슬라이드 5장30:37EN
Theo - t3․gg· 2026년 10월 26일Theo’s Three Skills for Reviewing and Shipping with Coding AgentsTheo Browne · Ping LabsHow sol-loop, full-send and full-stop encode review, verification and different levels of merge authority.Agent skills코딩 에이전트Code review & verification+2
슬라이드 2장0:43EN
Theo - t3․gg· 2026년 10월 23일Theo Distinguishes Security Vulnerabilities from Active AttacksTheo Browne · Ping LabsA short explanation of why disclosed software flaws and reported attacks are different kinds of security news.CybersecuritySoftware engineering
슬라이드 6장29:22EN
Theo - t3․gg· 2026년 10월 22일Theo on Security Vulnerabilities, Stolen API Keys and AITheo Browne · Ping LabsA look at the gap between vulnerability disclosure and patching, and a speculative account of why stolen inference keys may be valuable.CybersecurityAI securitySoftware engineering+1
슬라이드 4장31:13EN
Theo - t3․gg· 2026년 10월 20일Theo on Why Smarter Models Help More Than DevelopersTheo Browne · Ping LabsFrom game modifications to compiler experiments, Theo revisits his assumptions about who benefits from more capable AI.코딩 에이전트Developer productivityHuman-AI Collaboration+1