Claude Code status lines that track usage limits

Claude plans meter usage in five-hour and weekly windows, and Claude Code hands both to your status line as rate limit data. These status lines show how much of each window is gone and when it resets.

They differ mostly in urgency: some show a quiet percentage, others switch color or warn outright as you approach the cap.

Pick the five-hour window if you hit limits during a workday. Pick a config that shows both windows if you care about the week.

Claude Code passes your plan's usage limits to the status line script as rate_limits in its stdin JSON. rate_limits.five_hour and rate_limits.seven_day each carry used_percentage and resets_at, a Unix timestamp for when the window resets. Either window can be missing, so guard both before printing. The configs below differ in how loudly they warn.

24 published status lines.

Updated 2026-09-07

Status lines

app · main · Opus-4.8 · effort high · ctx 22% · 5h 26% ↻2h6m · 7d 7% ↻2d0h

One-line status bar showing your directory, git branch (with a * when dirty), model, live effort level, context-window usage, and 5-hour/7-day rate-limit usage.

Opus 4.8 [high] ~/app main 16:20:55 | ⛁ ██░░░░░░░░ 22% | 5h ●◔○○○ 26% ↻2h7m | 7d ◔○○○○○○ 7% ↻2d1h │ $0.41 ⏱ 10m

Two-line status with a block context bar and quarter-step dot meters (◔◑◕●) for the 5-hour and weekly limits (fill shows usage, color shows whether you are ahead of or behind pace), plus model, effort, git and cost. Needs no jq.

Opus 4.8 high ✦ │ ctx 22% │ app (main) │ PR #1287 ● │ $0.41 · 10m +128 -34 Session ● ● ● ● ● ● ● ● ○ ○ ○ 74% left Resets in 2h 6m Weekly ● ● ● ● ● ● ● ● ● ● ○ 93% left Resets in 2d 0h Fable ● ● ● ● ● ● ● ● ● ○ ○ 85% left Resets in 2d 0h ◐ Read:index.ts ✓ Read×1 ✓ Bash×1 ✓ Edit×1 ✓ Grep×1 ◐ code-reviewer Review the change for regressions

A header with model, context and burn rate per hour, then live tool and agent activity parsed from the session transcript.

◆ Opus 4.8 │ ▪ app │ ⎇ main │ ◷ 16:20 │ ██▄░░░░░░░ 26% (44K/167K) │ 26% ↻2h6m │ 7% ⟳2d0h

Node status line with an autocompact-aware context bar (subtracts the compaction buffer), project, branch, last-activity time, and 5h/7d rate-limit segments.

GitTokensLimitsMulti-LineBashNetwork AccessReads Token
Opus 4.8 │ ✍️ 22% │ app (main) │ ● high current ●●○○○○○○○○ 26% ⟳ 6:59pm weekly ○○○○○○○○○○ 7% ⟳ aug 1, 5:52pm

Model, context, directory and branch up top; five-hour and weekly quota as dot bars with reset times underneath. Flags --dangerously-skip-permissions with a lightning bolt. By Kamran Ahmed of roadmap.sh.

GitTokensLimitsMinimalBashNetwork AccessReads Token
Opus 4.8 | app@main | 44k/200k (22%) | effort: high | 5h 26% @18:59 | 7d 7% @Sat Aug 1, 17:52

Model, directory and branch with diff counts, context tokens, reasoning effort, and five-hour and seven-day limits from Claude Code's own rate-limit data, with the usage API as fallback. Checks for new versions of itself once a day.

GitTokensCostLimitsBashNetwork AccessReads Token
🌿 main │ Opus 4.8/hi │ 🟢 Ctx ▓▓░░░░ 22% │ ⏳ 🟢 ▓▓░░░░ 26% ↻ 2h7m │ $0.41 ⏱ 10m

Branch, model with effort level, a context bar and the five-hour quota with reset countdown. Only calls the usage API when stdin lacks rate limits.

Model: Opus 4.8 | Thinking: high | Context: [▰▰▱▱▱▱▱▱▱▱] 45k/200k (22%) | cwd: ~/app | ⎇ main | (+0,-0) Cost: $0.41 | Block: 2hr 6m | Weekly: 7.0% | Session: 10m | In: 916.7 t/s | Out: 29.2 t/s | Cached: 2k | Session: [▰▱▱▱▱] 26.0% Mem: 0.8G/1.0G | (*゚∀゚*) | Session ID: b8e1c0d2-4a6f-4e2a-9c1b-3f5d7a9e2c10

Three lines in One Dark: model, thinking effort and a context bar up top; cost, quota, session clock and token throughput in the middle; weather, free memory and a rotating kaomoji below.

Op 4.8 │ app (main) │ █░░░░ 44k/200k │ cache 5% ↓2k +5k │ 5h:26%(2h7m) │ 7d:7%(2d)

Bucketed git status counts, ahead-behind arrows, prompt-cache stats with an expiry countdown, and a heads-up when CLAUDE.md, AGENTS.md and GEMINI.md fall out of sync. Dependency-free Node.

Opus 4.8 | main | ██░░░░░░░░ 22.0% | 44k / 200k | 02:06 26% | Sat 7%

