The coding agent usage dashboard you've been looking for.
Install · Providers · Config · Keybindings · Development
OpenUsage auto-detects AI coding tools and API keys on your workstation and shows live quota, usage, and cost data in your terminal. Zero config required — just run openusage.
Run it side-by-side with your coding agent:
OpenUsage running alongside OpenCode monitoring live OpenRouter usage.
brew install janekbaraniewski/tap/openusagecurl -fsSL https://github.com/janekbaraniewski/openusage/releases/latest/download/install.sh | bashgo install github.com/janekbaraniewski/openusage/cmd/openusage@latestRequires CGO (CGO_ENABLED=1). Pre-built binaries are also available on the Releases page.
openusageAuto-detection picks up local tools and common API key env vars. No config needed.
- Zero config — auto-detects your AI tools and API keys, just run it
- Live dashboard — see spend, quotas, rate limits, and per-model usage at a glance
- 16 providers — covers coding agents (Claude Code, Cursor, Copilot, Codex, Gemini CLI), API platforms (OpenAI, Anthropic, OpenRouter, and more), and local tools (Ollama)
- Background tracking — collects data continuously, even when the dashboard is closed
- Deep cost insights — combine providers like OpenCode + OpenRouter for breakdowns by model, tool, and hosting provider
- Tool integrations — optional hooks for Claude Code, Codex CLI, and OpenCode provide richer, real-time usage data
- Customizable — 7 themes, adjustable time windows, configurable thresholds, provider reordering
16 provider integrations covering coding agents, API platforms, and local tools. See docs/providers.md for all providers with detailed descriptions and screenshots.
Detection: claude binary + ~/.claude directory
Tracks daily activity, per-model token usage, 5-hour billing block computation, burn rate, and cost estimation.
Detection: OPENROUTER_API_KEY environment variable
Tracks credits, activity, generation stats, and per-model breakdown across multiple API endpoints.
| Provider | Detection | What it tracks |
|---|---|---|
| Claude Code | claude binary + ~/.claude |
Daily activity, per-model tokens, billing blocks, burn rate |
| Cursor | cursor binary + local SQLite DBs |
Plan spend & limits, per-model aggregation, Composer sessions |
| GitHub Copilot | gh CLI + Copilot extension |
Chat & completions quota, org billing, session tracking |
| Codex CLI | codex binary + ~/.codex |
Session tokens, per-model breakdown, credits, rate limits |
| Gemini CLI | gemini binary + ~/.gemini |
OAuth status, conversation count, per-model tokens |
| OpenCode | OPENCODE_API_KEY / ZEN_API_KEY |
Credits, activity, generation stats |
| Ollama | OLLAMA_HOST / binary |
Local models, per-model usage |
| Provider | Detection | What it tracks |
|---|---|---|
| OpenAI | OPENAI_API_KEY |
Rate limits via header probing |
| Anthropic | ANTHROPIC_API_KEY |
Rate limits via header probing |
| OpenRouter | OPENROUTER_API_KEY |
Credits, activity, per-model breakdown |
| Groq | GROQ_API_KEY |
Rate limits, daily usage windows |
| Mistral AI | MISTRAL_API_KEY |
Subscription, usage endpoints |
| DeepSeek | DEEPSEEK_API_KEY |
Rate limits, account balance |
| xAI (Grok) | XAI_API_KEY |
Rate limits, API key info |
| Google Gemini API | GEMINI_API_KEY / GOOGLE_API_KEY |
Rate limits, model limits |
| Alibaba Cloud | ALIBABA_CLOUD_API_KEY |
Quotas, credits, per-model tracking |
No config file needed — auto-detection handles everything. Override or extend via:
- macOS/Linux:
~/.config/openusage/settings.json - Windows:
%APPDATA%\openusage\settings.json
{
"auto_detect": true,
"ui": { "refresh_interval_seconds": 30 },
"accounts": [
{
"id": "openai-personal",
"provider": "openai",
"api_key_env": "OPENAI_API_KEY",
"probe_model": "gpt-4.1-mini"
}
]
}Full reference: configs/example_settings.json
Background data collection, even when the dashboard isn't open:
openusage telemetry daemon # Run in foreground
openusage telemetry daemon install # Install as system service (launchd / systemd)
openusage telemetry daemon status # Check status
openusage telemetry daemon uninstall # UninstallManage tool integrations:
openusage integrations list [--all] # List integration statuses
openusage integrations install <id> # Install hook/plugin
openusage integrations uninstall <id> # Remove| Key | Action |
|---|---|
Tab |
Switch views |
j / k, Up / Down |
Move cursor |
h / l, Left / Right |
Navigate panels |
Enter / Esc |
Open detail / back |
PgUp / PgDn |
Scroll tile |
[ ] |
Switch detail tabs |
r |
Refresh all |
/ |
Filter providers |
t |
Cycle theme |
w |
Cycle time window |
, |
Open settings |
Shift+J / Shift+K |
Reorder providers |
? |
Help |
q |
Quit |
make build # Build binary to ./bin/openusage
make test # Run tests with -race and coverage
make lint # golangci-lint
make run # go run cmd/openusage/main.go
make demo # Preview with simulated data (no API keys needed)Debug mode: OPENUSAGE_DEBUG=1 openusage



