The Usage Meter for AI Agents.

Track Claude and Codex quota, pacing, cache health, and activity in real time. Built for developers and their agents.

EMUsage

Built for developers who ship with AI

Anthropic
OpenAI
Pi
macOS
Windows
Terminal

Everything on one screen

Quota pacing, session health, model breakdown, activity liveness, hourly patterns — all updating in real time. Drag, resize, and pin widgets to build your perfect control panel.

EMUsage Meter
Right-click for more options
Weekly Pacing

Know exactly where your quota stands

Three concentric rings show pace projection, weekly usage, and session usage at a glance. Budget delta tells you how much runway you have today.

Cache Intelligence

Optimize every token

Track cache hit ratios per session. Spot cold starts instantly. Know exactly where tokens are being wasted and where you're saving.

Usage Patterns

Know when you code hardest

Three time horizons show your peak hours at a glance. Dock-style badges magnify on hover. Bars reveal per-hour message counts across all-time, this week, and today.

Agent-First CLI

Built for agents, not just humans

Every widget has a matching CLI endpoint. Your agents can query quota, activity, and cache health programmatically via JSON over localhost.

# 1. Enable the CLI server in EMUsage settings
# App binds HTTP on 127.0.0.1:49182
# 2. Agent queries live data via the emusage binary
$ emusage activity
{
  "provider": "claude",
  "projects": [
    {
      "name": "data-pipeline",
      "seconds_ago": 12,
      "state": "active",
      "activity_type": "tool_call",
      "tool_calls": 3
    }
  ],
  "seconds_since_any_activity": 12,
  "any_stalled": false
}
# All endpoints — same binary, same loopback server
$ emusage status # quota, zone, burn rate, projection
$ emusage analytics # today, 14-day trend, all-time
$ emusage cache # per-session cache hit ratios
$ emusage activity # per-project liveness
$ emusage activity --provider codex
Testimonials

See why developers keep EMUsage open all week

The strongest reactions so far are about pacing clarity, catching weekly-cap burn before it locks them out, and giving agents a safe budget check before longer runs.

Max 5x subscriber

"I used to burn through my weekly cap by Wednesday and spend the rest of the week locked out. The pace ring shows me where I'll land by Sunday if I keep this rate, so I throttle myself before Anthropic does it for me."

Claude Code daily user

"My 5-hour windows started draining in 90 minutes and I had no idea what was eating them. Seeing the live burn rate means I catch a hot session in the first 10 minutes now, not when I'm staring at a lockout screen."

Solo founder

"The reset clock in the terminal is buried and the times shift around. Having the countdown sitting on my second monitor means I actually plan deep work around it instead of guessing when my week resets."

Agent-heavy team

"Before this I'd kick off a long agent run and find out two hours later I'd cooked the rest of the week. The localhost endpoint lets us gate longer runs against remaining budget — that alone paid for it."

Claude power user

"The pace ring is the feature for me. It tells me where I should be by tonight and where I'll actually land at this rate. Once you've seen that, working without it feels like coding with the brightness off."

Prompt optimizer

"Cache health surfaced a prompt pattern I'd been running for weeks that was getting almost no reuse. Fixing it cut my daily burn by about a third — I'd never have spotted it from the CLI."

Frequently
asked questions

EMUsage spawns a pseudo-terminal (PTY) session with the Claude CLI binary and sends the /usage slash command. It parses the text output to extract quota percentages and reset times. This avoids calling the Anthropic API directly, so there is no separate OAuth flow or API key needed. Your existing Claude Code session is the auth context.
The Claude /usage command returns quota data that is not exposed through the public API. By driving the CLI via a PTY, EMUsage reads the same usage info you see when you type /usage in Claude Code, without triggering any harness detection or requiring separate API credentials. On Windows this uses ConPTY, on macOS it uses POSIX PTY.
Analytics (token history, daily trends, model breakdown) come from reading Claude Code JSONL session files on disk, the same files Claude writes in real time. Activity liveness comes from stat-ing file modification times. Neither requires any API call.
Claude (via CLI PTY probe plus JSONL) and Codex (via SQLite plus JSONL). The provider system is extensible, and adding a new provider requires one Go interface implementation of ProviderDataSource.
Yes. EMUsage is a Wails v3 cross-platform app. The same codebase compiles natively for both platforms with platform-specific PTY implementations (ConPTY on Windows, POSIX PTY on macOS).
Yes. Agents are the primary audience. Enable the CLI server in settings and EMUsage binds an HTTP server on 127.0.0.1:49182. Your agents call `emusage status`, `emusage activity`, `emusage cache`, or `emusage analytics`, and the binary queries the loopback server and returns JSON to stdout.
Yes. EMUsage is fully open source on GitHub. You can inspect, modify, and self-host it.