Tool eksekusi kode
Claude dapat menganalisis data, membuat visualisasi, melakukan kalkulasi kompleks, menjalankan perintah sistem, membuat dan mengedit file, serta memproses file yang diunggah langsung dalam percakapan API. Tool eksekusi kode memungkinkan Claude menjalankan perintah Bash dan memanipulasi file, termasuk menulis kode, dalam lingkungan sandbox yang aman.
Tool eksekusi kode saat ini dalam beta publik.
Untuk menggunakan fitur ini, tambahkan beta header "code-execution-2025-08-25"
ke permintaan API Anda.
Kami baru-baru ini meningkatkan tool eksekusi kode untuk mendukung perintah Bash dan manipulasi file langsung. Untuk instruksi upgrade ke versi tool terbaru, lihat Upgrade ke versi tool terbaru.
Model yang didukung
Tool eksekusi kode tersedia pada:
- 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
)
Mulai cepat
Berikut contoh sederhana yang meminta Claude melakukan kalkulasi:
Cara kerja eksekusi kode
Ketika Anda menambahkan tool eksekusi kode ke permintaan API Anda:
- Claude mengevaluasi apakah eksekusi kode akan membantu menjawab pertanyaan Anda
- Tool secara otomatis menyediakan Claude dengan kemampuan berikut:
- Perintah Bash: Menjalankan perintah shell untuk operasi sistem dan manajemen paket
- Operasi file: Membuat, melihat, dan mengedit file secara langsung, termasuk menulis kode
- Claude dapat menggunakan kombinasi kemampuan ini dalam satu permintaan
- Semua operasi berjalan dalam lingkungan sandbox yang aman
- Claude menyediakan hasil dengan grafik, kalkulasi, atau analisis yang dihasilkan
Cara menggunakan tool
Menjalankan perintah Bash
Minta Claude untuk memeriksa informasi sistem dan menginstal paket:
Membuat dan mengedit file secara langsung
Claude dapat membuat, melihat, dan mengedit file secara langsung dalam sandbox menggunakan kemampuan manipulasi file:
Mengunggah dan menganalisis file Anda sendiri
Untuk menganalisis file data Anda sendiri (CSV, Excel, gambar, dll.), unggah melalui Files API dan referensikan dalam permintaan Anda:
Menggunakan Files API dengan Code Execution memerlukan dua beta header: "anthropic-beta": "code-execution-2025-08-25,files-api-2025-04-14"
Lingkungan Python dapat memproses berbagai jenis file yang diunggah melalui Files API, termasuk:
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Gambar (JPEG, PNG, GIF, WebP)
- File teks (.txt, .md, .py, dll)
Mengunggah dan menganalisis file
- Unggah file Anda menggunakan Files API
- Referensikan file dalam pesan Anda menggunakan blok konten
container_upload
- Sertakan tool eksekusi kode dalam permintaan API Anda
Mengambil file yang dihasilkan
Ketika Claude membuat file selama eksekusi kode, Anda dapat mengambil file-file ini menggunakan Files API:
Menggabungkan operasi
Alur kerja kompleks menggunakan semua kemampuan:
Definisi tool
Tool eksekusi kode tidak memerlukan parameter tambahan:
Ketika tool ini disediakan, Claude secara otomatis mendapatkan akses ke dua sub-tool:
bash_code_execution
: Menjalankan perintah shelltext_editor_code_execution
: Melihat, membuat, dan mengedit file, termasuk menulis k
Format respons
Tool eksekusi kode dapat mengembalikan dua jenis hasil tergantung pada operasi:
Respons perintah Bash
Respons operasi file
Lihat file:
Buat file:
Edit file (str_replace):
Hasil
Semua hasil eksekusi mencakup:
stdout
: Output dari eksekusi yang berhasilstderr
: Pesan error jika eksekusi gagalreturn_code
: 0 untuk sukses, bukan nol untuk gagal
Field tambahan untuk operasi file:
- View:
file_type
,content
,numLines
,startLine
,totalLines
- Create:
is_file_update
(apakah file sudah ada) - Edit:
oldStart
,oldLines
,newStart
,newLines
,lines
(format diff)
Error
Setiap jenis tool dapat mengembalikan error spesifik:
Error umum (semua tool):
Kode error berdasarkan jenis tool:
Tool | Kode Error | Deskripsi |
---|---|---|
Semua tool | unavailable | Tool sementara tidak tersedia |
Semua tool | execution_time_exceeded | Eksekusi melebihi batas waktu maksimum |
Semua tool | container_expired | Container kedaluwarsa dan tidak lagi tersedia |
Semua tool | invalid_tool_input | Parameter tidak valid diberikan ke tool |
Semua tool | too_many_requests | Batas rate terlampaui untuk penggunaan tool |
text_editor | file_not_found | File tidak ada (untuk operasi view/edit) |
text_editor | string_not_found | old_str tidak ditemukan dalam file (untuk str_replace) |
Alasan stop pause_turn
Respons mungkin mencakup alasan stop pause_turn
, yang menunjukkan bahwa API menjeda turn yang berjalan lama. Anda dapat memberikan respons kembali apa adanya dalam permintaan berikutnya untuk membiarkan Claude melanjutkan turn-nya, atau memodifikasi konten jika Anda ingin mengganggu percakapan.
Container
Tool eksekusi kode berjalan dalam lingkungan container yang aman, dirancang khusus untuk eksekusi kode, dengan fokus lebih tinggi pada Python.
Lingkungan runtime
- Versi Python: 3.11.12
- Sistem operasi: Container berbasis Linux
- Arsitektur: x86_64 (AMD64)
Batas sumber daya
- Memori: 1GiB RAM
- Ruang disk: 5GiB penyimpanan workspace
- CPU: 1 CPU
Jaringan dan keamanan
- Akses internet: Sepenuhnya dinonaktifkan untuk keamanan
- Koneksi eksternal: Tidak ada permintaan jaringan keluar yang diizinkan
- Isolasi sandbox: Isolasi penuh dari sistem host dan container lain
- Akses file: Terbatas pada direktori workspace saja
- Scoping workspace: Seperti Files, container dicakup ke workspace dari API key
- Kedaluwarsa: Container kedaluwarsa 1 jam setelah dibuat
Library yang sudah terinstal
Lingkungan Python sandbox mencakup library yang umum digunakan ini:
- Data Science: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualisasi: matplotlib, seaborn
- Pemrosesan File: pyarrow, openpyxl, xlrd, pillow, python-pptx, python-docx, pypdf, pdfplumber, pypdfium2, pdf2image, pdfkit, tabula-py, reportlab[pycairo], Img2pdf
- Math & Computing: sympy, mpmath
- Utilitas: tqdm, python-dateutil, pytz, joblib, unzip, unrar, 7zip, bc, rg (ripgrep), fd, sqlite
Penggunaan ulang container
Anda dapat menggunakan ulang container yang ada di beberapa permintaan API dengan menyediakan ID container dari respons sebelumnya. Ini memungkinkan Anda mempertahankan file yang dibuat antar permintaan.
Contoh
Streaming
Dengan streaming diaktifkan, Anda akan menerima event eksekusi kode saat terjadi:
Permintaan batch
Anda dapat menyertakan tool eksekusi kode dalam Messages Batches API. Panggilan tool eksekusi kode melalui Messages Batches API dikenakan harga yang sama dengan yang ada di permintaan Messages API reguler.
Penggunaan dan harga
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.
Upgrade ke versi tool terbaru
Dengan upgrade ke code-execution-2025-08-25
, Anda mendapatkan akses ke manipulasi file dan kemampuan Bash, termasuk kode dalam berbagai bahasa. Tidak ada perbedaan harga.
Yang berubah
Komponen | Legacy | Saat ini |
---|---|---|
Beta header | code-execution-2025-05-22 | code-execution-2025-08-25 |
Jenis tool | code_execution_20250522 | code_execution_20250825 |
Kemampuan | Hanya Python | Perintah Bash, operasi file |
Jenis respons | code_execution_result | bash_code_execution_result , text_editor_code_execution_result |
Kompatibilitas mundur
- Semua eksekusi kode Python yang ada terus bekerja persis seperti sebelumnya
- Tidak ada perubahan yang diperlukan untuk alur kerja khusus Python
Langkah upgrade
Untuk upgrade, Anda perlu membuat perubahan berikut dalam permintaan API Anda:
-
Perbarui beta header:
-
Perbarui jenis tool:
-
Tinjau penanganan respons (jika mem-parsing respons secara programatis):
- Blok sebelumnya untuk respons eksekusi Python tidak akan lagi dikirim
- Sebagai gantinya, jenis respons baru untuk operasi Bash dan file akan dikirim (lihat bagian Format Respons)