Fork note: This is a Linux-compatible fork of OpenUsage. The original is a macOS Tauri menu bar app. This fork replaces the Tauri shell with a Bun server + React WebUI and a CLI status tool, so it runs on Ubuntu/Linux without Tauri or macOS-specific dependencies.
2026-10-11
- Grok Build Spend: WebUI Today, Yesterday, and Last 30 Days now use the same completed session transcripts as the Tokens page, with recorded costs. Turns without a cost still count toward tokens. Card days are local; Tokens-page Grok days remain UTC.
2026-09-20
- Grok Build Tokens: The Tokens page lists Grok Build (the Grok CLI / Grok Build login, provider id
grok) from completed session transcripts at~/.grok/sessions/**/updates.jsonl, matching original OpenUsage. Grok models billed through Cursor stay under Cursor.
2026-08-18
- Grok Weekly Pool: SuperGrok and other unified-billing accounts now show the shared weekly pool and pay-as-you-go status, instead of a billing-response error.
- Grok Local Spend: Today, Yesterday, and Last 30 Days are estimated from the Grok CLI log. A day with no token rows stays blank instead of a fake
$0.00.
2026-08-11
- Tokens Page: A new Tokens view lists dated provider and model totals. Switch between Provider → Model and Model → Provider. Parent rows use compact M/B figures; expand a row for the exact count.
- Token Persistence: Claude, Codex, and complete Cursor usage-event totals persist across refresh without double-counting. If a Claude or Codex plugin refresh fails, local ccusage totals stay visible.
2026-08-08
- Provider Accounts: Settings can track more than one home for Codex, Claude Code, Cursor, and Antigravity. Each enabled home becomes its own dashboard card. Antigravity detect also finds
~/.agy-homes/*.
2026-07-29
- Cursor Usage Charts: Cursor details now include last-7-day and billing-cycle cost and token charts.
2026-07-05
- Tailscale Access: You can allow specific Tailscale hosts to open the local dashboard, without exposing it to the whole LAN.
2026-07-04
- Clearer Usage Cards: Cards stay compact, extra quota lines sit under Show Details, and Claude Fable Weekly appears only when the live usage API reports that window. Providers also auto-refresh every 20 minutes.
2026-06-29
- Credit Reset Sync: You can now see the exact date and live countdown for your credit reset on both the CLI and the web dashboard.
- WebUI Upgrades: We've made several visual and accessibility improvements to the web interface, including better navigation and improved text contrast for a smoother user experience.
Web Dashboard — every provider at a glance, with progress bars and reset timers:
Terminal Status — ou-status in your shell, with colored usage bars and Codex reset-credit expiry (live countdown + exact date, matching the dashboard):
# Install Bun if you don't have it
curl -fsSL https://bun.sh/install | bash
# Clone and install
git clone https://github.com/solitude6060/openusage_webui.git
cd openusage_webui && bun install
# Start the WebUI (opens at http://127.0.0.1:6736)
bun run dev:webui
# Or check usage from terminal
bun run status
bun run status:refresh # refresh all providers firstAdd a shortcut so you can run the status tool from any directory. The same alias
line works in both shells — put it in ~/.bashrc for bash, or ~/.zshrc for zsh:
alias ou-status='bun run --cwd /path/to/openusage_webui status'
alias ou-status-refresh='bun run --cwd /path/to/openusage_webui status:refresh'Replace /path/to/openusage_webui with your clone path, then reload the shell
(source ~/.bashrc or source ~/.zshrc). Now ou-status prints usage from anywhere,
and ou-status-refresh fetches fresh data from every provider before printing.
| Original (macOS) | This Fork (Linux) | |
|---|---|---|
| Shell | Tauri menu bar app | Bun HTTP server + React SPA |
| Platform | macOS only | Linux (Ubuntu tested) |
| CLI | — | bun run status with ANSI progress bars |
| Antigravity | cmdline port flag | Socket-based /proc port discovery |
| Dashboard | — | Drag-and-drop card reordering |
| Plugins | Bundled, same | Bundled, same (with Linux shims) |
All original OpenUsage plugins run unmodified via a node:vm sandbox with Linux host shims for HTTP (curl), SQLite, keychain, and filesystem APIs.
See your usage at a glance from your menu bar. No digging through dashboards.
Download the latest release (macOS, Apple Silicon & Intel)
The app auto-updates. Install once and you're set.
OpenUsage lives in your menu bar and shows you how much of your AI coding subscriptions you've used. Progress bars, badges, and clear labels. No mental math required.
- One glance. All your AI tools, one panel.
- Always up-to-date. Refreshes automatically on a schedule you pick.
- Global shortcut. Toggle the panel from anywhere with a customizable keyboard shortcut.
- Lightweight. Opens instantly, stays out of your way.
- Plugin-based. New providers get added without updating the whole app.
- Local HTTP API. Other apps can read your usage data from
127.0.0.1:6736. - Proxy support. Route provider HTTP requests through a SOCKS5 or HTTP proxy.
- Amp / free tier, bonus, credits
- Antigravity / all models
- Claude / session, weekly, extra usage, local token usage (ccusage and Pi sessions in WebUI)
- Codex / session, weekly, reviews, credits, reset-credit expiry, Pi session usage in WebUI
- Copilot / premium, chat, completions
- Cursor / credits, total usage, auto usage, API usage, on-demand, CLI auth
- Factory / Droid / standard, premium tokens
- Grok Build / weekly pool, plan, pay-as-you-go cap, local spend, Tokens-page session transcripts
- JetBrains AI Assistant / quota, remaining
- Kiro / credits, bonus credits, overages
- Kimi Code / session, weekly
- MiniMax / coding plan session
- Ollama / session, weekly, monthly credits, purchased credits (starts disabled)
- OpenCode Go / 5h, weekly, monthly spend limits
- OpenRouter / credits, balance, period spend, key limit
- Perplexity / credits, requests
- Synthetic / API usage
- Devin / weekly quota, extra usage
- Z.ai / session, weekly, web searches
Community contributions welcome.
Want a provider that's not listed? Open an issue.
The local WebUI fork keeps the original Tauri app intact and adds a localhost dashboard under apps/web and apps/server.
Current WebUI provider support:
- Amp via the original
plugins/amp/plugin.jsadapter - Antigravity via the original
plugins/antigravity/plugin.jsadapter (optional multi-home via Settings → Provider Accounts; includes~/.agy-homes/*) - Claude Code via the original
plugins/claude/plugin.jsadapter (optional multi-home via Settings → Provider Accounts) - Codex via the original
plugins/codex/plugin.jsadapter (optional multi-home via Settings → Provider Accounts) - Cursor via the original
plugins/cursor/plugin.jsadapter (optional multi-home via Settings → Provider Accounts) - Devin via the original
plugins/devin/plugin.jsadapter - Factory via the original
plugins/factory/plugin.jsadapter - Grok Build via the original
plugins/grok/plugin.jsadapter — weekly shared pool, plan, pay-as-you-go cap, local spend tiles, and Tokens-page session transcripts - GitHub Copilot via the original
plugins/copilot/plugin.jsadapter - JetBrains AI Assistant via the original
plugins/jetbrains-ai-assistant/plugin.jsadapter - Kimi via the original
plugins/kimi/plugin.jsadapter - Kiro via the original
plugins/kiro/plugin.jsadapter - Ollama via the original
plugins/ollama/plugin.jsadapter — Ollama Cloud credits and limits, signed with~/.ollama/id_ed25519; WebUI only, starts disabled until you enable it on the Providers page - OpenCode Go via the original
plugins/opencode-go/plugin.jsadapter - OpenRouter via the
plugins/openrouter/plugin.jsadapter (port of the upstream Swift provider; API key from~/.config/openusage/openrouter.jsonorOPENROUTER_API_KEY) - Perplexity via the original
plugins/perplexity/plugin.jsadapter - Synthetic via the original
plugins/synthetic/plugin.jsadapter - Z.ai via the original
plugins/zai/plugin.jsadapter - MiniMax via the original Token Plan remains API behavior
- Gemini CLI / Google AI Pro coding usage via
ccusage - Manual usage entries
The WebUI Tokens page stores Claude/Codex local usage, complete Cursor usage-event
refreshes, Pi assistant sessions, and Grok Build CLI session transcripts as dated model totals, so repeated
refreshes update existing totals without double counting. Codex homes that share one
sessions directory contribute those totals once. The Allowance page compares tokens
and recorded API costs with quota movement over the same measured interval. It aligns
that interval to an hour boundary where hourly token data exists (Claude, Cursor and
Grok; stored separately and read only by Allowance) and to a day boundary otherwise
(Codex and older days), and shows an alignment warning when a total still cannot be
placed inside the interval.
Claude and Codex daily rows use this computer's local day. Cursor and Grok daily rows use UTC days.
Quota history retains each percent change and any absolute limit supplied by the provider.
Cursor-billed Grok stays
under Cursor. Grok Build is omitted until a Grok refresh finds turn_completed rows.
Pi usage joins the existing Claude and Codex providers after a successful refresh. The
scanner reads the last 30 days from ~/.pi/agent/sessions (or the Pi directory overrides),
keeps Pi costs separate from ccusage, and assigns multi-account Codex usage only to the
matching Pi login. See Codex and
Claude for account rules.
When a family has no Pi owner, a successful refresh clears its stored Pi records for
the scanned usage days, preserving ccusage and other days.
The WebUI adapter provides Linux host shims for original plugin HTTP, SQLite, local keychain, filesystem, crypto, and formatting APIs where needed. Local keychain shim data stays under ~/.openusage-webui/plugins/<provider>/keychain.json.
See README_WEBUI.md and README_WEBUI.zh-TW.md for local WebUI setup.
OpenUsage is built by its users. Hundreds of people use it daily, and the project grows through community contributions: new providers, bug fixes, and ideas.
I maintain the project as a guide and quality gatekeeper, but this is your app as much as mine. If something is missing or broken, the best way to get it fixed is to contribute by opening an issue, or submitting a PR.
Plugins are currently bundled as we build our the API, but soon will be made flexible so you can build and load their own.
- Add a provider. Each one is just a plugin. See the Plugin API.
- Fix a bug. PRs welcome. Provide before/after screenshots.
- Request a feature. Open an issue and make your case.
Keep it simple. No feature creep, no AI-generated commit messages, test your changes.
Not a single line of code in this project was read or written by hand. 100% AI-generated, AI-reviewed, AI-shipped — using Cursor, Claude Code, and Codex CLI.
OpenUsage is a real-world example of what I teach in the AI Builder's Blueprint — a proven process for building and shipping software with AI, no coding background required.
OpenUsage is supported by our sponsors. Become a sponsor to get your logo here and on openusage.ai.
Inspired by CodexBar by @steipete. Same idea, very different approach.


