Install

One command on any machine with Python 3.9 or newer. Pick the one that matches how you already install tools.

homebrew

brew install serkankorkut/tap/tokenmeter
tokenmeter start

tokenmeter start runs the dashboard in the background, starts it again at login, and opens it in your browser. Stop it with tokenmeter stop.

windows

Install Python 3.9 or newer from python.org or the Microsoft Store, then in PowerShell:

py -m pip install --user pipx
py -m pipx ensurepath
pipx install tokenmeter-dashboard
tokenmeter start

Open a new terminal after ensurepath so tokenmeter is on your PATH. Your settings go in %USERPROFILE%\.tokenmeter\config.json.

linux, or any machine with python

pipx install tokenmeter-dashboard
tokenmeter start

Run it without installing, using uv:

uvx --from tokenmeter-dashboard tokenmeter --open

Or with plain pip, into any environment:

python3 -m pip install tokenmeter-dashboard
python3 -m tokenmeter --open

Works on macOS, Linux and Windows. The package is tokenmeter-dashboard on PyPI; the command it installs is tokenmeter.

upgrade and uninstall

Installed withUpgradeUninstall
Homebrewbrew update && brew upgrade tokenmeter && tokenmeter starttokenmeter stop && brew uninstall tokenmeter
pipxpipx upgrade tokenmeter-dashboard && tokenmeter starttokenmeter stop && pipx uninstall tokenmeter-dashboard
uvxruns the latest each timenothing to remove
pippython3 -m pip install -U tokenmeter-dashboard && tokenmeter starttokenmeter stop && python3 -m pip uninstall tokenmeter-dashboard

if the install fails

If another app already uses port 7788, Tokenmeter moves to the next free port up to 7798 and prints the address. To choose your own, run tokenmeter start --port 8765; it is remembered from then on.

With Homebrew, run brew update and brew doctor first. If it still fails, upload the build logs and paste the link into an install issue:

brew gist-logs serkankorkut/tap/tokenmeter

With pipx, uvx or pip, run it again with --verbose and paste the last lines and your python3 --version into the same form.

first run

Open http://127.0.0.1:7788. If you pay for a subscription, tell Tokenmeter what you pay so the spend tile is honest:

mkdir -p ~/.tokenmeter
echo '{"_plans": {"claude": 100, "codex": 20}}' > ~/.tokenmeter/config.json

Restart once and the tile shows your plan price first, API-equivalent below. Everything else is optional and described in the docs.