[Bug] Extra usage consumed before regular usage limits reached

Resolved 💬 1 comment Opened Apr 23, 2026 by dcondrey Closed May 27, 2026

When "extra usage" is enabled and a new usage cycle (daily/weekly/session) begins, the application incorrectly consumes the extra usage balance instead of the newly refreshed standard allotment.

Extra usage should act as a fallback, but the application is treating it as the default simply because the setting is turned on. Once the extra usage is depleted, the application throws an "out of usage" error, even though the standard daily/weekly/session usage is completely untouched. Toggling the feature off temporarily fixes the routing.

Steps to Reproduce

  1. Enable "extra usage" in the configuration.
  2. Wait for a daily, weekly, or session usage reset to occur.
  3. Trigger a prompt/action that consumes usage.
  4. Observe that the "extra usage" balance is deducted instead of the standard usage.
  5. Continue until the "extra usage" limit is hit; the app will claim you are out of usage.
  6. Disable "extra usage".
  7. Observe that the application correctly defaults back to the regular usage allotment.

Expected Behavior

Extra usage should only be utilized when the regular daily/weekly/session usage allotment is completely maxed out. It should not be the primary source of usage just because the setting is enabled.

Actual Behavior

The application burns through the extra usage first. Once depleted, it blocks further requests with an "out of usage" error, completely ignoring the available standard usage balance until the "extra usage" toggle is manually disabled.

Environment Info

Platform: darwin (macOS)
Terminal: Apple_Terminal
Claude Code Version: 2.1.94
Node Version: v24.13.1 (extracted from logs)
Feedback ID: 0191bfbf-ed57-4113-a91c-b591e689ab97

Errors / Logs

I am also seeing the following keychain deletion error in the logs, which may be related to how the application is managing or refreshing local usage tokens:

[
  {
    "error": "Error: Failed to delete keychain entry\n    at _2q (file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:297:269834)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async Gmq (file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:476:889)\n    at async TE1 (file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:476:787)\n    at async n88 (file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2124:2115)\n    at async WH6 (file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2149:5667)\n    at async file:///Users/davidcondrey/.nvm/versions/node/v24.13.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2218:40569",
    "timestamp": "2026-04-23T03:00:33.510Z"
  }
]

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