mrkeyoor.com_
Tue 01 Sept 17:46 UTC
Dev Toolsevaluationupdated 26 Aug 2026

token-monitor review

Token Monitor is a desktop dashboard for token use, estimated cost, account limits, and session activity across AI coding tools. It reads local records from tools such as Claude Code, Codex, Cursor, and OpenCode, then can combine summaries from several computers through a self-hosted hub.

+111stars / 7d
Verdict

Our Token Monitor run installed 340 packages, passed all 3,674 tests, and still found 1 high-severity advisory, so it earns a trial with an audit review before wider deployment. It is the most useful fit for one developer juggling several coding subscriptions across a few machines. Treat its totals as an operational dashboard, not a billing ledger, especially for integrations whose local paths or provider formats can change.

We ran it

Lab card: what happened when we ran token-monitorScreenshot of token-monitor (javis-ai.com/token-monitor)
Install✓ · 20s340 packages · 172 MB
Buildn/ano build script
Tests✓ · 103s3674 passed · 0 failed of 3674 (node:test)
Known vulns10 critical · 1 high · 0 moderate · 0 low (npm audit)
Repo759 files~184,821 lines of source · 29.4 MB · 6 CI workflows · tests dir

Answers from our run

Does token-monitor build from source?

Dependencies installed in 20 seconds (340 packages), and the project has no separate build step. We cloned commit 3e80f82 into a clean Debian container with 3 CPUs and no project-specific setup.

Do token-monitor's tests pass?

Yes: 3674 of 3674 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does token-monitor have known vulnerabilities in its dependencies?

npm audit flagged 1 known advisory in the dependency tree at the time of our run.

Who should not use token-monitor?

Anyone who needs billing-grade totals: open issue 375 reports a 51.7% Claude shortfall when most transcripts lived outside the scanned roots.

What are the alternatives to token-monitor?

ccusage, Tokscale, OpenMeter. Our Token Monitor run installed 340 packages, passed all 3,674 tests, and still found 1 high-severity advisory, so it earns a trial with an audit review before wider deployment.

Setup4/520-second install; packaged apps make local use simpler
Docs5/5Paths, sync modes, retention, privacy, and packaging are explicit
Community4/51,738 stars and active issue and pull request work
Maturity3/53,674 tests pass, but collection and desktop reports remain

Who it’s for

Developers paying for several AI coding tools who want one local view of usage and limits.
People working across 2 or more computers who are willing to run the included hub or Cloudflare Worker.
Teams that want CSV and JSON usage exports without sending prompts or source code to the project maintainer.
Claude Code and Codex users who need per-session detail from records already stored on their machines.

Who it’s NOT for

Anyone who needs billing-grade totals: open issue 375 reports a 51.7% Claude shortfall when most transcripts lived outside the scanned roots.
High-churn agent setups relying on live collection: issue 520 shows constant file writes can keep resetting the 1,500 ms debounce and prevent a scan.
Operators who cannot tolerate a desktop collector reading local session databases and provider credentials, even though the README says prompts, responses, and source code are not synced.
Users expecting every integration to behave the same: the README says Command Code token counts are estimated, Qoder CN can break if its database schema changes, and some tools expose limits without session detail.
Windows or macOS fleets that require proven behavior on every machine: open issues describe launch crashes on one Windows 11 AMD system and recurring 80 to 110% CPU use on one Apple Silicon setup.

Setup reality

Our sandbox installed 340 npm packages in 20 seconds and used 172 MB on disk. The repository has no build script, so we skipped that step. Its node:test run finished in 103 seconds with 3,674 passed and 0 failed. Npm audit reported 1 known high-severity vulnerability.

Local mode needs no hub or account. Provider-limit checks can require API keys or account credentials, while multi-device use needs a shared secret plus an always-on widget, Node hub, or Cloudflare Worker.

Packaged builds cover Windows 10 or later, macOS 12 or later, and Linux x64. Source packaging needs Node.js 22.15 or newer on the target operating system. Some integrations depend on local SQLite databases, environment-specific paths, or extra tools such as the sqlite3 CLI.

Thirty-two tool adapters trade one dashboard for uneven accuracy

Token Monitor reads usage records left by more than 32 AI coding tools and puts token totals, estimated cost, account limits, models, sessions, and projects into one Electron widget. Claude Code, Codex, and OpenCode get per-session detail. Other integrations expose only token use or provider limits. That distinction matters because the interface can look unified while each adapter depends on a different file layout, database, cookie, or API. The README is candid about which columns each tool supports.

The local-first design is the strongest reason to try it. Prompts, replies, source code, and file contents stay on the machine, according to the privacy section. Session detail is read when requested and is never synced. A user can still enable networked features, including update checks, provider-limit queries, Discord Rich Presence, or multi-device sync. The product therefore reduces central collection of sensitive text. It still needs access to private local records and, for some limit providers, account credentials.

A 370-day history depends on what each source keeps

