Lo strumento di esecuzione del codice è attualmente in beta pubblica.Per utilizzare questa funzione, aggiungi l’intestazione beta
"code-execution-2025-08-25" beta header alle tue richieste API.Compatibilità dei modelli
Lo strumento di esecuzione del codice è disponibile sui seguenti modelli:| Modello | Versione dello strumento |
|---|---|
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.5 (claude-sonnet-4-5-20250929) | code_execution_20250825 |
Claude Sonnet 4 (claude-sonnet-4-20250514) | code_execution_20250825 |
Claude Sonnet 3.7 (claude-3-7-sonnet-20250219) (deprecato) | 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 |
La versione attuale
code_execution_20250825 supporta comandi Bash e operazioni su file. È disponibile anche una versione legacy code_execution_20250522 (solo Python). Vedi Aggiorna alla versione più recente dello strumento per i dettagli della migrazione.Le versioni precedenti dello strumento non sono garantite essere retrocompatibili con i modelli più recenti. Utilizza sempre la versione dello strumento che corrisponde alla versione del tuo modello.
Avvio rapido
Ecco un semplice esempio che chiede a Claude di eseguire un calcolo:Come funziona l’esecuzione del codice
Quando aggiungi lo strumento di esecuzione del codice alla tua richiesta API:- Claude valuta se l’esecuzione del codice aiuterebbe a rispondere alla tua domanda
- Lo strumento fornisce automaticamente a Claude le seguenti capacità:
- Comandi Bash: Esegui comandi shell per operazioni di sistema e gestione dei pacchetti
- Operazioni su file: Crea, visualizza e modifica file direttamente, inclusa la scrittura di codice
- Claude può utilizzare qualsiasi combinazione di queste capacità in una singola richiesta
- Tutte le operazioni vengono eseguite in un ambiente sandbox sicuro
- Claude fornisce risultati con eventuali grafici generati, calcoli o analisi
Come utilizzare lo strumento
Esegui comandi Bash
Chiedi a Claude di controllare le informazioni di sistema e installare pacchetti:Crea e modifica file direttamente
Claude può creare, visualizzare e modificare file direttamente nella sandbox utilizzando le capacità di manipolazione dei file:Carica e analizza i tuoi file
Per analizzare i tuoi file di dati (CSV, Excel, immagini, ecc.), caricali tramite l’API Files e fai riferimento ad essi nella tua richiesta:L’utilizzo dell’API Files con Code Execution richiede due intestazioni beta:
"anthropic-beta": "code-execution-2025-08-25,files-api-2025-04-14"- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Immagini (JPEG, PNG, GIF, WebP)
- File di testo (.txt, .md, .py, ecc)
Carica e analizza file
- Carica il tuo file utilizzando l’API Files
- Fai riferimento al file nel tuo messaggio utilizzando un blocco di contenuto
container_upload - Includi lo strumento di esecuzione del codice nella tua richiesta API
Recupera file generati
Quando Claude crea file durante l’esecuzione del codice, puoi recuperare questi file utilizzando l’API Files:Combina operazioni
Un flusso di lavoro complesso utilizzando tutte le capacità:Definizione dello strumento
Lo strumento di esecuzione del codice non richiede parametri aggiuntivi:JSON
bash_code_execution: Esegui comandi shelltext_editor_code_execution: Visualizza, crea e modifica file, inclusa la scrittura di codice
Formato della risposta
Lo strumento di esecuzione del codice può restituire due tipi di risultati a seconda dell’operazione:Risposta del comando Bash
Risposte delle operazioni su file
Visualizza file:Risultati
Tutti i risultati dell’esecuzione includono:stdout: Output dall’esecuzione riuscitastderr: Messaggi di errore se l’esecuzione falliscereturn_code: 0 per il successo, non-zero per il fallimento
- Visualizza:
file_type,content,numLines,startLine,totalLines - Crea:
is_file_update(se il file esisteva già) - Modifica:
oldStart,oldLines,newStart,newLines,lines(formato diff)
Errori
Ogni tipo di strumento può restituire errori specifici: Errori comuni (tutti gli strumenti):| Strumento | Codice di errore | Descrizione |
|---|---|---|
| Tutti gli strumenti | unavailable | Lo strumento è temporaneamente non disponibile |
| Tutti gli strumenti | execution_time_exceeded | L’esecuzione ha superato il limite di tempo massimo |
| Tutti gli strumenti | container_expired | Il contenitore è scaduto e non è più disponibile |
| Tutti gli strumenti | invalid_tool_input | Parametri non validi forniti allo strumento |
| Tutti gli strumenti | too_many_requests | Limite di velocità superato per l’utilizzo dello strumento |
| text_editor | file_not_found | Il file non esiste (per operazioni di visualizzazione/modifica) |
| text_editor | string_not_found | L’old_str non trovato nel file (per str_replace) |
Motivo di arresto pause_turn
La risposta può includere un motivo di arresto pause_turn, che indica che l’API ha messo in pausa un turno di lunga durata. Puoi fornire la risposta così com’è in una richiesta successiva per consentire a Claude di continuare il suo turno, o modificare il contenuto se desideri interrompere la conversazione.
Contenitori
Lo strumento di esecuzione del codice viene eseguito in un ambiente containerizzato sicuro progettato specificamente per l’esecuzione del codice, con un focus maggiore su Python.Ambiente di runtime
- Versione Python: 3.11.12
- Sistema operativo: Contenitore basato su Linux
- Architettura: x86_64 (AMD64)
Limiti di risorse
- Memoria: 5GiB RAM
- Spazio su disco: 5GiB di archiviazione dell’area di lavoro
- CPU: 1 CPU
Rete e sicurezza
- Accesso a Internet: Completamente disabilitato per motivi di sicurezza
- Connessioni esterne: Nessuna richiesta di rete in uscita consentita
- Isolamento sandbox: Isolamento completo dal sistema host e da altri contenitori
- Accesso ai file: Limitato solo alla directory dell’area di lavoro
- Ambito dell’area di lavoro: Come Files, i contenitori sono limitati all’area di lavoro della chiave API
- Scadenza: I contenitori scadono 30 giorni dopo la creazione
Librerie pre-installate
L’ambiente Python in sandbox include queste librerie comunemente utilizzate:- Data Science: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualizzazione: matplotlib, seaborn
- Elaborazione file: pyarrow, openpyxl, xlsxwriter, xlrd, pillow, python-pptx, python-docx, pypdf, pdfplumber, pypdfium2, pdf2image, pdfkit, tabula-py, reportlab[pycairo], Img2pdf
- Matematica e calcolo: sympy, mpmath
- Utilità: tqdm, python-dateutil, pytz, joblib, unzip, unrar, 7zip, bc, rg (ripgrep), fd, sqlite
Riutilizzo del contenitore
Puoi riutilizzare un contenitore esistente in più richieste API fornendo l’ID del contenitore da una risposta precedente. Questo ti consente di mantenere i file creati tra le richieste.Esempio
Streaming
Con lo streaming abilitato, riceverai gli eventi di esecuzione del codice mentre si verificano:Richieste batch
Puoi includere lo strumento di esecuzione del codice nell’API Messages Batches. Le chiamate dello strumento di esecuzione del codice tramite l’API Messages Batches hanno lo stesso prezzo di quelle nelle richieste API Messages regolari.Utilizzo e prezzi
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 50 free hours of usage with the code execution tool per day. Additional usage beyond the first 50 hours is billed at $0.05 per hour, per container.Aggiorna alla versione più recente dello strumento
Aggiornando acode-execution-2025-08-25, ottieni accesso alle capacità di manipolazione dei file e Bash, incluso il codice in più linguaggi. Non c’è differenza di prezzo.
Cosa è cambiato
| Componente | Legacy | Attuale |
|---|---|---|
| Intestazione beta | code-execution-2025-05-22 | code-execution-2025-08-25 |
| Tipo di strumento | code_execution_20250522 | code_execution_20250825 |
| Capacità | Solo Python | Comandi Bash, operazioni su file |
| Tipi di risposta | code_execution_result | bash_code_execution_result, text_editor_code_execution_result |
Retrocompatibilità
- Tutto il codice Python di esecuzione esistente continua a funzionare esattamente come prima
- Nessun cambiamento richiesto ai flussi di lavoro solo Python esistenti
Passaggi di aggiornamento
Per eseguire l’aggiornamento, devi apportare le seguenti modifiche nelle tue richieste API:-
Aggiorna l’intestazione beta:
-
Aggiorna il tipo di strumento:
-
Rivedi la gestione della risposta (se analizzi le risposte a livello di programmazione):
- I blocchi precedenti per le risposte di esecuzione Python non verranno più inviati
- Invece, verranno inviati nuovi tipi di risposta per le operazioni Bash e file (vedi sezione Formato della risposta)