Single-line status: model, git branch, a block context burn bar (green→orange→red) with token count, and 5-hour and weekly rate-limit percentages with reset times.

!Opus4.8(high) Session:26%(19:00) Week:7%(2d0h) Ctx:▰▱▱▱▱22% Cost:~$0.41

Shows 5h/weekly rate-limit usage with early-warning pace coloring, context window gauge, and daily cost in USD + JPY.

庫 app · 枝 main · 脳 OPUS-4.8 文 ▓▓░░░░░░ 22% · 時 ▓▓░░┃░░░ 26% · 週 ▓░░░░┃░░ 7%

CyberPunk/BladeRunner styling. Two lines with kanji field labels: repo 庫, branch 枝, worktree 樹, and model 脳 on top; context 文, 5-hour 時, and weekly 週 meters below. The rate-limit bars carry a ┃ pace cursor marking how far through the reset window you are — cyan when your usage trails the cursor (on track), amber/red when it outruns it.

GitTokensCostLimitsBashNetwork AccessReads Token
Opus 4.8 | app@main | ctx 44k/200k (22%) | cost $0.41 | 5h 26% | 7d 7%

Watches plan limits and extra-usage spending in dollars, next to model, branch with diff stats, context and cost. Env vars switch it between one and two lines.

Opus 4.8 (200K) high | app (main) ██░░░░░░░░ 22% 200K | 5h 26% ⇣32% 2h 7d 7% ⇣63% 2d

Are you burning quota faster than the clock? Five-hour and seven-day usage with over- and under-pace arrows, plus a context bar and git diff stats. Reads rate limits from stdin only.

app · main · Opus 4.8 · high ctx 22% 44k · 5h 26% ↻2h6m · 7d 7% ↻2d0h · cost $0.41 · msg $0.757

Two-line: dir/git/model/advisor/effort on top + Caveman, RTK, context %, 5h/7d rate limits, and session cost below

📁 app 🌿 main 🧠 Opus 🧊 22% [==--------] 💰 $0.41 ($2.41/h) ⏳ 5h: 26% [==--------] 7d: 7% [----------]

Three-line status: directory, git branch and model up top; a context-fill bar with session cost and an hourly burn rate ($/h); then 5-hour and weekly rate-limit bars with context-warning icons.

claude-usage

3 copies

LimitsMinimalPythonNetwork AccessReads Token
✳ Usage 5h 26% · week 7% · fable 15%

Your official Claude quota: the 5-hour session, weekly, and per-model windows with reset times, read from the same endpoint as /usage rather than estimated from token logs.

◆ Opus 4.8 │ ██░░░░░░░░ 22% 200k │ $0.41 │ 10m12s │ 5h:26% 7d:7% ⎇main │ +128/-34 │ app

A gradient progress bar for context with quota percentages beside it, plus cost, duration and lines changed. Bash and jq, fully offline.

◆ Opus 4.8 │ app/main ▰▰▰▰▱ 78% │ ↑44k ↓1.4k │ 5h: -- │ 7d: -- │ 10m12s

Keeps itself inside a width budget (80 columns by default) by dropping the lowest-priority segments first. Model, project, context gauge with token counts, quota bars and duration; pace arrows and a cost readout are opt-in.

[Opus 4.8] ctx 22% · 5h ▓▓░░░░░░ 26% on track · resets in 2h06m · 7d ▓░░░░░░░ 7% on track · resets in 2d0h

Model, context fill and both subscription windows as pace-coloured bars: the colour is the projected end-of-window usage, not the current percentage, so a nearly full window about to reset stays green.

TokensLimitsNodeNetwork AccessReads Token
app │ Opus 4.8 │ context: ██░░░░░░░░ 22% │ Fixing the null check in the parser

Shows the task Claude is working on right now, read from the session todo list, beside context and five-hour usage bars.

Opus · F:15% ██▍ ▏ A:7% █▏ ▏ ⟳ 3d

A custom status line for Claude that shows usage relative to "pace" based on your quota reset timeline. Useful for knowing if your burn rate is too high or low relative to your next reset.

GitTokensCostLimitsMulti-LineBashNetwork AccessReads Token
󰚩 Opus 4.8 │ 󰍛 ▰▰▰▰▱▱▱▱▱▱▱▱▱▱▱▱ 22% │ 󰄉 $0.41 󰝰 app │ 󰘬 main

Two Nerd Font lines: model, a 16-segment context bar, cost and quotas on top; directory, git counts, Python venv and vim mode below.

✧ ███████████▋ 73% 🗝 Ultima Weapon ✦ app ∙ main ♥ ████████████████████████ 100% 「SAVE POINT」 ✶ Limit Form ◉ 41

Kingdom Hearts themed statusline and command menu for Claude Code.

Common questions

Why is rate_limits missing from my status line input?

Claude Code can omit rate_limits, or send only the five_hour window. Check that each window exists before reading used_percentage, or the script prints empty values.

How do I show when my limit resets?

Subtract the current Unix time from rate_limits.five_hour.resets_at to get the seconds remaining, then format them as hours and minutes. The same works for seven_day.

What is the difference between five_hour and seven_day?

five_hour covers the current five-hour usage window. seven_day covers the weekly limit. Each carries its own used_percentage and resets_at.