Mode headless
Jalankan Claude Code secara programatis tanpa UI interaktif
Gambaran Umum
Mode headless memungkinkan Anda menjalankan Claude Code secara programatis dari skrip command line dan alat otomasi tanpa UI interaktif apa pun.
Penggunaan Dasar
Antarmuka command-line utama untuk Claude Code adalah perintah claude
. Gunakan flag --print
(atau -p
) untuk menjalankan dalam mode non-interaktif dan mencetak hasil akhir:
Opsi Konfigurasi
SDK memanfaatkan semua opsi CLI yang tersedia di Claude Code. Berikut adalah yang utama untuk penggunaan SDK:
Flag | Deskripsi | Contoh |
---|---|---|
--print , -p | Jalankan dalam mode non-interaktif | claude -p "query" |
--output-format | Tentukan format output (text , json , stream-json ) | claude -p --output-format json |
--resume , -r | Lanjutkan percakapan berdasarkan ID sesi | claude --resume abc123 |
--continue , -c | Lanjutkan percakapan terbaru | claude --continue |
--verbose | Aktifkan logging verbose | claude --verbose |
--append-system-prompt | Tambahkan ke system prompt (hanya dengan --print ) | claude --append-system-prompt "Custom instruction" |
--allowedTools | Daftar alat yang diizinkan dipisahkan spasi, atau string daftar alat yang diizinkan dipisahkan koma | claude --allowedTools mcp__slack mcp__filesystem claude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Daftar alat yang ditolak dipisahkan spasi, atau string daftar alat yang ditolak dipisahkan koma | claude --disallowedTools mcp__splunk mcp__github claude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | Muat server MCP dari file JSON | claude --mcp-config servers.json |
--permission-prompt-tool | Alat MCP untuk menangani prompt izin (hanya dengan --print ) | claude --permission-prompt-tool mcp__auth__prompt |
Untuk daftar lengkap opsi CLI dan fitur, lihat dokumentasi referensi CLI.
Percakapan Multi-turn
Untuk percakapan multi-turn, Anda dapat melanjutkan percakapan atau melanjutkan dari sesi terbaru:
Format Output
Output Teks (Default)
Output JSON
Mengembalikan data terstruktur termasuk metadata:
Format respons:
Output JSON Streaming
Mengalirkan setiap pesan saat diterima:
Setiap percakapan dimulai dengan pesan sistem init
awal, diikuti oleh daftar pesan pengguna dan asisten, diikuti oleh pesan sistem result
akhir dengan statistik. Setiap pesan dipancarkan sebagai objek JSON terpisah.
Format Input
Input Teks (Default)
Input JSON Streaming
Aliran pesan yang disediakan melalui stdin
di mana setiap pesan mewakili giliran pengguna. Ini memungkinkan beberapa giliran percakapan tanpa meluncurkan ulang binary claude
dan memungkinkan memberikan panduan kepada model saat sedang memproses permintaan.
Setiap pesan adalah objek JSON ‘User message’, mengikuti format yang sama dengan skema pesan output. Pesan diformat menggunakan format jsonl di mana setiap baris input adalah objek JSON lengkap. Input JSON streaming memerlukan -p
dan --output-format stream-json
.
Contoh Integrasi Agent
Bot Respons Insiden SRE
Review Keamanan Otomatis
Asisten Hukum Multi-turn
Praktik Terbaik
-
Gunakan format output JSON untuk parsing programatis respons:
-
Tangani error dengan baik - periksa kode keluar dan stderr:
-
Gunakan manajemen sesi untuk mempertahankan konteks dalam percakapan multi-turn
-
Pertimbangkan timeout untuk operasi yang berjalan lama:
-
Hormati batas rate saat membuat beberapa permintaan dengan menambahkan jeda antara panggilan
Sumber Daya Terkait
- Penggunaan dan kontrol CLI - Dokumentasi CLI lengkap
- Alur kerja umum - Panduan langkah demi langkah untuk kasus penggunaan umum