Your tokens.A little companion.

A Pokémon that grows as you code. Track your AI token usage and limits, right from your Mac’s menu bar.

Free · macOS 14+ · Apple Silicon & Intel

The tokens you already use become progress. Your usual workflow, with a little company.

Native Home sample with an incubating egg, token totals, a streak badge and the selected-period activity chart
Your menu bar, with company.Native UI · sample data · English

Make room for
a little company.

You’ll need macOS 14 or later and at least one supported AI coding tool. No PokeTokenBar account needed.

Release notes

Install with Homebrew

  1. Open Terminal on your Mac.
  2. Copy and run the command below.
  3. Open PokeTokenBar from Applications.
brew install --cask chattymin/tap/poke-token-bar

Need Homebrew?
Prefer a direct download?
Download ZIP for macOS

Unzip PokeTokenBar.zip and move PokeTokenBar.app into Applications.

The app is self-signed. If macOS blocks the first launch, follow the Gatekeeper steps in the installation guide. Homebrew handles the quarantine attribute for you.

Open installation guide

Your coding grows a Pokémon.

The tokens you use with AI coding tools hatch an egg and grow your partner. Keep coding, watch it evolve, and keep each graduated Pokémon in your collection.

  1. Start with an egg

    Your first tokens bring you closer to hatching.

  2. Meet your partner

    An egg hatches into a surprise Pokémon.

  3. Code. Grow. Evolve.

    Used tokens advance its evolution line.

  4. Keep it in your Pokédex

    Graduate your partner and welcome a new egg.

Illustration: Bulbasaur’s evolution line. Your partner and growth pace vary. No extra AI requests are made to grow a Pokémon.

Less checking.
More coding.

Today’s tokens, usage trends and provider limits live together. Open the menu bar when you need the details; keep working when you don’t.

See the reset coming

Official Claude, Codex and Antigravity limits, OpenCode Go 5-hour / weekly / monthly allowances, and Grok CLI weekly subscription credits. Availability depends on each tool’s login or subscription.

Production activity UI rendered with sample data, showing bar-period selection and the 16-week activity gridExample provider limits and reset timing
Activity: sample data · UI render. Limits: English example screen.
Explore the details

Choose the tools you track

Use Settings → Tracked providers to turn individual providers on or off. An off provider is not read and is excluded from tabs, totals, Pokémon growth and official-limit requests. Devin CLI and omo (senpi) join the supported tools; Devin usage is read from its local session database without a cost estimate.

Production Settings UI with per-provider tracking switches, rendered using sample data
Native UI renders · sample states

Finish a region, collect a badge

Filter the Pokédex to Kanto, Johto, Hoenn, Sinnoh or Unova and see owned and shiny counts. Completion badges record regional sets, shiny sets, 28 Unown forms and the 649-species national collection. These milestones are cosmetic and do not change hatch odds or growth.

Native regional collection-count and completion-badge components rendered with sample data
Native UI renders · sample states

Pet, pray, and share a moment

Move your pointer over the floating pet to pet it, click an egg to pray, and watch for sulking or occasional event bubbles. Every 30 prayers can bring a quip and a usage refresh. These reactions do not change hatch odds or growth rewards. Sprite downloads retry automatically if an animation fails to load.

Separate native pet samples for egg prayer, petting, sulking and agent waiting
Native UI renders · sample states

Let your coding agent say hello

Optional URL events make the floating pet react while an agent works, waits for input or finishes. Setup is manual: add the documented Claude Code hooks or send events from another agent. PokeTokenBar does not install hooks or edit agent settings.

Read the agent setup guide

A clearer collection

Browse 16 Pokémon per page in a 4 × 4 Pokédex with larger sprites and names. Search, sort, and filter by rarity or Shiny status.

Your usage recap

Browse weekly, monthly and yearly recaps through the labeled Home shortcut. Hover a meter for the date and full token count, then jump to the current period. A flame beside the shortcut marks usage streaks of at least two days; it stays gray until today’s first usage extends the run.

Native weekly recap sample with token usage and Pokémon graduation records
Native UI · sample usage and Pokémon.

Back up your progress

Export and restore companion data, or restore an automatic backup. Automatic backup history starts collapsed; the manual Create Backup button stays visible.

Multiple Claude accounts

Track official Claude limits across multiple accounts from the same app.

See your usage pace

Quota bar colors reflect your usage pace relative to the remaining time in the window.

Example quota bar with the usage pace marker
Example screen · English

Collect alternate forms

Collect Rotom appliances, Shaymin’s Land and Sky Formes, Deerling seasons, Unown letters and other supported Gen 1–5 forms. See form counts and individuals in the Pokédex. Forms follow evolution and stay in saves and exports. Types, stats, abilities and moves use the default form’s data.

Native Rotom detail sample showing owned Heat and Wash forms, individual selection and the default-form metadata note
Native UI · sample Pokémon · detail scroll view continues below.

Earn Rare Candy

Fill a 5-hour or weekly limit to earn Rare Candy. Choose how many to use in the Bag and preview evolution or graduation, including carried-over growth.

Native Bag upper-region sample showing Rare Candy quantity and evolution preview with 35M growth carried over
Native UI · sample items · upper Bag region.

Token Shop

