Windows desktop · free

Your AI token spend, in the tray.

TokenTray watches the logs your AI coding tools already write: Copilot CLI, Agency, and Claude Code. The running total sits in your Windows system tray, and nothing leaves your machine.

Why I built it

I run AI coding tools all day: Copilot CLI in a few terminals, agents doing background work, Claude Code sessions on top. Each one burns tokens, and none of them shows you the meter while it runs. Finding out what a day actually cost meant a dashboard somewhere, a login, and a delay.

The thing is, the data is already sitting on the machine. These tools write session logs and transcripts locally, with exact token counts in them. Nobody was reading them.

So TokenTray reads them. A number in the tray, a popup when you want the breakdown, a local history so you can see the week. It never makes a network call; it parses log files on your own disk and keeps its history in a local database. The transcripts it reads contain your conversations, so the parser is deliberately content-blind: it extracts token counts, timestamps, and model names, and never touches message content.

I keep it running on every machine I work on. When a 1.3-billion-token day shows up on the chart, I want to know the same morning, not on an invoice.

What it does

  • Live total in the tray. Today's token count as a badge, refreshed every couple of minutes from local logs. Click for the full popup.
  • Three sources, one number. Copilot CLI (old and new log formats), Agency session events, and Claude Code session transcripts, deduplicated so nothing counts twice.
  • Today, History, Advanced. Today's split by tool; a daily history chart; and an Advanced tab breaking usage out per tool and per model.
  • Content-blind by design. The parsers extract usage metadata only: token counts, timestamps, session ids, model names. Conversation content never reaches the app's database or UI.
  • Nothing phones home. No network calls, no account, no telemetry. History lives in a local SQLite file on your machine.
  • Stays out of the way. Single instance, optional start-at-login, and a popup that opens where your cursor is.

The live tray badge and Today view always work. Recording history to the local database, along with the Advanced breakdowns, is free during the 60-day trial and then asks for a one-time honor-system tip. No license server, no key, just a local flag and your good word.

Get it

Download the latest installer

Windows 10 or 11, 64-bit. The installer is a signed .exe and does not need admin rights. Every release publishes a SHA-256 file next to the installer if you want to check it, and a portable zip if you'd rather skip the installer. Release notes and older versions live on the same page.

Prefer to build it yourself? The repo has the full source, and spec/DEPLOY.md documents the build. It is Python with PyQt6, packaged with PyInstaller and Inno Setup.

Tell me what is wrong with it

Product ideas, bugs, or just a comment. I read all of it, and the roadmap is mostly made of things people asked for.

Heads up: this opens a prefilled issue on GitHub, which is a public page. Do not paste anything private, and you get to review it before you press submit over there. No GitHub account? Email billing@reboundman.com instead and it reaches the same person.