Claude APIAnthropic の機能

FEATURE

Code execution tool

Code execution tool (コード実行ツール) は、安全なサンドボックス環境で Claude が Bash コマンドを実行し、コードの作成を含むファイル操作を行うための Claude API のツールです。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境公式に記載なし
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. これまでの変更
  7. 関連する機能
  8. 出典
CAN DO

できること

POINT 01

サンドボックスでのコード実行

Claude がサンドボックス化されたコンテナの中で Bash コマンドを実行し、ファイルの作成・表示・編集を行えます。ツールを渡すと、bash_code_execution と text_editor_code_execution の 2 つのサブツールが Claude に与えられます。

POINT 02

データ分析とファイル処理

Files API でアップロードした CSV、Excel、JSON、XML、画像、テキストなどのファイルを Python 環境で処理できます。pandas、numpy、scipy、scikit-learn、matplotlib、seaborn などのライブラリがあらかじめ入っています。

POINT 03

コンテナと状態の再利用

前の応答のコンテナ ID を渡すと、同じコンテナを複数のリクエストで使い続け、作成したファイルを引き継げます。code_execution_20260120 以降とプログラムによるツール呼び出しの組み合わせでは、Python インタプリタの状態も引き継がれます。

GUIDE

機能解説

概要

データ分析、可視化、複雑な計算、アップロードしたファイルの処理を、API の会話の中で直接行えます。コマンドはすべて API のサーバー側で実行され、結果は同じリクエストの中で Claude に返されます。

仕組みと実行環境

API はすべてのコマンドをサーバー側で実行し、同じリクエストの中で結果を Claude に返します。そのため、利用者がコードを実行したり tool_result ブロックを送り返したりする必要はありません。ただし、Claude が利用者側のクライアントツールも呼び出す場合は例外です。

  • 処理はすべてサンドボックス化されたコンテナで実行され、インターネットへのアクセスはセキュリティのため完全に無効です。実行時にパッケージをダウンロードできず、使えるのはあらかじめ入っているライブラリだけです。
  • Bash コマンドの結果には stdout、stderr、return_code と、$OUTPUT_DIR に残った各ファイルの file_id を含む content リストが入ります。
  • ストリーミングを有効にすると、コード実行のイベントを発生順に受け取れます。サブツールの入力は input_json_delta イベントとして流れ、各結果ブロックは 1 つの content_block_start イベントでまとめて届きます。
  • Messages Batches API のリクエストにも Code execution tool を含められます。

コードを実行するかどうか判断が分かれる依頼では、「run code to verify this」のように明示的にコードの実行を依頼します。

ツールのバージョン

ツールのバージョンは type の文字列で選びます。現在の 3 つのバージョンの間は、リクエストの type を書き換えるだけで切り替えられ、どのバージョンも anthropic-beta ヘッダーは不要です。

  • code_execution_20260120: REPL の状態保持と、サンドボックス内からのプログラムによるツール呼び出し (programmatic tool calling) を追加したバージョンです。プログラムによるツール呼び出しに必要な最小バージョンです。Claude Fable 5、Claude Mythos 5、Claude Opus 4.5 以降、Claude Sonnet 4.5 以降のモデルで利用できます。
  • code_execution_20260521: code_execution_20260120 と同じランタイムです。違いは、プログラムによるツール呼び出しでの Python セルごとの実行時間上限 90 秒をツール説明で Claude に伝える点で、Claude は長時間かかるセルの時間配分を見積もれます。

モデルがこのツールを受け付けるかは、リクエストを送る前に Models API の capabilities.server_tools.code_execution.supported の値で確認します。最上位の capabilities.code_execution の値はこの確認に使いません。

旧バージョンの code_execution_20250522 から移行する場合は、API リクエストのツールの type を code_execution_20250825 に更新します。Bash とファイル操作については以前のブロックに代わる新しい応答の型が返るため、応答をプログラムで解析している場合は処理を見直します。

コンテナと生成ファイルの扱い

