コード実行ツール
Claudeは、API会話内で直接データの分析、視覚化の作成、複雑な計算の実行、システムコマンドの実行、ファイルの作成と編集、アップロードされたファイルの処理を行うことができます。 コード実行ツールにより、Claudeは安全なサンドボックス環境でBashコマンドを実行し、コードの記述を含むファイルを操作することができます。
コード実行ツールは現在パブリックベータ版です。
この機能を使用するには、APIリクエストに"code-execution-2025-08-25"
ベータヘッダーを追加してください。
最近、Bashコマンドと直接的なファイル操作をサポートするためにコード実行ツールをアップグレードしました。最新のツールバージョンへのアップグレード手順については、最新ツールバージョンへのアップグレードを参照してください。
サポートされているモデル
コード実行ツールは以下で利用可能です:
- Claude Opus 4.1 (
claude-opus-4-1-20250805
) - Claude Opus 4 (
claude-opus-4-20250514
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219
) - Claude Haiku 3.5 (
claude-3-5-haiku-latest
)
クイックスタート
Claudeに計算を実行してもらう簡単な例です:
コード実行の仕組み
APIリクエストにコード実行ツールを追加すると:
- Claudeはコード実行があなたの質問に答えるのに役立つかどうかを評価します
- ツールは自動的にClaudeに以下の機能を提供します:
- Bashコマンド: システム操作とパッケージ管理のためのシェルコマンドを実行
- ファイル操作: コードの記述を含む、ファイルの直接的な作成、表示、編集
- Claudeは単一のリクエストでこれらの機能の任意の組み合わせを使用できます
- すべての操作は安全なサンドボックス環境で実行されます
- Claudeは生成されたチャート、計算、分析とともに結果を提供します
ツールの使用方法
Bashコマンドの実行
Claudeにシステム情報の確認とパッケージのインストールを依頼します:
ファイルの直接作成と編集
Claudeはファイル操作機能を使用してサンドボックス内でファイルを直接作成、表示、編集できます:
独自のファイルのアップロードと分析
独自のデータファイル(CSV、Excel、画像など)を分析するには、Files APIを介してアップロードし、リクエストで参照します:
Files APIをコード実行と使用するには、2つのベータヘッダーが必要です:"anthropic-beta": "code-execution-2025-08-25,files-api-2025-04-14"
Python環境は、Files API経由でアップロードされた様々なファイルタイプを処理できます:
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- 画像 (JPEG, PNG, GIF, WebP)
- テキストファイル (.txt, .md, .py, など)
ファイルのアップロードと分析
- Files APIを使用してファイルをアップロード
container_upload
コンテンツブロックを使用してメッセージでファイルを参照- APIリクエストにコード実行ツールを含める
生成されたファイルの取得
Claudeがコード実行中にファイルを作成した場合、Files APIを使用してこれらのファイルを取得できます:
操作の組み合わせ
すべての機能を使用する複雑なワークフロー:
ツール定義
コード実行ツールは追加のパラメータを必要としません:
このツールが提供されると、Claudeは自動的に2つのサブツールにアクセスできるようになります:
bash_code_execution
: シェルコマンドを実行text_editor_code_execution
: コードの記述を含む、ファイルの表示、作成、編集
レスポンス形式
コード実行ツールは操作に応じて2種類の結果を返すことができます:
Bashコマンドレスポンス
ファイル操作レスポンス
ファイル表示:
ファイル作成:
ファイル編集 (str_replace):
結果
すべての実行結果には以下が含まれます:
stdout
: 成功した実行からの出力stderr
: 実行が失敗した場合のエラーメッセージreturn_code
: 成功の場合は0、失敗の場合は非ゼロ
ファイル操作の追加フィールド:
- 表示:
file_type
,content
,numLines
,startLine
,totalLines
- 作成:
is_file_update
(ファイルが既に存在していたかどうか) - 編集:
oldStart
,oldLines
,newStart
,newLines
,lines
(diff形式)
エラー
各ツールタイプは特定のエラーを返すことができます:
共通エラー (すべてのツール):
ツールタイプ別エラーコード:
ツール | エラーコード | 説明 |
---|---|---|
すべてのツール | unavailable | ツールが一時的に利用できません |
すべてのツール | execution_time_exceeded | 実行が最大時間制限を超えました |
すべてのツール | container_expired | コンテナが期限切れで利用できません |
すべてのツール | invalid_tool_input | ツールに無効なパラメータが提供されました |
すべてのツール | too_many_requests | ツール使用のレート制限を超えました |
text_editor | file_not_found | ファイルが存在しません(表示/編集操作の場合) |
text_editor | string_not_found | old_str がファイル内で見つかりません(str_replaceの場合) |
pause_turn
停止理由
レスポンスにはpause_turn
停止理由が含まれる場合があり、これはAPIが長時間実行されるターンを一時停止したことを示します。Claudeにターンを続行させるために、後続のリクエストでレスポンスをそのまま提供するか、会話を中断したい場合はコンテンツを変更することができます。
コンテナ
コード実行ツールは、Pythonに重点を置いたコード実行専用に設計された安全なコンテナ化環境で実行されます。
ランタイム環境
- Pythonバージョン: 3.11.12
- オペレーティングシステム: Linuxベースのコンテナ
- アーキテクチャ: x86_64 (AMD64)
リソース制限
- メモリ: 1GiB RAM
- ディスク容量: 5GiBワークスペースストレージ
- CPU: 1 CPU
ネットワークとセキュリティ
- インターネットアクセス: セキュリティのため完全に無効
- 外部接続: アウトバウンドネットワークリクエストは許可されません
- サンドボックス分離: ホストシステムと他のコンテナからの完全な分離
- ファイルアクセス: ワークスペースディレクトリのみに制限
- ワークスペーススコープ: Filesと同様に、コンテナはAPIキーのワークスペースにスコープされます
- 有効期限: コンテナは作成から1時間後に期限切れになります
プリインストールライブラリ
サンドボックス化されたPython環境には、これらの一般的に使用されるライブラリが含まれています:
- データサイエンス: pandas, numpy, scipy, scikit-learn, statsmodels
- 視覚化: matplotlib, seaborn
- ファイル処理: pyarrow, openpyxl, xlrd, pillow, python-pptx, python-docx, pypdf, pdfplumber, pypdfium2, pdf2image, pdfkit, tabula-py, reportlab[pycairo], Img2pdf
- 数学・計算: sympy, mpmath
- ユーティリティ: tqdm, python-dateutil, pytz, joblib, unzip, unrar, 7zip, bc, rg (ripgrep), fd, sqlite
コンテナの再利用
以前のレスポンスからコンテナIDを提供することで、複数のAPIリクエスト間で既存のコンテナを再利用できます。 これにより、リクエスト間で作成されたファイルを維持できます。
例
ストリーミング
ストリーミングが有効になっている場合、コード実行イベントが発生するたびに受信されます:
バッチリクエスト
Messages Batches APIにコード実行ツールを含めることができます。Messages Batches API経由でのコード実行ツール呼び出しは、通常のMessages APIリクエストと同じ価格で提供されます。
使用方法と価格
The code execution tool usage is tracked separately from token usage. Execution time is a minimum of 5 minutes. If files are included in the request, execution time is billed even if the tool is not used due to files being preloaded onto the container.
Pricing: $0.05 per session-hour.
最新ツールバージョンへのアップグレード
code-execution-2025-08-25
にアップグレードすることで、複数の言語でのコードを含むファイル操作とBash機能にアクセスできます。価格の違いはありません。
変更点
コンポーネント | レガシー | 現在 |
---|---|---|
ベータヘッダー | code-execution-2025-05-22 | code-execution-2025-08-25 |
ツールタイプ | code_execution_20250522 | code_execution_20250825 |
機能 | Pythonのみ | Bashコマンド、ファイル操作 |
レスポンスタイプ | code_execution_result | bash_code_execution_result , text_editor_code_execution_result |
後方互換性
- 既存のPythonコード実行はすべて以前と全く同じように動作し続けます
- 既存のPythonのみのワークフローに変更は必要ありません
アップグレード手順
アップグレードするには、APIリクエストで以下の変更を行う必要があります:
-
ベータヘッダーを更新:
-
ツールタイプを更新:
-
レスポンス処理を確認(プログラムでレスポンスを解析している場合):
- Python実行レスポンスの以前のブロックは送信されなくなります
- 代わりに、Bashとファイル操作の新しいレスポンスタイプが送信されます(レスポンス形式セクションを参照)