Model or dataset
chattymin/PokeTokenBar avatar
chattymin/PokeTokenBar

PokeTokenBar: a macOS menu bar token tracker that hatches Pokémon

Use your tokens to raise, evolve, and collect Pokémon! 🥚

442 stars122 forksSwiftMIT

At a glance

What is it?
PokeTokenBar reads Claude Code, Codex and Gemini CLI token usage from local logs and turns it into a Pokémon you hatch, evolve and collect. It is a macOS 14+ SwiftUI menu bar app, MIT licensed, with a Homebrew cask.
Who is it for?
Adopt PokeTokenBar if you run Claude Code, Codex or Gemini CLI on macOS 14+ and want today's spend and the official 5-hour and weekly limits visible without opening a dashboard; the Homebrew cask install is the shortest path. Skip it if you work on Windows or Linux, or if you want a cross-machine usage history rather than a local, single-Mac view.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What PokeTokenBar actually tracks

PokeTokenBar is a macOS menu bar app that reads token usage out of the local data directories of AI coding tools: Claude Code, Codex, Gemini CLI, Antigravity, OpenCode, Hermes Agent, Cursor, Grok CLI, Copilot CLI, Kiro CLI, Pi Agent, omp and Aside. The README defines the counting rule as `totalTokens` = input + output + cache, bucketed by local date. No external CLI has to run, and nothing is uploaded for the usage number itself: the app parses what those tools already wrote to disk.

The audience is narrow and specific. You need macOS 14 or later, and you need to be running at least one of those coding agents often enough that a daily total is meaningful. Someone who opens Claude Code twice a week will see an egg that barely moves. Someone who runs it all day gets a number that changes while they work, plus official 5-hour and weekly limit percentages with reset countdowns and a burn-rate forecast. The companion layer sits on top of that tracker, not instead of it.

Eggs, natures and a 1-in-129 legendary

The mechanic is a spend threshold, not a timer. Tokens burned in any supported tool incubate an egg, and when the egg hatches the app picks a Pokémon from PokéAPI across any Gen 1 to 5 evolution line, which the README counts as 329 possible starts. The weighting follows the official capture rate, so common species hatch often and a legendary is described as a 1-in-129 event. Each hatch also rolls one of 25 natures, and a shiny variant appears occasionally.

Evolution is not a cosmetic counter. The companion grows through its real evolution tree, including the 1, 2 and 3 stage lines and branching paths, with a celebration at each step. The final form plus a threshold graduates the Pokémon into the Pokédex permanently and starts a fresh egg. The README gives rough pacing at heavy use: about 3 days for a common line and about 24 days for a legendary. That gap is the design. Rarity is expressed as time, which means the app is only rewarding if you are already generating tokens at volume.

Two systems feed the collection. Filling a 5-hour or weekly limit earns Rare Candy, which the Bag spends to grow the current Pokémon. Separately, every token you have ever used is spendable currency in the Shop, where the items are Rare Candy, a Mint that re-rolls nature, a Shiny Charm that permanently raises shiny odds, and eggs in three grades: a plain Pokémon Egg, an Uncommon Egg guaranteed to hatch Uncommon or better, and a Rare Egg guaranteed to hatch Rare or better.

Installing PokeTokenBar and seeing your first number

The README badges a Homebrew cask, so that is the install path to try first. The badge text in the repository is the only install instruction available, and the GitHub releases page for v2.5.4 is the fallback the project points to when the cask is not what you want.

After install, launch the app and look at the menu bar. The README says an animated Gen-V sprite sits next to today's total tokens in a compact form such as `200.7M`, and that you can add today's cost or the official limit percentage, or turn the text items off entirely for a character-only bar. If the number is zero while you have been coding, the app is not finding logs, not that you spent nothing.

Settings is where the refresh behaviour lives. The README lists a refresh interval of 1 to 15 minutes or manual, launch at login, menu-bar item toggles, and a Keychain opt-out that hides the limits section. There is also a floating desktop pet option, sized from 48 to 384px, which you can drag anywhere and hover for today's usage.

The repository ships `Package.swift`, so the source builds as a Swift package for anyone who would rather not use the cask; the README itself does not document a source build, so treat that as a repository-layout observation rather than a supported install route.

Where PokeTokenBar stops being the right tool

It is macOS only. The badge in the README states macOS 14+, the app is SwiftUI, and the interface is a menu bar item. There is no Windows or Linux build described in the repository, so a team on mixed machines will get usage visibility on the Macs and nothing on the rest.

