Skip to content

Repository files navigation

Cursor Cockpit

See how much of your Cursor plan you have left — in the sidebar and in the status bar, without leaving the editor.

한국어

Unofficial and community-maintained. Not affiliated with or endorsed by Cursor (Anysphere).


Why another one of these

There are a handful of Cursor usage extensions, and they all do the same thing: one number in the status bar. Two problems with that.

First, one number is not enough any more. A Cursor account in 2026 is a dollar budget and a plan tier, a subscription state, a prepaid balance, a period reset date, and a split between Auto and named-model usage. The status bar shows the budget — $9.51/$70.00 — while the sidebar and hover carry the rest, including Cursor's own summary sentence so you can check our arithmetic against the vendor's.

Second, they keep dying. The most popular one was archived by its author with the note that Cursor's pricing policy changes too often to track. That is a real risk, and it is an architecture problem, not a motivation problem: those extensions parse the API response directly, so a schema change is a crash.

This extension answers both:

  • A sidebar view that shows the breakdown, not just the total.
  • A provider layer that classifies the response into a billing model first and only then renders. When Cursor changes something we don't recognize, you get the raw numbers and an honest "couldn't interpret this" — not a blank bar and not a wrong figure.

Features

  • Sidebar (Activity Bar) — per-pool usage, plan tier, subscription status, period reset, last refresh time.
  • Status bar — your budget at a glance. 💳 $9.51/$70.00. When a plan runs more than one budget they all appear in the one entry, each with its own icon, and the entry takes the colour of whichever is in worse shape. Cursor's own summary sentence and its Auto / named-model percentages show on hover and in the sidebar. Five display templates (percent, amount, amountWithReset, amountWithPlan, hidden), left or right aligned, thresholds you set.
  • Threshold notifications — one notification per threshold crossing per period, not every poll.
  • Four ways to sign in — the local Cursor session, the cursor-agent CLI, a dashboard API key, or a pasted cookie. auto picks whichever works.
  • Zero configuration by default — the token is discovered locally after a one-time consent prompt.
  • English and Korean UI.

Installation

Cursor's in-app extension library is served from the Open VSX Registry, so:

  • In Cursor — open the Extensions view and search for Cursor Usage.
  • In VS Code — install from the Visual Studio Marketplace, id toragonite.cursor-cockpit.
  • Manually — download the .vsix from Releases and run code --install-extension cursor-cockpit-<version>.vsix (or cursor --install-extension …).

Setup

Nothing, in the normal case. On first activation the extension asks once for permission to read your local Cursor session, then starts polling.

If you'd rather it not read Cursor's storage — or if it can't — run Cursor Usage: Sign In… and pick another way. There are four, and auto (the default) just uses whichever works first:

Method What it does Reads local files?
This computer's Cursor session Uses the token Cursor already stored. Zero effort. Yes, after consent
The Cursor CLI sign-in Reads the token cursor-agent login saved. One browser sign-in, nothing to copy. Only the CLI's own auth file
A Cursor API key Exchanges a dashboard API key for a session token. No
A session cookie You paste WorkosCursorSessionToken from DevTools. No

A ticked entry in the picker can be used right now. See SECURITY.md for exactly what each one touches.

Settings

Setting Default What it does
cursorUsage.refreshIntervalSeconds 300 Poll interval, 60–3600s.
cursorUsage.statusBarTemplate amount percent · amount · amountWithReset · amountWithPlan · hidden.
cursorUsage.statusBarAlignment right Which side of the status bar to sit on.
cursorUsage.warnThresholdPercent 75 Status bar turns to the warning colour at or above this.
cursorUsage.criticalThresholdPercent 90 Status bar turns to the error colour at or above this.
cursorUsage.notifyOnThreshold true Notify once when a threshold is first crossed in a period.
cursorUsage.tokenSource auto auto, or pin one of localDb · cli · apiKey · cookie.

Commands

Command Description
Cursor Usage: Refresh Force a poll now, ignoring the cache.
Cursor Usage: Sign In… Choose a sign-in method (local session, CLI, API key, or cookie).
Cursor Usage: Clear Stored Token Forget a stored cookie/API key and re-ask for consent.
Cursor Usage: Open Dashboard Open Cursor's own usage dashboard in a browser.
Cursor Usage: Report Diagnostics Produce a pre-redacted report to attach to a bug report.

Your credentials

The short version, in full:

  • The token is read locally and sent only to cursor.com and api2.cursor.sh — Cursor's own servers. There is no telemetry, no analytics, and no third-party host of any kind.
  • We never persist the session token. A cookie or API key you enter goes to VS Code SecretStorage (your OS keychain); nothing goes to settings.json or any plain file.
  • It is masked in the Output channel, in error messages, and in the diagnostics report.
  • Cursor's state.vscdb is read from a temporary copy and never written to.

Cursor's public Admin API is team-administrator-only and cannot report an individual's usage, so the undocumented dashboard endpoints are currently the only path. If Cursor ships a per-user API key, this extension will move to it and drop local credential access entirely.

The full policy, and how to report a problem privately, is in SECURITY.md.

When Cursor changes its API

It will. The extension classifies each response into one of three billing models before rendering anything:

Model Detected by Shown as
request_count legacy gpt-4.maxRequestUsage present 120 / 500 requests
usd_credit planUsage.limit present (in cents) $9.51 / $70.00
unknown neither raw figures + "couldn't interpret this response"

unknown is a first-class state, not an error path: the view stays up, the numbers we can read are still shown, and there's a one-click link to open an issue. If you hit it, please do open that issue — a redacted sample of the new response shape is the fastest way to get a fix out.

Contributing

See CONTRIBUTING.md. Bug reports about API breakage are especially welcome.

License

MIT

About

See how much of your Cursor plan is left — per-pool breakdown in the sidebar, an at-a-glance gauge in the status bar. Unofficial.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages