Quota blocking bug: selecting alternate model blocked by exhausted model's reset time
Description
When Sonnet quota is exhausted but Haiku/Opus quotas have remaining usage, selecting an alternate model via /model haiku incorrectly blocks with a 'wait until reset' message, despite the selected model having available quota.
Expected Behavior
Selecting a model should check that model's quota, not other models' quotas. If Haiku has remaining usage, /model haiku should work immediately.
Actual Behavior
/model haiku→ 'wait until reset' message (blocks incorrectly)/model opus→ works immediately (succeeds)
Quota Reset Schedule
- Max100 quota: Resets Thursday 11am PT
- Sonnet quota: Resets Thursday 7pm PT (2 hours later)
- Haiku: Remaining weekly usage available
- Opus: Remaining weekly usage available
Root Cause Hypothesis
The quota evaluation logic appears to check against the Max100 reset time (11am) rather than the selected model's individual quota. When Sonnet is exhausted, the system blocks all models until the earliest reset, rather than allowing models with available quota to proceed.
Reproduction Steps
- Exhaust Sonnet weekly quota before Max100 reset
- Run
/model haiku→ blocked despite Haiku having remaining usage - Run
/model opus→ works (quota system not blocking for this model)
Environment
- Model: Haiku 4.5 (claude-haiku-4-5-20251001)
- IDE: Claude Code
- OS: macOS Darwin 24.5.0
Note
This was also flagged by Perplexity AI as a genuine quota tracking bug.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