[BUG] Fable 5 on Max: "You've hit your monthly spend limit" despite Unlimited spend limit and meters at 5% session / 41% weekly

Open 💬 0 comments Opened Jul 15, 2026 by ciaran-finnegan

Environment

  • Claude Code version: 2.1.201, running inside the Claude desktop app for macOS 1.21459.0 (f7518f) (build 2026-07-14)
  • OS: macOS 26.1 (Darwin 25.1.0), Apple Silicon
  • Model: Fable 5 (claude-fable-5)
  • Plan: Claude Max (20x) (subscription auth, not API key), usage credits enabled
  • Usage pattern: heavy multi-agent orchestration via the ultracode keyword / Workflow tool — sessions regularly fan out many parallel subagents

Describe the bug

Mid-session, requests fail with a "Usage limit reached" error chip whose expanded text reads:

You've hit your monthly spend limit · raise it at claude.ai/settings/usage

But the settings page it points at (Settings → Usage, "Last updated: just now") shows no limit anywhere near reached at that moment:

  • Current session: 5% used (resets in 4 hr 42 min)
  • Weekly, all models: 41% used (resets Mon 2:59 AM)
  • Weekly, Fable: 41% used (resets Mon 2:59 AM)
  • Usage credits: ON — A$237.69 spent, resets Aug 1, spend limit shows "Unlimited"

So the error claims a monthly spend limit was hit while the spend limit is set to Unlimited, and none of the session/weekly meters are close to exhausted.

Intermittent — retry succeeds

The error fired twice in one session ~15 minutes apart, and in both cases clicking try again / continue resumed the run successfully with no settings change and no wait. Whatever check rejects the request is transient — the account state (spend, meters) is the same seconds later when the retry succeeds.

Expected behavior

  • With usage credits enabled and the spend limit set to Unlimited, requests should not be rejected for a "monthly spend limit".
  • If some other constraint is actually being hit (burst/concurrency rate limit from parallel subagent traffic on claude-fable-5, or a transient billing-check failure), the error should say that — the current message points the user to a settings page that contradicts it, which makes the state impossible to reason about.

Context that may be relevant

  • The sessions triggering this run ultracode multi-agent workflows (Workflow tool fanning out parallel subagents), so the request pattern is bursty — many concurrent requests on claude-fable-5. A rate/concurrency 429 or a flaky spend-limit lookup being rendered as "monthly spend limit" would fit the intermittent behaviour.

Evidence / diagnostics

  • Screenshots (error chip with expanded message, and the Settings → Usage page captured at the same time) attached in a comment below.
  • Note for triage: the error text is not persisted anywhere locally — it does not appear in the session transcripts under ~/.claude/projects/**.jsonl nor in ~/Library/Logs/Claude/*.log, so there is nothing local to grep after the fact. It appears to be rendered directly from the API error response at request time. Persisting these errors to the session transcript/logs would make reports like this one much easier to evidence.

Possibly related

  • #61012 (usage limit reached without active use, Pro plan)
  • #74195 (usage meter jumping to 100%)

View original on GitHub ↗