[BUG] Claude Code shows "Auth token: none" after successful OAuth login — hasAvailableSubscription stays false despite active Pro subscription (macOS)
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?
After successfully completing OAuth login via "Claude account with subscription" on macOS, Claude Code shows "Login successful" but the token is never persisted. /status shows "Auth token: none". The VS Code extension is completely unusable — it shows "Failed to retrieve auth status after login" in an infinite loop.
My account had both an active Pro subscription AND a Console organization on the same email. Deleting the Console organization did NOT resolve the issue — this appears to be a server-side entitlement flag that's stuck.
~/.claude.json contains:
"hasAvailableSubscription": false
"billingType": "stripe_subscription"
"hasExtraUsageEnabled": false
Manually setting hasAvailableSubscription to true does not help — "Auth token: none" persists.
Header shows "Opus 4.7 (1M context) · API Usage Billing" despite selecting sub
What Should Happen?
After completing OAuth flow with "Claude account with subscription":
- Token should be persisted (/status should show a valid Auth token, not "none")
- hasAvailableSubscription should be set to true
- Header should show "Pro subscription" instead of "API Usage Billing"
- VS Code extension should inherit the authenticated session
- Commands should execute without "Not logged in" errors
Error Messages/Logs
Terminal output:
> /status
Auth token: none
> (any prompt)
Not logged in · Please run /login
VS Code extension:
Failed to retrieve auth status after login
Steps to Reproduce
- Run
claude /loginin Terminal.app - Select "1. Claude account with subscription"
- Complete OAuth flow in browser (shows "Build something great. You're all set up for Claude Code")
- Terminal shows "Login successful"
- Run /status → shows "Auth token: none"
- Any command returns "Not logged in · Please run /login"
- Open VS Code — extension shows "Failed to retrieve auth status after login"
Troubleshooting attempted (all failed):
- Reinstalled Node.js (v18 → v22) and Claude Code via npm
- Deleted ~/.claude.json multiple times
- security unlock-keychain ~/Library/Keychains/login.keychain-db
- Cleared browser cookies for anthropic.com
- Deleted all Claude Code tokens in claude.ai Settings → Claude Code
- Deleted Claude Console organization (had both Pro + Console on same email)
- Reinstalled VS Code extension
- Opened VS Code via
code .from authenticated terminal session - Manually patched hasAvailableSubscription to true in ~/.claude.json
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
v2.1.112
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Plan: Claude Pro (active, $24/month, renews Apr 19, 2026)
Had both Pro subscription AND Console organization on same email. Console org deleted (pending permanent deletion on Apr 23, 2026).
Node.js: v22.22.2
VS Code extension: v0.40.2
Support ticket submitted to Anthropic support chat 5 days ago — no response. Subscription is active and paid, but Claude Code is completely unusable. This is a critical blocker for paid Pro subscribers.
7 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Not a duplicate of the suggested issues. Key distinguishing factors:
The closest match is #39445, which describes the same root cause (wrong OAuth client_id for accounts with both Max subscription and Console org) but is Windows-specific. My issue confirms the same bug affects macOS.
Additionally, unlike the suggested duplicates, my issue has a concrete reproducible side effect on the VS Code extension: it shows "Failed to retrieve auth status after login" in an infinite loop, making the extension completely unusable.
Please keep this issue open — it captures a macOS + Pro + Console-org combination that is not represented in the suggested duplicates.
Update with deep diagnostics:
~/.claude/.credentials.json file is NOT created during OAuth (same as #34262)
Token IS stored in macOS Keychain as "Claude Code-credentials"
Keychain entry contains valid OAuth token with subscriptionType: "pro" and rateLimitTier: "default_claude_pro" (after manual correction from default_claude_ai)
Despite correct local state, CLI still returns "Not logged in" and header shows "API Usage Billing"
Server-side token validation appears to reject the token entirely, not a client config issue
Conclusion: purely server-side entitlement sync bug. Local troubleshooting exhausted.
Same issue here. credentials.json shows subscriptionType: "pro"
but UI displays "API Usage Billing" and all models fail.
Account: ander.jbc115@gmail.com
Platform: Windows 11, Claude Code v2.1.119
Worked on another laptop April 21-22, broken on new laptop.
Update: Account banned for attempting workaround to Anthropic's own server-side bug
After nearly 2 weeks without any resolution from Anthropic support (no human response to support tickets, GitHub issue auto-closed as duplicate), I cancelled my Pro subscription and received a refund.
Following advice from other users in similar GitHub issues and discussions, I attempted to work around the server-side entitlement bug by creating a fresh subscription on a secondary email address — hoping that a clean account without the Console organization history would authenticate properly.
Result: immediate account ban after payment.
I am now in a catch-22:
Original account ([sulya2690@gmail.com](mailto:sulya2690@gmail.com)): Claude Code authentication broken due to Anthropic's server-side entitlement sync bug. Subscription cancelled, refund issued.
New account ([alexander.ulian@gmail.com](mailto:alexander.ulian@gmail.com)): Banned immediately after Pro subscription payment — presumably flagged as a duplicate/suspicious account.
I cannot use the service due to a technical issue on Anthropic's side that they have failed to fix despite extensive troubleshooting and multiple support requests. I cannot create a new subscription to work around the bug because doing so violates platform policies and triggers an automatic ban.
Money spent. No working service. No support response. Just an automated refund and a ban.
I genuinely enjoy working with Claude Code. This is the most frustrating user experience I have ever had with a paid software product. The tool itself is excellent — but Anthropic's complete lack of human support for a known, documented, reproducible server-side bug affecting paying subscribers is unacceptable.
To Anthropic engineering:
Please either:
Fix the server-side entitlement sync bug that affects accounts with both Pro subscriptions and former Console organizations (issues #17402, #35877, #39445, #46847, #34262), OR
Provide a supported way for affected users to migrate to a clean account without triggering anti-fraud bans, OR
At minimum, respond to support tickets with actual troubleshooting steps or timeline estimates instead of radio silence
This issue has now cost me 2 weeks of time, $24 in wasted subscription fees (refunded), frustration with a second banned account, and complete loss of trust in Anthropic's customer support.
UPDATE — Resolved! Root cause found.
After ~2 weeks of debugging including a full subscription cancellation, refund, and creating a brand new Pro account on a different email — the issue is not a server-side entitlement bug. It's a duplicate of #49659.
Root cause: the
envblock in~/.claude/settings.jsoncontainingCLAUDE_CODE_*variables completely breaks OAuth on macOS:I never set these manually — they appeared from a Claude Code beta/onboarding flow at some point. They are unrelated to authentication, but they silently break it.
Fix: remove the
envblock from~/.claude/settings.json:After this — auth worked instantly on first try, both in CLI (
claude --print "hi"returned "Hi") and in the VS Code extension. No re-login needed.What was misleading along the way
/statusshowingAuth token: nonemade it look like a Keychain/token-persistence problem. The token was correctly stored in Keychain — Claude Code just wasn't reading it because theenvblock somehow broke the auth flow before it ever got there.hasAvailableSubscription: falseand "API Usage Billing" header — red herrings. They reset to false on every launch but are not the cause; the real cause was upstream of subscription detection.settings.json(carried across both accounts because~/.claude/settings.jsonis per-machine, not per-account)./doctorreports the install as healthy. There is no diagnostic that points atsettings.json.Suggestion to Anthropic
Please consolidate this with #49659 and prioritize. The failure mode is brutal:
settings.jsonTwo weeks of debugging, two subscription cycles, support tickets, and a banned account — for a config file
envblock.Environment for completeness:
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.