An open-source macOS widget (WidgetKit + menu bar) that tracks account-level usage limits from Claude, OpenAI, and Cursor dashboards.
- WidgetKit Widgets: Display usage metrics in Notification Center
- Menu Bar App: Quick access to usage data with dropdown
- Multi-Service Support: Track Claude, Codex, and Cursor usage
- Secure Authentication: Session keys stored in macOS Keychain
- Real-time Updates: Background refresh with smart scheduling
- Notifications: Alerts when approaching limits
- macOS 13.0 or later
- Xcode 15.0 or later
- Swift 5.9 or later
-
Clone the repository:
git clone <repo-url> cd apps/ai-usage-tracker
-
Open in Xcode:
open QuotaGuard.xcodeproj
-
Build and run:
- Select the
QuotaGuardscheme - Press Cmd+R to build and run
- Select the
- Open Safari and navigate to
claude.ai - Log in to your account
- Open Developer Tools (Cmd+Option+I)
- Go to Storage > Cookies > claude.ai
- Find the session key cookie
- Copy the value and paste it in the app settings
- Open Safari and navigate to Codex dashboard
- Log in to your account
- The app will extract cookies automatically (requires Safari)
- Get your API key from Cursor settings
- Enter it in the app settings
- The app will store it securely in Keychain
-
Add the widget to Notification Center:
- Click the date/time in the menu bar
- Click "Edit Widgets"
- Search for "Quota Guard"
- Select your preferred size (small, medium, or large)
-
Configure the widget:
- Right-click the widget
- Select "Edit Widget"
- Choose which services to display
- Click the menu bar icon to see usage metrics
- Color-coded status:
- Green: Plenty of usage remaining
- Yellow: Approaching limit
- Red: Near or at limit
- SwiftUI: Modern declarative UI framework
- WidgetKit: Native macOS widgets
- Combine: Reactive data flow
- Keychain: Secure credential storage
See CONTRIBUTING.md for guidelines.
MIT License - see LICENSE for details.
- All credentials stored locally in macOS Keychain
- No data sent to external servers
- All processing happens on-device
- Open source for transparency