Claudeのトークンとは?Claude Codeの料金計算
Claudeの1トークンは数文字です。Claude Codeの1ターンが80,000 tokensになる理由や、API keyを5分放置すると次のターンが5倍になる仕組みを解説します。
Claude のトークンとは
トークンは、Claude が読み書きするテキストの単位です。単語の一部に相当します。Anthropic の用語集では、Claude Opus 4.7 より前のモデルで、1 トークンはおよそ 3.5 個の英字とされています。現在の tokenizer では、Anthropic が 1M tokens を約 2.5M characters としているため、2.5 個に近い値です。いずれにしても、スペースと句読点を含めると、1 単語あたり 1 トークンを大きく超えます。そのため、文章 1,000 words は 1,300 tokens を余裕で超えます。コードは 1 行あたりのトークン数がさらに多くなります。中かっこ、演算子、アンダースコア、インデントによって、英語よりも 1 character あたりの分割数が増えるためです。数百行のソースファイルでも、通常は数千 tokens になります。エージェントが読む 2,000-line file は、新しいコードを 1 行も書く前に、5 桁の tokens を消費します。
tokenizer については、2 つの点で誤解が生じやすくなります。1 つ目は、tokenizer がモデルごとに異なることです。2026 年 10 月時点で、Claude Opus 4.7 と、それ以降のすべてのモデル(現在の Fable 5.1、Opus 5.5、Sonnet 5.5、Haiku 5.5 を含む)は、従来の Haiku 4.5 などの Claude models より、同じテキストをおよそ 30% 多くの tokens に分割する新しい tokenizer を使用しています。正確な増加率は内容によって異なります。この変更により、token あたりの価格が上がっていなくても、tokens で見積もる量は変わります。2 つ目は、tiktoken です。多くのブログ記事で使われるこの library は OpenAI の tokenizer であり、Claude の tokenizer ではありません。そのため、そこで得られるカウントは Anthropic の請求値と一致しません。信頼できるカウントは count_tokens endpoint によるものだけです。詳細は以下で説明します。
コーディングセッションの料金が決まる仕組み
API の請求書でもサブスクリプションの上限でも、Claude の料金は主に1つのメーターで決まります。入力トークンと出力トークンです。一部の API ツールには個別の料金もあります。たとえば web search は、2026年10月時点で1,000回あたり$10です。検索結果が追加するトークンの料金は別途かかります。ただし、コーディングセッションで動くのはトークンのメーターです。料金ページでは、入力トークン100万あたりいくら、出力トークン100万あたりいくらという単純な仕組みに見えます。しかし、agentic coding session では、入力側のメーターが直感よりはるかに速く進みます。すべての会話が、ターンごとに毎回再送信されるためです。私は15年間、従量課金のインフラストラクチャを販売してきました。その中で、ほとんどの顧客が何によって回っているのかを本当に説明できないメーターは、トークンが初めてです。ここではメーターの読み方を説明します。agentic session で入力と出力に数えられるもの、再送信ループが非常に高コストになる理由、prompt caching によって計算方法がどう変わるか、そして実際に数値を動かせる要素を扱います。
入力はすべて課金対象です。メーターが実際に数えているもの
Claude が生成するコードに料金を支払っていると考える人は多いでしょう。エージェント型のセッションでは、それは小さな項目です。単価は安いものの、量がはるかに多い入力トークンには、次のものが含まれます。
- システムプロンプト。 Claude Code 自身のハーネス指示に加え、セッション開始時に読み込まれ、その後のすべてのリクエストに含まれる
CLAUDE.mdとメモリーファイルです。 - ツール定義。 エージェントが呼び出せるすべてのツールスキーマです。接続する MCP サーバー が増えるたびに、この固定オーバーヘッドも増加します。ただし、現在の Claude Code はデフォルトで MCP ツールの完全な定義を遅延読み込みするため、ツールを初めて使用するまではツール名だけがコンテキストに置かれます。これによりコストは抑えられますが、なくなるわけではありません。
- エージェントが読み取るすべてのファイル。 ソースファイルの
Readを実行すると、ファイル全体がコンテキストに入り、そのまま残ります。 - すべてのツール結果。 テスト実行結果、grep の出力、ターミナルの大量出力、ビルドログなど、すべてが入力トークンとして返されます。8,000 行を出力するテストスイートの失敗は、小さな本に相当します。2026 年 10 月時点で、Claude Code はデフォルトでコマンド出力を約 30,000 文字までインラインで渡します。これを超える出力は、最大 2,000 文字のプレビュー付き保存ファイルとして渡されます。ただし、この上限未満の出力と、保存ファイルを後から読み取る処理は、すべて全量が課金対象です。
- それまでの会話全体。 ターンごとに再送信されます。この点については、独立したセクションで説明します。
再送分は誰も値付けしない
Claude API はステートレスです。リクエスト間でセッションを記憶することはありません。そもそも、何も記憶しません。そのため、turn 2 ではクライアントが turn 1 とその応答、新しいメッセージを送信します。turn 50 では、turn 1 から turn 49 まででコンテキストに残っている内容、つまり、まだコンパクションされていないすべてのファイル読み取り、ツール結果、diff に加えて、turn 50 を再送します。(コンパクションでは古い履歴を要約に置き換えます。subagent のファイル読み取りはその subagent 自身のコンテキストに残り、結果だけが戻ります。)モデルは保持されたトランスクリプト全体を毎回読み直します。その読み直し分のトークンもすべて入力として課金されます。
その結果、1 turn あたりのコストはセッションの長さにほぼ比例して増加し、セッション全体のコストはおおむね二次関数的に増加します。turn 3 で半セントだったメッセージが、同じ 1 行の質問でも turn 60 では 20 倍になることがあります。60 turn 分の内容を運んでいるためです。この事実だけで、「請求額がなぜこんなに高いのか」という問い合わせの大半を説明できます。これは Claude 固有の問題ではありません。ステートフルに見える LLM 製品もすべて、内部ではステートレスな API と再送ループの組み合わせです。
出力: 表示される内容と、表示されない思考
出力トークンは高額です。現行ラインアップでは、入力の 5 倍の料金です(Fable 5.1 は $10/$50、Opus 5.5 は $4/$20、Sonnet 5.5 は $2/$10、100,000 トークンまでのプロンプトに対する Haiku 5.5 は $0.10/$0.50、2026 年 10 月時点)。出力には Claude が生成するテキストとコードに加え、思考トークンも含まれます。これは、モデルが回答前に行う内部推論です。ここで重要な点は 2 つあります。思考トークンは出力料金で課金され、max_tokens にも算入されます。API レスポンスが stop_reason: "max_tokens" で終了し、回答が途中で切れる場合、回答前の思考で予算を使い切った可能性があります。また、現行モデルでは推論の要約が表示されない場合があります。Fable 5.1、Opus 5.5、Sonnet 5.5、Haiku 5.5、および Opus 4.7 までの旧モデルでは、API がデフォルトで要約を省略します。ただし、思考は実行され、課金もされます。見えないからといって無料ではありません。
Claude Code は、複数段階の作業を測定可能な形で改善するため、デフォルトで拡張思考を有効にします。デフォルトの予算は、リクエストあたり数万トークンに達することがあります。単純なタスクでは、思考量を下げられます。/effort または /model で effort レベルを下げるか、対応モデルでは /config で思考を無効にします。2026 年 10 月時点で、Claude Code は Opus 5.5、Sonnet 5.5、Haiku 5.5、および Fable モデルでは思考を無効にできません。そのため、これらのモデルでは effort が調整手段になります。API では、そのうち 2 つのモデルでさらに調整できます。Haiku 5.5 は effort が high 以下で thinking: {"type": "disabled"} を受け付けます。旧 Opus 5 も同様です。旧 Sonnet 5 は、xhigh と max を含むすべての effort レベルで受け付けます。Sonnet 5.5 は "disabled" を拒否し、代わりに thinking: {"type": "between_tools"} を受け付けます。これにより、effort が low、medium、high の場合は開始時の思考量が減り、ツールを使わないリクエストでは思考を行わずに回答されます。送信内容にかかわらず思考を維持するのは、Opus 5.5 と Fable モデルだけです。これは迷信ではなく、実際にコストを調整できる方法です。
プロンプトキャッシュで計算が変わる
プロンプトキャッシュがあるため、再送ループが全員の費用を破綻させずに済みます。API は、プロンプト、システムプロンプト、ツール定義、会話履歴など、安定したプレフィックスをキャッシュできます。次のリクエストでは、それを数分の一の料金で提供できます。2026 年 10 月時点の倍率は、キャッシュの書き込みが基本入力料金の 1.25 倍(1 時間版では 2 倍)、キャッシュの読み取りがほとんどのモデルで 0.1 倍、Claude Opus 5.5 と Claude Sonnet 5.5 で 0.05 倍、Claude Fable 5.1 で 0.025 倍です。書き込みには割増料金がかかります。一方、読み取りはほとんどのモデルで 90% 引き、Opus 5.5 と Sonnet 5.5 で 95% 引き、Fable 5.1 で 97.5% 引きです。(Sonnet 5.5 の読み取り料金は、2026 年 10 月 7 日に 0.1 倍から 0.05 倍へ引き下げられました。)1 回読み取るだけで、5 分間キャッシュの書き込み割増分を十分に回収できます。
Claude Code はキャッシュを自動的に管理します。正常なセッションでは、この巨大な再送データのほとんどがキャッシュから提供されます。ただし、キャッシュは一定時間操作がないと期限切れになります。2026 年 10 月時点で、Claude Code は、プランに含まれる利用量の範囲内でサブスクリプションを使用する場合、メインの会話に1 時間のキャッシュを設定します。API key、cloud provider、または usage credits を使用する場合は、最後の利用から 5 分です(promptCacheTtl 設定を使用すると、そこで 2 倍の書き込み料金を支払って 1 時間を要求できます)。5 分間キャッシュでは、長引くコーヒーブレークで離席し、戻ってメッセージを送ると、キャッシュが期限切れになっています。その結果、蓄積されたプレフィックス全体が、キャッシュ料金で読み取られる代わりに 1.25 倍で再書き込みされます。150K トークンのセッションでは、コールド状態の 1 ターンで 150K トークンすべてが 1.25 倍で書き込まれます。ウォーム状態のターンなら 0.1 倍で読み取られるため、プレフィックス部分だけで 12.5 倍の差になります(Opus 5.5 と Sonnet 5.5 では 25 倍、Fable 5.1 では 50 倍)。ここで理解しておくべき直感に反する結果は、作業をいったん止めて再開するリズムのほうが、連続して作業するより高くつく場合があることです。TTL を超える休止のたびに、次のターンが安価な読み取りから高額な再書き込みへ変わるためです。作業はまとまった時間ごとに行ってください。5 分間キャッシュでは、巨大なセッションに 10 分ごとに 1 メッセージずつ送信しないでください。
VPS 上の独自アプリケーションから API を呼び出す場合、これらは自動では発生しません。cache_control で明示的に有効化します。典型的な自損事故は、システムプロンプトに timestamp や request ID を埋め込むことです。これにより、リクエストごとにプレフィックスのバイト列が変わり、キャッシュが気付かないうちに無効になります。同じように見える呼び出しで usage.cache_read_input_tokens が 0 のままなら、これが原因です。
式と計算例
「1 セッションあたり $X」と一律の金額を示す説明は無視してください。セッションの費用には 2 桁の差があります。使えるのは次の式です。
turn cost = (uncached input x base input price)
+ (cache writes x 1.25 x base input price)
+ (cache reads x read multiplier x base input price)
+ (output incl. thinking x output price)
read multiplier = 0.10 on most models, 0.05 on Opus 5.5 and Sonnet 5.5, 0.025 on Fable 5.1
session cost = sum over all turnsClaude Opus 4.8 での計算例です。現在はレガシーモデルですが、引き続き利用でき、2026 年 10 月時点でも入力トークン 100 万個あたり $5、出力トークン 100 万個あたり $25 です。累積コンテキスト 80,000 トークンを含むセッション途中のターンで、75,000 トークンをキャッシュから読み取り、3,000 トークンを新たに書き込み、2,000 トークンをキャッシュされていない新規入力として処理し、思考を含む 1,500 トークンを出力したとします。
- キャッシュ読み取り: 75,000 × $0.50/M = $0.0375
- キャッシュ書き込み: 3,000 × $6.25/M = $0.019
- キャッシュされていない入力: 2,000 × $5/M = $0.010
- 出力: 1,500 × $25/M = $0.0375
このターンは約 $0.10です。同じターンを 50 回実行すると、約 $5 になります。では、キャッシュの有効期限が切れた後に同じターンを実行するとします。キャッシュ可能な 78,000 トークンを $6.25/M で再書き込みし、同じ 2,000 のキャッシュされていないトークンを $5/M で処理すると、出力前で約 $0.50 になります。これは、同じ処理でもキャッシュが有効なターン全体の約 5 倍です。この差だけで、キャッシュの効果を数値で把握できます。現在の Claude Opus 5.5($4/$20、キャッシュ読み取りは 0.05 倍)では、同じキャッシュが有効なターンは約 $0.07 です(読み取り $0.015、書き込み $0.015、キャッシュされていない入力 $0.008、出力 $0.030)。キャッシュが無効な場合は、出力前で $0.40 になり、キャッシュが有効なターンの約 6 倍です。この 4 行の計算だけが、ベンダー間の費用を正しく比較する方法でもあります。表示価格だけではキャッシュ読み取りと推論を考慮できないためです。実際の 3 つのジョブで計算すれば、Claude の請求額が OpenAI より高くなるか低くなるかも確認できます。
1 回のターンではなく、請求単位そのものの規模を把握したい場合は、100 万トークンがページ数、ファイル数、金額でどの程度になるかで同じ計算を 1 段階上の規模で確認できます。予測ではなく目安として、Anthropic が公開している enterprise Claude Code 導入の数値では、2026 年 10 月時点で、アクティブな 1 日あたりの開発者 1 人の平均費用は約 $13、月額では $150 から $250 です。また、ユーザーの 90% は 1 日あたり $30 未満に収まっています。実際の費用は、モデルの選択、セッションの管理方法、コードベースの規模によって変わります。だからこそ、以下の調整項目が重要になります。
自分の使用量を確認する
Claude Code では、コマンドは /usage です(/cost もエイリアスとして引き続き使用できます)。画面上部の Session ブロックには、現在のセッションのトークン統計とローカルで計算されたコスト見積もりが表示されます。サブスクリプションプランでは、同じ画面にプラン上限のバーと、最近の使用量を skills、subagents、plugins、個々の MCP servers に割り当てた内訳も表示されます。最近のバージョンでは、Session ブロックに Prompt cache (main) 行も表示されます。ここには、入力のうちキャッシュから提供された割合、キャッシュミス、現在キャッシュがウォームかどうかが示されます。API アカウントの正確な課金情報は、Claude Console の使用量ページを確認してください。CLI の値は見積もりです。/context は、system prompt、tools、MCP definitions、files、history など、コンテキストウィンドウを占有しているものを色付きのグリッドで表示します。肥大化した CLAUDE.md や、過剰に通信する MCP server を見つける最も速い方法です。fullscreen モードでは項目ごとの内訳が折りたたまれます。all を渡すと、内訳が展開されます。
API では、すべてのレスポンスから実際の処理内容を正確に確認できます。
response = client.messages.create(model="claude-sonnet-5-5", max_tokens=2048,
messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
f"read={u.cache_read_input_tokens} output={u.output_tokens}")input_tokens は、キャッシュされていない残りの部分だけを示す点に注意してください。実際のプロンプトサイズは、3 つの入力フィールドの合計です。1 時間実行したエージェントに input_tokens: 4000 と表示されても、安価とは限りません。残りの 200,000 トークンがキャッシュから提供された可能性があります。送信前に見積もるには、トークンカウント用エンドポイントを使用します。呼び出しは無料で、専用のレート制限があり、指定したモデルの tokenizer でカウントされます。結果は近似値として扱ってください。課金額は実際のリクエストに基づきます。
count = client.messages.count_tokens(model="claude-sonnet-5-5",
messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)上記の理由から、決して tiktoken しないでください。
従量課金とサブスクリプションプランの違い
このガイドの仕組みはどの環境でも同じで、異なるのは課金方法だけです。API key を使うと、Anthropic は公開されている料金に基づき、token 単位で従量課金します。上記の金額はすべて実際の費用です。多くの人が想定するより早く課金が始まるのは、利用できる無料 tier がないためです。登録時の少額の credit と、無料で利用できる一部の endpoint だけが例外です。カード情報を登録する前に新しい API account で実際に利用できる内容については、新しい API account でカード登録前に実際に利用できる内容を参照してください。2026 年 10 月 7 日以降の例外は、Max または Team の subscription です。これらのプランには、Claude Platform 上の自分の app や agent で使える月次 API credit が含まれます。Max 5x では月 $100、Max 20x では月 $200、Team では Standard seat 1 つにつき $20、Premium seat 1 つにつき $100 です。credit は共有され、上限は $500 です。Console organization をリンクすると credit を利用できます。未使用の credit は各 billing cycle の終了時に失効し、対話型の Claude Code には適用されません。Claude の subscription(Pro、Max、Team、従来の seat ベースの Enterprise plan)では、Claude Code の利用分は代わりにプランに含まれる利用枠から差し引かれます。2026 年 10 月時点では、5 時間単位の rolling session window と weekly window があり、model 間および claude.ai chat と共有されます。/usage の dollar figure は情報表示であり、請求額ではありません。2026 年 10 月時点では、さらに 2 つの例外があります。現在の usage-based Enterprise seat には利用枠がまったく含まれないため、すべての token が標準 API 料金で課金されます。また、Pro、standard Team seat、standard の従来型 Enterprise seat では Fable model は利用枠の対象外であり、pay-as-you-go の usage credit で実行されます。window を使い切ると、reset 時刻とともに "You've hit your session limit" または "You've hit your weekly limit" と表示されます。window は model 間で共有されるため、/model で model を切り替えても利用できるようにはなりません。これらの window は、使用している client ではなく account に紐づきます。Linux で native に実行できるものと、各 surface を対象とするプランについて確認中であれば、Linux で native に実行できるものと各 surface を対象とするプランを知っておくと役立ちます。実際に使い切った window によって、待ち時間と、その間に行う価値のある対応が決まります。そのため、作業中に limit に達した場合の選択肢を把握しておくとよいでしょう。プランでは、任意で usage credit を有効にできます。/usage-credits で管理し、上限を超えた利用分を購入できます。プランの quota は記載しません。この分野で最も変動が大きい数値だからです。claude.com/pricing と、自分の /usage bar を確認してください。subscription でも token の仕組みは重要です。無駄の多い session は、dollar を消費する場合と同じように window を消費します。subscription については、自分の利用状況に合う Claude planを参照してください。
実際に効果のある対策
- エージェントが読み込む範囲を限定する。 「
auth.pyの検証バグを修正して」と指定すれば 1 つのファイルを読みますが、「このコードベースを改善して」では 40 個のファイルを読みます。CLAUDE.mdはすべてのセッションで読み込まれるため、内容を必要最小限に保ちます。ワークフロー固有の指示は、必要なときに読み込むスキルへ移します。 - 明確かつ簡潔にする。 無関係なタスクの間で
/clearを行うと、古いコンテキストが後続の各メッセージで再送信され、再度課金されます。1 つの長いタスクでは、/compact Focus on the failing tests and the diffによって履歴を要約して短く保ち、二次関数的な増加を避けます。 - モデルの規模を適切に選ぶ。 ほとんどのコーディングには Sonnet が対応します。2026 年 10 月時点では、100 万トークンあたり $2/$10 で、導入時だけの価格ではなく標準価格です。Sonnet 5.5 は $2/$10 で、Sonnet 5 も、予定されていた 9 月 1 日の $3/$15 への値上げが中止されたため、$2/$10 を維持しています。これに対し、Opus 5.5 は $4/$20 です。Haiku 5.5 は、100,000 トークンまでのプロンプトでは $0.10/$0.50、それを超える場合は $0.50/$2.50 で、ログの振り分けのような機械的なサブエージェント作業に適しています。一方、Fable 5.1 は $10/$50 で、Fable 5 と同じ料金です。入力と出力のどちらも Opus 5.5 の 2.5 倍なので、定型作業に選択したままにする前に、実際にその料金に見合う作業を確認する価値があります。
/modelによってセッションの途中で切り替えられます。 - 冗長な出力を事前に絞り込む。 Claude がテスト結果を見る前に、hook で失敗だけに絞り込むと、ツール結果を 20,000 トークンから 300 トークンに削減できます。そのターンが後で再送信されるたびに、この削減効果が得られます。
- 対話が不要な処理はバッチ化する。 自分の API パイプラインで分類、まとめて行うレビュー、夜間ジョブを実行する場合、Batches API では非同期配信と引き換えに、同じモデルを 50% 割引で利用できます。
- キャッシュの有効期間を考慮する。 連続した時間帯に作業します。VPS 上の tmux で切り離した Claude Code セッションは、アイドル状態では料金が発生しません。トークンを消費するのはターンを実行するときだけです。ただし、アイドル時間がキャッシュ TTL を超えるとウォームキャッシュが失われ、次のターンで再書き込みのコストが発生します。
FAQ
Claude Code のコーディングセッションでは、トークンをいくつ使用しますか?
固定の数はありません。ファイルと履歴が蓄積すると、セッション途中の 1 回のターンで数万の prompt tokens を使うことが一般的です。作業セッション全体では数百万に達しますが、モデルによって異なるものの、その大半は基本料金の 10 分の 1 以下でキャッシュから処理されます。目安として、Anthropic が公開している 2026 年 10 月時点のエンタープライズ向けデータでは、アクティブな 1 日あたりの開発者 1 人の平均費用は約 $13 で、90% のユーザーが $30 未満です。自分のセッションで /usage を実行してください。5 分間監視するほうが、公開されている平均値より確実です。
目に見えない場合でも thinking tokens に料金はかかりますか?
はい。thinking tokens は output tokens として、料金の高いレートで課金され、max_tokens に加算されます。現在のモデルでは、インターフェースに reasoning summary が表示されない場合でも課金されます。表示される回答が終わる前に stop_reason: "max_tokens" で応答が打ち切られた場合、thinking が予算を消費した可能性が高いです。Claude Code では、深い推論を必要としないタスクに対して /effort で effort level を下げてください。
Claude Code の長いセッションでは、メッセージごとの料金が高くなるのはなぜですか?
API はステートレスだからです。各ターンで、まだコンテキストに残っている会話、読み込んだすべてのファイル、tool result、compact されていない過去のやり取りが、課金対象の入力として再送されます。そのため、turn 50 では turns 1 から 49 までが入力に含まれます。ほとんどのモデルでは、prompt caching により、繰り返される prefix が基本の入力料金の 10 分の 1 で処理されます(Opus 5.5 と Sonnet 5.5 では 5%、Fable 5.1 では 2.5%)。ただし、prefix 自体は増え続けます。また、cache TTL を超えてアイドル状態が続くと、次のターンは全額の料金で再送されます。/compact は履歴を縮小し、/clear は履歴をリセットします。
Claude のトークン使用量と料金を確認するにはどうすればよいですか?
Claude Code では、/usage によりセッションのトークン統計、ローカルでの料金見積もり、サブスクリプションのプラン上限バーを確認できます(/cost は alias です)。/context では、window を消費している内容を確認できます。正確な API 料金を確認するには、Claude Console の usage page を使用してください。自分のコードでは response.usage を読み取り、input_tokens、cache_creation_input_tokens、cache_read_input_tokens を合計すると実際の prompt size が得られます。事前の見積もりには count_tokens endpoint を使用し、tiktoken は使用しないでください。