Comparison
CCAssist vs ccusage: which Claude Code usage tool?
ccusage is a free CLI for Claude Code and Codex usage reports; CCAssist puts usage beside chat history and diffs in VS Code. Tested side by side on one week.
Builds Claude Code and Codex Assist
- Published
- Updated
- Data as of
- Reading time
- 9 min read

TL;DR: If you want a ccusage alternative because you'd rather see usage inside VS Code, next to the conversation and the file changes that produced it, try CCAssist. If you want numbers in a terminal, a script, CI or the Claude Code status line, keep ccusage: it's free, MIT-licensed and better at that job. The two read the same local session files, so you can run both. On one week of my own Claude Code logs, they agreed to the token on six of seven days.
Is CCAssist a ccusage alternative?#
Partly. The tools overlap on one thing: both read the session files that Claude Code and Codex CLI write to your disk and turn them into token counts and estimated cost. Beyond that they do different jobs.
ccusage is a command-line report generator. You run npx ccusage@latest and get a table of tokens and cost by day, week, month, session or 5-hour block, for 18 coding agents. Every report can print JSON with --json.
CCAssist ("Claude Code and Codex Assist") is a VS Code extension. Its main job is history: browse and search past sessions from Claude Code, Codex CLI, Grok CLI, OpenCode, GitHub Copilot and Cursor, and see each file change as a diff. Usage charts, cost estimates and a quota readout sit alongside that history. For the history side on its own, see how to view Claude Code chat history.
So the honest answer: CCAssist replaces ccusage only if you look at usage in your editor. If ccusage feeds a script or your status line, nothing here replaces it.

