
Product
Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.
tokentracker-cli
Advanced tools
Token usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Gemini, Kiro, OpenCode, OpenClaw, Every Code, Hermes, GitHub Copilot, Kimi Code, CodeBuddy, Grok Build, oh-my-pi, pi, Craft Agents, Kilo CLI, Kilo Code, Roo Code, Zed Agent, Goose)
Auto-collect token counts from 22 AI coding tools, aggregate them locally, and see real cost trends in a beautiful dashboard. No cloud account, no API keys, no setup — just one command.
⭐ If TokenTracker saves you time, please star it on GitHub — it helps other developers find it.
Requirements: Node.js 20+ (CLI runs on macOS / Linux / Windows; native desktop app ships for both macOS (menu bar) and Windows (system tray). Cursor token reading uses the system
sqlite3CLI when available and falls back tonode:sqliteon supported Node releases).
npx tokentracker-cli
That's it. First run installs hooks, syncs your data, and opens the dashboard at http://localhost:7680.
What you get in 30 seconds:
localhost:7680 with usage trends, model breakdown, cost analysisWant a native desktop app?
- macOS — Download
TokenTrackerBar.dmg→ drag to Applications. Menu bar status icon, desktop widgets, and the dashboard in a WKWebView.- Windows — Download
TokenTracker-Setup.exe→ run the per-user installer (no admin needed). System-tray app with the dashboard in WebView2. Portable zip also on the releases page.
Install globally for shorter commands:
npm i -g tokentracker-cli
tokentracker # Open the dashboard
tokentracker sync # Manual sync
tokentracker status # Check hook status
tokentracker status --json # Machine-readable summary (pipe to jq, ingest from AI agents)
tokentracker status --light # Plain ASCII table (CI / SSH, no spinner)
tokentracker doctor # Health check
Prefer brew? Install directly — no extra tap step needed:
# macOS menu bar app (DMG)
brew install --cask mm7894215/tokentracker/tokentracker
# CLI only
brew install mm7894215/tokentracker/tokentracker
Upgrade with brew upgrade --cask mm7894215/tokentracker/tokentracker. The tap auto-bumps within an hour of every new release.
anthropics/skills, ComposioHQ/awesome-claude-skills, skills.sh and any GitHub repo you add; sync them across Claude / Codex / Grok / Antigravity / Gemini / OpenCode / Hermes with named targets and one-click Undo|
Dashboard — usage trends, model breakdown, cost analysis |
Desktop Widgets — pin usage to your desktop |
|
Menu Bar App — animated Clawd companion + native panels |
Global Leaderboard — compare with developers worldwide |
|
Skills Manager — browse 250+ public skills from GitHub & |
| Tool | Detection | Method |
|---|---|---|
| Claude Code | ✅ Auto | SessionEnd hook in settings.json |
| Codex CLI | ✅ Auto | TOML notify hook in config.toml |
| Cursor | ✅ Auto | API + SQLite auth token |
| Kiro | ✅ Auto | SQLite + JSONL hybrid |
| Gemini CLI | ✅ Auto | SessionEnd hook |
| OpenCode | ✅ Auto | Plugin system + SQLite |
| OpenClaw | ✅ Auto | Session plugin |
| Every Code | ✅ Auto | TOML notify hook |
| Hermes Agent | ✅ Auto | SQLite sessions table (~/.hermes/state.db) |
| GitHub Copilot | ✅ Auto | OpenTelemetry file exporter (COPILOT_OTEL_FILE_EXPORTER_PATH) |
| Kimi Code | ✅ Auto | Passive wire.jsonl reader (~/.kimi/sessions/**/wire.jsonl) |
| oh-my-pi (Pi Coding Agent) | ✅ Auto | Passive reader (~/.omp/agent/sessions/**/*.jsonl) |
| CodeBuddy (Tencent) | ✅ Auto | SessionEnd hook in ~/.codebuddy/settings.json (Claude-Code fork) |
| Grok Build (xAI) | ✅ Auto | SessionEnd hook + passive updates.jsonl / signals.json scan (~/.grok/sessions/**/) |
| Kilo CLI (kilo.ai) | ✅ Auto | Passive SQLite reader (~/.local/share/kilo/kilo.db, OpenCode-fork schema) |
| Kilo Code (VS Code extension) | ✅ Auto | Passive ui_messages.json reader (Cursor/Code/CodeBuddy/Windsurf globalStorage) |
| Antigravity | ✅ Auto | Passive transcript reader (~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl) |
pi (@mariozechner/pi-coding-agent) | ✅ Auto | Passive reader (~/.pi/agent/sessions/**/*.jsonl) |
| Craft Agents | ✅ Auto | Passive session reader (~/.craft-agent + workspace session logs) |
| Roo Code (VS Code extension) | ✅ Auto | Passive ui_messages.json reader (rooveterinaryinc.roo-cline) |
| Zed Agent | ✅ Auto | Passive SQLite reader (threads.db, all providers — hosted zed.dev + bring-your-own) |
| Goose (Block) | ✅ Auto | Passive SQLite reader (sessions.db, cumulative deltas) |
Do I need to install any plugin or hook manually? No.
tokentracker(ortokentracker init) handles everything on first run:
- Hook-based tools (Claude Code, Codex, Gemini, Every Code, CodeBuddy, Grok Build) — we write a SessionEnd hook or TOML notify entry into the tool's own config.
- Plugin-based tools (OpenCode, OpenClaw) — the plugin ships inside the npm package (
~/.tokentracker/app/openclaw-plugin/). We link it via the tool's own CLI (openclaw plugins install --link …+enable). No download, no drag-and-drop.- Passive readers (Cursor, Kiro, Hermes, Kimi Code, Copilot, Grok Build, oh-my-pi, pi, Craft Agents, Kilo CLI, Kilo Code, Roo Code, Antigravity, Zed Agent, Goose) — nothing is installed into those tools. We only read files they already produce (SQLite DB, JSONL, OTEL export, session logs).
- Grok Build estimate — current local telemetry exposes cumulative
updates.jsonltotalTokens, but not a stable prompt/output/cache split;signals.jsonremains a fallback withcontextTokensUsedsnapshots. TokenTracker estimates Grok cost until per-call usage details are available.Run
tokentracker statusanytime to verify every integration's state. If something showsskipped, thedetailcolumn explains why (e.g. tool CLI not onPATH, config unreadable).Deeper dives: OpenClaw integration & troubleshooting.
Missing your tool? Open an issue — adding new providers is usually one parser file away.
Looking for a ccusage alternative with a GUI? TokenTracker covers 22 tools (not just Claude Code), adds a native macOS menu bar app + desktop widgets, and de-duplicates token records correctly across providers — so your numbers match the providers' own billing.
| TokenTracker | ccusage | Cursor stats | |
|---|---|---|---|
| AI tools supported | 22 | 1 (Claude) | 1 (Cursor) |
| Local-first, no account | ✅ | ✅ | ❌ |
| Native desktop app | ✅ macOS + Windows | ❌ | ❌ |
| Desktop widgets | ✅ 4 widgets | ❌ | ❌ |
| Rate-limit tracking | ✅ 7 providers | ❌ | Cursor only |
| Accurate multi-provider dedup | ✅ | ❌ ¹ | — |
¹ reqId-based deduplication over-counts providers that omit a request ID (DeepSeek / Kimi / MiniMax / Claude sub-agents) by 1.6–3.7×. TokenTracker dedups on a composite key, so totals match each provider's own billing dashboard.
flowchart LR
A["AI CLI Tools<br/>Claude Code · Codex · Cursor · Gemini · Kiro<br/>OpenCode · OpenClaw · Every Code · Hermes · Copilot<br/>Kimi Code · CodeBuddy · Grok Build · Kilo CLI · Kilo Code · <br/>Antigravity · oh-my-pi · pi · Craft Agents · Roo Code · Zed · Goose"]
A -->|hooks trigger| B[Token Tracker]
B -->|parse logs<br/>30-min UTC buckets| C[(Local SQLite)]
C --> D[Web Dashboard]
C --> E[Menu Bar App]
C --> F[Desktop Widgets]
C -.->|opt-in| G[(Cloud Leaderboard)]
| Protection | Description |
|---|---|
| No content upload | Only token counts and timestamps. Never prompts, responses, or file contents. |
| Local-only by default | All data stays on your machine. The leaderboard is fully opt-in. |
| Auditable | Open source. Read src/lib/rollout.js — only numbers and timestamps. |
| No telemetry | No analytics, no crash reporting, no phone-home. |
Most users never need this — defaults are sensible. For advanced setups:
| Variable | Description | Default |
|---|---|---|
TOKENTRACKER_DEBUG | Enable debug output (1 to enable) | — |
TOKENTRACKER_HTTP_TIMEOUT_MS | HTTP timeout in milliseconds | 20000 |
CODEX_HOME | Override Codex CLI directory | ~/.codex |
GEMINI_HOME | Override Gemini CLI directory | ~/.gemini |
TOKENTRACKER_GROK_HOME | Override Grok Build directory for the Grok integration and Skills Manager | ~/.grok |
GROK_HOME | Legacy Grok Build directory override, used when TOKENTRACKER_GROK_HOME is unset | ~/.grok |
TOKENTRACKER_ANTIGRAVITY_HOME | Force a single Antigravity Skills directory (auto-detects ~/.gemini/antigravity + ~/.gemini/antigravity-ide otherwise) | auto |
git clone https://github.com/mm7894215/TokenTracker.git
cd TokenTracker
npm install
# Build dashboard + run CLI
cd dashboard && npm install && npm run build && cd ..
node bin/tracker.js
# Tests
npm test
cd TokenTrackerBar
npm run dashboard:build # Build the dashboard bundle
./scripts/bundle-node.sh # Bundle Node.js + tokentracker source
xcodegen generate # Generate the Xcode project
ruby scripts/patch-pbxproj-icon.rb # Patch in the Icon Composer asset
xcodebuild -scheme TokenTrackerBar -configuration Release clean build
./scripts/create-dmg.sh # Package the .app into a DMG
Requires Xcode 16+ and XcodeGen.
TokenTracker requires Node 20+. Check your version:
node --version
If lower, upgrade via nvm, fnm, or your package manager (brew upgrade node, apt install nodejs).
The dashboard server picks the next free port automatically (7681, 7682, ...) when 7680 is taken. The actual port is logged on startup. If you want to force a specific port:
PORT=7700 tokentracker serve
To find what's holding 7680:
lsof -i :7680
Check the integration status:
tokentracker status
Then run the doctor for a deeper health check:
tokentracker doctor
If a provider shows as not configured even though you use it, try tokentracker activate-if-needed to re-run hook detection. If still missing, open an issue with the doctor output attached.
tokentracker uninstall
This removes every hook TokenTracker installed across all detected AI tools, plus the local config and data. Safe to re-run.
TokenTrackerBar is ad-hoc signed (not notarized with an Apple Developer ID — that requires a paid developer account). Gatekeeper blocks it on first launch.
You only need to do this once. Older macOS alternative: right-click the app in Finder → Open → Open in the confirmation dialog.
This is Gatekeeper reacting to the com.apple.quarantine attribute macOS attaches to every downloaded file — not an actual problem. Clear it once with:
xattr -cr /Applications/TokenTrackerBar.app
After that the app opens normally.
This is required for the Cursor and Kiro integrations. They store auth tokens / usage data inside their own ~/Library/Application Support/ folders, which macOS protects with the App Management permission.
Once granted, the permission is remembered. Note that ad-hoc signed builds re-prompt after each upgrade because each build has a new signing identity.
Show off your token usage on your GitHub profile or project README.
To get YOUR_USER_ID:
tokentracker, open the dashboard, and sign in to the leaderboard.tokentracker device-login also writes the same user_id to ~/.tokentracker/tracker/config.json.Then drop one of these in:
[](https://github.com/mm7894215/TokenTracker)
[](https://github.com/mm7894215/TokenTracker)
[](https://github.com/mm7894215/TokenTracker)
The link target defaults to the TokenTracker repo so every click helps other developers discover the tool. Swap it for your leaderboard profile, personal site, or
https://www.tokentracker.ccif you'd rather route clicks elsewhere.
Renders shields.io-compatible badges with your current totals (60s cache):
| Param | Values | Default |
|---|---|---|
metric | tokens / cost / rank | tokens |
period | week / month / total | total |
style | flat / flat-square | flat |
label | any short string | metric name |
color | hex, e.g. ff6b35 | brand green |
Privacy: badges only resolve for profiles where leaderboard sharing is on (
Settings → Account → Public profile). Private profiles get a "private" placeholder.
The Clawd character design belongs to Anthropic. This is a community project with no official affiliation with Anthropic.
Token Tracker — Quantify your AI output.
tokentracker.cc · npm · GitHub
FAQs
Token usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Gemini, Kiro, OpenCode, OpenClaw, Every Code, Hermes, GitHub Copilot, Kimi Code, CodeBuddy, Grok Build, oh-my-pi, pi, Craft Agents, Kilo CLI, Kilo Code, Roo Code, Zed Agent, Goose)
The npm package tokentracker-cli receives a total of 3,493 weekly downloads. As such, tokentracker-cli popularity was classified as popular.
We found that tokentracker-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.

Research
More than 140 Mastra npm packages were compromised in a supply chain attack that used a typosquatted dependency to deliver a cross-platform infostealer during installation.

Research
/Security News
A new npm package tests AI malware scanners with prompt injection, safety-triggering comments, context flooding, and obfuscated JavaScript.