[BUG] Claude Code for Desktop always shows "Claude API Account" instead of subscription account (NOT caused by API key)
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
- Open Claude Desktop (v1.0.1217)
- Start Claude Code for Desktop
- Run
/logoutthen/login - Select "1. Claude account with subscription"
- Complete browser authentication (shows success)
- Run
/status - 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→/logincycles - 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.jsoncontains correctoauthAccountwithorganizationBillingType: "stripe_subscription" - Removed
ANTHROPIC_API_KEYfrom~/.env - Confirmed no
ANTHROPIC_API_KEYin environment variables (env | grep -i ANTHROPICreturns 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
- Terminal version works correctly: Running
claudein terminal shows "Login method: Claude Max Account"
- Desktop creates separate Keychain entries: Claude Desktop creates "Claude Safe Storage", separate from "Claude Code-credentials" created by terminal
- 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 ANTHROPICreturns 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.
This issue has 11 comments on GitHub. Read the full discussion on GitHub ↗