See your Claude Code usage,
without leaving your desktop.

Session, weekly, and per-model limits (Fable, Opus…) - the same numbers as /usage, always visible in the GNOME top bar, the macOS menu bar, under your Claude Code prompt - or just ask Claude or Cursor.

GNOME 45-50 macOS 13+ MIT read-only
Claude Usage Panel dropdown showing session, weekly and per-model Fable limits

Everything, at a glance

One designed dropdown for every plan limit - plus alerts, trends, and optional Cursor spend.

πŸ“Š

All plan limits

Session, weekly, and per-model (Fable, Opus…) - one card each, from the official limits[] API.

🎨

Severity colors

Normal / warning / critical, straight from the API - reflected in the top-bar glyph too.

πŸ””

Limit alerts

A desktop notification the moment a limit first hits 90% or 100%.

πŸ“ˆ

Usage sparkline

A tiny per-limit trend graph so you see where you're heading, not just where you are.

πŸ’²

Session cost

Optional dollar cost computed locally via ccusage.

🟣

Cursor spend

Optional team cycle spend, today, and top spender via the Cursor Admin API - with a % gauge when a limit is set.

⌨️

Terminal status line

A condensed one-line view right under the Claude Code prompt - Context, Session/Week limits, and a Ξ£ session-token counter, read straight from Claude Code's stdin. No network, no credentials.

πŸ€–

Ask Claude (MCP)

A get_usage MCP tool for Claude Code and Cursor - ask "how much of my plan have I used?" and get live limits in the conversation. One-click Add to Cursor.

Why this one? Most Claude usage indicators read the endpoint's legacy fields and show only the aggregate session + weekly pair. This one reads the modern limits[] array, so it shows every limit the Claude app shows - including per-model weekly limits the others miss - on both Linux and macOS, with native UI on each. No Electron.

Install

Read-only, private, self-contained. One line auto-detects your platform and installs the sensible set:

curl -fsSL https://fschmutz.github.io/claude-usage-panel/install | bash

…or pick a target:

GNOME (Linux)
macOS
Claude Code
Cursor
curl -fsSL https://fschmutz.github.io/claude-usage-panel/install | bash -s -- gnome

Installs and enables the extension - then log out and back in (Wayland loads new extensions only at login). Or grab the .shell-extension.zip from the latest release. Details: GNOME guide.

curl -fsSL https://fschmutz.github.io/claude-usage-panel/install | bash -s -- macos

macOS 13+. Builds the app, installs to /Applications, and starts at login (toggle in Settings). The token is read from the login Keychain - click Always Allow on first launch.

Status line - a one-line usage gauge under the prompt: Context β–Œβ–‘β–‘ 8% Session β–ˆβ–Œβ–‘ 26% 59m Week β–ˆβ–Œβ–‘ 24% βˆ‘ 1.2M tok

curl -fsSL https://fschmutz.github.io/claude-usage-panel/install | bash -s -- statusline

get_usage tool - ask Claude "how much of my plan have I used?" in any session. Paste inside Claude Code:

/plugin marketplace add fschmutz/claude-usage-panel
/plugin install claude-usage@claude-usage-panel

or one terminal line, no clone needed:

claude mcp add claude-usage -- npx -y github:fschmutz/claude-usage-panel

One click adds the get_usage MCP tool to Cursor - ask "how much of my Claude plan have I used?" in chat:

βŠ• Add to Cursor

Needs Cursor installed (the button opens the app). Manual alternative - add under mcpServers in ~/.cursor/mcp.json:

"claude-usage": {"command": "npx", "args": ["-y", "github:fschmutz/claude-usage-panel"]}

The desktop panels can also show your Cursor team spend (Admin API key, optional) - see the guide.

It keeps itself current: a daily check installs new releases for you (only ever fast-forwarding a clean checkout, and only the clients you already have). Prefer to drive it yourself? ./install.sh update --pull upgrades on demand, and ./install.sh --uninstall autoupdate turns the daily check off. Every target has a matching --uninstall.

Dropdown Settings

How it works

It reads the OAuth token Claude Code already stores locally and calls the official usage endpoint. It never writes your token, and talks only to Anthropic (plus Cursor / ccusage when you enable them).

GET https://api.anthropic.com/api/oauth/usage
    authorization: Bearer <token>
    anthropic-beta: oauth-2025-04-20

The response's limits[] array drives one card per limit - each with a percent, severity, reset time, and optional model scope. On Linux the token lives in ~/.claude/.credentials.json; on macOS, the login Keychain.