[BUG] Claude Code for Desktop always shows "Claude API Account" instead of subscription account (NOT caused by API key)

Status Closed — not planned
Maintainer reply None cached
Activity 11 comments · opened Nov 25, 2025 · closed Mar 16, 2026

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?

Note on version: Terminal Claude Code is latest (v2.0.53), but Claude Desktop embeds v2.0.45 which cannot be updated by users. This bug report is about the embedded version in Claude Desktop.

Claude Code embedded in Claude Desktop always shows "Login method: Claude API Account" even though I have an active Max subscription and successfully authenticate with my subscription account. The terminal version of Claude Code (v2.0.53) works correctly with the same account.

This issue is NOT caused by $ANTHROPIC_API_KEY environment variable (confirmed empty via env | grep -i ANTHROPIC).

What Should Happen?

Should show "Login method: Claude Max Account" and use subscription billing, same as terminal version.

Error Messages/Logs

Steps to Reproduce

  1. Open Claude Desktop (v1.0.1217)
  2. Start Claude Code for Desktop
  3. Run /logout then /login
  4. Select "1. Claude account with subscription"
  5. Complete browser authentication (shows success)
  6. Run /status
  7. Observe: Shows "Login method: Claude API Account" instead of "Claude Max Account"

Note: Terminal version (claude command, v2.0.53) works correctly with same account.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.0.45 (embedded in Claude Desktop) / 2.0.53 (terminal - works correctly)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

Troubleshooting Attempted (all unsuccessful)

Authentication

  • Multiple /logout/login cycles
  • Deleted all macOS Keychain entries ("Claude Safe Storage", "Claude Code-credentials")
  • Deleted authentication tokens from Claude Desktop Settings → Claude Code → "Manage authentication tokens" (showed "already revoked" but tokens remained)
  • Logged in via terminal first, then launched Desktop

Configuration

  • Added "forceLoginMethod": "claude" to ~/.claude/settings.json
  • Verified ~/.claude.json contains correct oauthAccount with organizationBillingType: "stripe_subscription"
  • Removed ANTHROPIC_API_KEY from ~/.env
  • Confirmed no ANTHROPIC_API_KEY in environment variables (env | grep -i ANTHROPIC returns empty)

Reinstallation

  • Completely uninstalled Claude Desktop
  • Deleted all related directories:
  • ~/Library/Application Support/Claude
  • ~/Library/Caches/Claude
  • ~/Library/Saved Application State/com.anthropic.claude.savedState
  • ~/Library/Preferences/com.anthropic.claude.plist
  • ~/Library/HTTPStorages/com.anthropic.claude
  • Deleted ~/.claude.json
  • Reinstalled Claude Desktop from https://claude.com/download
  • Fresh setup - still shows API Account

Key Observations

  1. Terminal version works correctly: Running claude in terminal shows "Login method: Claude Max Account"
  1. Desktop creates separate Keychain entries: Claude Desktop creates "Claude Safe Storage", separate from "Claude Code-credentials" created by terminal
  1. Authentication tokens accumulate: Claude Desktop Settings → Claude Code shows multiple tokens that cannot be deleted (show "already revoked")

Difference from #12352

This is NOT caused by $ANTHROPIC_API_KEY:

  • env | grep -i ANTHROPIC returns empty
  • No ANTHROPIC vars in shell config files
  • Issue persists after removing API key from ~/.env

Configuration Files

~/.claude.json confirms subscription:

"oauthAccount": {
  "organizationBillingType": "stripe_subscription"
}

Related Issues

  • #4354, #6955, #12352 (different root cause)

Workaround

Using terminal claude command which correctly recognizes Max subscription.

View original on GitHub ↗

11 Comments

github-actions[bot] · 9 months ago

Found 2 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/12249
  2. https://github.com/anthropics/claude-code/issues/4354

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

wkumagai · 9 months ago

This is NOT a duplicate of #12249 or #4354. Here are the key differences:

Difference from #12249

  • #12249: User has both Max subscription AND API credits on the same account, API credits are being consumed
  • My issue: No API credits are set up, no $ANTHROPIC_API_KEY environment variable (env | grep -i ANTHROPIC returns empty). The embedded Claude Code simply defaults to "API Account" mode with no actual API key.

Difference from #4354

  • #4354: Machine-specific issue where terminal Claude Code doesn't recognize subscription on a specific Mac mini (but works on other machines)
  • My issue: Terminal Claude Code (v2.0.53) works correctly and shows "Claude Max Account" on the SAME machine. Only Claude Code for Desktop (embedded in Claude Desktop app, v2.0.45) shows "Claude API Account"

Unique characteristics of this bug

  1. Only affects Claude Code for Desktop - the embedded version in Claude Desktop app
  2. Terminal version works correctly on the same machine with the same account
  3. No API key involved - this is not an API key override issue
  4. Version mismatch - Desktop embeds v2.0.45 while terminal has v2.0.53

This appears to be a bug specific to how Claude Desktop's embedded Claude Code handles authentication, separate from the standalone terminal version.

github-actions[bot] · 8 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

MarvinFS · 7 months ago

Also experiencing this on Windows 11 + VS Code extension (v2.0.75).

Same symptoms:

  • VS Code extension shows Opus 4.5 · Claude API
  • CLI (v2.0.76) correctly shows Opus 4.5 · Claude Max · Organization
  • Credentials file has correct subscriptionType: "max" and rateLimitTier: "default_claude_max_5x"
  • Re-login via /login doesn't fix it

Confirming this affects both macOS Claude Desktop and Windows VS Code extension.

GaryDean · 7 months ago

See also issue 16238.

dr-psych · 7 months ago

I believe claude developers are avoiding this issue. Just found out I once remotely connected to a client's remote ssh and used claude on from vscode. Claude silently add .claude.json will all my fucking details, seriously claude just publish my API nd details on instagram publically. And I know why they wont fucking fix it, they are not even accepting this is an issue, because changing this will break a lot of claude's functionality which will cost them revenue. I found this out when my usage was magically depleting as other dev on my client's side used claude code and it automatically picked up my creds from ~/.claude.json

So claude are you prioritising your revenue over user's actual data which cost them money? You know you have signed numerous agreements for data privacy which you are intentionally breaking? You know if someone files a complaint you will be seeing a class action lawsuite and hefty fines for breaking data security?

So let's not make it happen, and instead of fucking around protect your user's API data.

P.S. not a max subscriber, just a pro subscription non API.

GaryDean · 7 months ago

anthropic support's response to this has been sub-optimal. basically, they do not seem to want to take responsibility for significant losses incurred by users as a result of this issue.

weathon · 6 months ago

same problem, i setup using openrouter, but then decided to subscribe, and after logged in using the claude, it is still using my API tokens

weathon · 6 months ago

found issue: I have to restart vscode to clear the env

github-actions[bot] · 5 months ago

Closing for now — inactive for too long. Please open a new issue if this is still relevant.

github-actions[bot] · 5 months ago

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.