Claude Codeの使用料金を可視化するCLIツール「ccusage」を作った
はじめに
みなさん、Claude Code使ってますか?私は毎日使っています。
Vibe Codingガチアンチだったのですが、Claude Code + Sonnet 4の組み合わせがあまりにも強力すぎて、今では手放せません。
ところで Claude Max プラン、最高ですよね。月額$100で使い放題。
でも、ふと思いませんか?
「これ、従量課金だったらいくらかかってたんだろう...?」
そんな疑問を解決し、「Maxプランでこんなに得してる!」とニヤニヤするためのCLIツール「ccusage」を作りました。
きっかけ
このツールを作るきっかけになったのは、@milliondevさんの以下の記事です。
この記事では、Claude Codeがローカルに保存しているJSONLファイルをDuckDBで分析する方法が紹介されています。
ただ、毎回DuckDBでクエリを書くのは少し面倒ですし、サクッと使用状況を確認したいと思い、CLIツールとして実装しました。
ccusageでできること
1. インストール不要で即実行
# npxで実行
npx ccusage@latest
# bunxでも実行可能
bunx ccusage
インストールしなくても、上記のコマンドを実行するだけですぐに使用状況を確認できます。
2. 日別レポート
日付ごとのtoken使用量とコストを表形式で表示します。
ccusage
# または
ccusagge daily
実行結果の例:
╭──────────────────────────────────────────╮
│ │
│ Claude Code Token Usage Report - Daily │
│ │
╰──────────────────────────────────────────╯
┌──────────────────┬──────────────┬───────────────┬──────────────┬────────────┐
│ Date │ Input Tokens │ Output Tokens │ Total Tokens │ Cost (USD) │
├──────────────────┼──────────────┼───────────────┼──────────────┼────────────┤
│ 2025-05-30 │ 277 │ 31,456 │ 31,733 │ $17.45 │
│ 2025-05-29 │ 959 │ 39,662 │ 40,621 │ $16.37 │
│ 2025-05-28 │ 155 │ 21,693 │ 21,848 │ $8.33 │
├──────────────────┼──────────────┼───────────────┼──────────────┼────────────┤
│ Total │ 11,174 │ 720,366 │ 731,540 │ $336.17 │
└──────────────────┴──────────────┴───────────────┴──────────────┴────────────┘
3. セッション別レポート
プロジェクトとセッションごとの使用量を確認できます。どのプロジェクトが一番コストがかかっているかが一目瞭然です。
ccusage session
4. 期間フィルタリング
特定の期間のデータだけを表示できます。
# 2025年5月25日から5月30日までのデータを表示
ccusage --since 20250525 --until 20250530
5. JSON出力
プログラムで処理しやすいJSON形式での出力もサポートしています。
jq
などのツールと組み合わせて、さらに詳細な分析が可能です。
ccusage daily --json | jq .total
Claude Codeのデータ構造
Claude Codeは使用履歴を~/.claude/projects/
以下にJSONL形式で保存しています。各行には以下のような情報が含まれています:
- メッセージの全て
- タイムスタンプ
- 入力token数
- 出力token数
- 使用モデル
- プロジェクト名
- セッションID
などなど...
ccusageはこれらのファイルを読み込んで集計し、見やすい形で表示します。
コスト計算
料金計算はlitellmが提供しているデータを実行時に参照し、モデルごとのtoken単価を取得しています。これにより、最新の料金体系に対応できます。
また、モデルの種類によってtoken単価が異なりますが、ccusage
ではモデルごとに集計し、合計コストを算出しています。
そのため、元の記事よりもより正確なコスト計算が可能です。
追記: コストの計算は、logにあるcostUSD
をそのまま足し合わせたものなので、モデルごとのtoken単価を参照する必要はありませんでした。現在はその機能は削除されています。
制限
ccusage
はローカルのClaude Codeの使用履歴ファイルを直接読み込みコストを計算します。そのため、複数マシンでClaude Codeを使用している場合、各マシンの履歴ファイルを統合する必要があります。
もしアカウント全体での使用状況を把握したい場合は、Dropboxなどを使用して履歴ファイルを同期することをおすすめします(もちろんこれは公式に推奨されている方法ではないため、自己責任で行ってください)。
まとめ
ぜひ一度お試しください!
npx ccusage@latest
そして、できたら #ccusage
のハッシュタグをつけて、あなたの使用状況をTwitter/BlueSkyにシェアしてください笑
リンク
謝辞
このツールの開発にインスピレーションを与えてくださった@milliondevさんに感謝します。元記事のDuckDBを使った分析手法は非常に勉強になりました。
余談
えー、6日ですでに362ドル使ってますね...。
追記
このツールは97%ほどはClaude Codeに書いてもらいました。自分は環境構築とやりたいことを指示して、ライブラリのドキュメントを渡して、自分でやった方が早そうな軽微な修正をし、gitのコミットメッセージを整え、npmへの公開作業を行っただけです。
lintやformatter、テストを適切に設定していれば、それにそってClaude Codeが自律的にコードを記述、修正してくれるので、非常に楽でした。
Vibe Codingアンチでしたが、時代が変わっていくのをこの1週間で実感しています。
追記2
継続的な開発を支援してくださる方は、ぜひGitHub Sponsorsでのサポートをお願いします!
Discussion
機能追加等の要望はぜひGitHubのIssueにお願いします!
ツール使わせてもらいましたありがとうございます!
となりbunのインストールが必要でしたのでメモ。
bun内部で必要でした!?何かがおかしいですね
直します
shebangがミスってたっぽいです
npx ccusage@latest
もう一度試してみてください0.1.12で修正済みです
報告ありがとうございます
最高に便利なツールありがとうございます!
「Claude Opus 4 limit reached, now using Sonnet 4」が増えてきて、そんなに使ったかなぁ?と思い、調べてみたらめちゃくちゃ使ってました(笑)