Native macOS menu bar app for Cursor usage, spending, and billing — SwiftUI dashboard with dual-pool analytics, charts, and EN/ZH i18n.
中文文档 · README.zh.md
cursor · macos · menu-bar · swift · swiftui · usage-tracker · billing · developer-tools · menubar-extra · cursor-ide
Usage — today stats, API / Auto + Composer pools, billing cycle overview
Quota decline — Total / API / Auto |
Daily spend (USD) · model breakdown |
Paginated events · model filter |
Token breakdown · pricing rules & estimates |
Billing — cycle usage, dual-pool status |
Per-model tokens · account & plan |
Session token · auto-refresh · Language: System / English / 中文
More screenshots → docs/screenshot/en · docs/screenshot/zh
- Menu bar at a glance — billing cycle usage % with a live gauge icon
- Three-tab dashboard aligned with Cursor's web dashboard:
- Usage — today stats, dual pools, quota decline curve, daily charts, paginated events
- Spending — cycle spend, breakdown bars, spend trends
- Billing — cycle summary, dual-pool status, allowance notes, per-model token usage
- Dual usage pools — API included allowance vs Auto + Composer bonus; clarifies misleading usage limit messages
- Charts — daily spend (USD), daily usage %, quota decline (Total / API / Auto), model pie chart
- Usage event details — tokens, pricing rules, cost estimates, full-cycle local cache
- Background sync — randomized 10–20s request pacing
- Change notifications — in-app banner + macOS alerts on usage shifts
- Bilingual UI — English & 中文 (Settings → Language)
- Keychain —
WorkosCursorSessionTokenstored securely
- macOS 14.0 (Sonoma) or later
- Swift 5.9+ / Xcode 15+ (build from source)
- Sign in at cursor.com/dashboard/usage
- DevTools → Application → Cookies →
cursor.com - Copy
WorkosCursorSessionToken
Uses Cursor's undocumented dashboard APIs — may change without notice. Never commit or share your token.
git clone https://github.com/pj-workspace/cursor-usage-menu-bar.git
cd cursor-usage-menu-bar
chmod +x scripts/build-app.sh
./scripts/build-app.sh release
open dist/CursorUsageMenuBar.appPaste the token in Settings → Session Token → Save.
swift run
# or: open Package.swiftCursor exposes two billing pools:
| Pool | Source | Shown as |
|---|---|---|
| API | Named / third-party models | % of API included allowance ($70 on Pro+) |
| Auto + Composer | Auto-routed & Composer models | Bonus spend on top of included API |
Billing total (totalPercentUsed) is the menu bar headline. "You've hit your usage limit" usually means API included allowance is exhausted, not that overall billing is at 100%.
Daily charts prorate billing % by each day's share of cycle spend.
| Area | Endpoint | Purpose |
|---|---|---|
| Usage | GET /api/usage-summary |
Cycle limits, dual-pool % |
| Usage | POST /api/dashboard/get-filtered-usage-events |
Paginated events |
| Usage | POST /api/dashboard/get-aggregated-usage-events |
Per-model token totals |
| Spending | POST /api/dashboard/get-current-period-usage |
Cycle spend & pools |
| Billing | POST /api/dashboard/get-user-profile |
Profile & handle |
| Billing | GET /api/auth/me |
Email & name |
cursor-usage-menu-bar/
├── Package.swift
├── Resources/Info.plist
├── scripts/build-app.sh
├── docs/screenshot/{en,zh}/
└── Sources/CursorUsageMenuBar/
├── Localization/
├── Models/
├── Services/
├── ViewModels/
└── Views/
Download binaries from GitHub Releases.
| Version | Notes |
|---|---|
| v0.1.0 | Initial release — dashboard, charts, i18n |
Not affiliated with Cursor. Independent community tool. Session tokens are credentials — treat them like passwords.
MIT © 2026 Jay Pan







