The worst moment in a coding session is hitting a rate limit mid-task.
You're deep in a refactor. Claude Code stops. Or Codex resets. And you spend the next 20 minutes switching tools, losing context, or just waiting. The "Codex Resets" thread on Hacker News got 270 points and 175 comments. The pain is widespread.
The problem isn't the limit — it's that you don't know how close you are until you hit it.
I built quota to fix that.
What it does
$ quota
quota — your ai usage, at a glance
Claude Code ████████████░░ 3h 12m of 5h reset in 2h 48m
Codex ███░░░░░░░░░░░ 3 of 40 reqs reset in 4h 12m
Cursor ────────────── not connected
One command. Shows remaining usage for every AI coding tool you have connected, along with reset times.
You can also run it in watch mode:
quota watch 30 # re-check every 30 seconds
Or pipe it into scripts:
quota --json | jq '.providers.claude_code.percent_remaining'
How it works
quota reads provider state locally — no API calls, no accounts, no telemetry. It reads from ~/.claude and ~/.codex directly, the same files the tools themselves write. Everything stays on your machine.
npm install -g @ozperium/quota
quota
Why not just check the app?
Claude Code and Codex don't surface remaining quota prominently. You either have to open a browser dashboard or wait for the error. Neither is useful when you're mid-task in a terminal.
quota lives where you work — in the terminal, right next to your code.
What's next
- OAuth login for Cursor and Grok (local reads aren't possible for these)
- Shell prompt integration (show remaining % in starship/oh-my-posh)
- CI check — fail a build if you're out of quota before a long test run
GitHub: https://github.com/Ozperium/quota
npm: https://www.npmjs.com/package/@ozperium/quota
Also in the stack: AgentSpec for testing AI agent behavior, and AICostTracker for tracking what you're spending on AI APIs.
Top comments (0)