Menu bar Open source How it works Contribute FAQ GitHub

See your Claude Code limits
before they stop you.

A small macOS menu bar app that turns your live session and weekly usage into a little creature who fills up as you spend. It checks once every sixty seconds.

Free and open source. Needs macOS with Claude Code signed in.
Clone the repository and build it yourself. Windows and Linux are waiting for someone.

The Claude Tracker panel showing 62 percent of the session spent, the mascot filled from his feet to his shoulders, and 34 percent of the weekly allowance.

At a glance

He fills up as you spend.

The icon lives in your menu bar with the exact figure beside it. Empty at the start of a session, full by the time you hit the limit.

The menu bar icon at 0, 25, 50, 75 and 100 percent, filling from the bottom up.

You should never have to guess whether you have twenty minutes of Claude Code left, or four hours. Now it is on screen, all the time.

Open source

It reads your Keychain.
That is why the code is public.

To ask Anthropic how much you have spent, Claude Tracker needs the token Claude Code already stored on your Mac. That token sits in the macOS Keychain, and macOS will ask your permission the first time.

You should not have to take anyone's word for what happens next. An app that asks for a credential owes you the ability to check it, so every line that touches your token is public and readable in an afternoon.

The whole of the credential handling is one shell command and one HTTPS request. Nothing is stored, nothing is forwarded, and there is no server of ours anywhere in the path.

the entire credential read
# ask macOS for the token Claude Code saved
security find-generic-password \
  -s "Claude Code-credentials" -w

# then one request, straight to Anthropic
GET https://api.anthropic.com/api/oauth/usage
  Authorization: Bearer <that token>

What it does

Four things, and nothing else.

Both windows at once

The five hour session and the seven day allowance, each with a live countdown to the moment it resets.

Your token stays put

Read from the macOS Keychain and sent only to Anthropic. No account, no telemetry, nothing in between.

Quietly current

A check every sixty seconds in the background. The countdown keeps ticking between checks, so nothing looks frozen.

Honest when it breaks

If a check fails it keeps your last reading and marks it stale, rather than showing you a confident zero.

How it works

Three steps, once a minute.

  1. 01

    It reads your Keychain

    Claude Code keeps its OAuth token under Claude Code-credentials. macOS asks your permission the first time and stays quiet after that.

  2. 02

    It asks Anthropic for your usage

    One request, straight from your Mac, to the same endpoint Claude Code uses for its own usage display.

  3. 03

    It repaints the menu bar

    The icon, the percentage and any open panel update together. Then it waits a minute and does it again.

One thing worth knowing. The usage figures come from an endpoint Anthropic has not documented or published. It could change shape, or stop answering, with no notice.

The app is built expecting exactly that. If a response comes back in a form it does not recognise, it keeps showing your last good reading and flags it as stale instead of inventing a number.

Questions

The things people ask first.

Why is this open source?

Because it asks for access to your Keychain. Any app that wants a credential should be one you can inspect, and a closed one asking for the same thing would deserve more suspicion than it could answer. Clone it, read it, build it yourself.

macOS says it cannot check the app for malware

That warning appears for any app Apple has not notarized, which needs a paid Apple developer account this project does not have. It is not a finding about the app, only the absence of a receipt from Apple.

To open it the first time: right click the app in Finder, choose Open, then confirm. macOS remembers the decision and will not ask again. If you would rather not click past a warning at all, clone the repository and build it yourself, since an app built on your own machine opens with no warning.

Does my token ever leave my Mac?

Only to Anthropic. The app reads the token from your Keychain and sends it as a bearer token on one request to the usage endpoint. There is no server of ours in the path, no analytics, and nothing is written anywhere but your own machine.

Which limits does it track?

The rolling five hour session window and the seven day allowance. Both are shown with the percentage used and a countdown to the moment they reset.

Is this an official Anthropic app?

No. It is an independent project and it is not affiliated with or endorsed by Anthropic. It reads a usage endpoint that Claude Code itself calls, which Anthropic has never published.

What happens when the endpoint changes?

The parser treats every field as optional and checks two places for each figure. If a response arrives that it cannot read, it keeps your last good reading, marks the panel stale, and tells you why rather than showing a zero.

Do I need Claude Code installed?

Yes. The app has no login of its own. It borrows the credentials Claude Code already stored when you signed in, so if you have never signed in there is nothing for it to read.

Does it run on Windows or Linux?

Not today, but nothing structural is in the way. The credential read uses the macOS Keychain and the icon is drawn as a macOS template image, so those two pieces need replacing. Everything around them is ordinary PHP.

Both ports are open and nobody has claimed them. Here is what porting actually takes.

Contribute

It is a Laravel app.
Windows and Linux are open.

Claude Tracker is built with Laravel and NativePHP, so the polling, the parsing and the panel are all ordinary PHP. There is no Swift in it and nothing to learn first. If you can read a Laravel app, you can port this one.

Windows

Unclaimed. Nobody has started it.

Help wanted

Linux

Unclaimed. Nobody has started it.

Help wanted
  1. 01

    Point it at the right credential store

    On macOS the token comes out of the Keychain with a single security call. Claude Code keeps the same token elsewhere on Windows and Linux. Swap that one read and the rest of the app does not notice.

  2. 02

    Draw the tray icon for the platform

    The mascot is a macOS template image, sized and coloured for the menu bar. Windows and Linux trays want their own asset, their own sizes and their own click behaviour.

  3. 03

    Build it, then write down what broke

    NativePHP already targets all three platforms. Someone needs to run the build, fix whatever falls over, and leave notes so the next person does not start from nothing.

Open an issue before you open a pull request. Say which platform you are taking, so two people do not port the same thing twice.

Small pull requests are easier to read than one large one, and a rough port that runs is worth more than a perfect one that never lands. Bug reports and questions from PHP developers who have never touched a desktop app are welcome too.

Read it, then run it.