Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 4 min read

UsageNow Tracks OpenAI Codex, Claude Code, Gemini and Antigravity Usage from Your Mac Menu Bar

I rarely use just one AI coding tool anymore. Codex may be working on one task, Claude Code on another, Gemini CLI is useful for a different workflow, and Antigravity has its own strengths. The problem is that every too

UsageNow Tracks OpenAI Codex, Claude Code, Gemini and Antigravity Usage from Your Mac Menu Bar

I rarely use just one AI coding tool anymore. Codex may be working on one task, Claude Code on another, Gemini CLI is useful for a different workflow, and Antigravity has its own strengths.

The problem is that every tool has a different way of reporting usage:

  • different limit windows;
  • different reset times;
  • different definitions of β€œusage”;
  • and sometimes no accessible quota information at all.

I kept asking the same questions:

How much usage do I have left?

When does it reset?

Which model have I been using today?

Opening several apps and dashboards just to answer those questions felt unnecessary. I wanted the answer to live where I could see it immediately: in the macOS menu bar.

So I built UsageNow.

One place for AI coding usage

UsageNow is a native macOS app that brings usage information from multiple AI coding tools into one compact view.

Today it supports:

  • Codex
  • Claude Code
  • Gemini CLI
  • Antigravity

Click the menu bar icon and you can see the available limit windows, how much is left, when they reset, and today’s local token and request activity by model.

There are also small and medium desktop widgets for checking usage without opening the app.

The providers are not actually the same

One of the more interesting parts of building UsageNow was discovering how differently each tool exposes its data.

Codex

Codex limits, reset times, and account plan come from the official Codex app-server running locally. Token and request activity is calculated from session files already stored on the Mac.

UsageNow never needs to read or copy Codex credentials.

Claude Code

Claude Code stores enough local session data to calculate token activity, requests, models used, and account information.

Subscription limits are more complicated. UsageNow can fetch them through an experimental, opt-in integration using the existing Claude Code sign-in. The access token is kept in memory and sent only to Anthropic.

If this option is disabledβ€”or the limits cannot be fetchedβ€”local activity still works.

Gemini CLI

Gemini CLI records local session activity, so UsageNow can show tokens, requests, and models used today.

It does not expose usage limits locally. Instead of estimating them or displaying a meaningless zero, UsageNow simply says that limits are unavailable.

Antigravity

While the Antigravity app is running, UsageNow asks its local language server for the same quota summary shown in Antigravity’s own usage panel.

This communication stays on 127.0.0.1. No Google credentials are read or transmitted by UsageNow.

Missing data should look missing

A surprisingly important product decision was to resist the temptation to make every provider card look complete.

If a provider returns only a weekly limit, UsageNow shows only a weekly limit.

If a quota cannot currently be refreshed, the last known value can remain visibleβ€”but it is clearly marked as stale.

If a tool does not expose limits, UsageNow says so.

And token activity is presented as local activity, not as a billing statement. Cached tokens and provider-specific accounting can make those two numbers different.

A polished but invented percentage would look nicer. It would also be wrong.

For a usage monitor, trust is more important than visual symmetry.

Local-first by design

I did not want another cloud dashboard with another account, database, or proxy sitting between developers and their AI tools.

UsageNow has no account system and no UsageNow server receiving your usage data.

It does not collect prompts, responses, source code, project names, or conversation content. For local activity, it extracts only the small set of fields it needs: timestamps, identifiers, model names, and token counts.

Providers can also be disabled individually. When a provider is disabled, UsageNow does not refresh it or read its files.

The desktop widget follows the same principle. It cannot access provider files, credentials, or the network. The main app publishes a sanitized snapshot containing only the values needed for display, and the widget renders that snapshot.

The full privacy model is documented in the UsageNow privacy documentation.

Normalizing the result, not the providers

UsageNow is built with SwiftUI and MenuBarExtra.

Internally, every integration is different, but each provider produces a normalized snapshot for the interface:

Codex app-server ─────┐
Claude session files ──
Gemini recordings ────┼─> ProviderSnapshot ─> Menu bar
Antigravity localhost β”˜                    └─> Widget

A snapshot can contain:

  • zero or more usage windows;
  • an optional plan;
  • local token and request activity;
  • activity grouped by model;
  • freshness information;
  • and a provider-specific unavailable reason.

The UI does not assume that every provider has the same capabilities.

Providers refresh concurrently, and a failed refresh does not automatically erase the last good result. This matters for tools whose sessions expire or whose local services are only available while the tool is running.

The widget is a separate target and receives only explicitly copied display fields. Provider and credential-reading code is not compiled into it.

The project’s architecture and implementation are available in the open-source repository.

What shipped in version 0.3.0

The latest release adds Gemini CLI and Antigravity alongside Codex and Claude Code.

It also adds:

  • activity grouped by model;
  • provider reordering;
  • improved support for team plans;
  • smarter widget layouts;
  • clearer stale-data states;
  • and more reliable handling of renewed Claude Code sessions.

Cursor, GitHub Copilot, DeepSeek, and Qwen are on the roadmapβ€”but they will only be added when there is a reliable and privacy-respecting way to obtain useful data.

Try UsageNow

UsageNow is free and open source under the MIT License. It runs on Apple silicon and Intel Macs with macOS 15 or later.

The downloadable app is signed and notarized by Apple.

You can:

If you use multiple AI coding tools, I would love to hear which provider you want to see nextβ€”and what usage information is most useful in your daily workflow.

See what’s left. Keep building.

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.