claude-telemetry

skill
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool provides a centralized web dashboard to track and aggregate Claude Code usage, costs, and rate limits across multiple computers. It uses a lightweight Python agent on each machine to sync data to a Supabase database, displaying it via a React frontend.

Security Assessment
The overall risk is rated as Medium. The architecture inherently involves accessing sensitive data, specifically your local Claude Code usage logs, which contain your chat prompts and token counts. While a light code scan found no hardcoded secrets, the tool requires you to manually provision and configure a Supabase backend and a Cloudflare Workers proxy. You must supply your own service_role keys, which shifts the security burden onto the user.

The tool relies on network requests to sync local data to your remote database, but it does this safely by using the existing `ccusage` tool rather than implementing custom, unaudited JSONL parsing. No dangerous system permissions are requested, and the frontend protects against exposing API keys by using a Cloudflare proxy.

Quality Assessment
The project is highly active, with its last code push occurring just today. It is properly licensed under the standard MIT license, and the included README is exceptionally detailed, professional, and provides clear setup instructions. The only notable drawback is a low community visibility, sitting at only 5 GitHub stars. This means the tool has not been extensively battle-tested or widely peer-reviewed by the open-source community.

Verdict
Use with caution — the code itself appears clean and well-documented, but the low community adoption and the manual requirement to securely manage your own cloud database keys and infrastructure elevate the implementation risk.
SUMMARY

Centralized Claude Code usage tracking across multiple PCs — web dashboard with 5-hour blocks, rate limits, cost analysis, and multi-machine aggregation

README.md
Logo

claude-telemetry

Dashboard Overview

Centralized Claude Code usage tracking across multiple PCs

License: MIT
Python 3.11+
React 18
Cloudflare Pages


What is this?

CLI tools like ccusage and ccost are single-machine. If you use Claude Code across multiple PCs, you have no unified view of your total spending.

claude-telemetry solves this with an Elastic/Wazuh-style architecture: a lightweight Python agent on each PC auto-syncs usage data to a central Supabase database, and a React dashboard shows everything aggregated with filters by machine, project, model, and time period.

The agent does no custom JSONL parsing — it calls ccusage as the parsing/pricing layer and focuses only on multi-PC aggregation and centralized sync.

Features

  • Multi-PC aggregation with per-machine tracking
  • Auto-sync daemon (Elastic/Wazuh style agent)
  • Dark-mode dashboard with interactive charts (Recharts)
  • 5-hour block tracking with active block card, burn rate, and multi-PC timeline
  • Plan vs API cost comparison (Pro/Max 5x/Max 20x/Custom)
  • Rate limit progress bars (5-hour + weekly windows)
  • Usage pace calculator with trend detection
  • Project budget tracker with alerts at 90%/100%
  • Weekly usage reports with daily/weekly toggle
  • Cross-machine usage pace comparison
  • Model mix analysis (Opus/Sonnet/Haiku breakdown)
  • Supabase Auth (magic link login) with email whitelist
  • Cloudflare Workers proxy (zero exposed keys in frontend)
  • Deploy page with copy-paste agent install commands
  • Statusline auto-setup for rate limit tracking
  • Export data as CSV/JSON
  • Uses existing tools (ccusage) — no custom JSONL parsing

Quick Start

Step 1 — Supabase (free tier)

  1. Create account at supabase.com
  2. New Project — choose name and region
  3. SQL Editor — paste and run each migration in order:
    1. supabase/migrations/001_initial_schema.sql
    2. supabase/migrations/002_stats_extra_unique.sql
    3. supabase/migrations/003_user_preferences.sql
    4. supabase/migrations/004_blocks.sql
  4. Authentication > URL Configuration:
    • Site URL: https://your-app.pages.dev
    • Redirect URLs: add same URL
  5. Settings > API — copy Project URL and service_role key

Step 2 — Dashboard (Cloudflare Pages)

