quota-tracker
$
npx mdskill add sonichi/sutando/quota-trackerTracks Claude Code quota usage via Anthropic API headers
- Monitors 5-hour and 7-day API usage limits
- Uses Anthropic rate limit headers and macOS keychain for auth
- Calculates utilization percentages and reset times from API responses
- Saves quota state to a JSON file for real-time access
SKILL.md
.github/skills/quota-trackerView on GitHub ↗
--- name: quota-tracker description: "Track Claude Code quota usage via Anthropic API rate limit headers. Shows 5h and 7d utilization, reset times, and quota status. Works with both subscription and API key auth." --- # Quota Tracker Monitor your Claude Code quota in real time by intercepting Anthropic API rate limit headers. ## When to Use - "How much quota do I have left?" - "Am I close to the rate limit?" - "When does my quota reset?" - Before starting expensive tasks ## How It Works A credential proxy sits between Claude Code and the Anthropic API. It reads `anthropic-ratelimit-unified-*` headers from every API response and writes quota state to a JSON file. ## Quick Check ```bash # Read current quota state cat quota-state.json ``` Output includes: - `anthropic-ratelimit-unified-5h-utilization` — % of 5-hour window used - `anthropic-ratelimit-unified-7d-utilization` — % of 7-day window used - `anthropic-ratelimit-unified-5h-reset` — when the 5h window resets (epoch) - `anthropic-ratelimit-unified-7d-reset` — when the 7d window resets (epoch) - `anthropic-ratelimit-unified-status` — "allowed" or "rejected" ## Setup ### 1. Start the credential proxy ```bash npx tsx "$SKILL_DIR/scripts/credential-proxy.ts" ``` This starts on port 7846 and reads OAuth credentials from macOS keychain. ### 2. Route Claude Code through the proxy ```bash ANTHROPIC_BASE_URL=http://localhost:7846 claude ... ``` Or add to your voice agent's launchd plist: ```xml <key>ANTHROPIC_BASE_URL</key> <string>http://localhost:7846</string> ``` ### 3. Read quota state ```bash python3 "$SKILL_DIR/scripts/read-quota.py" # human readable python3 "$SKILL_DIR/scripts/read-quota.py" --json # machine readable python3 "$SKILL_DIR/scripts/read-quota.py" --gate # exit 1 if exhausted ``` ## Requirements - macOS (reads OAuth from keychain) - Claude Code logged in (subscription or API key) - Node.js with tsx