Quota: AI Usage Tracker
Track AI usage from the editor you already have open. Quota adds a compact status bar button and a resize-friendly quota panel for GitHub Copilot, Codex, Claude Code, Antigravity, Kiro, Grok, and OpenCode Go.
See your AI quota at a glance
Quota is built for developers who use more than one AI coding tool and want one place to check usage before a limit surprises them. Connect the providers you use, pin the tracks you care about, and open the panel whenever you want the full picture.

What Quota does
- Tracks multiple providers: GitHub Copilot, Codex, Claude Code, Antigravity, Kiro, Grok, and OpenCode Go
- Shows a permanent status bar button: open Quota without leaving your editor
- Tracks more than one account per provider: connect a work and a personal account side by side
- Pins quota tracks to the status bar: choose the exact limits you want visible while coding, per account
- Opens a compact quota panel: scan percent used or remaining, reset timing, and last update time
- Refreshes extension-owned accounts: use manual refresh or the built-in refresh interval
- Explains expired authorization: get a clear error and Reauthenticate action instead of an opaque token-refresh response
- Keeps provider tokens in SecretStorage: raw credentials stay in VS Code's secret store
- Works with VS Code-style editors: designed for VS Code and OpenVSX-compatible IDEs
Supported providers
Quota currently supports direct extension-owned auth for:
| Provider |
Tracks |
| GitHub Copilot |
Premium requests, chat messages, inline suggestions |
| Codex |
5h usage, weekly usage |
| Claude Code |
5h usage, weekly usage, weekly Sonnet, extra usage |
| Antigravity |
Gemini 5h, Gemini weekly, Claude/GPT 5h, Claude/GPT weekly, AI credits when available |
| Kiro |
Prompt credits |
| Grok |
Credit window, monthly spend, on-demand spend |
| OpenCode Go |
5h usage, weekly usage, monthly usage |
Cursor is not included in the extension because modern Cursor is its own standalone app. The Quota desktop app can still track Cursor.
Status bar
Keep Quota visible without crowding your editor. The main Quota button opens the panel, and optional pinned tracks can show specific quotas beside it.

