gClaudeTokenMonitor (ctm) は、Claude Code のセッションログを差分読みして トークン消費量とコストを 1 秒ごとに更新表示するターミナルモニター。 Go 標準ライブラリのみ・外部依存ゼロ・単一 exe。 タスクバー常駐 UI と、5 分ごとの公式プラン使用率の記録つき。

タスクバーに常駐するモニタ・ウィンドウ。水位=プラン使用率
このページのスクリーンショットの数値は、デモ用に合成した計測データです。
WHAT IS THIS
Claude Code は全セッションの応答を ~/.claude/projects/**/*.jsonl に書き出している。
ctm はそのログを tail(差分読み)して、assistant メッセージの usage を集計する。
計測対象のセッションには一切触れないので、観測者効果が起きない。
Claude Code のログは同一メッセージを複数行に重複して書く(実測 1.7 倍の水増し)。
ctm は message.id + requestId をキーに重複を排除する。
キャッシュの 5 分書き込み / 1 時間書き込み / 読み出しも分けて数え、
それぞれ 1.25x / 2.0x / 0.1x のレートで換算する。
DEMO 01 — TASKBAR
CtmMonitor はタスクバーに常駐する小さな窓。5 時間制限(手前・青)と週間制限(奥・紫)を 2 層の水槽として描く。消費が発生するたびに、発生元のプロジェクト名を添えた +N フロートが浮かび上がる。 ドラッグすると水面が揺れる物理演出つき。





クリックで表示単位(Auto / K / M / RAW)とレイアウトを切替。右クリック →「Windows 起動時に開始」で常駐化。
DEMO 02 — LIVE

ターミナルで動く CLI 版モニタ。1 秒ごとに更新
レートリミットの実体である 5 時間ブロックを自動検出し、 プログレスバー・バーンレート(tok/min)・ブロック終了時点の着地見込みを表示する。 直近 60 分はスパークラインで、どの瞬間に燃えたかが分かる。
更新は 1 秒ごと。1〜6 でビュー切替、r で再スキャン、 q で終了。

DEMO 03 — VIEWS
ライブ・日別・モデル別・プロジェクト別・セッション別・5h ブロック別。 「昨日いくら使ったか」「どのプロジェクトが食っているか」「いま動いているセッションはどれか」が 即答できる。




DEMO 04 — SUB-MONITOR
M5Stack ATOMS3R(128×128 IPS・IMU)を表示専用のサブモニタとして使える。 PC 側の CtmMonitor が 200ms ごとに状態を USB へ送り、デバイス側は 2 層の水槽と スプリングカウンタを 30fps で描画する。本体を物理的に回すと、表示は 「ボールが転がるように」重力の向きへゆっくり追従する。
デバイスへのファーム書き込み・更新もアプリの右クリックメニューから行える。
esptool や Python の導入は不要で、本体のボタン操作も要らない。zip に同梱の
ファーム(atom-fw\)を、新品にはそのまま書き込み、接続中のデバイスが
古いときだけ「更新」項目が有効になる(勝手に書き換えることはない)。

DEMO 05 — ALWAYS-ON

常駐レコーダー ctm record が全セッションを ~/.ctm/ に
アーカイブし続ける。Claude Code を何個立ち上げても、途中で新しいセッションを開いても、
設定なしで記録される。
計測はあとから期間を切り出すだけ:
$ ctm query -from "13:00" -session 1a2b3c4d
再起動してもバイトオフセットから再開(取りこぼし・二重記録なし)。 UI の「過去ログ」からは、日別明細とプロンプトごとの内訳も追える。
DEMO 06 — PLAN LIMITS

Claude Code が画面に出す「5 時間制限 / 週間制限」の公式使用率(%)を Anthropic の API から取得し、同じ時間窓で ctm が実測した消費と並べて記録する。 「何 % のとき、いくら消費していたか」が残るので、窓の容量を逆算できる。
$ ctm limits プラン使用制限 max / default_claude_max_20x 5時間制限 使用率 0.0% ............................ リセット 4h55m後 (08-22 20:09) 実測消費 7 メッセージ / 3.28M トークン / $2.074 * 週間・全モデル 使用率 8.0% ##.......................... リセット 106h45m後 (08-27 01:59) 実測消費 1,036 メッセージ / 275.44M トークン / $231.58 窓の容量 3.44G トークン / $2895 相当(この使用率からの逆算) 残り $2663 相当
常駐レコーダーが既定で 5 分ごとにサンプリング。複数マシン運用では 「% はアカウント全体・実測はそのマシンの分だけ」という非対称を利用して、 他マシンの消費も推定できる。
FEATURES
VS
| Claude Code の /cost 等 | 都度実行の集計 CLI | ctm | |
|---|---|---|---|
| リアルタイム表示 | セッション内のみ | ✕(実行した瞬間だけ) | ◯ 1 秒更新・全セッション横断 |
| 常時記録 | ✕ | ✕ | ◯ 常駐レコーダー(追記専用) |
| 測り始めの準備 | 不要 | その都度実行 | 不要(常に記録済み。あとから切り出す) |
| 公式使用率(%)との突合 | % 表示のみ | ✕ | ◯ % と実測消費を同じ行に記録 |
| キャッシュ種別ごとの料金レート | — | ツールによる | ◯ 5m/1h/read を分離(費用が 20 倍違う) |
| 導入 | — | ランタイムが要る場合あり | zip 展開のみ・依存ゼロ |
コスト表示は Anthropic 公開リスト価格に基づく推定値。定額プラン(Pro / Max)では実際の請求は発生しない。
INSTALL
必要なのは、その PC で Claude Code を使っていること。
プラン使用率(%)も見るなら、claude にログイン済みであること。
Go / .NET / Python のインストールは不要。
ctm-*-windows-amd64.zip をダウンロードC:\tools\ctm)に「すべて展開」(フォルダ構成は変えない)ctm-0.2.0-windows-amd64.zip ├── CtmMonitor.exe ← これをダブルクリック ├── bin\ctm.exe CLI / レコーダー(自動起動される) ├── atom-fw\ ATOMS3R 用ファーム(メニューから書き込む) ├── README.md / INSTALL.txt / LICENSE
$ .\bin\ctm.exe status レコーダー: 稼働中 記録先 C:\Users\you\.ctm 本日の記録 588 メッセージ / 100.77M トークン / $242.97
$ winget install Git.Git GoLang.Go $ git clone https://github.com/GridJapan/gClaudeTokenMonitor.git $ cd gClaudeTokenMonitor $ .\build.ps1 $ .\bin\CtmMonitor.exe
必要なのは Go 1.22+ と Git だけ。CtmMonitor は Windows 標準の csc.exe でビルドされる。