[BUG][Billing] Claude Code auto-created an API key + workspace after re-auth, silently routing subscription usage to pay-per-use API; runaway 8h+ session billed $104.25
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
I had been using Claude Code in VS Code authenticated against my Claude Team subscription, and had changed no billing or authentication settings.
On 21 July 2026 Claude Code prompted me to re-authenticate. After that:
- A workspace named "Claude Code" was created automatically in my Console (timestamp 21 Jul 2026, 10:59). I did not create it.
- An API key was created automatically inside it, auto-named after my own username. I did not create it, and no clear in-product warning told me my usage would stop being covered by my subscription and start billing per token.
- All usage was then billed as pay-per-use API credit instead of against my subscription seat.
- A session hung and looped for hours. Claude Code's own Account & Usage panel reports 100% of usage came from sessions active 8+ hours, all at >150k context.
Result: USD 104.25 billed in a single day, which also pushed the org balance negative (-USD 4.73) — usage continued past a zero prepaid balance instead of stopping.
For scale: my entire intentional API usage across the whole account history is USD 0.30. This is ~350x my lifetime API spend, in one day, from a session I was not driving. Console logs show tens of consecutive Opus requests of ~650,000-700,000 input tokens each within a few hours.
The workspace name ("Claude Code") and the auto-generated key name make the key look official and expected, so there is no signal that the billing source has changed.
What Should Happen?
- Claude Code must require explicit, unambiguous confirmation before creating an API key or workspace that changes the billing source from subscription to pay-per-use ("This will bill per-token to API credit, not your subscription — continue?").
- The active billing source should be shown prominently at session start and in /status.
- Prepaid credit should be a hard stop; usage must never exceed the available balance into a negative one.
- A hung or looping session should trip an automatic circuit breaker before large spend accumulates.
Error Messages/Logs
Credit balance is too low
Steps to Reproduce
- Use Claude Code in VS Code authenticated against a Claude Team subscription.
- Accept the re-authentication prompt when Claude Code requests it.
- In the Console, observe a workspace named "Claude Code" and an API key created automatically, without explicit consent.
- Observe that usage is now billed as pay-per-use API credit instead of against the subscription seat.
- Leave a session running; if it hangs/loops it keeps consuming credit for hours with no cap, past zero into a negative balance.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
Unknown. Behaviour changed on 21 Jul 2026 after a re-authentication prompt; subscription billing had worked correctly for a long time before that. I cannot confirm which version introduced it.
Claude Code Version
To be added in a comment
Platform
Other
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
Support experience (part of the problem): I opened case 215475177002899. Every response came from the Fin AI agent, which denied a refund citing the API Credit Terms, confirmed in writing it cannot process credits or exceptions, confirmed in writing it cannot escalate cases or contact internal teams, and repeatedly offered instead to refund/cancel my Team subscription (unrelated to the charge and explicitly not what I asked for). No human has responded for several days.
This mirrors #68773, where Anthropic ultimately acknowledged in writing that charges resulting from a technical malfunction are not precluded from refund by the credit terms.
Asks: (1) fix the silent subscription-to-API billing reroute and add a consent step; (2) hard stop at zero balance plus a runaway-session circuit breaker; (3) a working escalation path to a human billing specialist; (4) review and credit the USD 104.25 as an erroneous charge and clear the -USD 4.73 balance.
Console screenshots (API keys, Usage, request logs, Claude Code usage panel) will be attached in a follow-up comment, with organization ID, account email and key prefix redacted.
7 Comments
Update: the support case (215475177002899) was closed without any human review. Attempting to continue the conversation in the Help Center returns "the conversation has ended". The Fin agent had already confirmed in writing that it cannot process credits or exceptions and cannot escalate to a human billing specialist. There is still no working path to a human for a disputed API charge.
Update 2: support has now stated it "cannot promise or arrange a handoff to a person" and separately claimed it cannot locate any organization linked to my email — despite an earlier reply in the same case correctly listing both of my organizations, including the API one. Two orgs with near-identical names (one with a space, one without) appear to defeat the lookup, and the dispute keeps being routed against the subscription billing profile instead of the API org. Same root cause as #57594.
Adding a related billing-platform signal from another paid account, without repeating private identifiers from this issue.
The common pattern is not the exact product surface; it is billing state diverging from the usable account / credit state, followed by Fin/support being unable to route the case to a human Billing Platform owner.
In my case, automatic usage-credit reloads continue to charge successfully from the saved billing setup, but manual prepaid usage-credit purchases fail or get stuck and do not produce the expected usable-credit outcome. That points to a platform-side reconciliation problem, not a generic customer card problem.
This issue adds a closely related ownership signal: Claude Code / Console billing source, organization, subscription entitlement, API-credit usage, credit balance, and support-routing state can diverge in ways that need a human billing-platform review. A bot loop cannot resolve that kind of ledger/entitlement mismatch.
Requested triage path: please route these cases to Billing Platform / payment-operations / entitlement reconciliation with authority to inspect checkout, purchase-commit, organization, credit-ledger, and support-routing records.
Privacy-sanitized public evidence hub for my related case:
https://github.com/COOLak/anthropic-claude-billing-incident
Hosted incident brief:
https://coolak.github.io/anthropic-claude-billing-incident/
Billing reconciliation matrix:
https://coolak.github.io/anthropic-claude-billing-incident/reconciliation-matrix.html
Thanks — this corroborates the pattern from a second paid account, which is the part support keeps treating as an isolated user error.
To add to the shared signal, my case ended with support stating in writing that it (a) cannot process credits or grant exceptions, (b) cannot escalate to or arrange a handoff to a human, and (c) could not locate the billing profile for my organization by Org ID, despite an earlier reply in the same case correctly listing both of my organizations. Two orgs with near-identical names appear to defeat the lookup, and the dispute kept being routed against the subscription billing profile instead of the API org.
Supporting the same requested triage path: these cases need Billing Platform / payment-operations / entitlement reconciliation with authority to inspect organization, credit-ledger, entitlement and support-routing records. A prepaid balance that is allowed to go negative (-USD 4.73 in my case) is a ledger/control issue, not a usage question.
@anthropics — two independent paying business accounts in this thread now, both blocked at the same point: no human review path for a disputed billing charge.
Update 3 — confirmation from Anthropic's own commercial channel:
I raised this with the buying agent on claude.com/contact-sales. Two statements from that conversation are relevant to this issue:
Both points are independent of the refund question and should be addressed as product defects.
Update 4 — further confirmations from Anthropic's commercial channel:
These are product defects independent of the refund question.
Sorry you got hit with this, but $104.25 in a day from an 8h+ hung session, after a re-auth silently moved you onto pay-per-use, is exactly the failure mode a lot of us are afraid of.
+1 on all four asks, especially:
The “Claude Code” workspace + auto-named key looking “official” is a nasty UX trap, since there’s no in-product signal that you left the subscription envelope.
I’ve been working on something small for the adjacent problem (visible session spend + soft warn / hard stop on a receipt trail for Cursor and Claude Code: early access, sidecar, not a full FinOps suite). It wouldn’t have stopped Anthropic creating the key, but it’s aimed at the “meter is quiet until the charge lands” gap.
Happy to compare notes offline if useful; either way, hope support credits the $104.25 and they ship the consent + hard-stop fixes.