macOS menu bar · free & open source

Your AI coding tokens, hatched into Pokémon.

Turn the tokens you're already burning into a Pokémon that hatches, evolves, and fills a Pokédex — with today's spend and official limits right underneath.

Download from Releases ↗

macOS 14+Apple silicon & IntelSwift 6MIT

Menu bar showing an animated companion and today's total tokens
PokeTokenBar popover: animated Lapras companion, provider tabs (Claude Code / Codex / Gemini / OpenCode / Hermes / Cursor), today's combined tokens and official limit bars
Works with Claude Code Codex Gemini CLI Antigravity OpenCode Hermes Agent Cursor Grok CLI Copilot CLI PokéAPI

Everything you need, in the menu bar

A glanceable usage tracker for AI coding — no dashboard, no browser tab — with a reason to actually open it.

📊

Live token usage

Today's Claude Code + Codex + Gemini + Antigravity + OpenCode + Hermes + Cursor + Grok + Copilot tokens (compact, e.g. 253.4M) — combined total in the menu bar, per-service tabs in the popover.

🛑

Official limits

Claude & Codex 5-hour / weekly utilization with live reset countdowns, color-coded as you approach the cap.

📈

Burn-rate forecast

Projects when your current 5-hour window will hit 100% at the current spend rate — so a wall never surprises you.

🥚

Growth companion + Pokédex

Your usage raises a Pokémon that hatches — sometimes, by a rare stroke of luck, Shiny ✨ — evolves through its real line with natures and little celebrations, and fills a Pokédex.

🌐

Localized

Full Korean / English / Japanese UI — and Pokémon names in your language, straight from PokéAPI.

🔔

Notifications

Alerts when a limit crosses your warning / critical thresholds — and when your companion hatches, evolves, or graduates.

🛒

Token Shop

The tokens you've already used become spendable currency — buy Rare Candy to grow your Pokémon, a Mint to re-roll its nature, a Shiny Charm that permanently raises your shiny odds, or an egg to send off your companion and start fresh — plain, Uncommon-guaranteed, or Rare-guaranteed.

🐾

Floating desktop pet

Let your companion live on the desktop instead of the menu bar — hover for today's usage, click to open the popover, right-click for a menu, drag to place it. Notifications can appear as a speech bubble above it.

The companion

Code more, raise a Pokémon

Tokens spent since install grow a Pokémon through its real evolution tree — fetched live from PokéAPI, animated with Gen-V sprites.

🥚

Hatch

Spend ~5M tokens and your egg hatches into a rarity-weighted Pokémon — one of 25 natures, and once in a rare while, Shiny ✨.

Evolve

Keep coding to evolve it through its 1 / 2 / 3-stage line, branches included.

🎓

Graduate

Reach the final form + threshold and it graduates — a fresh egg arrives.

📖

Collect

Every species you've owned folds into one Pokédex cell — and the catch log keeps each individual.

🍬

Rare Candy

Max out a 5-hour or weekly limit and you earn Rare Candy — spend it from the Bag to grow your current Pokémon.

Pokédex view: one cell per species owned, in dex-number order
Pokédex — one cell per species you've owned, in dex-number order, ✨ on the shinies.
Normal Lapras next to its shiny purple variant, both animated
Once in a rare while, an egg hatches Shiny ✨ — distinct colors, kept through every evolution.
Bag tab showing a Rare Candy item earned from filling a usage limit
Fill a usage limit and earn Rare Candy — spend it from the Bag to grow your Pokémon.
The floating desktop pet with a hover callout showing today's tokens and a right-click menu
Move the pet onto your desktop — hover for today's usage, right-click for a menu, drag it anywhere.
Common · hatches often Uncommon Rare Legendary · rarely

Rarer Pokémon take more tokens to graduate — roughly 3 days (common) to 24 days (legendary) at heavy use.

Field guide

How it grows — all the numbers

How long it takes, what you'll see along the way, and what there is to collect — before you install.

Tokens per evolution

The rarer the Pokémon, the longer it stays with you. Later stages cost more (3-stage line shown).

RarityStage 1Stage 2Stage 3 (graduate)Total
Common125M250M375M750M
Uncommon312.5M625M937.5M1.875B
Rare500M1B1.5B3B
Legendary1B2B3B6B
How long on my pace?

How many AI-coding tokens do you burn per day? (total, including cache reads)

Every number on this page is hard-coded in the app. No server, no purchases, no shortcuts — just code.

The companion in your menu bar isn't a decoration — it lives your coding rhythm, switching sprites and captions in real time.

💤no tokens todayFast asleep

When you rest, it rests. Weekend menu bars are quiet.

🧍light useLoafing around

A few questions here and there — it idles beside you.

🚶coding steadilyWorking along

Your normal pace. It keeps busy too.

🔥100k+ tokens/minIn the zone

Agents running hot — so is your partner.

😮‍💨limit almost reachedWorn out

When a usage limit is close, it tires before you do. Take the hint.

🎉evolution · graduationCelebrating

Evolution moments and a graduation send-off — a few seconds worth catching.

Hatching has its own animation — and a Shiny hatch announces itself.

🥚🐣⚡️🎓🥚

Not an ending — a loop. Every graduation fills a Pokédex slot and a new egg arrives.

To collectHow it works
Species329 from Generations I–V — every hatch is random. You won't know until it cracks.
RaritiesFour tiers, Common to Legendary — the rare ones hatch rarely and stay longest.
✨ ShinyA rare stroke of luck at hatch — distinct colors, kept through every evolution.
NaturesOne of 25 per hatch — the same species never feels quite the same.
BranchesBranching lines prefer a branch you haven't collected — the Pokédex fills itself as you keep raising.
PokédexRecorded as (starter → final form) pairs with the full line — same starter, different branch, different entry.

Install in a minute

macOS 14+ (Apple Silicon or Intel). The Homebrew cask handles everything.

Install PokeTokenBar

One Homebrew command — ad-hoc/self-signed; the cask strips the quarantine attribute on install.

brew install --cask chattymin/tap/poke-token-bar

Prefer building yourself? swift build · swift test · ./scripts/build-app.sh/Applications. See the README.

Downloading directly instead? It's ad-hoc/self-signed, so on first launch right-click PokeTokenBar.appOpen, or run xattr -dr com.apple.quarantine /Applications/PokeTokenBar.app. (Homebrew does this for you.)

Requirements

  • macOS14+ (Apple Silicon or Intel)
  • Claude / Codex / Gemini / Antigravity / OpenCode / Hermes / Cursor / Grok / Copilotat least one, for usage to show
  • Keychainoptional — only for official limit %

Your usage stays on your Mac. The app reads your local Claude Code / Codex / Gemini CLI / Antigravity / OpenCode / Hermes / Cursor / Grok CLI / Copilot CLI logs, never uploads them, and never runs claude/codex model turns. It does use the network — for Pokémon data & sprites (PokéAPI, cached locally), official limits, service status, and update checks — and none of those requests carry your usage. No Pokémon assets are bundled in the app.