[Feature Request] Add scoped rate limit data to statusline input JSON payload

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 3 comments · opened Jul 28, 2026

Bug Description
The statusline input JSON only carries aggregate rate_limits.five_hour and rate_limits.seven_day. Since Fable 5 shipped with its own weekly cap, the /usage screen shows two weekly meters (e.g. "All models 10%, Fable 18%") - and the Fable one is typically the binding constraint for Max users running Fable as their main model. Custom statuslines can't show the number that actually limits the user. Request: include the scoped limits in the statusline payload, e.g. rate_limits.seven_day_fable (or a generic rate_limits.scoped[] array mirroring the limits[] structure the /usage screen already consumes), each with used_percentage and resets_at. Env: Claude Code 2.1.220, macOS, Max 20x.

Environment Info

  • Platform: darwin
  • Terminal: WarpTerminal
  • Version: 2.1.220
  • Feedback ID: e4ee558d-4cf6-4b53-9ad5-49fad9697811

Errors

[]

View original on GitHub ↗

3 Comments

geetime · 28 days ago

Confirming this on Windows 11 / Claude Code 2.1.220 (Max plan). I verified by dumping the actual statusline stdin payload: rate_limits only carries five_hour and seven_day, while /usage shows a third bar ("Current week (Fable)") that runs ~2x the all-models number in my case (7% vs 4%).

As a user of a statusline burn-rate script (claude-statusline-burnrate), the generic scoped[] array proposed here is the shape I'd prefer as a consumer: tools could just take max(used_percentage) across global + scoped entries and automatically track whichever limit binds, with no per-model field names to hardcode. Also reported via /feedback from the CLI.

joey-io · 27 days ago

+1. For Max accounts running Fable as the main model, the Fable weekly bar is the binding one, and the statusline payload can't see it today.

Only Anthropic can expose the real limit percentages. The other half of the problem, knowing what is eating the allowance, is answerable locally from the transcripts Claude Code already writes. I built a small tool for that: https://github.com/joey-io/gauge (MIT, zero-dep node, no network). It walks ~/.claude/projects/**/*.jsonl, dedupes streamed chunks by message id, includes the nested subagent transcripts (those held about half my spend), and breaks down API-list-equivalent dollars by project, session, model, and 5-hour window.

It still can't know the plan limit, which is exactly why the scoped fields in this request would help. Observed peak window is the best available proxy today.

LucasBrandt · 3 days ago

+1 I also would like to be able to see both all models and fable-specific usage. I'd like to have access to both values for full customization of the statusline