Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集
    機能
    プロンプトキャッシング拡張思考適応型思考エフォートメッセージのストリーミングバッチ処理引用多言語サポートトークンカウントエンベディングビジョンPDF サポートFiles API検索結果構造化出力
    ツール
    概要ツール使用の実装方法きめ細かいツールストリーミングBash ツールコード実行ツールプログラムによるツール呼び出しコンピュータ使用ツールテキストエディタツールWeb フェッチツールWeb 検索ツールメモリツールツール検索ツール
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の防止Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペースUsage and Cost APIClaude Code Analytics APIゼロデータリテンション
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ツール

    コード実行ツール

    Was this page helpful?

    • Bashコマンドの実行
    • Bashコマンドのレスポンス
    • Agent Skillsでのコード実行の使用

    Claudeは、APIの会話内で直接、データの分析、ビジュアライゼーションの作成、複雑な計算の実行、システムコマンドの実行、ファイルの作成と編集、アップロードされたファイルの処理を行うことができます。 コード実行ツールにより、Claudeは安全なサンドボックス環境でBashコマンドを実行し、コードの記述を含むファイル操作を行うことができます。

    コード実行ツールは現在パブリックベータ版です。

    この機能を使用するには、APIリクエストに"code-execution-2025-08-25" ベータヘッダーを追加してください。

    この機能に関するフィードバックは、フィードバックフォームからお寄せください。

    モデルの互換性

    コード実行ツールは以下のモデルで利用可能です:

    モデルツールバージョン
    Claude Opus 4.6 (claude-opus-4-6)code_execution_20250825
    Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)code_execution_20250825
    Claude Opus 4.5 (claude-opus-4-5-20251101)code_execution_20250825
    Claude Opus 4.1 (claude-opus-4-1-20250805)code_execution_20250825
    Claude Opus 4 (claude-opus-4-20250514)code_execution_20250825
    Claude Sonnet 4 (claude-sonnet-4-20250514)code_execution_20250825
    Claude Sonnet 3.7 (claude-3-7-sonnet-20250219) (非推奨)code_execution_20250825
    Claude Haiku 4.5 (claude-haiku-4-5-20251001)code_execution_20250825
    Claude Haiku 3.5 (claude-3-5-haiku-latest) (非推奨)code_execution_20250825

    現在のバージョンcode_execution_20250825はBashコマンドとファイル操作をサポートしています。レガシーバージョンcode_execution_20250522(Pythonのみ)も利用可能です。移行の詳細については最新ツールバージョンへのアップグレードを参照してください。

    古いツールバージョンは、新しいモデルとの後方互換性が保証されていません。常にモデルバージョンに対応するツールバージョンを使用してください。

    クイックスタート

    Claudeに計算を実行させる簡単な例を示します:

    コード実行の仕組み

    APIリクエストにコード実行ツールを追加すると:

    1. Claudeはコード実行が質問への回答に役立つかどうかを評価します
    2. ツールは自動的にClaudeに以下の機能を提供します:
      • Bashコマンド:システム操作やパッケージ管理のためのシェルコマンドを実行
      • ファイル操作:コードの記述を含む、ファイルの直接的な作成、表示、編集
    3. Claudeは1回のリクエストでこれらの機能を任意に組み合わせて使用できます
    4. すべての操作は安全なサンドボックス環境で実行されます
    5. 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 など)

    ファイルのアップロードと分析

    1. Files APIを使用してファイルをアップロードします
    2. container_uploadコンテンツブロックを使用してメッセージ内でファイルを参照します
    3. APIリクエストにコード実行ツールを含めます

    生成されたファイルの取得

    Claudeがコード実行中にファイルを作成した場合、Files APIを使用してこれらのファイルを取得できます:

    操作の組み合わせ

    すべての機能を使用した複雑なワークフロー:

    ツール定義

    コード実行ツールには追加のパラメータは不要です:

    JSON
    {
      "type": "code_execution_20250825",
      "name": "code_execution"
    }

    このツールが提供されると、Claudeは自動的に2つのサブツールにアクセスできるようになります:

    • bash_code_execution:シェルコマンドの実行
    • text_editor_code_execution:コードの記述を含む、ファイルの表示、作成、編集

    レスポンス形式

    コード実行ツールは、操作に応じて2種類の結果を返すことができます:

    Bashコマンドのレスポンス

    {
      "type": "server_tool_use",
      "id": "srvtoolu_01B3C4D5E6F7G8H9I0J1K2L3",
      "name": "bash_code_execution",
      "input": {
        "command": "ls -la | head -5"
      }
    },
    {
      "type": "bash_code_execution_tool_result",
      "tool_use_id": "srvtoolu_01B3C4D5E6F7G8H9I0J1K2L3",
      "content": {
        "type": "bash_code_execution_result",
        "stdout": "total 24\ndrwxr-xr-x 2 user user 4096 Jan 1 12:00 .\ndrwxr-xr-x 3 user user 4096 Jan 1 11:00 ..\n-rw-r--r-- 1 user user  220 Jan 1 12:00 data.csv\n-rw-r--r-- 1 user user  180 Jan 1 12:00 config.json",
        "stderr": "",
        "return_code": 0
      }
    }

    ファイル操作のレスポンス

    ファイルの表示:

    {
      "type": "server_tool_use",
      "id": "srvtoolu_01C4D5E6F7G8H9I0J1K2L3M4",
      "name": "text_editor_code_execution",
      "input": {
        "command": "view",
        "path": "config.json"
      }
    },
    {
      "type": "text_editor_code_execution_tool_result",
      "tool_use_id": "srvtoolu_01C4D5E6F7G8H9I0J1K2L3M4",
      "content": {
        "type": "text_editor_code_execution_result",
        "file_type": "text",
        "content": "{\n  \"setting\": \"value\",\n  \"debug\": true\n}",
        "numLines": 4,
        "startLine": 1,
        "totalLines": 4
      }
    }

    ファイルの作成:

    {
      "type": "server_tool_use",
      "id": "srvtoolu_01D5E6F7G8H9I0J1K2L3M4N5",
      "name": "text_editor_code_execution",
      "input": {
        "command": "create",
        "path": "new_file.txt",
        "file_text": "Hello, World!"
      }
    },
    {
      "type": "text_editor_code_execution_tool_result",
      "tool_use_id": "srvtoolu_01D5E6F7G8H9I0J1K2L3M4N5",
      "content": {
        "type": "text_editor_code_execution_result",
        "is_file_update": false
      }
    }

    ファイルの編集(str_replace):

    {
      "type": "server_tool_use",
      "id": "srvtoolu_01E6F7G8H9I0J1K2L3M4N5O6",
      "name": "text_editor_code_execution",
      "input": {
        "command": "str_replace",
        "path": "config.json",
        "old_str": "\"debug\": true",
        "new_str": "\"debug\": false"
      }
    },
    {
      "type": "text_editor_code_execution_tool_result",
      "tool_use_id": "srvtoolu_01E6F7G8H9I0J1K2L3M4N5O6",
      "content": {
        "type": "text_editor_code_execution_result",
        "oldStart": 3,
        "oldLines": 1,
        "newStart": 3,
        "newLines": 1,
        "lines": ["-  \"debug\": true", "+  \"debug\": false"]
      }
    }

    結果

    すべての実行結果には以下が含まれます:

    • stdout:正常実行時の出力
    • stderr:実行失敗時のエラーメッセージ
    • return_code:成功時は0、失敗時は0以外

    ファイル操作の追加フィールド:

    • 表示:file_type、content、numLines、startLine、totalLines
    • 作成:is_file_update(ファイルが既に存在していたかどうか)
    • 編集:oldStart、oldLines、newStart、newLines、lines(diff形式)

    エラー

    各ツールタイプは特定のエラーを返すことがあります:

    共通エラー(すべてのツール):

    {
      "type": "bash_code_execution_tool_result",
      "tool_use_id": "srvtoolu_01VfmxgZ46TiHbmXgy928hQR",
      "content": {
        "type": "bash_code_execution_tool_result_error",
        "error_code": "unavailable"
      }
    }

    ツールタイプ別のエラーコード:

    ツールエラーコード説明
    すべてのツールunavailableツールが一時的に利用不可
    すべてのツールexecution_time_exceeded実行が最大時間制限を超過
    すべてのツールcontainer_expiredコンテナが期限切れで利用不可
    すべてのツールinvalid_tool_inputツールに無効なパラメータが提供された
    すべてのツールtoo_many_requestsツール使用のレート制限を超過
    text_editorfile_not_foundファイルが存在しない(表示/編集操作時)
    text_editor

    pause_turn 停止理由

    レスポンスにはpause_turn停止理由が含まれる場合があります。これはAPIが長時間実行中のターンを一時停止したことを示します。後続のリクエストでレスポンスをそのまま返してClaudeにターンを続行させるか、会話を中断したい場合はコンテンツを変更することができます。

    コンテナ

    コード実行ツールは、コード実行専用に設計された安全なコンテナ化環境で実行され、特にPythonに重点を置いています。

    ランタイム環境

    • Pythonバージョン:3.11.12
    • オペレーティングシステム:Linuxベースのコンテナ
    • アーキテクチャ:x86_64 (AMD64)

    リソース制限

    • メモリ:5GiB RAM
    • ディスク容量:5GiBワークスペースストレージ
    • CPU:1 CPU

    ネットワークとセキュリティ

    • インターネットアクセス:セキュリティのため完全に無効化
    • 外部接続:アウトバウンドネットワークリクエストは許可されていません
    • サンドボックス分離:ホストシステムおよび他のコンテナからの完全な分離
    • ファイルアクセス:ワークスペースディレクトリのみに制限
    • ワークスペーススコープ:Filesと同様に、コンテナはAPIキーのワークスペースにスコープされます
    • 有効期限:コンテナは作成後30日で期限切れになります

    プリインストールライブラリ

    サンドボックス化されたPython環境には、以下のよく使用されるライブラリが含まれています:

    • データサイエンス:pandas, numpy, scipy, scikit-learn, statsmodels
    • ビジュアライゼーション:matplotlib, seaborn
    • ファイル処理:pyarrow, openpyxl, xlsxwriter, 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リクエスト間で既存のコンテナを再利用できます。 これにより、リクエスト間で作成されたファイルを維持できます。

    例

    ストリーミング

    ストリーミングを有効にすると、コード実行イベントが発生時にリアルタイムで受信されます:

    event: content_block_start
    data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "code_execution"}}
    
    // Code execution streamed
    event: content_block_delta
    data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"code\":\"import pandas as pd\\ndf = pd.read_csv('data.csv')\\nprint(df.head())\"}"}}
    
    // Pause while code executes
    
    // Execution results streamed
    event: content_block_start
    data: {"type": "content_block_start", "index": 2, "content_block": {"type": "code_execution_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": {"stdout": "   A  B  C\n0  1  2  3\n1  4  5  6", "stderr": ""}}}

    バッチリクエスト

    コード実行ツールはMessages Batches APIに含めることができます。Messages Batches APIを通じたコード実行ツールの呼び出しは、通常のMessages APIリクエストと同じ価格設定です。

    使用量と料金

    Code execution tool usage is tracked separately from token usage. Execution time has 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.

    Each organization receives 1,550 free hours of usage with the code execution tool per month. Additional usage beyond the first 1,550 hours is billed at $0.05 per hour, per container.

    最新ツールバージョンへのアップグレード

    code-execution-2025-08-25にアップグレードすることで、複数言語でのコードを含むファイル操作とBash機能にアクセスできます。価格の違いはありません。

    変更点

    コンポーネントレガシー現在
    ベータヘッダーcode-execution-2025-05-22code-execution-2025-08-25
    ツールタイプcode_execution_20250522code_execution_20250825
    機能PythonのみBashコマンド、ファイル操作
    レスポンスタイプcode_execution_resultbash_code_execution_result、text_editor_code_execution_result

    後方互換性

    • 既存のすべてのPythonコード実行は、以前とまったく同じように動作し続けます
    • 既存のPythonのみのワークフローに変更は不要です

    アップグレード手順

    アップグレードするには、APIリクエストで以下の変更を行う必要があります:

    1. ベータヘッダーを更新:

      - "anthropic-beta": "code-execution-2025-05-22"
      + "anthropic-beta": "code-execution-2025-08-25"
    2. ツールタイプを更新:

      - "type": "code_execution_20250522"
      + "type": "code_execution_20250825"
    3. レスポンス処理を確認(プログラムでレスポンスを解析している場合):

      • Python実行レスポンスの以前のブロックは送信されなくなります
      • 代わりに、Bashおよびファイル操作の新しいレスポンスタイプが送信されます(レスポンス形式セクションを参照)

    プログラマティックツール呼び出し

    コード実行ツールはプログラマティックツール呼び出しを実現します。これにより、Claudeは実行コンテナ内でカスタムツールをプログラムで呼び出すコードを記述できます。これにより、効率的なマルチツールワークフロー、Claudeのコンテキストに到達する前のデータフィルタリング、複雑な条件付きロジックが可能になります。

    Python
    # Enable programmatic calling for your tools
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        betas=["advanced-tool-use-2025-11-20"],
        max_tokens=4096,
        messages=[{
            "role": "user",
            "content": "Get weather for 5 cities and find the warmest"
        }],
        tools=[
            {
                "type": "code_execution_20250825",
                "name": "code_execution"
            },
            {
                "name": "get_weather",
                "description": "Get weather for a city",
                "input_schema": {...},
                "allowed_callers": ["code_execution_20250825"]  # Enable programmatic calling
            }
        ]
    )

    詳細はプログラマティックツール呼び出しのドキュメントをご覧ください。

    Agent Skillsでのコード実行の使用

    コード実行ツールにより、ClaudeはAgent Skillsを使用できます。Skillsは、Claudeの機能を拡張する指示、スクリプト、リソースで構成されるモジュール式の機能です。

    詳細はAgent SkillsドキュメントおよびAgent Skills APIガイドをご覧ください。

    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-2025-08-25" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "max_tokens": 4096,
            "messages": [
                {
                    "role": "user",
                    "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
                }
            ],
            "tools": [{
                "type": "code_execution_20250825",
                "name": "code_execution"
            }]
        }'
    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-2025-08-25" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "max_tokens": 4096,
            "messages": [{
                "role": "user",
                "content": "Check the Python version and list installed packages"
            }],
            "tools": [{
                "type": "code_execution_20250825",
                "name": "code_execution"
            }]
        }'
    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-2025-08-25" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "max_tokens": 4096,
            "messages": [{
                "role": "user",
                "content": "Create a config.yaml file with database settings, then update the port from 5432 to 3306"
            }],
            "tools": [{
                "type": "code_execution_20250825",
                "name": "code_execution"
            }]
        }'
    # First, upload a file
    curl https://api.anthropic.com/v1/files \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: files-api-2025-04-14" \
        --form 'file=@"data.csv"' \
    
    # Then use the file_id with code execution
    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-2025-08-25,files-api-2025-04-14" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "max_tokens": 4096,
            "messages": [{
                "role": "user",
                "content": [
                    {"type": "text", "text": "Analyze this CSV data"},
                    {"type": "container_upload", "file_id": "file_abc123"}
                ]
            }],
            "tools": [{
                "type": "code_execution_20250825",
                "name": "code_execution"
            }]
        }'
    from anthropic import Anthropic
    
    # Initialize the client
    client = Anthropic()
    
    # Request code execution that creates files
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        betas=["code-execution-2025-08-25", "files-api-2025-04-14"],
        max_tokens=4096,
        messages=[{
            "role": "user",
            "content": "Create a matplotlib visualization and save it as output.png"
        }],
        tools=[{
            "type": "code_execution_20250825",
            "name": "code_execution"
        }]
    )
    
    # Extract file IDs from the response
    def extract_file_ids(response):
        file_ids = []
        for item in response.content:
            if item.type == 'bash_code_execution_tool_result':
                content_item = item.content
                if content_item.type == 'bash_code_execution_result':
                    for file in content_item.content:
                        if hasattr(file, 'file_id'):
                            file_ids.append(file.file_id)
        return file_ids
    
    # Download the created files
    for file_id in extract_file_ids(response):
        file_metadata = client.beta.files.retrieve_metadata(file_id)
        file_content = client.beta.files.download(file_id)
        file_content.write_to_file(file_metadata.filename)
        print(f"Downloaded: {file_metadata.filename}")
    # First, upload a file
    curl https://api.anthropic.com/v1/files \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: files-api-2025-04-14" \
        --form 'file=@"data.csv"' \
        > file_response.json
    
    # Extract file_id (using jq)
    FILE_ID=$(jq -r '.id' file_response.json)
    
    # Then use it with code execution
    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-2025-08-25,files-api-2025-04-14" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "max_tokens": 4096,
            "messages": [{
                "role": "user",
                "content": [
                    {
                        "type": "text", 
                        "text": "Analyze this CSV data: create a summary report, save visualizations, and create a README with the findings"
                    },
                    {
                        "type": "container_upload", 
                        "file_id": "'$FILE_ID'"
                    }
                ]
            }],
            "tools": [{
                "type": "code_execution_20250825",
                "name": "code_execution"
            }]
        }'
    string_not_found
    old_strがファイル内に見つからない(str_replace時)
    import os
    from anthropic import Anthropic
    
    # Initialize the client
    client = Anthropic(
        api_key=os.getenv("ANTHROPIC_API_KEY")
    )
    
    # First request: Create a file with a random number
    response1 = client.beta.messages.create(
        model="claude-opus-4-6",
        betas=["code-execution-2025-08-25"],
        max_tokens=4096,
        messages=[{
            "role": "user",
            "content": "Write a file with a random number and save it to '/tmp/number.txt'"
        }],
        tools=[{
            "type": "code_execution_20250825",
            "name": "code_execution"
        }]
    )
    
    # Extract the container ID from the first response
    container_id = response1.container.id
    
    # Second request: Reuse the container to read the file
    response2 = client.beta.messages.create(
        container=container_id,  # Reuse the same container
        model="claude-opus-4-6",
        betas=["code-execution-2025-08-25"],
        max_tokens=4096,
        messages=[{
            "role": "user",
            "content": "Read the number from '/tmp/number.txt' and calculate its square"
        }],
        tools=[{
            "type": "code_execution_20250825",
            "name": "code_execution"
        }]
    )