カテゴリー / 利用制限・トークン

Claude Codeのトークンとは?4つの種類と毎ターン送られる中身

この記事の目次

Claude Codeのトークンとは、Claude Codeがモデルとやり取りする量を数える単位で、料金や使用量を理解するための物差しです。公式ドキュメントは冒頭で「Claude Code charges by API token consumption」と書いています。押さえておきたいのは、トークンは「今回入力した文字」だけで決まらないことです。Claude Codeはターンのたびに、それまでの会話、CLAUDE.md、読んだファイルをまとめてモデルに送り直します。そのため同じ一行の質問でも、セッションが長くなるほど消費が増えます。

この記事では、Claude Codeのトークンが何に使われ、どう数えられ、どこに表示されるのかを、公式ドキュメントの記述に沿って整理します。節約の具体策や上限の話は別の記事にまとめてあるので、ここでは「トークンとは何か」を理解することに絞ります。

Claude Codeのトークンとは、毎ターン何を送った量なのか?

Claude Codeのサポート記事は、1ターンごとにモデルへ送られるものを次の3つに分けています。

  1. それまでの会話: このセッションでのすべての過去のメッセージ
  2. プロジェクトの文脈: CLAUDE.mdと、Claudeが読んだファイル
  3. 新しいプロンプト: いま入力した指示内容

このうち最も速く増えるのは1つ目の会話です。サポート記事は、Claude Codeで20ファイルを読んで15個の差分を出した長いデバッグセッションは、その後のすべてのメッセージでそれを運び続けると説明し、そこがコストとコンテキスト上限の両方の出どころだとしています。

こうなる理由は、モデルがリクエストをまたいで何も覚えていないからです。プロンプトキャッシュの公式ページは、Claude Codeが毎回システムプロンプト、プロジェクトの文脈、過去のメッセージとツールの実行結果、新しいメッセージをすべて送り直すと書いています。さらに、Claudeがツールを使うたびに、その実行結果を載せた別のリクエストも送られます。

見落としやすいのが、ターミナルに見えている量と、実際に送っている量の差です。公式の例では、ターミナルには「Read auth.ts」と表示される一方、ファイルの中身はClaudeだけが見ています。読んだ内容はコンテキストに入り、その後のターンでも送られ続けます。画面がすっきりしていても、裏ではかなりの量が積み上がっていることがあります。

トークンにはどんな種類があり、何が違うのか?

/usage コマンドのSessionブロックには、モデルごとのトークン内訳が出ます。公式ドキュメントの表示例では claude-sonnet-4-6: 1.2k input, 5.3k output, 940.0k cache read, 50.0k cache write ($0.55) という1行になっています。この4つの区分を、公式の説明に沿って並べると次のとおりです。

区分 公式の説明
input 入力の合計を構成する3項目の1つ
cache write そのターンにキャッシュへ書き込まれた入力。キャッシュ書き込み単価で請求
cache read そのターンにキャッシュから提供された入力。通常の入力単価より低いキャッシュ単価で請求
output Claudeが生成した出力。応答のテキスト、ツール呼び出し、思考を含む

Claude Codeのステータスライン用の公式リファレンスでは、入力の合計は input、cache write、cache read の3つの和として定義されています。つまり上の3行はどれも「モデルに送った量」で、出力だけが「モデルが返した量」です。

表示例では cache read が他より桁違いに大きくなっています。これは前の見出しで見た「毎回すべて再送信する」仕組みの結果です。キャッシュがあると、APIは処理済みの部分を再利用し、再読み込み分をキャッシュ単価で請求して、変わった部分だけをフルに処理します。公式は、読み出しに対して書き込みの比率が低ければキャッシュ効率が高い状態になっており、書き込みがターンごとに高止まりするなら送信内容の先頭部分で何かが変わっている、と説明しています。

思考トークンは出力として数えられる

拡張思考(応答前の推論)で使うトークンも、別枠ではなく出力に含まれます。公式ドキュメントは「Thinking tokens are billed as output tokens」と明記し、既定の予算はモデルによってはリクエストあたり数万トークンになりうると書いています。拡張思考は既定で有効です。

Claude Codeの思考の量は effort(推論の深さの設定)で変わります。用語集には、effortが高いほど思考トークンが増えて推論が深くなり、低いほど速く安くなるとあります。/effort か /model でeffortを下げる、/config で思考を無効にする、という調整ができます。ただしOpus 5.5、Sonnet 5.5、Haiku 5.5、Fableモデルは常に拡張思考を使うため、思考を無効にはできません。

