A native macOS menu bar app that keeps your AI provider usage limits visible. The Mac member of the CodexBar family:
- codexbar — Windows (C# / WPF / .NET 9)
- codexbar-ios — iOS (SwiftUI)
- Inspired by steipete/CodexBar (MIT) by Peter Steinberger
Built with Swift / SwiftUI using MenuBarExtra — native macOS, no Electron overhead.
🚧 Pre-release development. CodexBar Mac has an implemented menu bar dashboard for eight live V1 providers, with per-provider account settings, manual and automatic refresh, usage history, alerts, launch at login, and signed Sparkle updates. Because the app runs alongside your CLI tools, it prefers local credentials when available and offers browser sign-in or API-key configuration where appropriate.
Requires Xcode 16 or later on macOS 14+.
./run.shThis builds CodexBarMac and launches it. The app lives in the menu bar only (no Dock icon). Click the chart.bar.fill icon to open the provider usage dashboard.
Build without launching:
xcodebuild -project CodexBarMac.xcodeproj -scheme CodexBarMac buildRun the unit test suite:
./test.shGitHub Actions runs the same xcodebuild test flow on macos-26 (Xcode 26.6) for pulls and pushes to main. The required check name is Build and Test.
Notarized macOS builds are published as immutable GitHub Release ZIPs. Direct-download
builds use Sparkle for EdDSA-verified in-app updates from
https://hemsoft.github.io/codexbar-mac/appcast.xml. Use Check for Updates… in the
menu bar popover at any time; Sparkle asks on the second launch before enabling
automatic background checks.
The same versioned ZIP and SHA-256 generate the optional codexbar-mac Homebrew
cask. It is published through HemSoft/homebrew-tap by reviewed PR after that
tap repository is available.
Maintainers: see Signing keychain and Release, updates & notarization in AGENTS.md.
| Provider | Auth Method | What's Tracked |
|---|---|---|
| ChatGPT / Codex | Codex CLI (~/.codex/auth.json) preferred; browser OAuth fallback stored in Keychain |
5-hour + weekly usage limits |
| Claude | Claude Code OAuth credentials from Keychain or ~/.claude/.credentials.json preferred; browser OAuth fallback stored in Keychain |
Session + weekly limits, model-scoped limits, and available spend data |
| GitHub Copilot | GitHub CLI (gh auth status) preferred; browser OAuth fallback stored in Keychain |
Premium + chat quotas per account, with optional organization AI-credit billing |
| OpenRouter | Management API key stored in Keychain | Credit balance |
| Cursor | Local Cursor app auth file or browser sign-in stored in Keychain | Plan usage and on-demand spend |
| OpenCode Go + ZEN | Workspace ID saved in app settings + dashboard auth value stored in Keychain; optional Windows settings import | Rolling 5-hour, weekly, and monthly OpenCode Go usage; independent ZEN credit balance |
| Moonshot (Kimi) | platform.kimi.ai API key stored in Keychain |
Credit balance |
| Gemini | Gemini CLI OAuth credentials (~/.gemini/oauth_creds.json) |
Pro + Flash quotas |
Remaining pre-release polish and release work is tracked in GitHub Issues.
- macOS 14 (Sonoma) or later
- Xcode 16 or later (to build from source)
The sibling implementations are checked out beside this repo:
/Users/home/github/hemsoft/codexbar # Windows — provider fetch logic reference
/Users/home/github/hemsoft/codexbar-ios # iOS — Swift models, parsers, and providers to port
The Mac app ports provider behavior from codexbar-ios deliberately rather than sharing project structure directly.
MIT