[Bug] Apple subscription Max tier incorrectly identified as Pro in Claude Code

Resolved 💬 4 comments Opened Mar 26, 2026 by kyle1492 Closed Apr 26, 2026

Bug Description
Bug: Apple subscription Max user incorrectly identified as Pro in Claude Code

I'm a Claude Max subscriber paying through Apple App Store (iOS). After upgrading Claude Code from v2.1.81 to v2.1.84, my subscription is no longer correctly
recognized:

  1. The status bar shows "Claude Pro" instead of "Claude Max"
  2. Usage meter appears to calculate against Pro-level quota — showed ~40% consumed after roughly 1 hour of normal usage, which is impossible under Max limits
  3. In ~/.claude.json, the oauthAccount object has billingType: "apple_subscription" but is missing both subscriptionType and rateLimitTier fields entirely
  4. This worked correctly on v2.1.81. The issue appeared after upgrading to v2.1.83 or v2.1.84

I've tried /logout and /login — after re-login, the Max label briefly appeared in the status bar, but the usage percentage was not recalculated against Max quota.

This appears to be the same issue reported in GitHub issue #34049. Apple-billed subscribers' plan info is not being correctly synced to the Claude Code OAuth
response.

My request:

  • Please confirm whether my account has been rate-limited at Pro level instead of Max during this period
  • If so, please reset my current usage cycle to reflect the correct Max quota
  • Please fix the Apple subscription plan recognition so this doesn't recur

Account email: puladiao@gmail.com
Claude Code version: 2.1.84
macOS Darwin 25.2.0

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.81
  • Feedback ID: 434ba638-eadd-4ada-b00b-0264780de712

Errors

[{"error":"Error: Client network socket disconnected before secure TLS connection was established\n    at lZ.from (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:74:14664)\n    at ev.<anonymous> (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:12662)\n    at ev.emit (node:events:507:28)\n    at dn8.<computed> (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:81:1120)\n    at ClientRequest.emit (node:events:507:28)\n    at emitErrorEvent (node:_http_client:104:11)\n    at TLSSocket.socketErrorListener (node:_http_client:518:5)\n    at TLSSocket.emit (node:events:507:28)\n    at emitErrorNT (node:internal/streams/destroy:170:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n    at xh6.request (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:84:2450)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async fa1 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:5545:497)","timestamp":"2026-03-26T13:55:09.694Z"}]

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