コンテキストウィンドウとトークンはどう関係するのか?

コンテキストウィンドウは、1つのセッションでモデルが一度に扱える量の上限で、これもトークンで測ります。Claude Codeの用語集は、コンテキストウィンドウを会話履歴、ファイルの中身、コマンドの出力、CLAUDE.md、auto memory、読み込まれたスキル、システム指示を保持する「作業メモリ」と定義しています。

つまり「トークン」が量の単位で、「コンテキストウィンドウ」がその量を入れておく器の大きさです。サポート記事によると、Claude Codeで使える主なモデルの窓の大きさは次のとおりです。

モデル Claude Codeでのコンテキストウィンドウ
Claude Opus 5.5 1M tokens
Claude Sonnet 5.5 1M tokens
Claude Haiku 5.5 1M tokens

コンテキストの使用率は入力側だけで計算され、出力は含まれません(ステータスラインの context_window.used_percentage の定義)。器が埋まりそうになると、Claude Codeは古い履歴を要約して空きを作ります(自動コンパクト)。モデル設定のドキュメントによると、もともと1Mの窓を持つモデルは、埋まりきる前の約967Kトークンで既定どおりコンパクトします。

ここで区別しておきたいのが、コンテキストの警告と使用制限の違いです。公式ドキュメントは、コンテキストや自動コンパクトの警告は「not a usage limit」だと書いています。器がいっぱいに近いという知らせであり、プランの使用量を使い切ったという意味ではありません。コンパクトの仕組みと手動での使い方はコンテキストウィンドウの記事で扱っています。

何も入力していなくても、トークンは使われているのか?

使われています。理由は2つあります。

1つ目は、最初のプロンプトより前に読み込まれる内容です。コンテキストウィンドウの公式解説には、入力する前にCLAUDE.md、auto memory、MCPツールの名前、スキルの説明がすべてコンテキストに読み込まれるとあります。送信内容の先頭には、ツール定義を含むシステムプロンプトも入ります。ただしMCPのツール定義は既定で遅延読み込みになっていて、Claudeが特定のツールを使うまでは、ツール名とサーバーの指示だけがコンテキストに入ります。

CLAUDE.mdはセッション開始時に読み込まれるため、特定の作業向けの長い手順を書いておくと、関係のない作業をしている間もそのトークンが入り続けます。公式は、要点だけに絞ってCLAUDE.mdを200行未満に保つことを勧めています。書き方はCLAUDE.mdの書き方の記事、MCPの仕組みはMCPの記事を参照してください。

2つ目はバックグラウンドの処理です。公式ドキュメントによると、claude --resume 用に過去の会話を要約する処理や、/usage などのコマンドが状態を確認するリクエストで、操作していなくても少量のトークンを使います。量は通常セッションあたり0.04ドル未満とされています。

なぜ短い質問でもトークンを多く消費することがあるのか?

一日中開いたままのセッションでは、一行の質問でも会話全体分の使用量がかかります。公式ドキュメントはこの点をそのまま書いています。キャッシュ単価で読み直すとはいえ、会話全体を毎回送る仕組みである以上、送る量は会話の長さに応じて増えます。

もう1つの要因はキャッシュが使えなくなることです。Claude Codeのキャッシュはリクエストの先頭からの完全一致で判定され、途中が1か所でも変わると、それ以降はすべて計算し直しになります。公式ページは、次の操作で次のリクエストがキャッシュの一部または全部を外すことがあり、一度だけ遅く高くつくターンが発生すると説明しています。

  • モデルの切り替え
  • effortレベルの変更
  • fast modeの有効化
  • MCPサーバーの接続や削除
  • プラグインの有効化や無効化
  • ツール全体の拒否
  • 会話のコンパクト
  • 画像を大量にためること
  • Claude Codeのアップグレード

時間もキャッシュに影響します。キャッシュの寿命は、サブスクリプションでは1時間、usage credits(追加利用分)を使っている間は5分、APIキーやクラウドプロバイダーでは既定で5分です。休憩を挟んで戻った最初のメッセージは、キャッシュが切れていれば会話全体を処理し直します。

同じ理由で、/compact もタダではありません。公式は、/compact は要約する会話そのものを読むため、大きなコンテキストのコンパクトはそれ自体が大きなリクエストになると書いています。続きが不要で一から始めたいなら、公式は /clear を無料(costs nothing)と説明しています。

