Skip to content

[BUG] Claude Code shows "out of credits" on overage accounts; requires full system reboot to recover #72291

Description

@zanemccarthy

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Bug Report — Claude Code shows "out of credits" on overage accounts; requires full system reboot to recover

Claude Code version: 2.1.187
OS: Windows 11 Home 10.0.26200
Account type: Pro with overage enabled


Summary

When an account enters overage mode, Claude Code displays an "out of credits" error in the interactive session and stops accepting input entirely. Closing and reopening the application does not fix it. A full system reboot is required to recover. Credits were available the entire time — headless CLI workers on the same account continued running and processing requests successfully throughout.


Steps to Reproduce

  1. Run a long or parallel Claude Code session (or multiple headless claude CLI workers) on a Pro account with overage enabled.
  2. Account enters overage status mid-session.
  3. Interactive Claude Code session displays "out of credits" and stops responding.
  4. Close Claude Code completely and reopen it.
  5. Error persists — the new window shows the same "out of credits" state.
  6. Reboot the computer.
  7. Open Claude Code — works immediately. Credits were always available.

Root Cause (observed)

Every API response when in overage mode includes a rate_limit_event with status: "rejected" even when the request is allowed and succeeds:

{
  "type": "rate_limit_event",
  "rate_limit_info": {
    "status": "rejected",
    "rateLimitType": "seven_day",
    "overageStatus": "allowed_warning",
    "overageInUse": true,
    "isUsingOverage": true,
    "resetsAt": 1783022400
  }
}

overageStatus: "allowed_warning" means the request was allowed and processed. The status: "rejected" field is the rate-limit state descriptor, not the outcome of the request. Claude Code appears to read status: "rejected" and enter a hard error state.

The critical bug: this error state persists in a background process that survives app close/reopen on Windows. Claude Code (Electron) keeps a node.exe background process alive after the window is closed. That process holds the stuck "out of credits" state in memory. Reopening the window reconnects to the same broken process. Only a full system reboot terminates the background process and clears the state.


Expected Behavior

  1. When overageStatus is "allowed_warning", Claude Code should continue operating normally. "Out of credits" should only appear when requests are genuinely being blocked (e.g., overageStatus: "blocked").
  2. If an error state does occur, closing and reopening the application should clear it. Background processes should not persist stale error state across app restarts.

Actual Behavior

  • Interactive session locks up and displays "out of credits."
  • Closing and reopening Claude Code does not fix it — error persists.
  • Full system reboot required to recover.
  • Headless CLI workers (claude --dangerously-skip-permissions --output-format stream-json) on the same account and API key continue running successfully throughout, confirming credits are available.

Impact

Any Pro user on an overage plan who runs a long or parallel session will hit this. The only recovery path is a full reboot, which is disruptive and not obvious. The correct recovery (kill the background process) is invisible to the user.


Workaround

Open Task Manager, kill all claude.exe and node.exe processes associated with Claude Code, then reopen the app. This avoids the full reboot. (A full system reboot also works.)


Evidence

The rate_limit_event above was captured from a headless worker stream (--output-format stream-json) during a run that completed successfully ($4.70 cost, 42 turns, full output) despite the status: "rejected" field. The interactive session on the same account simultaneously showed "out of credits" and was unresponsive.

What Should Happen?

Claude should poll overages for credit.

Error Messages/Logs

Steps to Reproduce

{
"type": "rate_limit_event",
"rate_limit_info": {
"status": "rejected",
"rateLimitType": "seven_day",
"overageStatus": "allowed_warning",
"overageInUse": true,
"isUsingOverage": true,
"resetsAt": 1783022400
}
}

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.187

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions