Max plan session mislabeled as 'Claude API account' in /status and forced to enable extra usage credits at ~60% plan usage

Status Open
Reported on v2.1.222
Maintainer reply None cached
Activity 0 comments · opened Aug 5, 2026

Environment

  • Claude Code version: 2.1.222
  • Platform: macOS (Darwin 27.0.0)
  • Plan: Claude Max 20x (logged in via claude.ai OAuth, oauthAccount.billingType: stripe_subscription)
  • Model: claude-fable-5[1m]
  • No ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN env vars set, no apiKeyHelper configured

Bug description

While using Claude Code normally on a Max 20x subscription (model usage at ~60% of plan limit), the client suddenly:

  1. Blocked usage and forced enabling extra usage credits — displayed a prompt claiming the limit was reached and required activating extra usage credits to continue, even though the plan usage meter for the current model was only at ~60% (verified in claude.ai settings).
  2. /status now shows Login method: Claude API account instead of the subscription account, even though:
  • The OAuth account shown is the correct subscription org/email
  • Usage is still being deducted from the plan limits (the plan meter keeps increasing)
  • The activated extra usage credits are not being consumed
  1. This started mid-session with no login change, no config change, and no API key present in the environment.

Expected behavior

  • /status should show the subscription login method (Claude account with subscription) when authenticated via a Max plan OAuth account.
  • The "enable extra usage credits" gate should not trigger when plan usage is below the limit.

Actual behavior

  • Login method mislabeled as "Claude API account" while billing still goes to the subscription plan.
  • User was forced to enable extra usage credits to continue working despite being at ~60% usage.

Additional notes

  • Re-checked ~/.claude.json: oauthAccount has the correct email/org and billingType: stripe_subscription.
  • Shell configs contain no Anthropic env vars.
  • Billing appears to still be correctly routed to the plan (credits untouched), so this looks like an auth-labeling + limit-gating bug in the client rather than actual API billing.

View original on GitHub ↗