👀

ccusageを使ってClaude Codeの直近の利用状況を常にリアルタイムでモニタリングする方法

に公開

書いたあとに気づいた:ここで書いていること全部ccusage単体で出来ていたわ

https://x.com/shinshin86/status/1939693849552843260

直近でどれぐらいClaude Codeを使っているかを確認するためのワンライナー

直近でどれぐらいClaude Codeを使えているかを確認したくなったので、直近時間(※)のClaude Codeのコストを表示させるワンライナーを作成しました。
※18:00に実行したら18:00~19:00までの間のClaude Codeのコストが表示されます。

直近でどれぐらいClaude Codeを使えている?

このコマンドは以下のワンライナーで実行可能です。

bash <(curl -sSL https://gist.githubusercontent.com/shinshin86/11841dbf55197fcb7b2691e8756aecf1/raw/eec181ef8d46327ff69c31f39e5c6602648197a6/show-cc-1-hour-cost.sh)

ccusageで直近の時間のコストを取得する方法

上ではcurlで取得しているコードを実行、というやや気持ち悪い手法を使っていますが、ここで取得しているコードの中身は以下となります。

https://gist.github.com/shinshin86/11841dbf55197fcb7b2691e8756aecf1

ccusageでは以下のようにblocksコマンドに、--session-length 1のオプションを付けて実行することで1時間単位での利用コストを取得することが可能です。

また --since YYYYMMDD で今日の日付を指定することも可能です。

npx ccusage@latest blocks --since 20250630 --session-length 1

この場合

  • 本日の
  • 1時間単位の利用コスト

を取得できます

かつ ccusage には --json オプションがあり、これをJSONで取得できるので、よりプログラマブルに扱うことができます。

npx ccusage@latest blocks --since 20250630 --session-length 1 --json

以前作成して、ありがたいことに沢山の方に利用していただいた oh-my-logo でもccusage--jsonと組み合わせて以下のようなことをしていました。
(今回もoh-my-logoを利用している形なので、やっていることはほとんど同じですね)

https://x.com/shinshin86/status/1938207133839069385

oh-my-logoを作った背景などについては以下で書いているのでご覧ください。

https://zenn.dev/shinshin86/articles/e02fac5d3ae75a

Claude Codeの直近の利用状況を常にリアルタイムでモニタリングする方法

ここまでは直近時間のコスト監視を表示するだけでしたが、このスクリプトを1分間隔で更新していくことで常に現在の直近での利用状況を監視しておき、モニターの隅っこに配置しておきたいと思って作ったのが以下です。

while true; do
  clear
  bash <(curl -sSL https://gist.githubusercontent.com/shinshin86/11841dbf55197fcb7b2691e8756aecf1/raw/eec181ef8d46327ff69c31f39e5c6602648197a6/show-cc-1-hour-cost.sh)
  sleep 60
done

上のコマンドを実行すると以下のように常に直近のClaude Code利用コストが表示されます。

0分でリセットされますが、直近でどれぐらい使い込めたかな?と確認する指標になるので、Claude Codeを沢山使い込んでいきたい人には楽しめるかもしれません

こんなウィンドウを片隅において作業していきます

Discussion