NHacker Next
login
▲Show HN: macOS menu bar app to track Claude usage in real timegithub.com
150 points by RichHickson 1 days ago | 48 comments
Loading comments...
dewey 1 days 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)
RichHickson 1 days ago [-]
Good shout. CodexBar covers a lot more ground. This one is intentionally minimal and Claude focused because that is all I personally needed.
realharo 1 days ago [-]
Or just vibe code your own. Seems fitting.
21 hours ago [-]
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.
ttoinou 1 days ago [-]
Is it safe ? It needs to reads Keychain. Like the OP app
RichHickson 1 days 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.
touristtam 23 hours ago [-]
[flagged]
prawn 19 hours ago [-]
"I'm on Intel and would be interested in this if you find a way to make that work."
DrammBA 19 hours ago [-]
Funny thing I went down a rabbit hole, cause I first scanned the open PRs and saw a PR to enable universal builds to support intel macs but the whole thing was pure AI slop and someone commented that codexbar already supports intel, and sure enough v.15 added it (the AI slop PR completely missed that), I then looked into the cask script and it has a hardcoded dependency on arm which prevents brew from installing v.17 even if it's already an universal binary since v.15.
touristtam 13 hours ago [-]
I came to the same conclusion before making that snarky and apparently offensive comment. Live to learn I guess.
DrammBA 4 hours ago [-]
You mean "after" making the comment? Your offensive comment makes no sense if you already had the universal build context
DrammBA 19 hours ago [-]
I loved the screenshot section of the readme followed by zero screenshots.
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!
23 hours ago [-]
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...
RichHickson 13 hours ago [-]
Hmmm. What version are you running?
codepoet80 1 days ago [-]
Love it, installed and set it to run at Login. Can I follow you on any social media that isn't Xitter?
RichHickson 1 days ago [-]
Thanks, appreciate it. Honestly, I am only really on X at the moment.
cbeach 23 hours ago [-]
[flagged]
einsteinx2 23 hours ago [-]
If you honestly think only “leftwingers” don’t like X you’re living in a bubble (ironically probably on X lol).

Plenty of us hated Twitter well before Elon renamed it.

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?
1 days ago [-]
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!

virajk_31 14 hours ago [-]
cool! I had to always go to claude settings for this.
brtkwr 24 hours 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.

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...

kingkongjaffa 1 days 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)?

Etheryte 1 days 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

RichHickson 1 days 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.
realharo 1 days 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.

bartvk 1 days 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
RichHickson 1 days 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.
karlshea 23 hours ago [-]
The new version has improved a bit since launch, you may want to give it another try.
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.
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.

luisvillamil 24 hours ago [-]
Looks really cool
dionian 1 days ago [-]
i like it, thanks for sharing
RichHickson 1 days ago [-]
Thanks, Glad you like it!
rootlocus 1 days ago [-]
"Follow me on X"

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

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.

rootusrootus 1 days ago [-]
The charitable explanation is "because that is where most people are." Network effect is real.
platevoltage 1 days ago [-]
Was that ever true, even during the Twitter days?
rootusrootus 24 hours 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.
spiderfarmer 24 hours ago [-]
[flagged]
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.
self_awareness 11 hours ago [-]
Because people like using social media?
userbinator 17 hours ago [-]
"Remember to like, share and subscribe."
bigyabai 1 days ago [-]
Form over followers over function, the 21st century design ethos.
dcreater 21 hours ago [-]
you mean followers over form over function?
cbeach 23 hours ago [-]
[flagged]
quietmonkey 23 hours ago [-]
Why do you assume it’s political? Child pornography is, at least ostensibly, not a partisan issue.
gwilikz 23 hours ago [-]
[dead]
hasperdi 13 hours ago [-]
[flagged]
antfarm 13 hours ago [-]
Same here, it reads like a political statement. Easy enough to remove it though.

https://github.com/richhickson/claudecodeusage/blob/0bb26c05...

RichHickson 12 hours ago [-]
Thanks for the feedback. The new version is being notarised now.
diimdeep 1 days ago [-]
[flagged]
arondeparon 1 days ago [-]
Very constructive comment, the “grow up already” really was the cherry on top.

(Yes, this is sarcasm)