by tddworks
A macOS menu bar application that monitors AI coding assistant usage quotas. Keep track of your Claude, Codex, Antigravity ,and Gemini usage at a glance.
# Add to your Claude Code skills
git clone https://github.com/tddworks/ClaudeBarA macOS menu bar application that monitors AI coding assistant usage quotas. Keep track of your Claude, Codex, Gemini, GitHub Copilot, Antigravity, Z.ai, Kimi, Kiro, and Amp usage at a glance.
No comments yet. Be the first to share your thoughts!
⌘D (Dashboard) and ⌘R (Refresh)| Remaining | Status | Color | |-----------|--------|-------| | > 50% | Healthy | Green | | 20-50% | Warning | Yellow | | < 20% | Critical | Red | | 0% | Depleted | Gray |
claude)codex)gemini)kimi) - CLI mode (recommended) or API mode (see below)kiro-cli) - Requires kiro-cli installation (see below)amp) - Auto-detected when CLI is installedKimi supports two probe modes, configurable in Settings > Kimi Configuration:
CLI Mode (Recommended) - Launches the interactive kimi CLI and sends /usage to fetch quota data. Requires kimi CLI installed (uv tool install kimi-cli). No Full Disk Access needed.
API Mode - Calls the Kimi API directly using browser cookie authentication. Requires Full Disk Access for ClaudeBar to read the kimi-auth browser cookie:
+ and add it)You can also set the KIMI_AUTH_TOKEN environment variable to bypass cookie reading in API mode.
Kiro monitors AWS Kiro (formerly CodeWhisperer) usage through the kiro-cli command-line tool.
Installation: uv tool install kiro-cli or pip install kiro-cli
Authentication: Run kiro-cli and follow the login prompts.
Kiro IDE Users: If you use Kiro IDE, simply install kiro-cli. Both share the same authentication, so no additional login is required.
Install via Homebrew.
brew install --cask claudebar
Download the latest release from GitHub Releases:
Both are code-signed and notarized for Gatekeeper.
git clone https://github.com/tddworks/ClaudeBar.git
cd ClaudeBar
# Install Tuist (if not installed)
brew install tuist
# Install dependencies and build
tuist install
tuist build ClaudeBar -C Release
After building, open the generated Xcode workspace and run the app:
tuist generate
open ClaudeBar.xcworkspace
Then press Cmd+R in Xcode to run. The app will appear in your menu bar. Click to view quota details for each provider.
The project uses Tuist for dependency management and Xcode project generation.
# Install Tuist (if not installed)
brew install tuist
# Install dependencies
tuist install
# Generate Xcode project and open
tuist generate
open ClaudeBar.xcworkspace
# Build the project
tuist build
# Run all tests
tuist test
# Run tests with coverage
tuist test --result-bundle-path TestResults.xcresult -- -enableCodeCoverage YES
# Build release configuration
tuist build ClaudeBar -C Release
After opening in Xcode, SwiftUI previews will work with Cmd+Option+Return. The project is configured with ENABLE_DEBUG_DYLIB for preview support.
Full documentation: docs/ARCHITECTURE.md
ClaudeBar uses a layered architecture with QuotaMonitor as the single source of truth:
| Layer | Purpose |
|-------|---------|
| App | SwiftUI views consuming domain directly (no ViewModel) |
| Domain | Rich models, QuotaMonitor, repository protocols |
| Infrastructure | Probes, storage implementations, adapters |
QuotaMonitor owns all provider state@Mockable protocols enable testabilityMatch ClaudeBar's appearance to your terminal. Import any .itermcolors file:
450+ pre-made schemes available at iTerm2-Color-Schemes.
Imported themes are saved in ~/.claudebar/themes/ and persist across restarts.
Use the add-provider skill to guide you through adding new providers with TDD:
Tell Claude Code: "I want to add a new provider for [ProviderName]"
The skill guides you through: Parsing Tests → Probe Tests → Implementation → Registration.
See .claude/skills/add-provider/SKILL.md for details and AntigravityUsageProbe as a reference implementation.
Releases are automated via GitHub Actions. Push a version tag to create a new release.
For detailed setup instructions, see docs/release/RELEASE_SETUP.md.
The workflow uses Tuist to generate the Xcode project:
Tag v1.0.0 → Update Info.plist → tuist generate → xcodebuild → Sign & Notarize → GitHub Release
Version is set in Sources/App/Info.plist and flows through to Sparkle auto-updates.
Configure GitHub Secrets (see full guide):
| Secret | Description |
|--------|-------------|
| APPLE_CERTIFICATE_P12 | Developer ID certificate (base64) |
| APPLE_CERTIFICATE_PASSWORD | Password for .p12 |
| APP_STORE_CONNECT_API_KEY_P8 | API key (base64) |
| APP_STORE_CONNECT_KEY_ID | Key ID |
| APP_STORE_CONNECT_ISSUER_ID | Issuer ID |
Verify your certificate:
./scripts/verify-p12.sh /path/to/certificate.p12
Create a release:
git tag v1.0.0
git push origin v1.0.0
The workflow will automatically build, sign, notarize, and publish to GitHub Releases.
Thanks to everyone who has contributed to ClaudeBar!