Show live session/weekly usage % and reset countdown in CLI (e.g. /usage)
Is your feature request related to a problem? Please describe.
The claude.ai web/desktop app's Settings -> Usage page shows two useful pieces of live info:
- Current session usage as a percentage bar with a countdown to reset (e.g. 96% used - Resets in 33 min)
- Weekly limit usage as a percentage bar with the next reset date/time (e.g. 38% used - Resets Mon 3:30 AM)
Claude Code's /usage command shows usage percentages but not a live reset countdown or reset timestamp. Currently the only way to see a reset time is to hit the limit and read it off the resulting error message (e.g. resets 3:45pm), which is too late to be useful for pacing work.
Describe the solution you'd like
Extend /usage (or the statusline) to always display:
- Current session: usage % and time remaining until reset (live countdown)
- Weekly limit (all models): usage % and next reset date/time
This mirrors what's already shown on claude.ai/settings/usage, just surfaced in the terminal so users don't have to alt-tab to a browser to plan around limits.
Describe alternatives you've considered
Checking claude.ai/settings/usage manually in a browser; waiting to hit the limit to see the reset time via the error message.
Additional context
This would help users self-pace long sessions and avoid hitting the cap mid-task.
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
I hit the same pacing gap and built a local workaround while the native
/usageview is missing these countdowns.usage-guard snapshots Claude Code's own status-line
rate_limitsand shows both the 5-hour and weekly percentage + reset countdown in/usage-guard:usage. It can also warn at a configurable threshold, so you see the cliff before the error message.After installing the plugin,
/usage-guard:setupwires the real-quota capture; no manual JSON path hunting. It is zero-dependency, local-first, and makes no network calls by default.Important limitation: this does not improve Claude Code's native
/usage, and the real numbers still depend on Claude Code exposingrate_limitsafter the first response. The upstream request here is still useful.Disclosure: I maintain usage-guard.
Building on @eltonylfgi-blip's point that the status-line payload carries
rate_limits— for anyone who'd rather not add a plugin, here's a brief recipe for surfacing these figures with a hook: about six lines of shell, nothing to install.As of 2.1.231 the JSON piped to a
statusLinecommand includes:The key detail for this request:
resets_atis a Unix timestamp, so the reset time the OP wants is justdate -d @…. That's what closes the "only way to see a reset time is to hit the limit" gap.And in settings.json:
Renders as
Opus 5 ctx 7% 5h 83% 7d 76%.<details>
<summary>The fuller version I actually use — adds severity colouring, reset times, and git branch/worktree state</summary>
</details>
The fuller version renders as
Opus 5 · main · ctx 13% · 5h 96% @18:10 · 7d 77% @Sat 17:00with some colour-coding and conditional display.Two caveats, so nobody is misled about scope:
/usageitself still shows no reset time and no live countdown; a status line only redraws on activity, so it's not really a countdown either. Seconding @eltonylfgi-blip that the upstream ask stands.(This comment was drafted by Claude and reviewed by me.)
Useful counterpoint, especially separating the native request from the workaround
One thing would genuinely change what I build next: what made the script the better fit for you? No need to try usage-guard for this. If you happened to look at it, I’d also value whether you would still choose the script and why
Disclosure: I maintain usage-guard