自分のトークン消費はどこで見られるのか?

Claude Codeで見る場所は3つあり、それぞれ数えているものが違います。

  • /usage: セッションの費用とトークン内訳(前述の4区分)、プランの使用制限、活動統計を表示します。/cost と /stats は /usage の別名です。Sessionブロックの金額は定価からローカルで計算した推計で、Pro・Maxでは請求上の意味はないと公式は注記しています。集計は /clear でリセットされます。
  • /context: いまのコンテキストの中身を、カテゴリ別の内訳と最適化の提案つきで表示します。どのCLAUDE.mdやauto memoryが読み込まれたかも分かります。
  • スピナー横の数字: 作業中にスピナー横に出るトークン数(公式の例は Deciphering… (10m 27s · ↓ 5.5k tokens))は、現在のターンが生成した出力内容の概算です。思考やフォアグラウンドのサブエージェントの出力は含みますが、送信した会話履歴やプロンプトは含みません。ターンの開始時とコンパクト時にリセットされます。

よくある混乱は、スピナーの数字が小さいのに使用量が増える、というものです。これはスピナーが出力しか数えておらず、送信分(会話の送り直し)が表示に含まれないためです。全体を見るなら /usage、器の中身を見るなら /context を使います。

表示の見方をさらに詳しく知りたい場合はトークン使用量の確認方法の記事、残量の見方は残りトークンの記事にまとめています。

サブスクリプションとAPIキーで、トークンの意味は変わるのか?

公式の説明では、サブスクリプションはプランの使用制限、APIキーは従量課金として扱われます。

ログイン方法 トークンが効く先 使い切ったとき
有料プランのサブスクリプション プランの使用制限(5時間ごとのセッション制限と週ごとの制限) リセットを待つかプランを上げる。usage creditsが有効なら続けられる
APIキー(Console、Bedrock、Vertex、Microsoft Foundry) トークン単位の従量課金 自動では止まらず、使った分が請求される

サブスクリプションの使用制限は、claude.ai、Claude Code、Claude Desktopで共有されます。Claude Codeでトークンを多く使えば、チャット側で使える量も減ります。

また、サポート記事は使用制限と長さ制限を分けて説明しています。使用制限は一定期間にどれだけ使えるか、長さ制限(コンテキストウィンドウ)は1つの会話をどこまで長くできるか、です。トークンはこの両方の物差しですが、ぶつかっている壁は別物です。制限の仕組みは使用制限の記事とトークン上限の記事、料金は料金体系の記事で扱っています。

トークンの仕組みを知ると、使い方の何が変わるのか?

「毎ターン全部を送り直す」「キャッシュは先頭一致」という2点が分かると、公式が勧める習慣の理由が見えてきます。

  • 関係のない作業に移るときは /clear: 前の話題の履歴を、以後のすべてのターンで運ばずに済みます。サポート記事は、次のプロンプトがまっさらなターミナルでも意味が通るなら、送る前にクリアするという目安を示しています。
  • モデルとeffortはセッションの最初に決める: 公式は、作業の途中で変更を減らすほどキャッシュのヒット率が上がると説明しています。
  • ファイルは貼らずにパスで示す: 貼った内容はセッションの最後までコンテキストに残ります。サポート記事は、@ を付けるとファイル全体とそのCLAUDE.mdツリーが入るため、節約したいときは @ なしでパスを書くよう注記しています。
  • 大量の出力が出る作業はサブエージェントに渡す: サブエージェントは別のコンテキストウィンドウで動き、要約だけがメインの会話に戻ります。ただしサブエージェント自身のリクエストも使用量を消費します。

具体的な節約の手順はトークン節約の記事、モデルごとの違いはモデルの違いの記事を参照してください。

この記事のコマンド名や表示は2026年10月時点の公式ドキュメントに基づいています。Claude Codeは更新で表示が変わることがあるため、手元と違うときは claude --version でバージョンを確認してください。この記事では、1トークンが日本語や英語の何文字に当たるかの換算値は示していません。

トークンを意識した使い方を身につけるには

トークンの仕組みは、読むだけでなく、実際の作業で /usage や /context を開きながら確かめると定着します。月額1,980円から参加できるNO WAVEの学習コミュニティ「AI駆動ラボ」では、Claude Codeを日々の作業に組み込みながら、こうした運用の勘所を学べます。