AI usage across every provider and account, in the macOS menu bar.
Website: runway.page
Runway shows limits, credits, and spend for Claude, Codex, Cursor, Grok, Devin, and more in one place. Cached data appears instantly, refreshes run in the background, and the metrics you care about can sit in the menu bar.
Download the latest universal DMG from the releases page, open it, and drag Runway to Applications.
The app updates itself through signed, notarized Sparkle updates. Requires macOS 15 (Sequoia) or later.
Runway is a fork of OpenUsage rebuilt for speed. We measured both on the same machine with the same providers and session logs. See docs/performance.md for the method.
| OpenUsage | Runway | |
|---|---|---|
| Launch to menu bar icon | 5.4 s | 0.29 s |
| Popover open to first frame | 61 ms | 23 ms |
| First open after launch | 2.59 s | 44 ms |
| One refresh pass | 8.6 s | 2.3 s |
| Memory (steady / peak) | 1.09 GB / 2.6 GB | 238 MB / 322 MB |
| First-launch scan | 165 s CPU, 12.9 GB peak | 12.7 s CPU, 1.7 GB peak |
- Antigravity: shared Gemini and Claude pool quotas, 5-hour and weekly windows
- Claude: session, weekly, model-specific limits, extra usage, local daily spend
- Codex: session, weekly, credits, local daily spend
- Copilot: AI credits, extra usage, organization billing, chat and completions
- Cursor: credits, total usage, Grok Bot, Cursor Models, Other Models, requests, on-demand, per-day spend
- Devin: weekly and daily quota, extra usage balance
- Grok: weekly shared pool, pay-as-you-go, local daily spend
- Kimi: five-hour and weekly Kimi Code quota, Extra Usage balance and monthly spend
- Muse: five-hour and weekly Muse Code subscription quota
- OpenCode: Go session, weekly, and monthly caps, Zen spend, local daily spend
- OpenRouter: credit balance, daily, weekly, and monthly spend (API key)
- Sakana Fugu: subscription quota plus local Fugu Ultra usage trend and estimated API-rate value
- Z.ai: session, weekly, and web-search quotas (GLM Coding Plan, API key)
Most providers read the credentials already on your Mac (keychain, auth files, app state). OpenRouter and Z.ai have no local credential to reuse, so you supply an API key (see OpenRouter setup or Z.ai setup). Runway uses each credential only for that provider's requests. Runway collects no analytics. The Privacy page covers the public pricing downloads and optional iCloud sync.
- Menu bar pins. Pin up to two metrics per provider to the menu bar, as text or mini bars. Metrics with no data are hidden.
- Dashboard popover. Meters grouped by provider, with live reset countdowns and pace indicators. Click a usage or reset value to change how it displays everywhere. Right-click a row to hide or star it, refresh its provider, or open Customize.
- Global shortcut. Toggle the popover from anywhere. Record any combo in Settings.
- Customize. Turn providers and metrics on or off, choose which rows are Always Visible or On Demand, and drag to reorder.
- Cache first. Cached values show instantly at launch. Refresh runs every 5 minutes.
- CLI.
runwayprints limit JSON from the same five-minute cache.runway --forcerefreshes first. The app does not need to be running. - Local HTTP API. Other apps can read limits from
127.0.0.1:6736/v1/limits. The older/v1/usageroute still works. Loopback only, never serves credentials. Browser pages can read it too. See the privacy note. - Proxy support. Route provider requests through SOCKS5 or HTTP(S) via
~/.runway/config.json. - Native settings. Launch at login, global shortcut, icon style, theme, 12/24-hour time. See Settings.
- Automatic updates. Signed, notarized updates via Sparkle.
Runway for iOS shows combined usage from every Mac you run: spend today, yesterday, and over the last 30 days. Data syncs privately over iCloud. Lock screen and home screen widgets can show cost or tokens. See the iOS app.
Behavior docs live in docs/: the dashboard, menu bar pins, settings, refresh and caching, the CLI, the local HTTP API, the proxy, and one page per provider.
For working on the code: architecture, adding a provider, and debugging and logs.
- macOS 15 (Sequoia) or later
- Universal binary for Apple Silicon and Intel
Runway computes the Today, Yesterday, and Last 30 Days spend tiles from local CLI logs (Claude, Codex, Grok, Sakana Fugu) or Cursor's usage export. No Node.js or other runtime is needed. Dollars are estimated with model pricing.
swift build # debug build
swift test # run the test suite
./script/build_and_run.sh # build and launch the dev app from dist/ (no install)Runway is a SwiftPM package: SwiftUI content hosted in an AppKit NSStatusItem and a custom key-capable NSPanel, Swift 6 strict concurrency. The app and CLI share one module. Providers implement a small ProviderRuntime protocol (auth store, usage client, mapper, ProviderSnapshot), and both surfaces read the same normalized data. See the architecture overview and AGENTS.md for the conventions.
Releases are automated. Pushing a stable tag on main tests, builds, signs, notarizes, and publishes the release. See Releasing.
Issues are welcome. Pull requests are issue-first: an external PR must link an issue a maintainer has approved with the approved label, or it is closed. Read CONTRIBUTING.md first. Report security issues privately per SECURITY.md. The Runway name and logo are covered by the trademark policy.


