GitHub - grzegorz-raczek-unit8/claude-quota: Menu bar gauges for Claude Code quota (SwiftBar plugin)
Pangram verdict · v3.3
We believe that this document is fully AI-generated
AI likelihood · overall
AIArticle text · 402 words · 2 segments analyzed
Menu bar gauges for your Claude Code quota — one bar per account, like this:
(drawn for dark menu bars — white outlines)
Each bar shows the 5-hour-window utilization for one account, colored green / orange (≥70%) / red (≥90%). When the 5-hour window is fully used, the bar shows a countdown until reset (4:28) instead of the percentage. When the weekly limit is hit, the bar turns black with a countdown to the weekly reset (2D) — that's the harder cap, whatever the 5-hour window says. The dropdown lists full detail for every account inline: 5-hour and weekly windows, per-model windows where your plan reports them, extra-usage credits, and reset times. Refreshes every 5 minutes (SwiftBar filename convention) plus a manual "Refresh now" entry.
Quick install curl -fsSL https://raw.githubusercontent.com/grzegorz-raczek-unit8/claude-quota/main/install.sh | bash Requires macOS and Homebrew. When macOS shows a Keychain permission dialog on the first refresh, click Always Allow. How it works The plugin reads your Claude Code OAuth token from the macOS Keychain (read-only — it never refreshes or rewrites tokens, so it can't log you out) and queries the same usage endpoint that Claude Code's /usage screen uses. No passwords, no scraping, no third-party services.
Note: that endpoint is internal to Claude Code and undocumented, so a future Claude Code change may require a small fix here.
Install from a checkout git clone https://github.com/grzegorz-raczek-unit8/claude-quota.git cd claude-quota ./install.sh Either install path sets up SwiftBar via Homebrew if you don't have it. If an account shows ⚠, its token went stale from disuse — run that claude CLI once and the widget recovers on the next cycle. Accounts By default the plugin auto-discovers accounts: every ~/.claude / ~/.claude-* config directory that has a Claude Code Keychain entry gets a bar, labeled by the directory suffix (~/.claude-work → W). A single auto-discovered account shows no letter label — just the bar.
To pin or rename accounts (e.g. you use multiple CLAUDE_CONFIG_DIRs), create ~/.config/claude-quota/accounts with one path [label] per line (single-word labels): ~/.claude-work Work ~/.claude-priv Priv
To hide an account's menu bar gauge (its dropdown detail stays), use Hide from menu bar under that account's row in the dropdown — or edit ~/.config/claude-quota/hidden (one label per line). Multiple accounts via CLAUDE_CONFIG_DIR look like this in your shell rc: claude() { CLAUDE_CONFIG_DIR="$HOME/.claude-work" command claude "$@"; } claude-priv() { CLAUDE_CONFIG_DIR="$HOME/.claude-priv" command claude "$@"; } Uninstall Delete claude-quota.5m.py from your SwiftBar plugin folder (~/.swiftbar by default).