Show HN: macOS menu bar app to track Claude usage in real time
151 points
1 day ago
| 13 comments
| github.com
| HN
I built a macOS menu bar app to track Claude usage in real time via API after hitting limits mid-flow too often.

Signed and notarised by Apple. Open source.

https://github.com/richhickson/claudecodeusage

https://x.com/richhickson

dewey
1 day ago
[-]
Alternatively there's also this with 1.7k stars already and supporting more services (Despite the name): https://github.com/steipete/CodexBar (https://codexbar.app)
reply
RichHickson
1 day ago
[-]
Good shout. CodexBar covers a lot more ground. This one is intentionally minimal and Claude focused because that is all I personally needed.
reply
realharo
1 day ago
[-]
Or just vibe code your own. Seems fitting.
reply
iLemming
6 hours ago
[-]
btw, I have failed to make the proper use of either of them - claudecodeusage keeps saying that I'm not signed in (I have Claude Desktop and CLI installed and signed in on both). CodexBar keeps saying "Claude usage probe timed out", even though it does show some numbers. I don't have a subscription, I just use the API.
reply
ttoinou
1 day ago
[-]
Is it safe ? It needs to reads Keychain. Like the OP app
reply
RichHickson
1 day ago
[-]
The app only reads ONE specific keychain entry:

  Service: "Claude Code-credentials"

  This is the entry created by the official Claude Code CLI when you log in. The app:

  1. Only reads - never writes, modifies, or deletes any keychain data
  2. Only accesses this one service name - cannot read any other passwords, keys, or credentials
  3. Extracts only the OAuth access token - used to call api.anthropic.com/api/oauth/usage
  4. Sends data only to Anthropic's API - no analytics, no third-party servers

  The token never leaves your machine except to Anthropic's own API endpoint. You can verify this yourself - the entire source is ~400 lines of Swift: https://github.com/richhickson/claudecodeusage

  macOS will also prompt you the first time the app tries to access this keychain entry, giving you control to allow or deny.
reply
DrammBA
19 hours ago
[-]
I loved the screenshot section of the readme followed by zero screenshots.
reply
8mobile
17 hours ago
[-]
This is a great idea and a useful one for avoiding having to monitor Claude's consumption. I've often exceeded the limit mid-process. If I'm not mistaken, something like this already exists, but I like the graphics and how the information is displayed. Congratulations!
reply
ebbi
21 hours ago
[-]
This looks great. What am I doing wrong? I downloaded it, installed, but all I see is a red X in the toolbar. When I click on it, it says "Authentication expired. Run 'claude' to re-aut..." so I run claude in terminal and still nothing...
reply
RichHickson
13 hours ago
[-]
Hmmm. What version are you running?
reply
codepoet80
1 day ago
[-]
Love it, installed and set it to run at Login. Can I follow you on any social media that isn't Xitter?
reply
RichHickson
1 day ago
[-]
Thanks, appreciate it. Honestly, I am only really on X at the moment.
reply
seriocomic
18 hours ago
[-]
Interesting, but not original - a simple search shows at least a dozen same/similar (better?) solutions? Anything that yours does that those don't?
reply
JLO64
21 hours ago
[-]
Just yesterday I was trying to figure out a method to accurately estimate my remaining usage for the five hour sessions for a shell script. It wasn't until I pointed Claude at your repo and had it make something based off of that that I got it to work well.

Thank you!

reply
virajk_31
14 hours ago
[-]
cool! I had to always go to claude settings for this.
reply
brtkwr
1 day ago
[-]
I tried another alternative yesterday as I found myself hitting that /usage command too often and it didnt work too well but yours worked straight out of the box! Great job!

I built another tool that should have really been part of the core Claude Code CLI (which you may or may not find useful): https://github.com/agentic-utils/ccs

It lets you search and resume past Claude code conversations from anywhere.

reply
SparkyMcUnicorn
22 hours ago
[-]
Have you seen aichat[0]?

Doesn't support the "from anywhere" part, but the resume strategies are pretty cool.

