コード実行ツールが無料になる条件 — Web検索・Web Fetch併用時のみ
コード実行ツールは、Web検索かWeb Fetchと同じリクエストに含めると無料になります。単体利用の料金体系・Web検索との費用比較・Managed Agentsでの扱い・使えないプラットフォームまで一次ソースの数値で押さえます。
コード実行ツールとは — Bashとファイル操作をサンドボックスで実行する
コード実行ツールは、Anthropic APIのリクエストの中でBashコマンドとファイル操作をサンドボックス環境で走らせる仕組みです。データの分析、可視化、複雑な計算、システムコマンドの実行、アップロードしたファイルの処理まで、会話の中で完結できます。Anthropic APIの料金体系全体はAnthropic API完全ガイドで扱っています。コード実行ツールには、そことは別に単体で押さえておくべき料金ルールがあります。コード実行は、Web検索またはWeb Fetchと同じリクエストに含めるときだけ無料になります。計算の検算を任せる具体例は不確かさバジェット表の検算にあります。
同じコード実行でも、請求は2通り
無料になる側
web_search_20260209かweb_fetch_20260209(いずれもそれ以降を含む)がリクエストに入っていれば、コード実行に追加課金はありません。かかるのは通常の入力・出力トークンだけです。
課金される側
トークンとは別に、コンテナの実行時間で課金されます。最低5分で、組織ごとに月1,550時間の無料枠があります。勤務実績の時間計算を任せる使い方はClaudeで改善基準告示に拘束時間を照合するにあります。
自分の構成だと何に課金されるか
「無料」と言えるのはコード実行の分だけで、同じリクエストに入れたほかのツールの料金は別です。構成ごとに、何が請求に乗るかを分けると次のとおりです。
| 構成 | コード実行の実行時間課金 | ほかに乗るもの |
|---|---|---|
Web検索のみ(web_search_20260209以降) | コード実行の実行時間課金なし | ほかに乗るもの1,000検索あたり10ドルと、検索結果の入力トークン |
Web Fetchのみ(web_fetch_20260209以降) | コード実行の実行時間課金なし | ほかに乗るもの取得内容の入力トークン(ツール自体の追加料金なし) |
| コード実行のみ | コード実行の実行時間課金あり(最低5分) | ほかに乗るものトークン |
| コード実行 + ファイル添付(Web検索・Web Fetchなし) | コード実行の実行時間課金あり(ツールを呼ばなくてもコンテナへのプリロード分) | ほかに乗るものトークン |
| Messages Batches APIでコード実行 | コード実行の実行時間課金通常のMessages APIと同じ | ほかに乗るものトークン |
| Claude Managed Agents | コード実行の実行時間課金実行時間課金の代わりにセッション実行時間(1セッション時間あたり0.08ドル) | ほかに乗るものトークン |
Web検索の単価は1検索あたり0.01ドルになります(10ドル ÷ 1,000検索)。これは、コード実行を単体で超過利用したときの最低課金より高い水準です。最低5分の課金を時間按分で計算すると、0.05ドル × 5分 ÷ 60分で約0.0042ドルです。
数字を並べると、Web検索を足す費用はコード実行の超過料金より大きくなります。コード実行を無料にする目的だけでWeb検索を足すより、Web検索が必要なリクエストにコード実行が追加課金なしで付いてくる、と見るほうが数字に合います。Web Fetchはツール自体の追加料金がないので、取得内容のトークンだけが増えます。
Managed Agentsの行は、料金ページの注記が根拠です。セッション実行時間(running状態の時間、ミリ秒単位)がコンテナの時間課金の代わりになり、コンテナ時間は別途請求されません。
そもそもいつコードが実行されるか
課金は「コード実行ツールが呼ばれたとき」に発生するので、Claudeがどんな場面で実際にコードを実行するかを知っておくと、コストの見積もりがしやすくなります。
| 実行する場面 | 実行しない場面 |
|---|---|
| 大きな桁の計算・複数手順にわたる精度が要る計算 | 実行しない場面簡単な四則演算・広く知られた数学的事実 |
| データ分析・ファイル解析・可視化 | 実行しない場面事実確認・雑談・創作的な依頼 |
| アルゴリズムの実行・シミュレーション | 実行しない場面単純な単位変換・翻訳 |
| ユーザーが「実行して」「計算して」と明示したとき | 実行しない場面— |
境界線上の依頼でコード実行させたいなら、「コードを実行して検証して」のように明示的に頼むのが確実です。逆に言えば、コード実行ツールをリクエストへ含めていても、Claudeが実際にそれを呼ぶかどうかは依頼の内容次第です。ただし、ファイルを添付したリクエストは別で、ツールが呼ばれなくても実行時間が課金されます。
無料にするには、同じリクエストにWeb検索かWeb Fetchを入れる
リクエストにweb_search_20260209(またはそれ以降)、あるいはweb_fetch_20260209(またはそれ以降)のいずれかが含まれているとします。この場合、そのリクエスト内のコード実行ツール呼び出しに追加課金は発生しません。
{
"model": "claude-opus-5-5",
"max_tokens": 4096,
"messages": [
{ "role": "user", "content": "最新の為替レートを調べて、平均と標準偏差を計算して" }
],
"tools": [
{ "type": "web_search_20260209", "name": "web_search" }
]
}この例にはcode_executionが入っていません。それでもWeb検索の動的フィルタリングが走れば、必要なコード実行はAPIが自動的に用意します。動的フィルタリングとは、検索結果をコンテキストウィンドウへ渡す前に、コード実行環境の中でClaudeが結果を絞り込む処理のことです。
無料条件は、動的フィルタリングが使うコード実行だけでなく、Claudeが直接走らせるコードにも及びます。公式の説明では、Web検索・Web Fetchの現行版は内部のコード実行を自動で用意するため、利用者が自分でコード実行ツールを足す必要はありません。Web検索自体の有効化手順や挙動の違いはClaude Web検索の使い方にまとめてあります。
なお、料金ページでは、ファイル添付時のプリロード課金はWeb検索・Web Fetchを含まない場合の説明として書かれています。
単体利用の料金は、月1,550時間の無料枠と1時間0.05ドル
Web検索・Web Fetchを含まないリクエストでコード実行を使う場合、課金はトークン使用量とは別に、実行時間ベースで発生します。
単体利用の料金体系
最低課金単位
5分
1回の実行時間の下限
無料枠
月1,550時間
組織ごと
超過分の単価
$0.05/時間
コンテナ1つあたり
この3つのほかに、見落としやすい条件が1つあります。リクエストにファイルを含めると、そのファイルをコンテナへプリロードする処理自体が実行時間として扱われます。Claudeがそのファイルを一度も読まなかったとしても、ツールの呼び出しの有無にかかわらず課金対象です。「コード実行ツールを一度も呼んでいないから課金は無い」という前提は、ファイル添付がある限り成り立ちません。
無料枠の大きさは、最低課金に当てはめるとイメージしやすくなります。1,550時間は93,000分で、1回を最低の5分として数えると18,600回分です。これは公式の例示ではなく、最低課金と無料枠の数字から出した目安です。月に数千回程度の分析なら、無料枠に収まる計算になります。
使用量はレスポンスのusageオブジェクトに記録されます。
{
"usage": {
"input_tokens": 105,
"output_tokens": 239,
"server_tool_use": {
"code_execution_requests": 1
}
}
}Messages Batches APIでコード実行ツールを使う場合も、通常のMessages APIリクエストと同じ料金体系が適用されます。バッチでまとめて実行するからといって、コード実行の実行時間課金が割り引かれるわけではありません。
組み合わせにはツールバージョンの条件がある
Web検索・Web Fetchの現行版(web_search_20260209・web_fetch_20260209と、それ以降)は、内部で使うコード実行のバージョンとしてcode_execution_20260120以降を必要とします。開発者が自分でコード実行ツールをリクエストへ足す場合も、code_execution_20260120以降を選んでおくのが無難です。プログラマティックツールコーリングやREPL状態の永続化とも足並みが揃います。
コード実行ツール自体には3つのバージョンがあり、対応モデルはすべて3つとも受け付けます。どのバージョンにもanthropic-betaヘッダーは要りません。
code_execution_20250825: Bashコマンドとファイル操作の基本機能code_execution_20260120: REPL状態の永続化とプログラマティックツールコーリングを追加code_execution_20260521: ランタイムは20260120と同じ。プログラマティックツールコーリングの各セルに90秒のウォールクロック制限があることを、ツールの説明文がClaudeへ伝える点だけが違う
90秒を超えたセルは、エラーではなく通常のコード実行結果として返ります。return_codeが0以外になり、出力にdetection_timeoutというステータスメッセージが入ります。これは、ツール呼び出し全体が最大実行時間を超えたときに返るexecution_time_exceededエラーとは別物です。
旧世代のcode_execution_20250522(Python専用)をまだ使っている実装もあります。無料条件を決めるのはWeb検索・Web Fetch側のバージョンで、それらの現行版はcode_execution_20260120以降を必要とします。古いバージョンは新しいモデルとの互換が保証されないため、モデルを切り替えるときはバージョンも見直す対象です。
コンテナの実行環境と制限
コード実行はPython 3.11が動くLinuxベースのコンテナ(x86_64)で走ります。インターネット接続は完全に遮断されているため、Claudeは実行時にパッケージを追加インストールできず、あらかじめインストール済みのライブラリだけが使える範囲です。
| 用途 | ライブラリ / ツール |
|---|---|
| データサイエンス | ライブラリ / ツールpandas・numpy・scipy・scikit-learn・statsmodels |
| 可視化 | ライブラリ / ツールmatplotlib・seaborn |
| ファイル処理 | ライブラリ / ツールopenpyxl・pypdf・pdfplumber・python-docx・python-pptxなど |
| 数学 | ライブラリ / ツールsympy・mpmath |
| コマンドラインツール | ライブラリ / ツールunzip・7zip・bc・rg(ripgrep)・fd・sqlite |
| リソース制限 | ライブラリ / ツールメモリー5GiB・ディスク5GiB・CPU1基 |
この一覧に無いライブラリが必要なタスクは、事前にファイルとしてアップロードして持ち込みます。
コンテナはリクエストのたびに新しく作られますが、直前のレスポンスに含まれるコンテナIDを次のリクエストへ渡せば、同じコンテナを再利用できます。再利用の間はファイルが引き継がれ、code_execution_20260120以降とプログラマティックツールコーリングを使っていればPythonのインタープリタ状態(変数の束縛など)も引き継がれます。MCPツールをコードとして呼び出すことでコンテキストを節約する発想についてはMCPでコード実行する設計で詳しく扱っています。
コンテナは作成から30日で失効します。約5分間操作がないとチェックポイントが作られ、30日以内であればコンテナIDを指定したリクエストで復元できます。レスポンスに含まれるexpires_atはこのチェックポイントに基づく短いローリング値で、30日という上限そのものを表しているわけではありません。失効したコンテナは復元できず、containerパラメータを付けずに送り直すと新しいコンテナが作られます。
実行時間の上限に達するとどうなるか
最低5分課金という下限がある一方、上限を超えたときの挙動も押さえておくと想定外の課金を防げます。1回のツール呼び出しが最大実行時間を超えるとexecution_time_exceededエラーが返り、それ以上は実行されません。
エラーコードは次のとおりです。
| 対象 | コード | 意味 |
|---|---|---|
| 全ツール共通 | コードunavailable | 意味ツールが一時的に利用できない |
| 全ツール共通 | コードexecution_time_exceeded | 意味呼び出しが最大実行時間を超えた |
| 全ツール共通 | コードinvalid_tool_input | 意味パラメータが不正 |
| 全ツール共通 | コードtoo_many_requests | 意味ツール利用のレート制限を超過 |
| bash | コードoutput_file_too_large | 意味コマンドの出力が上限サイズを超えた |
長時間の処理では、レスポンスがpause_turnというstop_reasonで返ってくることもあります。これは長時間実行中のターンをAPIが一旦区切ったことを示すサインで、レスポンスをそのまま次のリクエストに含めて送り返せば続きから再開します。内容を書き換えて、会話を中断させることもできます。
どの面で使えるか — Amazon BedrockとGoogle Cloudでは非対応
コード実行ツールが使えるのはClaude API・Claude Platform on AWS・Microsoft Foundryの3面です。Amazon BedrockとGoogle Cloudでは提供されていません。Microsoft Foundryで使う場合は、Hosted on Anthropicとしてデプロイしていることが条件です。
対応モデルは次の15個です。
claude-fable-5-1・claude-mythos-5-1・claude-fable-5・claude-mythos-5claude-opus-5-5・claude-opus-5・claude-opus-4-8・claude-opus-4-7・claude-opus-4-6・claude-opus-4-5-20251101claude-sonnet-5-5・claude-sonnet-5・claude-sonnet-4-6・claude-sonnet-4-5-20250929claude-haiku-4-5-20251001
いずれのモデルも3つのツールバージョンすべてを受け付けます。ただしClaude Haiku 4.5だけは例外で、プログラマティックツールコーリングとそれに依存するREPL状態の永続化に対応していません。新しいバージョンを渡してもcode_execution_20250825と同じ挙動になります。
ZDR(Zero Data Retention、ゼロデータ保持)の対象外という制約もあります。組織全体でZDRプランを契約していても、コード実行ツールを使った分のデータは通常のリテンションポリシーに従うということです。コンテナ内のデータ(実行結果・アップロードしたファイル・出力ファイル)は最大30日間保持されます。Files API経由で生成したファイルはこの30日ルールの対象外で、明示的に削除するまで保持され続けます。保持ポリシーの違いは、コンテナ内で完結する処理とFiles APIを介する処理を分ける判断材料になります。
まとめ
コード実行を単体で使うかどうかより、同じリクエストにWeb検索かWeb Fetchを入れるかどうかが請求を分けます。Web検索を使う予定がなくファイルも添付しないなら、月1,550時間の無料枠で足りるかを先に見積もるのが現実的です。ファイルを添付するリクエストは、ツールを呼ばなくても実行時間が課金される点だけ押さえておくと、請求の見落としを避けられます。