What ccusage does well#
ccusage is the most widely used tool in this space. The ccusage npm package had 144,686 downloads in the week of 22–28 September 2026 (npm API), and the repository had 18,817 GitHub stars on 1 October 2026. It changed a lot this year, and many "ccusage alternatives" pages still describe the old version:
- Version 20 is Rust inside. Since v20.0.0 (19 May 2026),
npx ccusagedownloads a native binary, so reports on large histories are fast. The current release is v20.0.26 (27 September 2026). - It covers 18 agents, not just Claude Code. Claude Code, Codex, OpenCode, Amp, Droid, Codebuff, Hermes Agent, pi-agent, Goose, OpenClaw, Kilo, Kimi, Qwen, GitHub Copilot CLI, Gemini CLI, Antigravity, Grok Build CLI and ZCode, per the README.
ccusage dailycombines every source it detects;ccusage codex dailynarrows to one. - Separate packages are gone.
@ccusage/codexand@ccusage/mcpare deprecated on npm with the note to usenpx ccusageinstead. - Live monitoring was removed.
ccusage blocks --livewent away in v18 (docs).ccusage blocksstill prints past and current 5-hour windows.
Here is what you'd run:
npx ccusage@latest # all detected agents, by day
npx ccusage@latest claude daily --since 20260924 --until 20260930
npx ccusage@latest codex monthly
npx ccusage@latest claude daily --instances # split Claude Code by project
npx ccusage@latest blocks # Claude Code 5-hour windows
npx ccusage@latest daily --json | jq '.totals.totalCost'The JSON is plain and stable enough to script against. A claude daily --json run returns a daily array and a totals object. Each day has inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens, totalTokens, totalCost, modelsUsed and a per-model modelBreakdowns list. On my machine (42 Claude Code project folders, about 1,600 session files) a one-week report took about 15 seconds through npx.
The other strength is the status line. Claude Code can run any command as its status line, and ccusage ships one:
{
"statusLine": {
"type": "command",
"command": "npx -y ccusage statusline",
"padding": 0
}
}That puts session cost, today's cost, the current 5-hour block and a burn rate under your prompt, per the statusline guide. It's still marked Beta. It uses cached prices by default so it stays fast.
What CCAssist does that ccusage doesn't#
CCAssist answers a different question: not "how much did I spend?" but "which conversation spent it, and what did it change?"
- The session behind the number. The dashboard and per-session analytics link cost back to the session, and the session opens as a readable transcript with its tool calls.
- File diffs. Every edit an agent made shows as a diff against the file's earlier state. ccusage never looks at file changes.
- Search across history. Find the session where you fixed a bug, across Claude Code, Codex CLI and the other supported CLIs.
- Charts instead of tables. Day-by-day usage with a per-model and reasoning-effort breakdown, and a Weekly Digest tab that compares the last 7 days with the week before.
- Your real quota. The status bar reads your plan's 5-hour and weekly usage from your Claude account (and Codex's from your ChatGPT account). ccusage's
blocksgroups local logs into 5-hour windows; it doesn't see the limit your account actually has. Our weekly limit guide explains the two windows.
What it doesn't do matters just as much. CCAssist has no command line, no JSON or CSV export of usage, and no status line for Claude Code's terminal. It runs only where VS Code (or a VS Code–based editor) runs, and it reads 6 CLIs where ccusage reads 18.
Feature comparison#
Checked on 1 October 2026 against ccusage 20.0.26 and CCAssist 0.7.5.
| ccusage | CCAssist | |
|---|---|---|
| Where it runs | Terminal (Node + native binary) | VS Code and VS Code–based editors |
| Price | Free, MIT licence | Free tier; Pro from $4.99/month or $49.99 lifetime |
| Claude Code usage and cost | ✓ | ✓ |
| Codex CLI usage and cost | ✓ | ✓ |
| Other agents | ✓ 16 more (Gemini CLI, Amp, Goose, Kimi…) | Partial: Grok CLI, OpenCode, GitHub Copilot, Cursor |
| Daily / weekly / monthly reports | ✓ tables | ✓ charts (free: last 7 days) |
| Per-model breakdown | ✓ --breakdown, JSON | ✓ |
| Per-project split | ✓ --instances | ✓ |
| JSON output for scripts | ✓ --json | ✗ |
| Claude Code status line | ✓ ccusage statusline (Beta) | ✗ (VS Code status bar instead) |
| 5-hour windows | Partial: estimated from local logs | ✓ read from your account, plus weekly |
| Custom prices / offline prices | ✓ ccusage.json, --offline | ✗ |
| Browse and read past sessions | ✗ | ✓ (free, any age) |
| File diffs of agent edits | ✗ | ✓ (free: same day) |
| Search across sessions | ✗ | ✓ (free: full results for 3 days) |
| Resume, fork, export sessions | ✗ | ✓ Markdown export (3 free), fork is Pro |
| Source code | Open (GitHub) | Closed |
Why ccusage and CCAssist numbers can differ#
People comparing tools usually ask this next, so I ran both on the same machine: Claude Code usage for 24–30 September 2026, grouped by local day.
| Day | ccusage | CCAssist | Tokens |
|---|---|---|---|
| 24 Sep | $168.72 | $168.72 | identical |
| 25 Sep | $72.97 | $72.97 | identical |
| 26 Sep | $67.69 | $67.69 | identical |
| 27 Sep | $93.56 | $93.56 | identical |
| 28 Sep | $160.60 | $170.38 | CCAssist +28.1M |
| 29 Sep | $296.12 | $296.12 | identical |
| 30 Sep | $77.90 | $77.90 | identical |
| Week | $937.56 | $947.34 |
These are estimates computed from token counts and published API prices. On a Pro or Max subscription you don't pay per token, so treat them as "what this would have cost on the API".
Six days match to the token. That's not luck: both tools remove duplicate lines the same way. Claude Code often writes one streamed response as several JSONL lines (JSONL: one JSON object per line) that share a message.id and requestId. Both tools keep one line per pair, the one with the most tokens. CCAssist modelled this on ccusage, and its 0.7.1 release fixed a case where streamed messages were counted twice.
Here is what does cause gaps, with the cause I confirmed for each:
- A response copied into a second session file. The 28 September gap came from one session that was continued under a new session ID: its file started with copies of 148 responses already in the earlier session's file. ccusage removes duplicates across all sessions, since, as its Claude adapter notes say, "Claude Code can copy one response into multiple session transcripts". CCAssist removes them within each session file, so it counted those 148 responses twice. Here ccusage's total is the right one.
- A model the price table doesn't know yet. For Codex CLI on 30 September, both tools counted the same 22.8M tokens, but CCAssist showed $0.02 against ccusage's $4.24. Most of that day ran on a newer model that the extension's price table didn't list yet, so it was priced at $0. ccusage takes prices from LiteLLM's model list, fetched at run time unless you pass
--offline. It prints a "Missing pricing" warning when a model isn't listed. CCAssist uses a built-in table that it refreshes from ccassist.dev. /btwside questions. Claude Code's side questions can write a side log that repeats the parent's messages. ccusage drops those repeats (the fix for issue #913).- Time zones. Both tools grouped by my local time, which is why the days line up. Pass
--timezone UTCto ccusage if you compare reports from machines in different zones.
Across Codex CLI for the same week, 4 of 6 active days matched exactly. One was the price-table gap above; the other was a single resumed session that Codex later archived, which the two tools placed differently.
Neither tool is your bill. Claude Code's own session cost (cost.total_cost_usd in the status line data) is also computed on your machine at list price, and the docs say it may differ from what you're actually charged. For more on reading these numbers, see our Claude Code usage tracker guide.
Which one should you use?#
Go down the list and stop at the first line that fits:
- You want a number in a script, cron job, CI log or dashboard of your own: ccusage with
--json. - You want cost or the 5-hour block under your Claude Code prompt:
ccusage statusline. For the real limit percentages without any tool, Claude Code passesrate_limits.five_hour.used_percentageandrate_limits.seven_day.used_percentageto status line scripts (Pro and Max plans). - You work over SSH or never open an editor: ccusage.
- You use Gemini CLI, Amp, Goose, Kimi or another agent CCAssist doesn't read: ccusage.
- You want to know which session burned the tokens, read it, and see what it changed: CCAssist.
- You want charts, a weekly summary, or your real 5-hour and weekly quota in the editor's status bar: CCAssist.
- You want to find or restore work from an old session: CCAssist (and see where Claude Code stores conversations for what's on disk).
- Several of these: use both. Neither writes to the session files, so they don't interfere.
Where CCAssist fits#
CCAssist is for the moment after ccusage tells you a day cost $170 and you want to know why. It opens that day's sessions, shows the transcript and the files each one changed, and links the tokens back to the model and session that used them.
On the free tier you can browse sessions of any age, and you get 7 days of usage charts, same-day diffs, full search results for the last 3 days, and the live quota readout. Pro (from $4.99 a month or $49.99 lifetime, see pricing) removes the time limits and adds session fork, conversion between Claude Code and Codex, and bulk export. It doesn't replace ccusage for scripting, its status line or its wider agent list. Also note the gap above: until the extension removes duplicate responses across session files, a continued session can push its daily total above ccusage's.
How we compared#
- ccusage 20.0.26, run with
npx ccusage@lateston macOS on 1 October 2026; help text,claude daily --json,codex daily --jsonand--instancesoutput inspected. Duplicate-handling and pricing behaviour read from the source. - CCAssist 0.7.5 (Marketplace release of 26 September 2026); features and free vs Pro limits checked in the extension source.
- The cost tables compare the two tools' daily totals for the same local session files on one machine. Only counts and totals were compared; no session content is shown.
- Download and star counts are from npm and GitHub on the dates stated.
Install CCAssist from the VS Code Marketplace and the side panel lists your Claude Code and Codex sessions from the last week, with usage charts and the file changes behind each one.
Frequently asked questions
- Is CCAssist a replacement for ccusage?
- Only if you want usage inside VS Code next to your chat history and file diffs. For JSON output, scripts, CI and the Claude Code status line, ccusage is the better tool, and the two can run side by side.
- Why do ccusage and CCAssist show different costs for the same day?
- Both remove duplicate streamed lines the same way, so most days match exactly. Gaps come from responses copied into a second session file (ccusage counts them once, CCAssist once per file) and from price tables that don't know a new model yet.
- Does ccusage show my real Claude weekly limit?
- No. ccusage blocks groups your local logs into 5-hour windows and estimates cost. The real 5-hour and weekly percentages come from your account; Claude Code passes them to status line scripts, and CCAssist reads them for its status bar.
- Is ccusage free?
- Yes. ccusage is MIT-licensed open source and runs with npx ccusage@latest. CCAssist is free for browsing and searching sessions, with 7 days of usage charts and same-day diffs; Pro starts at $4.99 a month.
claude-codecodexusagecostcomparison