Skip to main content

Claude Code cost tracker — scans JSONL logs and reports token usage + estimated cost

Project description

cctrack

A lightweight CLI tool that scans Claude Code JSONL logs and reports token usage and estimated cost. Zero dependencies, runs anywhere Python 3.10+ is available.

Install

# Run directly (no install needed)
uvx cctrack

# Or install globally
uv tool install cctrack

Usage

# Scan local logs and print report
cctrack

# Last 7 days only
cctrack --days 7

# Aggregate with remote machines via SSH
cctrack --remote dgx macbook-air

# Custom log directories
cctrack --dirs ~/.claude/projects ~/.sandy/sandboxes

Example output

cctrack — Claude Code Cost Report
══════════════════════════════════

April 2026 — month to date (day 1, 1 active)
───────────────────────────────────────
  Input tokens:            23,381
  Output tokens:          199,069
  Cache read:          30,862,977
  Cache write:          1,051,023
  Total tokens:        32,136,450
  Total cost:     $25.85
  Avg/day:        $25.85
  Projected/mo:   $775.50 (based on 1-day avg)

Daily breakdown:
  Date                Input       Output      Cache R      Cache W       Cost
  ──────────── ──────────── ──────────── ──────────── ──────────── ──────────
  2026-04-01         23,381      199,069   30,862,977    1,051,023 $   25.85

What it does

  1. Walks ~/.claude/projects/ and ~/.sandy/sandboxes/ for JSONL log files
  2. Parses assistant events with token usage
  3. Deduplicates by requestId (last event wins, matching Claude Code's semantics)
  4. Calculates cost using Anthropic's published rates per model
  5. Prints daily breakdown with input/output/cache token splits and monthly summaries

Remote aggregation

With --remote, cctrack SSHs to each host (one call per host) and streams back all JSONL content for local parsing. Requires SSH key auth.

# Aggregate this machine + DGX server + laptop
cctrack --remote dgx macbook-air

Rate card

Prices per million tokens, from Anthropic's pricing page:

Model Input Output Cache Read Cache Write
Opus 4.7 / 4.6 / 4.5 $5.00 $25.00 $0.50 $6.25
Opus 4 / 4.1 $15.00 $75.00 $1.50 $18.75
Sonnet 4.x / 3.7 $3.00 $15.00 $0.30 $3.75
Haiku 4.x $1.00 $5.00 $0.10 $1.25
Haiku 3.5 $0.80 $4.00 $0.08 $1.00
Haiku 3 $0.25 $1.25 $0.03 $0.30

Unknown models fall back to Sonnet rates.

Origins

This is a Python rewrite of the Go-based cctrack dashboard. The Go version provides a full web dashboard with real-time updates, session explorer, and project breakdown. This Python version strips it down to the essentials: a single command that parses logs and prints a cost report. The JSONL parsing logic, deduplication strategy, and rate card are ported directly from the Go implementation.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cctrack-0.4.0.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cctrack-0.4.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file cctrack-0.4.0.tar.gz.

File metadata

  • Download URL: cctrack-0.4.0.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cctrack-0.4.0.tar.gz
Algorithm Hash digest
SHA256 93b40e651d96c7b3c6cbcd059ab360eb0bd89be17cec92be16a00a70b1e8a2cd
MD5 9ebfdbc8a07448f3cb7cf3062317a30e
BLAKE2b-256 9f410d187bf4fc99b572c4107c5b0af08c947efdc9dc4067b8b2f1d01e70ab22

See more details on using hashes here.

Provenance

The following attestation bundles were made for cctrack-0.4.0.tar.gz:

Publisher: publish.yml on rappdw/cctrack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cctrack-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: cctrack-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cctrack-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3156af77e1e091b727344f9a4e310a856ea30a74406078af5db7ca611d3df8f7
MD5 5ab4a02d32dbaee2de6c51cceb214547
BLAKE2b-256 857108babba664f4da6fd165733fe95943a6e2a49437f5a8793a3a850535d17f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cctrack-0.4.0-py3-none-any.whl:

Publisher: publish.yml on rappdw/cctrack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page