Mimir
Track your AI tools' usage limits from the macOS menu bar.
Mimir is a small, light app that shows the usage limits and reset times for
Claude, Codex and Antigravity in the macOS menu bar, live, without
interrupting what you are doing. Codex's card carries the name of the account
the quota belongs to: ChatGPT. Antigravity covers the Gemini and
Claude/GPT pools together.
macOS 14 (Sonoma) or later.
There is nothing to set up. Sign in to the AI tool you use, once. Everything you need appears on its card by itself.
Your 5-hour, weekly or monthly quota and when it resets: follow it in the popover, or on the desktop with the widget.
Mimir has no backend. It reads the records your tools already keep on your Mac and asks each provider's own endpoint with that provider's own token — the same way the tool itself asks. The price of that is a Keychain prompt: the token has to come from where Claude Code put it. Turn on Prompt-free Claude tracking and Mimir never touches the Keychain at all.
Notifications
Once when a window turns red, once when it refills. Nothing in between.
-
🪫 5h spent — your 5-hour quota drops below 10%; shows the reset clock and the countdown.
-
🚨 7d spent — your weekly quota drops below 10% (5% on a monthly one); the countdown to renewal.
-
🔋 5h refilled — your 5-hour session is back. If you never ran the previous one down, you were never interrupted, so this one does not arrive.
-
🚀 7d refilled — the 7-day quota you spent has renewed. As with the 5-hour one: if you did not run it out, no notification. Antigravity is the exception, its weekly renewal is always announced — with the IDE closed, what you spent cannot be seen.
-
⏳ Renewal credit — a day, five hours and an hour before your first ChatGPT renewal credit lapses, so it is not wasted.
Two things leave your Mac
Neither is tied to you.
| Service | What | Control |
|---|---|---|
| Sentry | Crash and error reports | On in released builds |
| TelemetryDeck | Categorical signals only; which providers are in use (the name, never a number), the popover opened, a widget was placed | Send anonymous statistics |
Mimir is open source (MIT). All of the above is verifiable in the source → github.com/erayendes/mimir
For the curious: the name
Mímir keeps the well of wisdom at the root of Yggdrasil in Norse mythology. Odin gave an eye to drink from it and gain insight. Later, beheaded in the Æsir–Vanir war, his head was kept by Odin, who went on consulting it for counsel. That is where the name comes from: a quiet advisor that tells you, at a single glance, how much you have left and when it comes back.
If what you have read so far suits you, download Mimir.zip and carry on with the install.
Install
Open Mimir.zip,
drag Mimir.app to /Applications, run it. That is all.
Releases are signed and notarized on CI; Gatekeeper raises nothing. Release notes and older builds are on the releases page.
On first launch Mimir asks once, launch at login? I would say yes. You can change it later under System Settings › General › Login Items.
Mimir then looks for the services you have installed. When it finds them you may see one or two permission prompts. Neither is a bug:
- Claude Safe Storage — the Keychain item the Claude desktop app encrypts its session with. Allow it; Claude's live reading then comes from the desktop app's session. Asked once, and it sticks.
- Claude Code's Keychain entry — when Mimir falls back to the CLI's token. This one does not stick, because Claude Code rewrites the entry on every refresh. To be rid of it, turn on Prompt-free Claude tracking in the right-click menu.
Updating
Mimir updates itself. Check for updates is in the right-click menu and behind the version badge at the foot of the popover. The widget updates on its own.
Removing
- Turn off launch at login, then Quit Mimir from the right-click menu.
- Drag
Mimir.appto the Trash.
What is left behind is small, and optional to clean:
~/Library/Preferences/com.erayendes.mimir.plist # settings, notification state
~/Library/Application Support/Mimir/ # last snapshot per service
~/Library/Caches/com.erayendes.mimir # the update cache
Your tools' own files — ~/.claude, ~/.codex, their Keychain entries — are
untouched; Mimir only ever read them. If Prompt-free Claude tracking is on,
turn it off first so the hook is taken back out of ~/.claude/settings.json.
Build it yourself
Swift 6 (Xcode 16) or newer.
git clone https://github.com/erayendes/mimir.git
cd mimir
./script/build_and_run.sh install
Without install, the script runs a Mimir Dev copy under its own bundle
id; it never touches the installed app's settings or login item.