Token Monitor can preserve observed daily totals so its heatmap survives after a source tool deletes old sessions. The sync payload and heatmap use a rolling 370-day window, while the README says Claude Code keeps transcripts for 30 days by default. Older observations remain local for future views. This archive is opt-in, which is sensible because extending history also extends the life of usage records on disk.

Accuracy is bounded by discovery. Open issue 375 documents one Windows setup where Token Monitor showed 10.4 million Claude tokens against 21.54 million in a provider export. The reporter traced much of the 51.7% shortfall to Claude Desktop agent-mode transcripts outside the roots being scanned. That billing comparison came from the issue reporter. It gives competent users a concrete reason to compare the dashboard against provider data before trusting budgets or chargeback decisions.

What happened when we ran it

Our sandbox installed 340 npm packages in 20 seconds, leaving 172 MB on disk. The checked-out commit, 3e80f82, had no build script or target, so we skipped a build rather than substituting another command. The repository contained 759 files and about 184,821 source lines. It also had 6 CI workflow files and a tests directory, though no Dockerfile. Those measurements describe a fresh unprivileged Node 22 container with 3 CPUs and 8 GB of RAM.

The node:test suite completed in 103 seconds with 3,674 passed and 0 failed out of 3,674. That is unusually strong coverage evidence for a desktop utility with dozens of parsers. Npm audit still reported 1 known vulnerability, rated high, with 0 critical, 0 moderate, and 0 low findings. The supplied lab result does not name the affected package or prove exploitability, so the correct next step is to inspect the audit path before packaging or allowing credentials into the app.

Live mode can miss every update under constant writes

Issue 520 describes a failure mode that matters most to the audience running many agents at once. In live collection mode, every file event resets a 1,500 ms debounce timer. The report says a tree with roughly 7,800 JSONL files, about 2,200 directories, and 10 or more active sessions kept producing events quickly enough that collection stopped for more than 24 hours. Switching that installation to interval mode restored scans. A pull request addressing the ceiling was active when we checked.

Two other open reports narrow the desktop risk. Issue 487 says Token Monitor v0.45.0 through v0.47.0 crashed or showed a blank window on one Windows 11 machine with an AMD Radeon 780M. Issue 502 reports recurring 80 to 110% CPU use from an Electron renderer on one Apple Silicon hub client. Neither report proves a fleet-wide defect. Both are specific enough that teams deploying the widget broadly should pilot it on their actual hardware and watch CPU, startup, and refresh behavior.

Multi-device sync needs one trusted hub and one shared secret

Single-machine use starts locally without a hub or configuration. For several devices, the README gives 3 choices: host inside an always-running widget, run the Node hub, or deploy the Cloudflare Worker. Every client receives a hub URL and shared secret. The in-widget route stops when that app quits, while the Node and Worker paths move availability into infrastructure you must operate. Server-Sent Events distribute aggregate updates between connected widgets within seconds.

The setup details are better than the cheerful quick start suggests. Windows Subsystem for Linux data is merged about every 5 minutes, but SQLite-backed tools may need a headless agent inside WSL. Qoder CN needs either a sqlite3 command or a sufficiently new Node runtime, and the README warns that a database schema change can break the adapter. Building installers from source requires Node.js 22.15 or newer and the target operating system because Electron Builder cannot make every package cross-platform.

Version 0.48.0 is active enough to demand frequent checks

GitHub showed 1,738 stars, 76 open issues and pull requests, and a last push on August 26, 2026. Release v0.48.0 shipped the same day with Kimi Work tracking, Trae CN credits, Sub2API account support, collector fixes, and usage-accounting changes. This is active maintenance. Fast adapter growth also means provider formats and regression risk keep moving. The combined open count includes pull requests and should not be read as 76 confirmed bugs.

Token Monitor gives a solo developer a useful answer to a messy question: which coding tool consumed what, on which machine, and how close is each account to its limit? Our 3,674 passing tests make the parser layer worth taking seriously. The high-severity audit finding and concrete collection reports do not disqualify it; they set the operating rule. Compare totals with provider records, prefer interval collection under heavy write volume, and pilot the Electron app before making its display the basis for spending decisions.

Alternatives

ProjectWhat it isPick it when
ccusageA command-line analyzer focused on local Claude Code and Codex usage records.pick this instead when terminal reports for a smaller set of coding agents are enough and you do not need a synced desktop widget.
TokscaleThe local usage engine Token Monitor bundles for reading several coding-agent formats.pick this instead when you want raw command-line collection without Token Monitor's Electron interface and hub.
OpenMeterA server-side usage metering platform for products and APIs.pick this instead when you control the application events and need centralized product metering rather than reading developer-tool files.

What people are saying

  1. [github-trending] Javis603/token-monitor

Sources

  1. Token Monitor repository and README
  2. Token Monitor v0.48.0 release
  3. Claude usage under-reporting issue
  4. Live collection starvation issue
  5. Windows renderer crash issue
  6. Apple Silicon CPU use issue

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →