Burnrate
Desktop usage monitor for Claude Code, Codex, OpenRouter, Runpod, and AWS quotas, credits, spend, and subscription limits. Built with Tauri 2 (Rust + React/TypeScript) and lives in the system tray (the menu bar on macOS).
Documentation: jamesbrink.online/burnrate
Screenshots
Features
- Menu-bar tray summary with a left-click usage popover and right-click actions (Preferences, Refresh, Quit).
- Native translucent (vibrancy) popover on macOS that follows the system light/dark appearance, sizes itself to its content, and dismisses when it loses focus.
- Native Preferences window for account management and manual OpenRouter/Runpod/AWS setup.
- Auto-detects Claude Code and Codex accounts from local config; OpenRouter and Runpod are added via API key, and AWS uses your existing AWS profile/default credential chain.
- Multiple Claude Code and Codex accounts, each signed in from the app via browser OAuth and shown with its email address and usage.
- Drag to reorder accounts — reorder the tray usage cards or the Preferences list; the order persists across both windows.
- Claude Code subscription buckets (5-hour, weekly, model-specific) with stale-auth checks via
claude auth status. - Codex Pro/Max plan and rate-limit buckets read from the Codex app server.
- Runpod prepaid balance, current spend, burn-rate runway, active resources, and recent Pods/Serverless/storage costs.
- AWS Cost Explorer month-to-date USD spend with optional monthly budgets and configurable service/tag/cost-category buckets such as Bedrock, EC2 compute, and S3.
- Secrets in the OS keyring by default, with an explicit plaintext fallback.
- Hides from the Dock by default; appears only while Preferences is open.
- Automatic updates (macOS) with selectable Stable and Nightly channels: a dismissible banner and tray "Check for Updates…" entry offer a signature-verified one-click "Install & Restart." Choose the channel under Preferences → Updates.
Install
Download the native bundle for your platform from GitHub Releases, or install the binary crate (it ships the prebuilt UI):
See the installation guide for Nix, update channels, and signed macOS builds. If cargo install fails with ld: library not found for -liconv (a non-Apple cc first in PATH), see the fix.
Documentation
Setup, provider specifics (including AWS permissions), configuration, and troubleshooting live on the docs site:
- Getting started — accounts, browser sign-in, multi-account isolation
- Configuration — storage paths, secrets, environment variables
- Providers — Claude Code, Codex, OpenRouter, Runpod, AWS
- Troubleshooting — keychain prompts, CLI discovery, stale auth
Development
A Nix devshell exposes the full workflow (nix develop, then dev, check, test, fmt, build-app, build-pure, package-dmg, docs-dev). See AGENTS.md for the architecture map and complete command reference.
The docs site is a VitePress app in website/ — docs-dev starts it with hot reload; pushes to main deploy it to GitHub Pages.
Releases
release-plzmanages crate release PRs, version tags, and crates.io publishing.- Tagging
v*builds native Tauri bundles (macOS, Linux, Windows) and uploads them with checksums to the GitHub Release, then publishes a signedlatest.json(the Stable auto-update manifest). - A
nightlyworkflow runs after greenCIonmain, building a signed macOS pre-release and promoting it to the rollingnightlyrelease/manifest (the Nightly channel). - Auto-update signing uses a Tauri minisign keypair: the public key lives in
tauri.conf.json; the private key + passphrase are theTAURI_SIGNING_PRIVATE_KEY/TAURI_SIGNING_PRIVATE_KEY_PASSWORDrepo secrets.