UsageNow Tracks OpenAI Codex, Claude Code, Gemini and Antigravity Usage from Your Mac Menu Bar A developer built UsageNow, a native macOS menu bar app that aggregates usage data from OpenAI Codex, Claude Code, Gemini CLI, and Antigravity into a single compact view. The app reads local session files and, for Claude Code, uses an opt-in integration that keeps access tokens in memory, while explicitly avoiding any cloud account, server, or collection of prompts and source code. The developer said a key design decision was to show only data each provider actually exposes rather than inventing estimates, noting that "a polished but invented percentage would look nicer. It would also be wrong. 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: 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 https://usagenow.com . UsageNow is a native macOS app that brings usage information from multiple AI coding tools into one compact view. Today it supports: 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. One of the more interesting parts of building UsageNow was discovering how differently each tool exposes its data. 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 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 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. 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. 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. 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 https://docs.usagenow.com/privacy . 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: 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 https://github.com/usagenow/usagenow . The latest release adds Gemini CLI and Antigravity alongside Codex and Claude Code. It also adds: 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. 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.