Model or dataset
robinebers/openusage avatar
robinebers/openusage

OpenUsage: a native macOS menu-bar tracker for how much of your AI coding plans you have used

Burning through your subscriptions too fast? Paying for stuff you never use? Stop guessing. OpenUsage is free and open source.

4,168 stars441 forksSwiftMIT

At a glance

What is it?
OpenUsage is a free, MIT-licensed, native Swift app that shows session, weekly and spend usage for AI coding subscriptions like Claude, Codex, Copilot and Cursor in the macOS menu bar. It reads the credentials already on your machine, pins the metrics you care about, and exposes the same numbers to agents through a CLI and a loopback HTTP API.
Who is it for?
Install OpenUsage if you pay for one or more AI coding plans on a Mac and keep hitting limits or losing track of spend. Install it with Homebrew, pin your two most important metrics to the menu bar, and use the openusage CLI or the loopback HTTP API if you want an agent or another app to read the same numbers.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What OpenUsage does and who it is for

OpenUsage answers a narrow, common question: how much of the AI coding plans you pay for have you actually used. It is a native Swift menu-bar app that shows session and weekly limits, credits and spend in one popover, and lets you pin your most important metrics straight into the menu bar. Its own tagline is blunt about the motivation: burning through subscriptions too fast, or paying for things you never use.

The people it fits are developers on a Mac who juggle several of these subscriptions and want a glance-able answer rather than logging into each provider's dashboard. Because it is free and open source under the MIT licence, there is no cost to trying it, and the value grows with the number of plans you hold, since it consolidates all of them into one view.

Installing OpenUsage

There are two routes. The simplest is Homebrew:

sh
brew install --cask openusage

The other is a direct download: grab the latest universal DMG from the releases page, open it, and drag OpenUsage to your Applications folder. Either way, the app updates itself in place through signed, notarised Sparkle updates, with an optional beta channel, so you do not reinstall to upgrade.

The requirements are firm. OpenUsage needs macOS 15, Sequoia, or later, and it is a universal binary that runs natively on both Apple Silicon and Intel Macs. There is no Windows or Linux build; several of the related searches ask for one, but OpenUsage is, by design, a Mac-only menu-bar app.

The providers it tracks and how it reads them

The supported list is broad: Antigravity, Claude, Codex, Copilot, Cursor, Devin, Grok, Ollama, OpenCode, OpenRouter and Z.ai, each with its own set of metrics. Claude, for instance, exposes session, weekly and model-specific limits, extra usage and local daily spend; Cursor exposes credits, total usage, several model buckets, requests, on-demand and per-day spend; Copilot covers AI credits, extra usage, organisation billing, and chat and completions.

The key design decision is where the numbers come from. The README says most providers read the credentials already on your machine, in the keychain, auth files or app state, so there is no extra login, and credentials are used only for that provider's own requests. The two exceptions are OpenRouter and Z.ai, which have no local credential to reuse, so you supply an API key. The Today, Yesterday and Last 30 Days spend tiles are computed natively from local CLI logs for Claude, Codex and Grok, or from Cursor's usage export, with dollar estimates from dynamically refreshed model pricing, and no Node.js or other runtime is required.

Menu-bar pins, the dashboard and customization

The interface has two levels. In the menu bar you can pin up to two metrics per provider, rendered as compact text or mini bars, and the strip hides metrics that have no data rather than showing empty placeholders. The dashboard popover groups meters by provider with live reset countdowns and pace indicators, so you can see not just how much is used but whether you are on track to run out before the reset.

Interactions are quick: click a usage or reset value to flip how it displays everywhere, right-click a row to hide or star it, refresh its provider or open Customize. Customize lets you turn providers and metrics on or off, mark rows as Always Visible or On Demand, and drag to reorder. A global shortcut toggles the popover from anywhere. Values use stale-while-revalidate: cached numbers show instantly at launch and a refresh runs every five minutes.

The CLI and local HTTP API for agents and other apps

OpenUsage is not only a GUI. It ships a one-shot CLI so an agent can read stable limit JSON through the same five-minute cache, without the menu-bar app running:

sh
openusage
openusage --force

The plain command uses the cache; --force bypasses freshness. There is also a local HTTP API so other apps can read machine-friendly limits, on the loopback address:

sh
openusage
openusage --force
curl http://127.0.0.1:6736/v1/limits

The README is careful about the security boundary here. The HTTP API is loopback-only and never serves credentials, and the legacy /v1/usage UI contract is still supported. It does flag one real caveat: because it listens on localhost, browser pages can read it too, and it points to a privacy note on CORS for that reason. For provider requests that must go through a proxy, SOCKS5 or HTTP(S) can be configured in ~/.openusage/config.json.

Architecture, releases and limits

Under the hood OpenUsage is a SwiftPM package with SwiftUI content hosted in an AppKit NSStatusItem and a custom NSPanel, built with Swift 6 strict concurrency. The app and CLI share one module: each provider implements a small ProviderRuntime protocol, an auth store to usage client to mapper to snapshot pipeline, and both surfaces read the same normalised data. That shared core is why the menu bar, the CLI and the HTTP API always agree, and it is documented for anyone wanting to add a provider.

Releases are frequent and automated by pushing a version tag: recent ones include v0.7.11 on 2026-09-05 and v0.7.10 on 2026-08-27, with a 0.7.12 beta in the pipeline, and the last push was on 2026-09-12. The main limits to weigh are platform and scope: it is macOS 15+ only, the accuracy of each meter depends on what the provider exposes locally, and spend figures are estimates from refreshed pricing rather than billed amounts. For a Mac developer, none of those undercut the core benefit of seeing every plan's usage in one place.

Editorial conclusion

Install OpenUsage if you pay for one or more AI coding plans on a Mac and keep hitting limits or losing track of spend. Install it with Homebrew, pin your two most important metrics to the menu bar, and use the openusage CLI or the loopback HTTP API if you want an agent or another app to read the same numbers. It needs macOS 15 or later and is Mac only.

Frequently asked questions

Is there an OpenUsage version for Windows or Linux?

No. OpenUsage is a native macOS menu-bar app and requires macOS 15 (Sequoia) or later. It is a universal binary for Apple Silicon and Intel Macs; the README describes no Windows or Linux build.

Is OpenUsage free and open source?

Yes. OpenUsage is free and open source under the MIT licence. You can install it with Homebrew or a direct DMG download, and it updates itself through signed, notarised Sparkle updates.

Can an agent or another app read my usage from OpenUsage?

Yes. The openusage CLI prints stable limit JSON through the same five-minute cache without the app running, and a loopback HTTP API at 127.0.0.1:6736/v1/limits serves machine-friendly limits; it never serves credentials.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. robinebers/openusage on GitHub
Community notes

Community notes