[BUG] Claude Code recognizes active Max subscription account as API account
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?
Claude Code is treating my account as an API account despite being logged in via OAuth with an active Max subscription. This affects the entire session, the header shows "Claude API", subscription-gated features are blocked, and the core subscription recognition is broken throughout.
<img width="546" height="90" alt="Image" src="https://github.com/user-attachments/assets/9e6f6bc0-b895-480b-a110-5cc577a26b66" />
What Should Happen?
Claude Code should recognize an active Max subscription oauth login as a subscription account, not an API account
Error Messages/Logs
Remote Control is not enabled for your account; --rc flag ignored.
Steps to Reproduce
{
"loggedIn": true,
"authMethod": "oauth_token",
"apiProvider": "firstParty"
}
- Open a new session — header shows "Sonnet 4.6 · Claude API" instead of "Claude Max"
- Check ~/.claude.json — hasAvailableSubscription is false despite billingType: stripe_subscription
- Repeat /logout → /login multiple times — hasAvailableSubscription remains false
- Subscription-gated features blocked (e.g. --remote-control returns "not enabled for your account")
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.76 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
The key diagnostic detail: ~/.claude.json correctly shows billingType: stripe_subscription
with a subscription active since October 2024, but hasAvailableSubscription: false —
this persists through multiple logout/login cycles, indicating the OAuth flow is not
updating subscription status from the server after authentication.
What's been ruled out:
- ANTHROPIC_API_KEY env var — not set
- Shell config files (~/.zshrc, ~/.zprofile, etc.) — no key found
- ~/.claude/settings.json — no API key override
- macOS Keychain — no stale Claude/Anthropic entries
- .env files in home directory — no Anthropic keys
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC — not set (fix from #33119 doesn't apply)
- Manually setting hasAvailableSubscription: true in ~/.claude.json — session still
shows "Claude API", flag overwritten on next session start
Related issues (all closed):
- #33119 — same remote control symptom, different root cause
- #19879 — same hasAvailableSubscription: false pattern
- #12383 — Desktop variant
- #12249, #4354 — related auth misdetection
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