Important
Fork — OpenCode 2 support. This is an independent fork of
slkiser/opencode-quota that adds
OpenCode 2 compatibility. It is not affiliated with, endorsed by, or
published by the original author. Requires OpenCode >= 2.0.7. See
About this fork for installation and the differences from
upstream.
Quota, usage, and token visibility in OpenCode and your terminal.
This project is a fork of slkiser/opencode-quota, maintained to run on OpenCode 2. OpenCode 2 replaced the V1 plugin API, so upstream's V1 plugin does not run there. Only the plugin runtime layer was ported; the provider, quota, pricing, and reporting engine is upstream's.
Install the fork's CLI (same commands as upstream, different package name):
npx @cardinal4/opencode-quota initRequires OpenCode >= 2.0.7 and Node.js >= 22.
Known differences from upstream:
- Toasts are client-side. OpenCode 2 removed the server toast endpoint, so automatic quota toasts are emitted by the CLI plugin. Web/Desktop clients, which do not run CLI plugins, do not show them.
showOnQuestionis unavailable. The V2 event stream does not carry the tool name required for the question-tool trigger.- Everything else — providers, quota windows, slash commands, token reports, JSON output, and pricing — is upstream's engine and behaves the same.
For complete setup, provider, and configuration documentation, see the rest of
this README and docs/readme/. Those documents come from upstream and apply to
this fork except where noted above. Report fork-specific issues to
cardin/opencode-quota;
report upstream issues to the original project.
npx @cardinal4/opencode-quota initImportant
Node.js >= 22 is required.
Upgrading from v3? Read the v4 migration guide.
After installation:
- Restart OpenCode.
- Run a slash command in OpenCode, or use
opencode-quota showfrom your terminal. - If you enabled the sidebar, open the session sidebar and look for
Quota. - If you enabled the compact status line, look at the bottom of Home or below the message input.
OpenCode 1 users stay on 4.x: OpenCode Quota 5 needs OpenCode 2. The updater pins your plugin to @4.
-
Close OpenCode.
-
Preview the update:
npx @cardinal4/opencode-quota update --dry-run
-
Inspect the safe setting/cache changes and manual credential findings, then apply:
npx @cardinal4/opencode-quota update
-
Restart OpenCode.
The updater prints the complete preview before its own config or cache changes. --yes authorizes only the previewed safe config edits and manifest-verified cache cleanup; it never moves or deletes secrets. See Updating safely for detailed behavior and manual credential steps.
Breaking changes since 4.10.3:
- Qwen Code was removed because Qwen ended its OAuth free tier; use Alibaba Coding Plan.
- Google Antigravity was removed because its companion plugin is archived and Google rejects it; use Google AGY.
- Personal Google accounts can no longer use Gemini CLI because Google ended them on 2026-06-18; use Google AGY.
- OpenCode Zen now uses your
opencode console loginsession; the copied Console cookie file is no longer read. See OpenCode Zen setup.
More ways to use it:
- Check quota anywhere: use
opencode-quota showin a terminal or the same slash commands in the TUI, Web, and Desktop. - Automate quota checks with JSON output for scripts, status bars, and CI. Optional OpenTelemetry metrics support monitoring tools.
- Customize the display with
tuiPromptBar.enabled, OpenCode Go's preferred collapsed-sidebar window, spaced reset countdowns by default with aresetTimeSpaced: falsedense opt-out, decimal reset precision, bare percent labels, andaccountingDetail. - Optionally estimate Runs out ≈ 1h 50m for supported fixed windows with
quotaProjection: "runway". It is off by default and leaves JSON output unchanged. - Choose current-session or descendant-tree token totals. Get reset popups for selected windows with
resetNotifications. - Troubleshoot authentication, quota sources, pricing, and maintainer notices.
See Configuration for UI options and Manual install for setup details.
| Command | Use when |
|---|---|
/quota |
Show current quota |
/quota_status |
Diagnose setup, authentication, providers, pricing, and notices |
/quota_announcements |
Read active bundled maintainer notices |
/pricing_refresh |
Refresh local runtime pricing from models.dev |
/tokens_today |
Show tokens used today |
/tokens_daily |
Show tokens used in the last 24 hours |
/tokens_weekly |
Show tokens used in the last 7 days |
/tokens_monthly |
Show tokens used in the last 30 days, including pricing |
/tokens_all |
Show tokens used across all local history |
/tokens_session |
Show tokens used in the current session |
/tokens_session_all |
Show current session plus descendant sessions |
/tokens_between YYYY-MM-DD YYYY-MM-DD |
Show tokens used between two dates |
Use the CLI for setup, updates, terminal checks, and custom providers.
| Command | What it does |
|---|---|
npx @cardinal4/opencode-quota init |
Set up OpenCode Quota |
npx @cardinal4/opencode-quota provider add |
Add or update a custom provider |
npx @cardinal4/opencode-quota show |
Show current quota |
npx @cardinal4/opencode-quota status |
Check configuration and provider problems |
npx @cardinal4/opencode-quota update |
Update an existing installation |
Run npx @cardinal4/opencode-quota --help for command options. See External integration for JSON, scripts, and CI examples.
Personal
| Provider | Auth/setup | Data from | Reports |
|---|---|---|---|
| Anthropic (Claude) | Needs setup | Local CLI/OAuth | Quota |
| Chutes AI | Automatic | Remote API | Quota |
| Cursor | Needs setup | Local estimate | Budget and spend |
| GitHub Copilot | Automatic | Remote API | Budget and usage |
| Google AGY | Needs setup | Remote API | Quota |
| Kilo Gateway | Automatic | Remote API | Quota and balance |
| NanoGPT | Automatic | Remote API | Quota and balance |
| Ollama Cloud | Automatic | Remote API | Quota and usage |
| OpenAI | Automatic | Remote API | Quota |
| OpenCode Go | Automatic | Remote API | Quota |
| OpenCode Zen | Needs setup | Remote API | Budget and balance |
| OpenRouter | Automatic | Remote API | Budget and spend |
| Synthetic | Automatic | Remote API | Quota |
| xAI SuperGrok | Automatic | Remote API | Quota |
Business / Enterprise
| Provider | Auth/setup | Data from | Reports |
|---|---|---|---|
| Anthropic (Claude) | Needs setup | Local CLI/OAuth | Quota |
| Chutes AI | Automatic | Remote API | Quota |
| Cursor | Needs setup | Local estimate | Budget and spend |
| Gemini CLI | Needs setup | Remote API | Quota |
| GitHub Copilot | Needs setup | Remote API | Budget and usage |
| Google AGY | Needs setup | Remote API | Quota |
| NanoGPT | Automatic | Remote API | Quota and balance |
| OpenAI | Automatic | Remote API | Quota |
| OpenCode Zen | Needs setup | Remote API | Budget and balance |
| OpenRouter | Automatic | Remote API | Budget and spend |
| Synthetic | Automatic | Remote API | Quota |
| xAI SuperGrok | Automatic | Remote API | Quota |
Gemini CLI works only with Gemini Code Assist Standard or Enterprise (organization) accounts. Personal Google users should use Google AGY.
Personal
| Provider | Auth/setup | Data from | Reports |
|---|---|---|---|
| Alibaba Coding Plan | Automatic | Local estimate | Quota |
| Alibaba Personal Token Plan | Needs setup | Official CLI | Quota |
| DeepSeek | Automatic | Remote API | Balance and status |
| Kimi Code | Automatic | Remote API | Quota |
| Kimi Code (CN) | Automatic | Remote API | Quota |
| MiniMax Token Plan | Automatic | Remote API | Quota |
| MiniMax Token Plan (CN) | Automatic | Remote API | Quota |
| Xiaomi MiMo | Needs setup | Dashboard API | Quota and balance |
| Z.ai Coding Plan | Automatic | Remote API | Quota |
| Zhipu Coding Plan | Automatic | Remote API | Quota |
Business / Team
| Provider | Auth/setup | Data from | Reports |
|---|---|---|---|
| Kimi Code | Automatic | Remote API | Quota |
| Kimi Code (CN) | Automatic | Remote API | Quota |
| MiniMax Token Plan | Automatic | Remote API | Quota |
| MiniMax Token Plan (CN) | Automatic | Remote API | Quota |
| Zhipu Coding Plan | Automatic | Remote API | Quota |
These vendors offer team or business plans, but the current integrations report only the configured member API key rather than organization-wide usage.
Add a provider that uses a remote quota API or tracks a local usage estimate:
npx @cardinal4/opencode-quota provider addThe guided setup previews the change before saving. See the custom-provider guide for details.
If quota or token data looks wrong:
- Run
/quota_statusin OpenCode, oropencode-quota statusfrom a terminal for the same diagnostics. Useopencode-quota showfor a quick quota glance. - Confirm the expected provider appears in the detected provider list.
- Confirm companion auth plugins are before
@cardinal4/opencode-quotainopencode.json. - If token reports are empty, start OpenCode once so it creates
opencode.db, then run a session with model usage. - Check Troubleshooting for common symptoms and provider-specific fixes.
Project guides:
External references:
- OpenCode docs
- OpenCode config
- OpenCode plugins
- OpenCode TUI
- models.dev pricing data
- Node.js downloads
Thanks to everyone who has contributed to OpenCode Quota.
MIT
OpenCode Quota is not built by the OpenCode team and is not affiliated with OpenCode or any provider listed above.



