Claude Code status lines and mods that show token usage

12 status lines and 15 mods. These show how much of your context window is used. Pick one that shows a percentage for the exact figure, or a bar you can read at a glance.

Status lines and mods

Opus 4.8 ▓▓░░░░░░░░ 22%

Model plus a 10-block context-usage bar. Example statusline inspired by the Claude Code docs (code.claude.com/docs/en/statusline).

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

Feature-rich bash status line with model, context bar, session cost (read live from Claude Code, so it stays correct on any model), rate-limit bars, and live tool/agent activity that adapts to terminal width. Source: github.com/JungHoonGhae/claude-statusline

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

Claude Code plan-usage HP bar that reads the Claude auth token to show remaining usage.

Opus 4.8 │ main │ app │ ▓▓░░░░░░░░ 44k/200k │ $0.41

Catppuccin Frappé–themed status line with model, git branch and dirty flag, folder, a block context bar, and session cost. Source: github.com/danjdewhurst/cc-status-line

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

Folder, git branch, model (color-coded by family), effort, context usage, and 5h/7d rate-limit usage with reset countdowns — all on one line, each percentage going green → yellow → red as it climbs. Needs jq.

Context Bar in Claude Desktop

Your context window as a stacked bar above the prompt, a color per category, with token counts and the compaction point. /context-bar shows or hides it.

🤖 Opus 4.8 [200K] │ 🎯 high │ 📁 app │ 🌿 main 📅 07/07/26 Tue │ ⏰ 22:59:15 │ ₿$63k │ ☀️ +90°F Ctx: ● ▓▓░░░░ 33% [66K/200K] │ ⏱ 10m │ 🔧 2.1.155

A three-line bar that mixes coding metrics with ambient real-world data: model, context and git on top; date, time, live weather from wttr.in and the Bitcoin price from Coinbase in the middle; a context bar with real token counts, session cost and Claude Code version below.

[Opus 4.8] | ━━━━━━ 22% (44K/200K) | app | git:(main) | ⏱ 10m

Single-line status with a context bar, H/W usage limits, project, git branch, MCP server count, and a session timer, with cross-platform credential lookup. Source: github.com/AndyShaman/claude-statusline

Opus 4.8 │ ✍️ 78% │ app (main) │ +128/-34 Cost $0.4100 Tokens in 44.0k │ cache write 5000 │ cache read 2000 │ out 1.4k

Compact status line showing model, context remaining %, directory/git, session time and lines changed, with rate-limit bars or a cost/token breakdown. Source: github.com/susomejias/claude-statusline

◆ Opus 4.8 │ ▪ app │ ⎇ main │ ◷ 13:32 │ ██▄░░░░░░░ 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. Source: github.com/philipshurpik/claude-code-status-line

Opus 4.8 │ ✍️ 22% │ app (main) │ ● high current ●●○○○○○○○○ 26% ⟳ 3:35pm weekly ○○○○○○○○○○ 7% ⟳ oct 20, 2:28pm

Two-block bash status line: model, context %, directory/git and session time up top, with 5h/weekly rate-limit bars below. Source: github.com/nilbuild/claude-statusline

Updated 2026-10-09

Common questions

How does a status line read token usage?

Claude Code pipes a JSON payload to your status line script on stdin each time the line refreshes. Token usage is under context_window. Read context_window.used_percentage for a percentage, or total_input_tokens and context_window_size for raw counts. used_percentage is null in a fresh session, so default it to 0 in jq with // 0. Every field Claude Code sends is in the status line guide.

How do I show a context bar instead of a number?

Take context_window.used_percentage, scale it to the bar width, and print that many filled blocks followed by empty ones. The bar-style ones above work this way.

Does the context window size change with the model?

It can. context_window.context_window_size carries the window for the current session, such as 200000 or 1000000. Divide by it instead of hardcoding 200k.