Ringkasan
Mode headless memungkinkan Anda menjalankan Claude Code secara terprogram dari skrip baris perintah dan alat otomasi tanpa UI interaktif apa pun.Penggunaan dasar
Antarmuka baris perintah utama ke Claude Code adalah perintahclaude. Gunakan flag --print (atau -p) untuk menjalankan dalam mode non-interaktif dan mencetak hasil akhir:
Opsi Konfigurasi
Mode headless memanfaatkan semua opsi CLI yang tersedia di Claude Code. Berikut adalah yang utama untuk otomasi dan skripting:| 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 yang dipisahkan spasi, atau string daftar yang dipisahkan koma dari alat yang diizinkan | claude --allowedTools mcp__slack mcp__filesystemclaude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Daftar alat yang ditolak yang dipisahkan spasi, atau string daftar yang dipisahkan koma dari alat yang ditolak | claude --disallowedTools mcp__splunk mcp__githubclaude --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 |
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:Output JSON Streaming
Mengalirkan setiap pesan saat diterima: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 melaluistdin di mana setiap pesan mewakili giliran pengguna. Ini memungkinkan beberapa giliran percakapan tanpa meluncurkan ulang biner claude dan memungkinkan memberikan panduan kepada model saat memproses permintaan.
Setiap pesan adalah objek ‘Pesan Pengguna’ JSON, 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 Agen
Bot Respons Insiden SRE
Tinjauan Keamanan Otomatis
Asisten Hukum Multi-turn
Praktik Terbaik
-
Gunakan format output JSON untuk parsing respons secara terprogram:
-
Tangani kesalahan 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 laju saat membuat beberapa permintaan dengan menambahkan penundaan antar panggilan
Sumber Daya Terkait
- Penggunaan dan kontrol CLI - Dokumentasi CLI lengkap
- Alur kerja umum - Panduan langkah demi langkah untuk kasus penggunaan umum