Usage is local and per-machine. The app reads logs on the computer it runs on. If you code on a laptop and a desktop, or inside a container or a remote dev box, the tokens spent there are not in the menu bar. The README does not describe any sync, account, or aggregation across machines, and there is no server component to point at.

The limits section depends on Keychain access, and the opt-out described in Settings hides that section rather than replacing it with a local calculation. If your threat model rules out a menu bar app reading credential material to show official limit percentages, you are choosing between the limits view and the opt-out. That is a real trade-off, not a setting you can have both ways.

Finally, the framing is a fan project. The README calls it an unofficial, non-commercial Pokémon fan project, with species data pulled from PokéAPI. If you need a tool you can cite in a procurement document, the Pokémon layer is the part you would have to justify, even though the token accounting underneath is straightforward.

Against a plain usage dashboard

The obvious alternative is the usage view that ships with the agent itself, or a terminal status line that prints today's spend. Those are faster to set up and have no companion layer at all. The difference in approach is what each one optimises for: a dashboard answers the question once, when you open it, while PokeTokenBar keeps the number in the menu bar permanently and adds an incentive to look at it.

That incentive is the whole bet. A Rare Candy for filling a 5-hour or weekly limit turns a limit you would otherwise hit by accident into something you can see coming, and the burn-rate forecast in the README is the part that actually helps you plan. The Pokémon is the reason the window stays open. If you already check your spend daily, the companion adds little and costs you a background process plus Keychain access. If you never check, the hatching is the mechanism that changes the habit, and the collection state (Pokédex cells, catch log, shiny flags) is what makes the habit stick past the first week.

Maintenance, releases and the MIT licence

The repository is not archived, and the last push was on 2026-09-14. Releases are frequent and versioned in small steps: v2.5.4 on 2026-09-12, v2.5.3 on 2026-08-31, v2.5.2 on 2026-08-24. For a menu bar utility that reads other tools' log formats, that cadence matters more than it would elsewhere, because a format change in Claude Code or Codex is exactly the kind of thing that breaks the parser. Small, regular releases are a reasonable signal that breakage gets fixed, though the README does not document a compatibility matrix, so you cannot know from the documentation which agent versions are covered.

Upgrade cost is low by construction. The Homebrew cask handles the binary, settings live in the app, and collection state is local. The README does not document rollback, and it does not describe a migration path between major versions, so if a release changes how collection state is stored, the documentation is silent on what happens to an existing Pokédex.

Licence is MIT. That permits commercial use, modification and redistribution with the licence and copyright notice retained. The README's own disclaimer is separate from the licence and is worth reading before you ship anything derived from it: the project describes itself as unofficial and non-commercial, and names PokéAPI as the source of species data. Pokémon names and sprites are not covered by the MIT grant on the code, so a redistribution that keeps the assets is a different question from one that reuses the SwiftUI shell. Nothing here is legal advice; the point is that the MIT badge covers the repository, not necessarily every file in it.

Editorial conclusion

Adopt PokeTokenBar if you run Claude Code, Codex or Gemini CLI on macOS 14+ and want today's spend and the official 5-hour and weekly limits visible without opening a dashboard; the Homebrew cask install is the shortest path. Skip it if you work on Windows or Linux, or if you want a cross-machine usage history rather than a local, single-Mac view. Before trusting it, verify that your own tool writes logs where the app expects them, and read the Keychain opt-out in Settings, which hides the limits section rather than disabling data collection.

Frequently asked questions

What is PokeTokenBar and how does it work with Claude Code?

It is a macOS 14+ menu bar app that reads token usage from local Claude Code data, plus Codex, Gemini CLI and other supported tools, with no external CLI needed. Tokens burned incubate an egg that hatches, evolves and graduates into a Pokédex, while the same screen shows today's spend and the official 5-hour and weekly limits.

Is there a PokeTokenBar build for Windows?

No. The README specifies macOS 14+ and the app is a SwiftUI menu bar item, so there is no Windows or Linux build described. On non-Mac machines you would need a different tracker.

How do I install PokeTokenBar?

The README badges a Homebrew cask as the install route, with GitHub releases as the fallback. The repository also contains `Package.swift` for a source build, but the README does not document that route.

Does PokeTokenBar upload my token usage anywhere?

The README says usage is read directly from local tool data and that no external CLI is needed, so the tracking itself is local. It also notes a Keychain opt-out that hides the limits section, which is the one part that depends on credential access.

Official sources

  1. chattymin/PokeTokenBar on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes