Loading...
    • Erstellen
    • Admin
    • Modelle & Preise
    • Client SDKs
    • API-Referenz
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnellstart
    Mit Claude erstellen
    FunktionsübersichtVerwendung der Messages APIClaude API-FähigkeitStop-Gründe verarbeiten
    Modellmöglichkeiten
    Extended ThinkingAdaptive ThinkingAufwandTask Budgets (Beta)Fast Mode (Beta: Research Preview)Strukturierte AusgabenZitateStreaming MessagesBatch-VerarbeitungSuchergebnisseStreaming-AblehnungenMehrsprachige UnterstützungEmbeddings
    Tools
    ÜbersichtWie Tool-Nutzung funktioniertWeb Search ToolWeb Fetch ToolCode Execution ToolAdvisor ToolMemory ToolBash ToolComputer Use ToolText Editor Tool
    Tool-Infrastruktur
    Tool-ReferenzTool-SucheProgrammgesteuerte Tool-AufrufeFeingranulares Tool-Streaming
    Kontextverwaltung
    KontextfensterKomprimierungKontextbearbeitungPrompt CachingToken-Zählung
    Mit Dateien arbeiten
    Files APIPDF-UnterstützungBilder und Vision
    Skills
    ÜbersichtSchnellstartBest PracticesSkills für UnternehmenSkills in der API
    MCP
    Remote MCP ServerMCP Connector
    Prompt Engineering
    ÜbersichtBest Practices für PromptingConsole Prompting Tools
    Testen und evaluieren
    Erfolg definieren und Evaluierungen erstellenVerwendung des Evaluation Tools in ConsoleLatenz reduzieren
    Guardrails verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenPrompt-Leak reduzieren
    Ressourcen
    Glossar
    Versionshinweise
    Claude Platform
    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
    • 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
    • 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
    Tools

    Code-Ausführungstool

    Führen Sie Python- und Bash-Code in einem Sandbox-Container aus, um Daten zu analysieren, Dateien zu generieren und Lösungen zu iterieren.

    Was this page helpful?

    • Modellkompatibilität
    • Plattformverfügbarkeit
    • Schnellstart
    • Wie die Code-Ausführung funktioniert
    • Verwendung der Code-Ausführung mit anderen Ausführungstools
    • Verwendung des Tools
    • Laden Sie Ihre eigenen Dateien hoch und analysieren Sie sie
    • Tool-Definition
    • Antwortformat
    • Bash-Befehl-Antwort
    • Dateioperations-Antworten
    • Ergebnisse
    • Fehler
    • Container
    • Laufzeitumgebung
    • Ressourcenlimits
    • Netzwerk und Sicherheit
    • Vorinstallierte Bibliotheken
    • Container-Wiederverwendung
    • Beispiel
    • Streaming
    • Batch-Anfragen
    • Nutzung und Preisgestaltung
    • Upgrade auf die neueste Tool-Version
    • Was hat sich geändert
    • Rückwärtskompatibilität
    • Upgrade-Schritte
    • Programmgesteuerte Tool-Aufrufe
    • Datenspeicherung
    • Verwendung der Code-Ausführung mit Agent Skills

    Claude kann Daten analysieren, Visualisierungen erstellen, komplexe Berechnungen durchführen, Systembefehle ausführen, Dateien erstellen und bearbeiten sowie hochgeladene Dateien direkt innerhalb des API-Gesprächs verarbeiten. Das Code-Ausführungstool ermöglicht es Claude, Bash-Befehle auszuführen und Dateien zu manipulieren, einschließlich des Schreibens von Code, in einer sicheren, isolierten Umgebung.

    Die Code-Ausführung ist kostenlos, wenn sie mit Web-Suche oder Web-Abruf verwendet wird. Wenn web_search_20260209 oder web_fetch_20260209 in Ihrer Anfrage enthalten ist, fallen keine zusätzlichen Gebühren für Code-Ausführungstool-Aufrufe über die Standard-Eingabe- und Ausgabe-Token-Kosten hinaus an. Standard-Code-Ausführungsgebühren gelten, wenn diese Tools nicht enthalten sind.

    Die Code-Ausführung ist ein Kernprimitive für die Erstellung leistungsstarker Agenten. Sie ermöglicht dynamische Filterung in Web-Such- und Web-Abruf-Tools, wodurch Claude Ergebnisse verarbeiten kann, bevor sie das Kontextfenster erreichen, was die Genauigkeit verbessert und den Token-Verbrauch reduziert.

    Teilen Sie Ihr Feedback zu dieser Funktion über das Feedback-Formular mit.

    This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

    Modellkompatibilität

    Das Code-Ausführungstool ist auf den folgenden Modellen verfügbar:

    ModellTool-Versionen
    Claude Opus 4.7 (claude-opus-4-7)code_execution_20250825, code_execution_20260120
    Claude Opus 4.6 (claude-opus-4-6)code_execution_20250825, code_execution_20260120
    Claude Sonnet 4.6 (claude-sonnet-4-6)code_execution_20250825, code_execution_20260120
    Claude Opus 4.5 (claude-opus-4-5-20251101)code_execution_20250825, code_execution_20260120
    Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)code_execution_20250825, code_execution_20260120
    Claude Haiku 4.5 (claude-haiku-4-5-20251001)code_execution_20250825
    Claude Opus 4.1 (claude-opus-4-1-20250805)code_execution_20250825
    Claude Opus 4 (claude-opus-4-20250514) (veraltet)code_execution_20250825
    Claude Sonnet 4 (claude-sonnet-4-20250514) (veraltet)code_execution_20250825
    Claude Sonnet 3.7 (claude-3-7-sonnet-20250219) (veraltet)code_execution_20250825
    Claude Haiku 3.5 (claude-3-5-haiku-latest) (veraltet)code_execution_20250825

    code_execution_20250825 unterstützt Bash-Befehle und Dateivorgänge und ist auf jedem oben aufgeführten Modell verfügbar. code_execution_20260120 fügt REPL-Zustandspersistenz und programmatische Tool-Aufrufe innerhalb der Sandbox hinzu und ist nur auf Opus 4.5+ und Sonnet 4.5+ verfügbar. Eine ältere Version code_execution_20250522 (nur Python) ist auch auf den gleichen Modellen wie code_execution_20250825 verfügbar; siehe Upgrade auf die neueste Tool-Version, um von ihr zu migrieren.

    Ältere Tool-Versionen sind nicht garantiert abwärtskompatibel mit neueren Modellen. Verwenden Sie immer die Tool-Version, die Ihrer Modellversion entspricht.

    Plattformverfügbarkeit

    Die Code-Ausführung ist verfügbar auf:

    • Claude API (Anthropic)
    • Microsoft Azure AI Foundry

    Die Code-Ausführung ist derzeit nicht auf Amazon Bedrock oder Google Vertex AI verfügbar.

    Für Claude Mythos Preview wird die Code-Ausführung auf der Claude API und Microsoft Foundry unterstützt. Sie ist nicht für Mythos Preview auf Amazon Bedrock oder Google Vertex AI verfügbar.

    Schnellstart

    Hier ist ein einfaches Beispiel, das Claude auffordert, eine Berechnung durchzuführen:

    Wie die Code-Ausführung funktioniert

    Wenn Sie das Code-Ausführungstool zu Ihrer API-Anfrage hinzufügen:

    1. Claude bewertet, ob die Code-Ausführung zur Beantwortung Ihrer Frage hilfreich wäre
    2. Das Tool stellt Claude automatisch die folgenden Funktionen zur Verfügung:
      • Bash-Befehle: Führen Sie Shell-Befehle für Systemvorgänge und Paketverwaltung aus
      • Dateivorgänge: Erstellen, anzeigen und bearbeiten Sie Dateien direkt, einschließlich des Schreibens von Code
    3. Claude kann jede Kombination dieser Funktionen in einer einzelnen Anfrage verwenden
    4. Alle Vorgänge werden in einer sicheren Sandbox-Umgebung ausgeführt
    5. Claude stellt Ergebnisse mit allen generierten Diagrammen, Berechnungen oder Analysen bereit

    Verwendung der Code-Ausführung mit anderen Ausführungstools

    Wenn Sie die Code-Ausführung zusammen mit vom Client bereitgestellten Tools verwenden, die auch Code ausführen (wie ein Bash-Tool oder eine benutzerdefinierte REPL), arbeitet Claude in einer Multi-Computer-Umgebung. Das Code-Ausführungstool wird in Anthropics Sandbox-Container ausgeführt, während Ihre vom Client bereitgestellten Tools in einer separaten Umgebung ausgeführt werden, die Sie kontrollieren. Claude kann diese Umgebungen manchmal verwechseln und versuchen, das falsche Tool zu verwenden oder anzunehmen, dass der Zustand zwischen ihnen gemeinsam genutzt wird.

    Um dies zu vermeiden, fügen Sie Anweisungen zu Ihrer Systemaufforderung hinzu, die die Unterscheidung verdeutlichen:

    Wenn mehrere Code-Ausführungsumgebungen verfügbar sind, beachten Sie, dass:
    - Variablen, Dateien und Zustand NICHT zwischen verschiedenen Ausführungsumgebungen bestehen bleiben
    - Verwenden Sie das code_execution-Tool für allgemeine Berechnungen in Anthropics Sandbox-Umgebung
    - Verwenden Sie vom Client bereitgestellte Ausführungstools (z. B. Bash), wenn Sie Zugriff auf das lokale System, die Dateien oder Daten des Benutzers benötigen
    - Wenn Sie Ergebnisse zwischen Umgebungen übergeben müssen, fügen Sie Ausgaben explizit in nachfolgenden Tool-Aufrufen ein, anstatt gemeinsamen Zustand anzunehmen

    Dies ist besonders wichtig, wenn Sie die Code-Ausführung mit Web-Suche oder Web-Abruf kombinieren, die die Code-Ausführung automatisch aktivieren. Wenn Ihre Anwendung bereits ein Client-seitiges Shell-Tool bereitstellt, erstellt die automatische Code-Ausführung eine zweite Ausführungsumgebung, die Claude unterscheiden muss.

    Verwendung des Tools

    Laden Sie Ihre eigenen Dateien hoch und analysieren Sie sie

    Um Ihre eigenen Datendateien (CSV, Excel, Bilder usw.) zu analysieren, laden Sie diese über die Files API hoch und referenzieren Sie sie in Ihrer Anfrage:

    Die Verwendung der Files API mit Code Execution erfordert den Files API Beta-Header: "anthropic-beta": "files-api-2025-04-14"

    Die Python-Umgebung kann verschiedene Dateitypen verarbeiten, die über die Files API hochgeladen werden, einschließlich:

    • CSV
    • Excel (.xlsx, .xls)
    • JSON
    • XML
    • Bilder (JPEG, PNG, GIF, WebP)
    • Textdateien (.txt, .md, .py, usw.)

    Dateien hochladen und analysieren

    1. Laden Sie Ihre Datei hoch mit der Files API
    2. Referenzieren Sie die Datei in Ihrer Nachricht mit einem container_upload Content Block
    3. Fügen Sie das Code Execution Tool in Ihrer API-Anfrage ein

    Generierte Dateien abrufen

    Wenn Claude während der Code Execution Dateien erstellt, können Sie diese Dateien mit der Files API abrufen:

    Tool-Definition

    Das Code Execution Tool erfordert keine zusätzlichen Parameter:

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

    Wenn dieses Tool bereitgestellt wird, erhält Claude automatisch Zugriff auf zwei Sub-Tools:

    • bash_code_execution: Shell-Befehle ausführen
    • text_editor_code_execution: Dateien anzeigen, erstellen und bearbeiten, einschließlich Code schreiben

    Antwortformat

    Das Code Execution Tool kann zwei Arten von Ergebnissen zurückgeben, je nach Operation:

    Bash-Befehl-Antwort

    Output
    {
      "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
      }
    }

    Dateioperations-Antworten

    Datei anzeigen:

    Output
    {
      "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
      }
    }

    Datei erstellen:

    Output
    {
      "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
      }
    }

    Datei bearbeiten (str_replace):

    Output
    {
      "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"]
      }
    }

    Ergebnisse

    Alle Ausführungsergebnisse enthalten:

    • stdout: Ausgabe aus erfolgreicher Ausführung
    • stderr: Fehlermeldungen bei Ausführungsfehlern
    • return_code: 0 für Erfolg, nicht-null für Fehler

    Zusätzliche Felder für Dateioperationen:

    • Anzeigen: file_type, content, numLines, startLine, totalLines
    • Erstellen: is_file_update (ob Datei bereits existierte)
    • Bearbeiten: oldStart, oldLines, newStart, newLines, lines (Diff-Format)

    Fehler

    Jeder Tool-Typ kann spezifische Fehler zurückgeben:

    Häufige Fehler (alle Tools):

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

    Fehlercodes nach Tool-Typ:

    ToolFehlercodeBeschreibung
    Alle ToolsunavailableDas Tool ist vorübergehend nicht verfügbar
    Alle Toolsexecution_time_exceededAusführung überschritt das maximale Zeitlimit
    Alle Toolscontainer_expiredContainer ist abgelaufen und nicht mehr verfügbar
    Alle Toolsinvalid_tool_inputUngültige Parameter für das Tool bereitgestellt
    Alle Toolstoo_many_requestsRate Limit für Tool-Nutzung überschritten
    bashoutput_file_too_large

    pause_turn Stop-Grund

    Die Antwort kann einen pause_turn Stop-Grund enthalten, der anzeigt, dass die API einen langen Durchgang unterbrochen hat. Sie können die Antwort in einer nachfolgenden Anfrage unverändert zurückgeben, um Claude seinen Durchgang fortsetzen zu lassen, oder den Inhalt ändern, wenn Sie das Gespräch unterbrechen möchten.

    Container

    Das Code Execution Tool läuft in einer sicheren, containerisierten Umgebung, die speziell für Code Execution entwickelt wurde, mit einem höheren Fokus auf Python.

    Laufzeitumgebung

    • Python-Version: 3.11.12
    • Betriebssystem: Linux-basierter Container
    • Architektur: x86_64 (AMD64)

    Ressourcenlimits

    • Speicher: 5 GiB RAM
    • Festplattenspeicher: 5 GiB Workspace-Speicher
    • CPU: 1 CPU

    Netzwerk und Sicherheit

    • Internetzugang: Vollständig deaktiviert aus Sicherheitsgründen
    • Externe Verbindungen: Keine ausgehenden Netzwerkanfragen zulässig
    • Sandbox-Isolation: Vollständige Isolation vom Host-System und anderen Containern
    • Dateizugriff: Begrenzt auf Workspace-Verzeichnis nur
    • Workspace-Bereichung: Wie Files sind Container auf den Workspace des API-Schlüssels begrenzt
    • Ablauf: Container verfallen 30 Tage nach der Erstellung

    Vorinstallierte Bibliotheken

    Die Sandbox-Python-Umgebung enthält diese häufig verwendeten Bibliotheken:

    • Data Science: pandas, numpy, scipy, scikit-learn, statsmodels
    • Visualisierung: matplotlib, seaborn
    • Dateiverarbeitung: pyarrow, openpyxl, xlsxwriter, xlrd, pillow, python-pptx, python-docx, pypdf, pdfplumber, pypdfium2, pdf2image, pdfkit, tabula-py, reportlab[pycairo], Img2pdf
    • Mathematik & Computing: sympy, mpmath
    • Dienstprogramme: tqdm, python-dateutil, pytz, joblib, unzip, unrar, 7zip, bc, rg (ripgrep), fd, sqlite

    Container-Wiederverwendung

    Sie können einen vorhandenen Container über mehrere API-Anfragen hinweg wiederverwenden, indem Sie die Container-ID aus einer vorherigen Antwort bereitstellen. Dies ermöglicht es Ihnen, erstellte Dateien zwischen Anfragen beizubehalten.

    Beispiel

    Streaming

    Mit aktiviertem Streaming erhalten Sie Code-Ausführungsereignisse, wenn sie auftreten:

    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": ""}}}

    Batch-Anfragen

    Sie können das Code-Ausführungs-Tool in die Messages Batches API einbeziehen. Code-Ausführungs-Tool-Aufrufe über die Messages Batches API werden genauso berechnet wie solche in regulären Messages API-Anfragen.

    Nutzung und Preisgestaltung

    Code execution is free when used with web search or web fetch. When web_search_20260209 or web_fetch_20260209 is included in your API request, there are no additional charges for code execution tool calls beyond the standard input and output token costs.

    When used without these tools, code execution is billed by execution time, tracked separately from token usage:

    • Execution time has a minimum of 5 minutes
    • Each organization receives 1,550 free hours of usage per month
    • Additional usage beyond 1,550 hours is billed at $0.05 per hour, per container
    • If files are included in the request, execution time is billed even if the tool is not invoked, due to files being preloaded onto the container

    Code execution usage is tracked in the response:

    "usage": {
      "input_tokens": 105,
      "output_tokens": 239,
      "server_tool_use": {
        "code_execution_requests": 1
      }
    }

    Upgrade auf die neueste Tool-Version

    Durch das Upgrade auf code-execution-2025-08-25 erhalten Sie Zugriff auf Dateimanipulation und Bash-Funktionen, einschließlich Code in mehreren Sprachen. Es gibt keinen Preisunterschied.

    Was hat sich geändert

    KomponenteLegacyAktuell
    Beta-Headercode-execution-2025-05-22code-execution-2025-08-25
    Tool-Typcode_execution_20250522code_execution_20250825
    FunktionenNur PythonBash-Befehle, Dateivorgänge
    Antworttypencode_execution_resultbash_code_execution_result, text_editor_code_execution_result

    Rückwärtskompatibilität

    • Alle vorhandenen Python-Code-Ausführungen funktionieren genau wie zuvor
    • Keine Änderungen erforderlich für vorhandene Python-only-Workflows

    Upgrade-Schritte

    Zum Upgrade aktualisieren Sie den Tool-Typ in Ihren API-Anfragen:

    - "type": "code_execution_20250522"
    + "type": "code_execution_20250825"

    Überprüfen Sie die Antwortbehandlung (wenn Sie Antworten programmgesteuert analysieren):

    • Die vorherigen Blöcke für Python-Ausführungsantworten werden nicht mehr gesendet
    • Stattdessen werden neue Antworttypen für Bash und Dateivorgänge gesendet (siehe Abschnitt Antwortformat)

    Programmgesteuerte Tool-Aufrufe

    Zum Ausführen von Tools innerhalb des Code-Ausführungs-Containers siehe Programmgesteuerte Tool-Aufrufe.

    Datenspeicherung

    Die Code-Ausführung läuft in serverseitigen Sandbox-Containern. Container-Daten, einschließlich Ausführungsartefakte, hochgeladener Dateien und Ausgaben, werden bis zu 30 Tage lang aufbewahrt. Diese Aufbewahrung gilt für alle Daten, die in der Container-Umgebung verarbeitet werden. Dateien, die die Code-Ausführung in der Files API erstellt (abrufbar über client.beta.files.download()), bleiben bestehen, bis sie explizit gelöscht werden.

    Für ZDR-Berechtigung über alle Funktionen hinweg siehe API und Datenspeicherung.

    Verwendung der Code-Ausführung mit Agent Skills

    Das Code-Ausführungs-Tool ermöglicht Claude die Verwendung von Agent Skills. Skills sind modulare Funktionen, die aus Anweisungen, Skripten und Ressourcen bestehen und Claudes Funktionalität erweitern.

    Weitere Informationen finden Sie in der Agent Skills-Dokumentation und im Agent Skills API-Leitfaden.

    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-opus-4-7",
        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"}],
    )
    
    print(response)
    client = anthropic.Anthropic()
    
    # Laden Sie eine Datei hoch
    file_object = client.beta.files.upload(
        file=open("data.csv", "rb"),
    )
    
    # Verwenden Sie die file_id mit Code Execution
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        betas=["files-api-2025-04-14"],
        max_tokens=4096,
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "Analyze this CSV data"},
                    {"type": "container_upload", "file_id": file_object.id},
                ],
            }
        ],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )
    
    print(response)
    # Initialisieren Sie den Client
    client = Anthropic()
    
    # Fordern Sie Code Execution an, die Dateien erstellt
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        betas=["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"}],
    )
    
    
    # Extrahieren Sie file_ids aus der Antwort
    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":
                    # concrete-typed list: List[BashCodeExecutionOutputBlock]
                    for file in content_item.content:
                        file_ids.append(file.file_id)
        return file_ids
    
    
    # Laden Sie die erstellten Dateien herunter
    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}")
    Befehlsausgabe überschritt die maximale Größe
    text_editorfile_not_foundDatei existiert nicht (für Anzeige-/Bearbeitungsvorgänge)
    text_editorstring_not_foundDer old_str wurde nicht in der Datei gefunden (für str_replace)
    # Erste Anfrage: Erstelle eine Datei mit einer Zufallszahl
    response1 = client.messages.create(
        model="claude-opus-4-7",
        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"}],
    )
    
    # Extrahiere die Container-ID aus der ersten Antwort
    container_id = response1.container.id
    
    # Zweite Anfrage: Verwende den Container erneut, um die Datei zu lesen
    response2 = client.messages.create(
        container=container_id,  # Verwende denselben Container erneut
        model="claude-opus-4-7",
        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"}],
    )
    
    print(response2)