tokenstat
tokenstat

Desktop app · macOS

The only app you need open

Every agent CLI you already use launches from here, each in its own tab with its own meter. The diff it produced, the editor to fix the one line it got wrong, the commit box, the docs and your dev server are all in the same window, for every machine you work on. Close it and the agents keep running, because the daemon owns them, not the window.

HomeHeatmap, plan limits, and today at a glance.
InsightsDaily volume, top models, and value at list rates.
WorkspacesSessions, files, and launch profiles for every harness.
HistoryUncommitted changes, reviewed before you commit.
Agent sessionAn agent working beside the commit history.
TasksA board where a card is a job an agent can run.
WorkflowsAgents, commands and approvals wired into one graph.
AutomationsScheduled jobs, their limits, and what each run did.
FilesAn editor beside the sessions, with the diff in the gutter.
BrowserYour pages and the docs, inside the app.

Ten screens in dark, two per row. Click any one to zoom. Every screen ships in a light theme too. Screens from tokenstat desktop v0.6.7 · 20 August 2026; the app moves faster than this page, so if a screen looks different in your copy, your copy is right.

What it does

Every machine, every harness, one window

The work is spread across more places than it used to be: several harnesses, a laptop and a server, a folder per project, and an editor and a git client beside all of it. The app puts them in one window, on every machine you work on, and keeps one record of what the whole stack did.

Work on the server and the second Mac from this one

A folder on a remote box, on the laptop, and on this machine all behave the same way in the same sidebar: same file tree, same launcher, same terminal, same diff. Start an agent on the machine with the GPUs, or the one with the repo, without opening a session to it first. Forward a port and its dev server opens in the app's own browser.

Every harness you use, launched from the folder it works in

Claude Code, Codex, Grok Build, Cursor, OpenCode and the rest launch from the project they work on, each in its own tab, with the flags, model, and environment you saved for that folder instead of a command you retype. Point any of them at LM Studio or Ollama from the same selector. Optional bypass skips permission prompts for that workspace on the next launch, off by default and never on a timer. The sidebar tells you which ones are working and which are waiting on you, and closing the app does not stop them: the daemon owns the sessions, not the window.

A real editor and the git history, beside the agent

The diff, the change count, and a commit box sit one tab from the session that produced them, and the editor beside it has highlighting, find, and changed-line marks, so you fix the one line it got wrong without switching apps. Nothing is staged or committed unless you do it.

One heatmap across every AI tool you use, which nothing else builds

Each vendor will show you its own dashboard for its own tool. This is the year of your actual work: Claude Code, Codex, Cursor, and the rest joined into a single activity calendar, with volume by day, value by model, and breakdowns by harness and project over any window. An inspector opens any row when a number looks wrong, and usually something is, like a cheap change being made by an expensive model.

Hand off the work that does not need you

Queue the jobs you would otherwise sit and watch, and let them run on a schedule with a budget they stop at rather than one they report afterwards. They belong to the daemon, so they run with the window closed and the work is done when you come back.

Know what you have left before you start a long one

Today and this week at list rates, how much of each plan window is gone, when it resets, and what is already running. Worth a glance before you kick off the session you cannot afford to have cut off halfway.

Your account without leaving the app

Your profile, your dashboard, and the docs open in the window you are already in, so checking a number does not cost you the context you were holding.

Why now

Some tools delete usage history

Claude Code removes its transcripts after 30 days by default. Usage never scanned before then is gone from the device for good. The app and the CLI share one archive, so a scan on this Mac keeps the counters before a tool discards its source records. Install it before you get curious, not after.

tokenstat doctor compares that archive against Claude Code's own rollup and shows how much has already been lost. The same command lives in the CLI, and the help center covers what each confidence band means.

More detail: when numbers disagree with a vendor dashboard, and the CLI page.

Plan limits

The app can tell your dashboard what is left

The app tracks how much of each plan window you have used and, if you turn it on, it sends those readings to your account so tokenstat.ai shows the same numbers. What travels is the percentage used per window and when the window resets, per harness. Not what you ran, not which models, not any project name. The readings are never public: they appear on your own signed-in dashboard and nowhere else, and turning the setting off stops them.

In the app under Account settings → Share plan limits with my devices.

Requirements

What it needs, and what is still coming

RequirementDetail
macOS14 or newer, universal binary, signed and notarized
AccountNot required. Everything local works signed out, forever
CLINot required either. The app carries the same engine
Windows, LinuxPlanned, as a UI shell over the same daemon rather than a rewrite
iPhone, iPadBuilt, and heading for the App Store. See /mobile