cc-costv2.0.0

What Claude Code
would cost.

Your Claude Code usage at API list prices, totalled across every machine. An archive that outlives transcript cleanup, and a dashboard that reads it from a synced folder or your own server.

~
$ npm i -g @ugurcandede/cc-cost
$ cc-cost setup      # shared folder, accounts, daily sync
$ cc-cost            # sync this machine, print a summary
$ cc-cost report     # open the dashboard

The dashboard.

Thirty days, two machines, two Claude accounts. Daily cost stacked by model.

The cc-cost dashboard cc-cost summary in the terminal

A closer look

Every panel, every report.

Accounts

Each account against its own plan.

Daily cost

Stacked by account, project, machine or model.

Where it goes

Cache reads, and how big each call was.

cc-cost insights

What drives the cost.

cc-cost plan

API price against every plan.

Sessions

The costliest sessions, one by one.

In the terminal

Same filters, every report.

reports
$ cc-cost daily --last 7     # weekly, monthly
$ cc-cost projects           # models, machines, accounts, sessions
$ cc-cost agents             # main thread vs subagents
$ cc-cost insights           # what drives the cost
$ cc-cost plan               # API price vs your plans
$ cc-cost blocks             # Claude's 5-hour windows
$ cc-cost monthly --json     # or --csv
cc-cost projects --last 30
Project        Calls     Cost   Share
─────────────  ─────  ───────  ──────
api-server       607   $47.15   38.9%
web-app          307   $26.99   22.3%
mobile-app       594   $24.97   20.6%
infra            169   $10.87    9.0%
data-pipeline     90    $6.23    5.1%
docs-site        199    $4.85    4.0%
─────────────  ─────  ───────  ──────
Total          1,966  $121.07  100.0%

Every report takes --since, --machine, --account, --project, --model. English or Turkish, with --lang.

Safety

No conversation leaves your machine.

ContentToken and call counts only; project names can be hashed
ArchiveOnly grows; a day past cleanup is never overwritten
SyncEach machine writes only its own files, write-then-rename
SettingsBacked up before the hook is added; other hooks left alone
TranscriptsRead-only; ~/.claude/projects is never modified
Removecc-cost setup --remove takes the schedule and hook away

Layout

One folder, every machine.

Each machine writes its own month files. The dashboard is one static page beside them. With a server over SSH, nothing is kept on the machines.

<data folder>
machines/
├── index.json        # for the dashboard
├── work-pc.json      # time zone, accounts
├── work-pc/
│   ├── 2026-09.json  # one file per month
│   └── 2026-10.json
└── macbook/
pricing.json          # daily prices + overrides
dashboard.html        # one static page

Get cc-cost

One install. Every machine.

npm

npm

Recommended

npm page
$ npm i -g @ugurcandede/cc-cost
yarn

Yarn 1

Global install

Quick start
$ yarn global add @ugurcandede/cc-cost
>_

Try once

No install; no schedule or hook

Source
$ npx @ugurcandede/cc-cost

Then run cc-cost setup on every machine and point them at the same folder. Yarn 2+ has no global installs: use npm, or yarn dlx to try.

Read the guide →

RequiresNode.js 22 or newer
SystemsWindows, macOS, Linux
ReadsClaude Code transcripts in ~/.claude/projects
Shares viaA synced folder, or your own server over SSH
Written inTypeScript, ES modules
DependenciesNone at runtime
Testsnode:test, CI on GitHub Actions
LicenseMIT