Pinned percentage tracks use a small usage indicator:
- 🟢 More than 30% remaining
- 🟡 11–30% remaining
- 🔴 10% remaining or less
- ⚪ No percentage data available
The easiest way to choose them is Quota: Choose Status Bar Items, or the Status bar button in the panel. It lists every track for every connected account, so you can tick exactly the ones you want. If you've connected more than one account for a provider, the status bar adds a short account tag, like Codex:Wk 22% left · work.
You can also edit quota.statusBar.items by hand. A bare track ID like codex.weekly follows the first connected account for that provider. Add @ and an account ID to pin a specific account (the picker writes these for you). Only the first quota.statusBar.maxItems tracks show up.
Example track IDs:
codex.primary
claude.fiveHour
githubCopilot.premium
antigravity.gemini
kiro.promptCredits
grok.credits
opencodeGo.fiveHour
Quota panel
Click the status bar button or run Quota: Open Quota Panel to open the in-editor panel. The panel uses a single column in narrow layouts and multiple columns in wider layouts, so it stays readable whether you keep it slim or stretch it across the editor.
Each connected account gets one card. Antigravity, for example, shows Gemini 5h, Gemini Weekly, Claude/GPT 5h, and Claude/GPT Weekly together, with available AI credits in the card header.
Each card shows:
- Provider and connected account label
- One row per quota window, with percent used or percent remaining following
quota.statusBar.display. The bar fills the same way, so it tracks whichever number you're looking at
- Reset time for each window when available
- Last updated time for the account
- Any refresh error for that account
Above the cards there's a small group for each provider. It shows Connect until you have an account, then the account count with Add (connect another account) and Disconnect (pick which account to remove). A Reauthenticate button shows up when an account's authorization expired.
Connect accounts
Run the matching connect command from the Command Palette:
Quota: Connect GitHub Copilot
Quota: Connect Codex
Quota: Connect Claude Code
Quota: Connect Antigravity
Quota: Connect Kiro
Quota: Connect Grok
Quota: Connect OpenCode Go
Running a connect command again while signed in to a different account adds a second account instead of replacing the first one. The panel's Add button does the same thing. If you connect the same account twice, Quota just updates the existing one.
Each provider uses its own auth flow. Quota stores raw provider tokens only in VS Code SecretStorage and stores display-safe account metadata in extension state.
Grok can also be connected without a browser round trip by running Quota: Import Local Grok CLI Account, which reads the credentials the Grok CLI already stored in ~/.grok/auth.json.
OpenCode Go uses an API key instead of a sign-in flow. Copy your key from the OpenCode console, run Quota: Connect OpenCode Go, and paste it in. You can give the account a name, or leave it blank to label it with the last four characters of the key. Quota checks the key before saving it and keeps it in SecretStorage like every other provider credential.
When a Codex, Claude Code, or Grok refresh token is rejected, Quota keeps the cached account visible, identifies that reauthentication is required, and offers the existing secure connection flow again. It does not delete the saved account before the new authorization succeeds.
Open Quota: Open Settings or edit your VS Code settings:
{
"quota.dataSource": "extensionAccounts",
"quota.refresh.intervalSeconds": 120,
"quota.providers.enabled": [
"githubCopilot",
"codex",
"claude",
"antigravity",
"kiro",
"grok",
"opencodeGo"
],
"quota.statusBar.enabled": true,
"quota.statusBar.items": ["codex.primary"],
"quota.statusBar.display": "percentRemaining",
"quota.statusBar.maxItems": 3
}
Available commands
| Command |
Description |
Quota: Open Quota Panel |
Open the compact quota panel |
Quota: Refresh Summary |
Refresh connected provider data |
Quota: Open Settings |
Open Quota settings |
Quota: Choose Status Bar Items |
Pick which tracks, for which accounts, show in the status bar |
Quota: Connect GitHub Copilot |
Connect a GitHub Copilot account, or add another one |
Quota: Refresh GitHub Copilot |
Refresh GitHub Copilot quota data |
Quota: Disconnect GitHub Copilot |
Remove extension-stored GitHub Copilot credentials |
Quota: Connect Codex |
Connect a Codex account |
Quota: Refresh Codex |
Refresh Codex quota data |
Quota: Disconnect Codex |
Remove extension-stored Codex credentials |
Quota: Connect Claude Code |
Connect a Claude Code account |
Quota: Refresh Claude Code |
Refresh Claude Code quota data |
Quota: Disconnect Claude Code |
Remove extension-stored Claude Code credentials |
Quota: Connect Antigravity |
Connect an Antigravity account |
Quota: Refresh Antigravity |
Refresh Antigravity quota data |
Quota: Disconnect Antigravity |
Remove extension-stored Antigravity credentials |
Quota: Connect Kiro |
Connect a Kiro account |
Quota: Refresh Kiro |
Refresh Kiro quota data |
Quota: Disconnect Kiro |
Remove extension-stored Kiro credentials |
Quota: Connect Grok |
Connect a Grok account with the xAI device-code flow |
Quota: Import Local Grok CLI Account |
Import accounts from the local Grok CLI auth file |
Quota: Refresh Grok |
Refresh Grok quota data |
Quota: Disconnect Grok |
Remove extension-stored Grok credentials |
Quota: Connect OpenCode Go |
Connect an OpenCode Go account with its API key |
Quota: Refresh OpenCode Go |
Refresh OpenCode Go quota data |
Quota: Disconnect OpenCode Go |
Remove the extension-stored OpenCode Go key |
Status bar track IDs
Use these IDs in quota.statusBar.items:
Codex keeps the stable codex.primary track ID for the five-hour window. The restored weekly window uses codex.weekly.
[
"githubCopilot.premium",
"githubCopilot.chat",
"githubCopilot.inline",
"codex.primary",
"codex.weekly",
"claude.fiveHour",
"claude.weekly",
"claude.weeklySonnet",
"claude.extraUsage",
"antigravity.gemini",
"antigravity.geminiWeekly",
"antigravity.claude",
"antigravity.claudeWeekly",
"kiro.promptCredits",
"grok.credits",
"grok.monthlySpend",
"grok.onDemand",
"opencodeGo.fiveHour",
"opencodeGo.weekly",
"opencodeGo.monthly"
]
Privacy and storage
Quota is local-first. Direct auth makes the extension a token-holding app, so it keeps the storage boundary tight:
- Raw provider tokens stay in VS Code SecretStorage
- Display-safe account metadata and quota cache live in extension global state
- Disconnect commands delete extension-owned credentials and cached quota data
- The extension does not use remote sponsor, ad, announcement, or relay services
Desktop app
Quota also has a desktop app for a broader account dashboard and provider management. Download it from the Quota GitHub releases page.
Publisher
Made by Pink Pixel.