claude -p headless sessions billing misrepresented by model — repeated false confirmations led to €80+ unexpected charges
Bug
The Claude model (across multiple Claude Code sessions) repeatedly and confidently confirmed that claude -p headless/non-interactive spawns use only the subscription usage limit (Nutzungslimit) and do not charge real money from the account balance.
Based on this repeated confirmation, an automated bot pool system was built (spawn_bot.py, OAuth/Keychain auth — no raw ANTHROPIC_API_KEY) that continuously spawned claude -p sessions to work through an issue backlog.
Financial Impact
- €84.68 charged against account balance in one billing period
- €24.68 over the €60 monthly spending limit
- Subscription usage limit (Nutzungslimit) still had headroom when charges occurred
- ~122 bot sessions spawned, internally tracked at $83.25 USD
What Claude said (repeatedly)
Claude confirmed across multiple sessions that claude -p spawns via OAuth auth consume subscription quota, not spending limit / real balance. This was wrong. The user asked ~10 times across different sessions and received the same incorrect confirmation each time.
What actually happened
claude -p sessions bill against the spending limit / account balance — not against the subscription usage quota — even when the subscription quota is not exhausted.
Expected behavior
Claude should not make definitive claims about Anthropic's own billing mechanics. When asked whether a specific usage pattern (headless vs. interactive, OAuth vs. API key) bills against subscription quota or spending limit, Claude should say it does not know and direct the user to Anthropic documentation or support.
Request
- Bug fix: Add guardrails so Claude does not confidently assert billing behavior it cannot verify
- Documentation: Clarify publicly how
claude -pheadless sessions are billed (subscription quota vs. spending limit vs. spending limit only) - Billing: User is being directed to support.anthropic.com for refund consideration on charges caused by model misinformation
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