Stream Deck plugin · Windows + macOS ·

Real-time insight into your AI limits.

Track every AI coding stat—session %, weekly usage, credit balance, reset timers, and per-model quotas—in one place. Each metric becomes a live Stream Deck button with a dynamic fill, so you can quickly see how much runway you have left.

Usage Buttons in Stream Deck — Claude session, weekly, and sonnet percentages with provider list

What it does

Each metric becomes its own Stream Deck key. The background fills (or drains) in proportion to the current value, so you can read the whole dashboard without squinting.

Live dynamic icons

Every key renders as a compact SVG whose fill is driven by the current value — watch your session window drain in real time.

Smart rate-limit aware

Shared per-provider snapshot cache coalesces all button requests into one HTTP call, so adding six Claude keys still polls Anthropic once.

Watermark brand glyphs

Each button carries its provider's logo as a watermark so you can tell a Claude tile from a Codex tile at a glance, even when the meter is full.

Reset countdowns

Subvalue line shows exactly when each window resets — 2h 15m, 5d, 47s. Format adapts to the remaining duration.

Threshold alarms

Money metrics shift to warning and critical colors at configurable thresholds — sensible defaults included so you know when spending gets hot.

Pace tracking

Session and weekly pace metrics compare your actual usage against a linear burn rate — "+7%" means reserve, "-12%" means deficit.

Standalone native binary

Written in Go — single static binary with a low memory footprint. No runtime dependencies.

Supported providers

9 providers are live. More coming, mirroring CodexBar's full provider list.

Claude Codex Copilot Cursor OpenRouter Warp z.ai Kimi K2 Ollama Gemini Kimi + more…

Configuration

Each button gets its own metric, colors, and thresholds. Plugin-wide defaults keep things consistent.

Per-button settings — metric picker, authentication, text overrides, colors
Per-button settings
Plugin-wide settings — refresh interval, display options, text sizes
Plugin-wide defaults

Install

Two downloads — the Stream Deck plugin and (for Claude extras, Cursor, and Ollama) the Usage Buttons Helper browser extension.

1. Download the plugin

Grab the .streamDeckPlugin bundle for your OS from the latest release and double-click to install in Stream Deck. No admin prompts, no dependencies — it's a single static Go binary.

Windows macOS

2. Install Usage Buttons Helper (optional — needed for Claude extras, Cursor, Ollama)

The Helper is a tiny Chrome extension that reads usage data from your logged-in sessions on claude.ai, cursor.com, and ollama.com — cookies never leave the browser. The plugin only sees API response bodies. Required for Claude balance / overage metrics, Cursor, and Ollama; all other providers work without it.

  1. Download UsageButtons-Helper-unpacked.zip and unzip it anywhere.
  2. Open chrome://extensions and enable Developer mode (top-right).
  3. Click Load unpacked and pick the unzipped folder.

That's it. Nothing to configure — the plugin picks the Helper up automatically. Works in Chrome, Edge, Brave, and Chromium.

3. Add a button

In Stream Deck, drag a provider (e.g. Claude, Codex, Cursor) onto any key, then pick a metric from the Property Inspector. Browser-sourced metrics (like Claude Balance or Cursor Auto usage) are clearly labeled and auto-disable when the Helper isn't connected, so nothing fires against Cloudflare until your browser is ready.

Build from source

Written in Go. Single static binary; no runtime deps beyond coder/websocket.

Clone, build, link

git clone https://github.com/anthonybaldwin/UsageButtons.git
cd UsageButtons
go build -o io.github.anthonybaldwin.UsageButtons.sdPlugin/bin/plugin-win.exe ./cmd/plugin/
go build -o io.github.anthonybaldwin.UsageButtons.sdPlugin/bin/usagebuttons-native-host-win.exe ./cmd/native-host/
./scripts/install-dev.sh --restart

Cross-compilation works out of the box (GOOS/GOARCH). The install-dev.sh script junctions the plugin folder into Stream Deck's plugin directory so rebuilds take effect without reinstalling. Then load chrome-extension/ unpacked in Chrome for the Helper side.

Something wrong?

Found a bug, buttons stuck on an error face, or a provider not returning the right numbers? Open an issue on GitHub — the more detail you include, the faster it gets fixed.

What to include

  • OS & Stream Deck version — Windows/macOS, Stream Deck software version
  • Plugin version — shown in the eyebrow at the top of this page, or in Stream Deck's plugin list
  • Provider & metric — which provider (Claude, Codex, …) and which metric (session %, weekly %, …)
  • What you expected vs. what happened
  • Screenshot of the button — worth a thousand words when it's a rendering bug