Pacer: a macOS menu bar tool that tracks AI coding subscription pace

a computer screen with a bunch of code on it

If you run multiple AI coding subscriptions, you’ve probably hit the wall mid-week. Claude Code hits its limit, you switch to Codex, and by Thursday everything is amber. Pacer is a free, open source macOS menu bar app built to stop that from happening.

What It Does

Two rings sit in your menu bar. Each one shows the speed of the currently selected account: the projected usage percentage at the next reset if you keep coding at your current rate. Green means you’re at or below 80%. Amber means you’re tracking to hit 100% right at reset. A solid red disc means you’re on pace to run out before reset arrives.

That framing matters. Showing 16% used sounds healthy until you realize it’s only 10% into the week. Pacer shows where you land, not where you are.

Supported Accounts

Pacer reads from every AI coding subscription it can find on the machine, side by side:

  • Claude Code: the keychain login for the default profile and every CLAUDE_CONFIG_DIR profile in ~/.claude-* directories. Tracks session, week, and per-model week windows.
  • Codex: reads from ~/.codex/auth.json, with session transcripts as a fallback. Tracks 5-hour and weekly windows.
  • Antigravity: connects to the running app’s local language server, one tab per model vendor it resells. Tracks per-model allowances.
  • Cursor: reads the IDE login. Tracks the billing month for paid seats.
  • Gemini CLI and GitHub Copilot: reads their stored logins. Described as untested and written from public client documentation.

A provider with no login stored on the machine costs nothing and shows nothing.

a laptop computer sitting on top of a wooden desk

The One-Line Advice Feature

Clicking the menu bar icon opens a card showing session and week speed for the active account. It also shows a single sentence of advice computed from your actual model mix: something like “reduce Fable usage” or “move X% of Opus work to Sonnet.” When you’re on pace, it says so and suggests nothing.

Anthropic doesn’t publish how Opus, Sonnet, and other models count against subscription limits. Pacer joins the official usage percentage with your local transcripts and fits the weights from your own data, including whether cache reads are discounted. Until enough data is available, it falls back to API price ratios.

Cost Tracking

For Claude Code specifically, Pacer calculates API-equivalent cost across all profiles whose transcripts live under ~/.claude/projects. It shows rolling totals for one day, one week, and 30 days. This tells you what the subscription is actually worth to you in real API spend.

Install

brew install dkremsa/tap/pacer
brew services start pacer
cp -R "$(brew --prefix)/opt/pacer/Pacer.app" /Applications/ && open "/Applications/Pacer.app"

The formula was previously called claude-pacer before v2.0.0. That name still resolves, but an existing claude-pacer install won’t upgrade across the rename. Run brew uninstall claude-pacer first.

You can also build from source: git clone https://github.com/dkremsa/claude-pacer.git ~/.claude/pacer, then run ./build.sh from the cloned directory. That compiles the app into /Applications and installs a launchd agent that samples every 10 minutes.

Requirements: macOS 13 or later, Node 18 or later, and Xcode Command Line Tools (xcode-select --install).

The sampler runs every 10 minutes and survives reboots via brew services. To get the menu bar icon at login, add Pacer under System Settings → General → Login Items and Extensions. The underlying Node script has no dependencies. Status data writes to ~/.claude/pacer/status.json and is readable by other tools.

Stay on top of AI & Automation with BizStack Newsletter
BizStack  —  Entrepreneur’s Business Stack
Logo