I built a free Mac app to track my Claude and Codex limits
I use Claude and Codex every day. My remaining allowance keeps going down while I work, and I kept opening the usage pages to check how much I had left.
I tried a few apps that do this. Most of them worked really well, but they were all paid. I was okay with paying, but I thought it would be fun to build my own.
Get Prajwal Shanthakumari Rangaswamy’s stories in your inbox
Join Medium for free to get updates from this writer.
It is called AI Usage Meter. It sits in your Mac’s menu bar and shows your limits at a glance.
In short: free, open source, runs only on your Mac, and shows real numbers from Claude and ChatGPT every minute.
What it shows
- Claude: 38% in 2h 21m means you used 38% of your 5-hour limit. It resets in 2 hours and 21 minutes.
- Codex: 86% in 2d 21h means you used 86% of your weekly limit. It resets in 2 days and 21 hours.
- A — means there is no number yet.
The number changes color as you use more:
- Under 25%: normal
- 25% to 49%: yellow
- 50% to 79%: orange
- 80% and up: red
The app never guesses. It only shows numbers that Anthropic or OpenAI report. It does not count tokens.
Click it for more detail
Click the menu bar item to open a panel. Every number says where it came from and how old it is, like “From claude.ai · 30s ago”. It works in dark mode and light mode.
Make it your own
This was the main reason I built it. You can:
- Add more than one Claude or Codex account, and give each one a name.
- Pick which accounts show in the menu bar.
- Choose the label: logo and name, logo only, name only, or numbers only.
- Choose the value: percent and time left, percent only, time left only, or all limits at once.
- Drag accounts up or down to change their order.
- Start the app when your Mac starts.
How it gets the numbers
- You sign in to claude.ai and chatgpt.com once, inside the app’s own window.
- Every minute, the app reads the same numbers each site’s Usage page shows.
- Limits are shared across devices, so use from your phone or another computer shows up too.
- If you don’t sign in to ChatGPT, the app can read the limit from Codex’s log files on your Mac.
- For Claude, you can use Claude Code’s status line feature instead of signing in.
- There is no server and no extra account. Everything runs on your Mac.
Is it safe?
I cared a lot about this part.
- Your password: the app never sees it. You type it on the provider’s own sign-in page.
- Your cookies: the app never copies them out of Safari or Chrome.
- Your Keychain: the app never reads it.
- The internet: it only talks to claude.ai and chatgpt.com, about once a minute.
- Tracking: none. No analytics and no crash reports.
- Your chats: it never opens Claude Code’s logs. From Codex’s logs, it only keeps the limit lines.
You can read the full details in SECURITY.md in the repo.
The product choices behind it
I work as a product manager, so I treated this like a real product, not just a script. These are the choices I made, and why.
- Show a real number, or no number. A wrong number is worse than none. So the app never works out a percent on its own.
- Show where each number came from, and how old it is. People trust a number more when they can check it. Every card says its source and its age.
- Drop old numbers. A 5-hour figure means nothing after 5 hours. So the app removes it instead of leaving it on screen.
- Glance first, detail second. The menu bar answers one question: how much is left? Colors do most of the work. The panel holds the detail for when you need it.
- Trust over shortcuts. Other apps copy your cookies from Safari or Chrome. That is faster to build, but it asks for too much trust. I chose a slower path where the app never touches them.
- Plan for things to break. The sites could change at any time. So each provider has a backup source, and the app tells you which one it is using.
- Say no to extra features. The app shows limits only. No token counting, no chat history, no server, no account. Every extra feature is one more thing that can break, and one more thing people have to trust.
- Let people make it theirs. Everyone’s menu bar is different. So the label, the value and the order are all up to you.
The hardest part was not the code. It was deciding what to leave out.
How to install it
What you need:
- A Mac with Apple silicon (M1, M2, M3 or newer)
- macOS 14 or newer
- Apple’s free developer tools. You do not need a paid Apple Developer account.
Step 1. Open Terminal and install the developer tools, if you don’t have them:
xcode-select --installStep 2. Download and build the app:
git clone https://github.com/PrajwalSR/ai_usage_meter.gitcd ai_usage_meter./build-app.shStep 3. Open it:
open "build/AI Usage Meter.app"Step 4. Sign in, one time:
- Click the app in the menu bar, then click the gear icon.
- Under Accounts, click Sign in next to Claude or ChatGPT.
- Sign in with your email. “Continue with Google” does not work in this window.
- The window closes by itself once the first number comes in.
Step 5. Optional: tick Open at login so it starts with your Mac.
What to know first
- This is an early build. I use it every day, but it has not been tested widely yet.
- There is no ready-to-download app yet. You build it from the code, as shown above.
- “Continue with Google” does not work here. Google blocks its sign-in page inside app windows like this one, so use your email instead.
- The app reads usage from the sites’ own pages, not from official APIs. Anthropic or OpenAI could change those pages. If that happens, the app falls back to the other sources and tells you.
Try it
The code is free and open source under the MIT license: https://github.com/PrajwalSR/ai_usage_meter
If you try it, I would love to hear what works and what doesn’t. Issues and pull requests are welcome.
A note on how this was written: I used Claude to help draft and refine this post, so it reads clearly and came together faster. I have reviewed every part of it, and the app and the views here are my own. — Prajwal
Claude and Anthropic are trademarks of Anthropic. OpenAI, ChatGPT and Codex are trademarks of OpenAI. This project is not made by or connected to either company.