Use tokens you’ve already spent to get Rare Candy, nature-changing Mints, a Shiny Charm or a new egg. Choose consumable quantities and see the total price. An empty Bag offers a shortcut to the Shop.

Native Shop sample showing consumable quantity controls and total price
Native UI · sample tokens · shop scroll view continues below.

Representative Pokémon

Pin an owned species and form to the menu bar and desktop pet. Your current partner keeps growing in Home.

Individual Pokémon profiles

Inspect each individual’s level, gender, nature, ability, IVs, calculated stats and learned moves. Home and Pokédex details show type-colored badges; the individual selector appears only when there is more than one individual.

Live token usage

See the total from your supported tools in the menu bar. Open the popover for a breakdown by provider.

Official limits

See provider limits with reset timing, including OpenCode Go allowances and Grok CLI subscription credits. Choose used or remaining; numbers and progress bars follow the same choice.

Burn-rate forecast

Estimate when your current 5-hour window will reach 100%, based on your current usage rate.

Localized

Eight app UI languages, including Russian. Pokémon, type, ability and move names follow your selected language, with English when a translation is unavailable.

Notifications

Choose alerts for approaching usage limits, hatching, evolution and graduation.

Additional scan folders

Add per-provider scan folders when your logs live outside the default locations. Wildcards and a live match count help you find them.

Official limits without the Keychain

Use a claude.ai session key in Settings → Advanced to read official Claude limits without Keychain prompts.

Per-model breakdown

Pi usage follows the model recorded for each turn. The popover breaks today's Pi tokens down by model, biggest first.

Activity, on your terms

Choose 7, 14 or 21 days, or this month, from the bar-chart title. Multiple tools stack by provider; hover for daily totals and a breakdown. Click the chart to switch to a 16-week grid. Its range is independent of the selected bar period, and locally stored history stays available on quiet days.

Growth at your pace

Set growth and shop difficulty from 10% to 200%, then apply with Save. Stage progress is preserved. Show Pokémon growth % in the menu bar, including egg progress, and hover Home’s bar for tokens, target and percentage. Hatches from a previously graduated base species grow twice as fast.

Native difficulty settings sample with labeled growth and shop slider ends
Native UI · sample settings.

Shortcuts that keep your place

Click collected Pokémon on Home or in the catch log to open their details; Back returns to their page or log row. Page the Pokédex with the scroll wheel or larger arrow targets. Right-click the menu-bar item for Refresh, Pokédex, Settings and more.

A workday,
with a side quest.

Your existing token usage raises a partner through its real evolution line. Then a new egg arrives, and the collection grows.

  1. Hatch your first partner

    An egg hatches after 5M tokens at the default difficulty. Which Pokémon will it be?

  2. Watch it grow

    Keep coding to evolve. Adjust difficulty to suit your own pace.

  3. Keep the memories

    Graduated partners stay in your collection. A fresh egg starts the next chapter.

Example Pokédex showing collected species
Every partner has a place in your Pokédex. Example screen.
Example floating desktop pet with usage callout
Example screen · English

Or, right beside you.

Let your partner out of the menu bar. Drag it anywhere and hover to check usage. Click an egg to pray or a hatched Pokémon to open the app; right-click → Open always opens it.

Curious how it grows?

Try your pace, check the costs, and see what you can collect. Too many tokens? Lower the difficulty in the app to grow with fewer tokens.

Tokens per evolution

A three-form example at 100% difficulty, without the repeat-species bonus or items. The table excludes the 5M-token hatch; the calculator includes it. One- and two-form lines split the same total differently.

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)

Estimates assume a constant daily pace. Difficulty, items and the 2× post-hatch bonus for previously graduated species change the result.

Your companion responds to your coding rhythm, changing its pose and caption as you work.

no tokens todayFast asleep

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

light useLoafing around

On lighter days, your partner idles beside you.

coding steadilyWorking along

Your normal pace. It keeps busy too.

100k+ tokens/minIn the zone

When your agents are busy, your partner keeps up.

limit almost reachedWorn out

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

evolution · graduationCelebrating

A short animation marks each evolution and graduation.

Hatching has its own animation. A Shiny hatch gets a different entrance.

Every graduation adds to your collection and brings a new egg.

To collectHow it works
SpeciesPokémon from Generations I–V, drawn from the app’s live species pool. Each hatch is a surprise.
RaritiesFour tiers, Common to Legendary. Rarer partners hatch less often and need more tokens to graduate.
✨ ShinyA rare surprise at hatch: different colors that stay through evolution.
NaturesOne of 25 natures per hatch gives each partner its character.
BranchesBranching evolution lines prefer paths you have not collected yet.
PokédexThe catch log records individual partners and their evolution lines. The Pokédex groups the species you have owned.

A few good questions.

Is it free?

Yes. PokeTokenBar is a free, open-source fan project. Shop items use the tokens you’ve already spent on coding, not real-money purchases.

Does it upload my usage logs?

No. Usage logs stay on your Mac. The app still uses the network for provider usage and limits, Pokémon data and sprites, service status and updates. It is not a fully offline app.

Does raising a Pokémon spend extra tokens?

No. The app reads usage from your supported coding tools. It doesn’t run model turns to grow your companion.

Can I build it myself?

Yes. The Swift source, build instructions and issue tracker are on GitHub.

GitHub