What each tokennations command does. All state lives locally under ~/.tokennations/ -- your saved sync token, the per-session totals used to compute deltas, and a local log of every sync run.
Saves your personal sync token so sync knows who you are. Prompts you to sign in on the dashboard, generate a token, and paste it in -- the CLI itself never does GitHub auth directly. Run this once, before anything else.
Once the token is saved, it also asks whether to turn on automatic syncing every 15 minutes in the background (the same thing schedule below does, offered inline) -- a token alone doesn't sync anything by itself. Answering no just leaves sync and schedule available to run by hand.
Reads your local Claude Code, Codex, or Gemini CLI usage and reports how many new tokens you've earned since the last sync -- the core command everything else exists to support.
Synced 300 new tokens across 2 session(s) (claude, codex). By model — claude-opus-4-5: 300, claude-sonnet-4-5: 0
A session seen for the first time only establishes a baseline and reports 0 new tokens -- no backfill, by design. A session whose total went down since last time (log rotation, truncation) is treated as a reset, not a negative delta. Both are called out in the output when they happen.
Sets up a background job so sync runs automatically every 15 minutes, instead of you having to remember to run it by hand. Picks the right mechanism for your OS -- launchd on macOS, a crontab entry on Linux, Task Scheduler on Windows.
Safe to re-run any time -- it self-heals rather than erroring if a job already exists. Requires being logged in first.
A read-only snapshot: are you logged in, is auto-sync scheduled and actually running, and what did the last sync find. Doesn't touch the network, so it's cheap to run whenever you want to check.
Logged in — token abcd...1234 Auto-sync: scheduled (loaded) Last sync: 2026-08-25T09:53:34.415Z — 210 new tokens across 3 session(s) (claude)
Removes whatever schedule set up. Only ever touches the one entry it created -- never anything else already in your crontab or launchd config.
Safe to run even if nothing was scheduled -- it just says so and exits cleanly.
Removes your saved sync token. sync will refuse to run again until you log in again.
Deliberately doesn't stop a scheduled background job -- those are separate concerns. Run unschedule too if you want to stop syncing entirely.
Already signed in? Head to Settings for your own install command and sync token.