各リクエストは、前の応答のコンテナ ID を渡さない限り新しいコンテナで実行されます。同じコンテナを使い続けるには、応答に含まれるコンテナの id を、リクエストの最上位の container パラメーターに渡します。

  • コンテナは作成から 30 日で期限が切れます。約 5 分操作が無いとチェックポイントが取られ、30 日以内にその ID を付けてリクエストを送ると復元されます。
  • 期限切れのコンテナは再利用できず、参照するとエラーが返ります。container パラメーターを付けずにリクエストを送り直すと、新しいコンテナが割り当てられます。
  • 応答の停止理由が pause_turn の場合は、その応答をそのまま次のリクエストに渡すと Claude がターンを続けます。このとき応答のコンテナ ID も一緒に送ります。送らないと新しいコンテナで実行され、そのターンの前半に作られたファイルは失われます。

Claude が出力ディレクトリに保存したファイルは、各ファイルの ID がツールの結果に含まれ、Files API でダウンロードできます。結果として返るのは $OUTPUT_DIR の最上位にあるファイルだけで、それ以外の場所に書かれたファイルはコンテナに残り、返されません。アプリケーションがファイルの受け取りを前提にしている場合は、ファイルを $OUTPUT_DIR にコピーし、同じコマンドでそのディレクトリを一覧表示するよう Claude に指示します。ls の出力で取り込みを確かめられます。

管理者・導入時に確認したい点

  • 実行の生成物、アップロードしたファイル、出力を含むコンテナのデータは、最大 30 日間保持されます。
  • コンテナからインターネットへのアクセスはできません。
  • Claude API では、サンドボックスで Claude が作成した対応形式の画像・動画・音声ファイルを Files API でダウンロードすると、C2PA の Content Credentials が付いています。テキストファイル、PDF、オフィス文書は署名の対象形式ではないため、署名されません。
  • 利用者側で用意した実行ツールと併用する場合は、両者の実行環境の違いをシステムプロンプトで明確に指示します。
HOW TO USE

使い方

自分のファイルをアップロードして分析させる場合の流れです。

  1. Files API を使ってファイルをアップロードします。
  2. メッセージの中で、container_upload コンテンツブロックを使ってそのファイルを参照します。
  3. API リクエストに Code execution tool を含めます。ツール定義では type にツールのバージョン (例: code_execution_20250825) を、name に code_execution を指定し、追加のパラメーターは不要です。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

CSV や Excel のファイルをアップロードし、pandas などで集計・分析させる場面に使えます。

CASE 02

分析結果からグラフなどの可視化を作り、生成ファイルとして受け取る場面に向いています。

CASE 03

web search や web fetch のツールと組み合わせ、取得した結果をコンテキストに入れる前にコード実行環境の中で絞り込む場面に使えます。

CASE 04

Messages Batches API を使い、コード実行を含むリクエストをまとめて処理する場面に使えます。

COMPARISON

ChatGPT・OpenAI の対応する機能

比較の単位となる業務: API 経由でのサンドボックス内コード実行とプログラムによるツール呼び出し

Code execution tool では、API がコマンドをサーバー側のサンドボックス化されたコンテナで実行し、同じリクエストの中で結果を Claude に返します。作業の継続は、前の応答のコンテナ ID を次のリクエストに渡してコンテナを再利用する形です。

Agents API (パブリックベータ) では、エージェントを OpenAI ホストのサンドボックスで実行するか、自社インフラまたは対応プロバイダーのサンドボックスを接続して実行できます。ターンをまたぐ作業の継続には永続的なセッションを使います。

TIMELINE

これまでの変更

  1. Python、TypeScript、Go、Java、Ruby、PHP、C# の各 SDK が code_execution_20260120 に対応しました。ツールの type を code_execution_20260120 に設定すれば使え、ベータヘッダーは不要です。

  2. code_execution_20260521 に対応しました。セルごとの実行時間上限 90 秒をツール説明で示すバージョンです。

SOURCES

出典

出典 4 件を表示