[BUG] rateLimitTier assigned "default_claude_ai" instead of "default_claude_pro" for Pro subscribers on WSL — API Error: Rate limit reached on every request

Resolved 💬 4 comments Opened Mar 25, 2026 by Hooligan-Black Closed Apr 26, 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?

Preflight Checklist

  • I have searched existing issues and this is related to but distinct from #29579 and #37246
  • This is a single bug report
  • I am using the latest version of Claude Code (2.1.83)

What's Wrong?

rateLimitTier is being assigned "default_claude_ai" instead of "default_claude_pro" for Pro subscribers, causing an immediate API Error: Rate limit reached on every single request. This is NOT a quota exhaustion issue — it is a backend account misconfiguration where the wrong rate limit tier is assigned at authentication time.

This is happening simultaneously across multiple separate accounts on multiple separate WSL installs, which strongly suggests this is a server-side issue affecting a broader group of Pro subscribers, not an isolated per-account or per-machine problem.

What Should Happen?

  • rateLimitTier should be set to "default_claude_pro" for Pro subscribers
  • Requests should succeed within Pro plan quota
  • If quota is genuinely exhausted, the normal friendly message with reset time should appear, not a raw API error

Actual Behavior

  • rateLimitTier is set to "default_claude_ai" regardless of how many times the user logs out and back in
  • Every request immediately returns API Error: Rate limit reached
  • The claude.ai web dashboard shows substantial quota remaining (the user has been actively using the web app throughout troubleshooting)
  • The issue persists across fresh logins, claude update, and reinstallation

---

Credentials State (Sanitized)

{
  "claudeAiOauth": {
    "subscriptionType": "pro",
    "rateLimitTier": "default_claude_ai"
  }
}

Expected:

{
  "claudeAiOauth": {
    "subscriptionType": "pro",
    "rateLimitTier": "default_claude_pro"
  }
}

---

Key Distinguishing Detail vs. Similar Issues

Unlike #29579 and #37246 where the subscription is simply not honored, the specific rateLimitTier value here ("default_claude_ai" vs "default_claude_pro") suggests the OAuth token exchange is completing successfully but the backend is returning the wrong tier assignment. This is likely a server-side mapping issue between subscription type and rate limit tier, not a client-side credential storage bug.

---

Environment

  • Claude Code Version: 2.1.83
  • OS: Windows 11 with WSL2 (Ubuntu)
  • Shell: bash (WSL)
  • Auth method: Claude.ai OAuth (browser flow)
  • Subscription: Claude Pro
  • Accounts affected: Multiple separate Pro accounts
  • Machines affected: Multiple separate WSL installs simultaneously
  • Issue persists after: logout/login cycles, claude update, native installer migration, credential file deletion and re-auth

---

Impact

This user has been blocked from using Claude Code for work across multiple sessions this week despite an active paid Pro subscription. The issue is recurring and support tickets have gone unanswered. Given that it is reproducible across multiple accounts and machines simultaneously, this is likely affecting a broader population of WSL-based Pro subscribers right now.

Error Messages/Logs

Steps to Reproduce

  1. Have an active Claude Pro subscription
  2. Install Claude Code on WSL (Windows Subsystem for Linux)
  3. Run claude /login and complete the browser OAuth flow
  4. Claude Code header correctly shows Claude Pro
  5. Run claude /status — shows Login method: Claude Pro Account
  6. Check ~/.claude/.credentials.json — shows subscriptionType: "pro" but rateLimitTier: "default_claude_ai"
  7. Send any message (e.g. claude "say hello")
  8. Immediately receive API Error: Rate limit reached — not the normal You've hit your limit · resets at [time] quota message

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude Code (2.1.83)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

This issue has caused approximately two days of lost productivity across
multiple work sessions this week. It is reproducible across two separate
Pro accounts on two separate WSL installs simultaneously, suggesting this
is not an isolated incident but a broader issue affecting WSL-based Pro
subscribers. Support tickets submitted through official channels have gone
unanswered. Given the recurring nature and multi-account reproducibility,
this appears to be an ongoing server-side regression rather than a one-time
glitch.

View original on GitHub ↗

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