[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
[]
3 Comments
Confirming this on Windows 11 / Claude Code 2.1.220 (Max plan). I verified by dumping the actual statusline stdin payload:
rate_limitsonly carriesfive_hourandseven_day, while/usageshows 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 takemax(used_percentage)across global + scoped entries and automatically track whichever limit binds, with no per-model field names to hardcode. Also reported via/feedbackfrom the CLI.+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.
+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