Claude Code で作業してから昼休みに入り、戻ってメッセージを送ると、最初の返事がやけに遅く、使用量もぐっと減っている。よく言われる原因はプロンプトキャッシュで、期限が切れると次のメッセージは会話全体を処理し直す必要があります。
ただ、キャッシュが何分もつのかは記事によって「5分」だったり「1時間」だったりします。実際に待って測った例が見つからなかったので、自分で測ってみました。
測り方
- Claude Code 2.1.295、Opus 5.5、effort medium、サブスクでログイン、ヘッドレス(-p)、MCP なし
- 1回目:ブロック崩しゲームを index.html 1つで作らせる
- 0、4、6、15、30、55、65分待つ
- 同じセッションを続けて(--resume)「ボールを赤く、少し速くして」と頼む
- 休憩時間ごとに別セッション、1分以内に一斉に開始、2回実施(2026年10月20日)
キャッシュが5分なら4分と6分の間で、1時間なら55分と65分の間で費用が跳ね上がるはずです。
結果
休憩後のメッセージの最初のモデル呼び出し、2回の平均です。費用は Claude Code が返す API 定価換算の金額です。
| 休憩時間 | キャッシュから読み込み | キャッシュに書き込み | 次のメッセージの費用 |
|---|---|---|---|
| 0分 | 41,436 | 496 | $0.039 |
| 4分 | 43,232 | 466 | $0.042 |
| 6分 | 42,440 | 496 | $0.042 |
| 15分 | 43,076 | 502 | $0.041 |
| 30分 | 42,636 | 494 | $0.043 |
| 55分 | 43,183 | 502 | $0.043 |
| 65分 | 15,925 | 27,460 | $0.253 |
55分までは何も変わりませんでした。65分ではキャッシュが切れて27,460トークンを書き直す必要があり、同じメッセージが 507%高く なりました。2回とも同じ結果で、記録に残ったキャッシュ書き込みはすべて ephemeral_1h でした。
なぜ1時間で、いつ5分になるのか
Claude Code の公式ドキュメントによると、初期設定はログイン方法で変わります。
| ログイン方法 | メインの会話 | サブエージェント・compact など |
|---|---|---|
| サブスク、プランの使用量の範囲内 | 1時間 | 5分 |
| サブスクで使用量クレジットを使用中 | 5分 | 5分 |
| API キー、クラウドプロバイダー | 5分 | 5分 |
Opus 5.5 では1時間キャッシュの書き込みが100万トークンあたり$8(通常の入力より+100%)、読み込みが$0.20(-95%)です。期限切れのコストは会話の大きさに比例し、20万トークンの会話なら書き直しだけで約$1.60かかります。
長い休憩の前に
今回測ったのは休憩時間だけで、以下は公式ドキュメントの内容です。
- 1時間以内: そのままで大丈夫。
- 長く休んで同じ作業を続ける: 席を立つ前に /compact。キャッシュが有効なうちなら安く、戻ってから書き直す量も小さくなります。
- 長く休んで別の作業に移る: /clear(費用はかからないとされています)。
- 確認: v2.1.251 から /usage でキャッシュが warm か cold か分かります。
-
時間を自分で決める: promptCacheTtl(5m か 1h、v2.1.242 以降)。
claude -p "hello" --output-format jsonの ephemeral_1h_input_tokens / ephemeral_5m_input_tokens で今の設定を確認できます。
小さなプロジェクト1つ、2回の測定なので、数字は一例として見てください。料金表、大きなセッションでの計算、測定の限界まで書いた記事はこちらです。
元の記録と CSV は CC BY 4.0 で公開しています。