git clone https://github.com/RyanTech00/claude-telemetry.git
cd claude-telemetry/dashboard
npm install
npx wrangler pages project create claude-telemetry
npx wrangler pages secret put SUPABASE_URL        # paste Project URL
npx wrangler pages secret put SUPABASE_SERVICE_KEY # paste service_role key
npx wrangler pages secret put ALLOWED_EMAILS       # e.g. "[email protected],[email protected]"
npm run build
npx wrangler pages deploy dist

Step 3 — Agent (each PC)

cd claude-telemetry/agent
python3 -m venv venv
source venv/bin/activate  # Windows: .\venv\Scripts\Activate
pip install -e .
claude-telemetry setup
claude-telemetry sync --verbose
claude-telemetry install-service  # auto-sync every 15min

Architecture

Architecture

Dashboard Pages

Page Description
Overview Total cost, daily chart, model pie, machine cards, plan savings, rate limits
Daily Stacked area chart with daily/weekly toggle, top 10 days, hour heatmap
Blocks 5-hour block timeline, active block card, burn rate, multi-PC table
Projects Cost by project, pie distribution, budget progress bars, full table
Models Opus/Sonnet/Haiku breakdown, mix over time, savings alert
Machines Per-machine cards, comparison chart, daily pace, status badges
Deploy Generate agent install commands with one-click copy, statusline setup
Sessions Paginated table with sorting, filters by machine/project/type
Insights Plan value, burn rate, rate limits, budgets, trend analysis, cross-machine
Settings Plan selection, project budgets, alert thresholds, machine management, export

CLI Reference

Command Description
claude-telemetry setup Configure agent (interactive or --non-interactive)
claude-telemetry sync Manual sync to Supabase
claude-telemetry sync --verbose Sync with detailed output
claude-telemetry sync --force Re-sync all data
claude-telemetry daemon Run auto-sync in foreground
claude-telemetry daemon --interval 10 Custom interval (minutes)
claude-telemetry install-service Install as system service
claude-telemetry uninstall-service Remove system service
claude-telemetry service-status Check daemon status
claude-telemetry status Show config and last sync
claude-telemetry local --daily View local data without syncing
claude-telemetry setup-statusline Configure rate limit tracking
claude-telemetry uninstall Remove agent config from this machine

Security

  • Dashboard access: Only emails listed in ALLOWED_EMAILS can log in. Set via:
    npx wrangler pages secret put ALLOWED_EMAILS
    # value: "[email protected]" or "[email protected],[email protected]"
    
  • API proxy: All Supabase keys are server-side only (Cloudflare Workers). Zero secrets in the browser bundle.
  • Agent auth: Each machine uses a unique API key stored locally in ~/.claude-telemetry/config.json.
  • RLS: Row-Level Security ensures each user only sees their own machines and data.

Uninstall

To completely remove claude-telemetry from all services:

Step 1 — Remove agent (each PC)

# Stop and remove the service
claude-telemetry uninstall-service

# Remove config and data
claude-telemetry uninstall

# Or manually:
# Windows: rd /s /q %USERPROFILE%\.claude-telemetry
# Linux/macOS: rm -rf ~/.claude-telemetry

# Remove the package
pip uninstall claude-telemetry
# Delete the repo folder

Step 2 — Delete Cloudflare Pages

npx wrangler pages project delete claude-telemetry
# Or: Cloudflare Dashboard > Workers & Pages > claude-telemetry > Settings > Delete project

Step 3 — Delete Supabase project

Supabase Dashboard > Project Settings > General > Delete project.
This permanently deletes all data.

After these 3 steps, nothing remains — no data, no services, no secrets.

Tech Stack

Component Technology Hosting
Agent Python 3.11+, ccusage Local (each PC)
Dashboard React 18, Vite, TailwindCSS, Recharts Cloudflare Pages
Database PostgreSQL Supabase (free tier)
Auth Magic Link Supabase Auth
API Proxy Pages Functions Cloudflare Workers

Support

If this tool saved you from rate limit blindness, consider buying me a coffee:

Buy Me A Coffee

Or just star the repo — it helps a lot!

Star History

Star History Chart

License

MIT — see LICENSE

Author

Ryan Barbosa — [email protected]

Reviews (0)

No results found