[0] https://github.com/pchalasani/claude-code-tools#aichat-sessi...

reply
luisvillamil
1 day ago
[-]
Looks really cool
reply
kingkongjaffa
1 day ago
[-]
If I wanted to vibe code my own macOS menu bar apps is this a good starter project to use as a template?

Are there any others?

Do I just not need one (claude code can do it without a starter template at all)?

reply
Etheryte
1 day ago
[-]
Use Hammerspoon [0][1], it comes with a lot of macOS integrations out of the box and you write Lua, which takes zero effort to pick up and use. For me a big benefit is that you don't need to touch Xcode at all.

[0] https://www.hammerspoon.org

[1] https://www.hammerspoon.org/docs/hs.menubar.html

reply
RichHickson
1 day ago
[-]
That is exactly what I did. Claude scaffolded it from scratch based on behaviour, then I iterated and had Codex review it for safety.
reply
realharo
1 day ago
[-]
Speaking of the macOS menu bar, is there some way to make it overflow into a hidden area behind an "expand" button that would appear when there is no more room, like the notification area in Windows does?

The macOS UI decision of "just pretend that whatever doesn't fit to the right of the notch doesn't exist" is baffling.

I've seen a few apps that claim to do that, but it's always done in some really hacky way (such as needing screen recording permissions), and the behavior is never that of simple overflow handling. Instead they have "always hidden" sections and things like that, which is not what I want.

reply
bartvk
1 day ago
[-]
I decrease the spacing that macOS applies between menubar icons:

  % defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8
  % defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8
reply
RichHickson
1 day ago
[-]
I used to use Bartender, which worked really well, until the newest version, which had so many issues. Since then, I've just basically put up with it.
reply
karlshea
23 hours ago
[-]
The new version has improved a bit since launch, you may want to give it another try.
reply
einsteinx2
23 hours ago
[-]
I had stopped using it since the private equity buyout because it needs pretty serious permissions to do its job…maybe I’ll give it another look.
reply
qaz_plm
23 hours ago
[-]
No template needed IMO.

I used CC just yesterday to build a native MacOS menu bar app by using plan mode (opus) until there was alignment then to edit mode for the build (I use Zed for the prompting).

CC walked me through the needed Xcode project setup and handled all of the code there after.

I’m sure something more complex would be more challenging but I was happy with a two-shot result for this native menu bar app.

reply
dionian
1 day ago
[-]
i like it, thanks for sharing
reply
RichHickson
1 day ago
[-]
Thanks, Glad you like it!
reply
rootlocus
1 day ago
[-]
"Follow me on X"

Why... just why? Why do people keep insisting on using it?

reply
travisgriggs
21 hours ago
[-]
I certainly won't.

I wonder if it's because they don't see other relevant low-cost/overhead solutions. "Follow me on facebook" certainly isn't going to be a win. "Follow me on Bluesky or Mastadon" is going to be ignored. "You can see my comments on insta" won't be relevant. "My TikTok is where it's at" might get you some young followers.

Other solutions (your own blog, medium, substack, etc), all come with more overhead and setup.

reply
rootusrootus
1 day ago
[-]
The charitable explanation is "because that is where most people are." Network effect is real.
reply
platevoltage
1 day ago
[-]
Was that ever true, even during the Twitter days?
reply
rootusrootus
1 day ago
[-]
I guess that depends on the scope. For people who like that flavor of social media, Twitter was where it was at, and X remains the main place. But if the scope is 'of all people' then of course it is not true -- most of us (myself included) never got into Twitter or any of the similar social media sites.
reply
worldsavior
12 hours ago
[-]
Because that's what he uses. Instead of shaming about using X and going off-topic, don't comment at all or comment something about the project.
reply
self_awareness
11 hours ago
[-]
Because people like using social media?
reply
userbinator
17 hours ago
[-]
"Remember to like, share and subscribe."
reply
bigyabai
1 day ago
[-]
Form over followers over function, the 21st century design ethos.
reply
dcreater
20 hours ago
[-]
you mean followers over form over function?
reply