Code Mode bersifat eksperimental dan nonaktif secara default. Fitur ini dapat berubah atau dihapus di rilis mana pun. Untuk memberikan masukan, jalankan
/feedback.Cara kerja Code Mode
Dalam sesi Code Mode, Anda tetap mendeskripsikan tugas Anda dalam sebuah prompt, dan Claude menulis JavaScript untuk melaksanakannya. Satu potong kode dapat menjalankan perintah secara paralel, menggunakan satu hasil dalam panggilan berikutnya, dan mengembalikan bagian output yang perlu dibaca oleh Claude. Misalnya, jika Anda meminta Claude untuk menaikkan batas retry, Claude mungkin menulis kode ini untuk menemukan file, mengeditnya, dan menjalankan pengujian. Baris terakhir mengembalikan path file dan output pengujian kepada Claude:Ctrl+O untuk membuka penampil transkrip. Setiap potong kode muncul di sana sebagai baris Code yang diciutkan, dengan petunjuk cara memperluasnya.
Kapan menggunakan Code Mode
Cobalah Code Mode pada tugas yang memerlukan banyak panggilan tool yang saling terkait, seperti:- Perubahan yang berulang di banyak file
- Pencarian yang hasilnya perlu difilter sebelum Claude membacanya
- Beberapa perintah independen yang dapat berjalan bersamaan
Keterbatasan Code Mode
Sebelum Anda mengaktifkan Code Mode, pastikan Anda dapat menerima batasan berikut:- Melanjutkan sesi: Anda dapat melanjutkan sesi Code Mode hanya di terminal, dengan Code Mode aktif
- Auto mode: pengklasifikasi auto mode meninjau kode, bukan setiap panggilan tool
- Kode yang berjalan lama: kecuali jika kode dapat berjalan di latar belakang, Anda menunggu hingga kode selesai, dan kode berhenti setelah sepuluh menit
- Hook: Anda dapat melihat panggilan tool ditolak ketika hook
PreToolUsetidak dapat berjalan atau mengalami timeout, dan output kode diblokir oleh hookUserPromptSubmit - Fitur yang tidak tersedia: Anda tidak dapat menggunakan Remote Control, Claude in Chrome, atau computer use
- Memindahkan sesi: Anda tidak dapat memindahkan sesi ke aplikasi Desktop atau mengubahnya menjadi sesi latar belakang, dan
/forktidak dapat memulai salinan latar belakang
Persyaratan
- Versi: Claude Code v2.1.323 atau yang lebih baru, di salah satu saluran rilis. Versi yang lebih lama dimulai tanpa Code Mode, dengan atau tanpa alasan
it isn't open to your account yet - Akun: langganan Claude atau akun Console. Anda tidak dapat menggunakan Code Mode melalui gateway, Amazon Bedrock, Claude Platform on AWS, Agent Platform dari Google Cloud, atau Microsoft Foundry
- Organisasi: organisasi Anda tidak menggunakan konfigurasi HIPAA maupun zero data retention
- Model: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5, atau Fable 5.2
- Surface: sesi
claudeinteraktif di terminal. Code Mode tidak berfungsi dengan-p, Agent SDK, panel VS Code, aplikasi Desktop, atau sesi cloud - Instalasi: build native dari Claude Code
- Windows: Git for Windows sudah terinstal
DISABLE_TELEMETRY. Untuk perbaikan masing-masing, lihat Code Mode tidak dimulai.
Mencoba Code Mode
Aktifkan Code Mode, berikan tugas kepada Claude, dan lihat kode yang ditulis Claude.1
Periksa versi Anda
Jalankan
claude --version. Jika versinya lebih lama dari v2.1.323, jalankan claude update. Jika Anda berada di saluran stable dan pembaruan tidak mencapai v2.1.323, tunggu hingga stable menyusul atau beralih ke latest.2
Mulai Claude Code dengan Code Mode aktif
Atur environment variable
CLAUDE_CODE_EXPERIMENTAL_CODE_MODE ke 1. Untuk mencoba Code Mode, atur di shell Anda. Untuk mengaktifkan Code Mode di setiap sesi baru, atur di pengaturan pengguna Anda.- macOS, Linux, WSL
- Windows PowerShell
- settings.json
3
Konfirmasi bahwa Anda menginginkan Code Mode
Claude Code meminta Anda untuk mengonfirmasi sebelum sesi Code Mode pertama Anda. Pilih Yes, turn on Code Mode. Claude Code dimulai ulang dan menampilkan baris ini di dekat bagian atas sesi:Jika Anda melihat baris yang berbeda atau tidak ada baris sama sekali, lihat Code Mode tidak dimulai.
4
Berikan Claude tugas dengan banyak panggilan tool
Di proyek yang Anda kenal, kirim prompt seperti ini:
5
Baca kode yang ditulis Claude
Tekan
Ctrl+O dan perluas baris Code untuk melihat JavaScript di balik panggilan tool. Tekan Ctrl+O lagi untuk kembali ke percakapan.Menonaktifkan Code Mode
HapusCLAUDE_CODE_EXPERIMENTAL_CODE_MODE dari shell Anda dan dari ~/.claude/settings.json, lalu mulai sesi baru. Anda juga dapat mempertahankan variabel tersebut dan mengubah nilainya menjadi 0 di salah satu tempat. Dengan 0 di satu tempat, Code Mode tetap nonaktif meskipun Anda mengatur 1 di tempat lainnya.
Memblokir Code Mode untuk organisasi Anda
TambahkanCLAUDE_CODE_EXPERIMENTAL_CODE_MODE dengan nilai 0 ke pengaturan terkelola Anda agar tidak ada seorang pun di organisasi Anda yang dapat menggunakan Code Mode:
0 tersebut berlaku. Anda tidak dapat mengaktifkan Code Mode untuk pengguna Anda dari pengaturan terkelola.
Izin dan kode yang berjalan lama
Mode izin Anda menentukan bagaimana kode Claude diperiksa dan apakah Anda dapat berbicara dengan Claude saat kode berjalan.Pemeriksaan izin
Setiap panggilan tool yang dilakukan kode Claude melewati aturan izindeny dan ask Anda serta hook PreToolUse Anda. Anda tidak perlu mengubah aturan atau matcher untuk tool seperti Bash. Selain aturan dan hook, sebuah pengklasifikasi meninjau kode dalam auto mode, dan Anda menjawab permintaan izin dalam mode yang meminta persetujuan:
- Auto mode: pengklasifikasi meninjau setiap potong kode sebelum dijalankan, bukan setiap panggilan tool. Pengklasifikasi tidak melihat nilai yang dihitung saat runtime, seperti path yang diambil dari output pencarian, jadi pertahankan aturan atau hook untuk panggilan yang harus Anda kendalikan. Anda tetap dapat diminta izin ketika kode baru dimulai saat kode sebelumnya masih berjalan
- Mode izin lainnya: kode dimulai tanpa tinjauan, dan Anda diminta izin untuk setiap panggilan tool yang akan meminta izin Anda dalam mode tersebut
PreToolUse yang mencocokkan REPL, yaitu tool yang menjalankan kode Claude, dan baca JavaScript dari tool_input.code.
Kode yang berjalan lama
Saat kode menjalankan build atau pengujian yang lama, Claude menunggunya atau membiarkannya berlanjut di latar belakang:- Menunggu: Claude menjawab setelah kode selesai, dan kode berhenti setelah sepuluh menit, termasuk waktu yang Anda habiskan di permintaan izin
- Latar belakang: Anda dapat terus berbicara dengan Claude, dan kode dapat berjalan hingga dua jam
bypassPermissions. Jika Claude masih menunggu, periksa mode Anda saat ini dan cara Anda memulai sesi:
- Anda beralih ke mode lain: tekan
Shift+Tabhingga Anda kembali ke mode awal Anda - Anda memulai dalam mode lain, atau memilih sesi dari daftar
claude --resume: jika auto mode tersedia bagi Anda, keluar, lalu jalankanclaude --continue --permission-mode autodengan Code Mode aktif - Anda meneruskan nama tool ke
--tools: mulai lagi dalam auto mode tanpa flag tersebut
Pemecahan masalah
Code Mode tidak dimulai
Code Mode (experimental) isn't available di dekat bagian atas sesi berarti Claude Code dimulai tanpa Code Mode. Alasannya mengikuti di baris yang sama, dan /status juga menampilkannya. Temukan alasannya di tabel ini, lakukan perubahan, dan mulai sesi baru. Untuk alasan yang tidak tercantum, periksa persyaratan.
Jika Anda tidak melihat baris apa pun tentang Code Mode, jalankan
claude --version. Jika versi Anda lebih lama dari v2.1.323, lakukan pembaruan. Lalu pastikan CLAUDE_CODE_EXPERIMENTAL_CODE_MODE bernilai 1 di shell atau pengaturan pengguna Anda, dan hapus 0 apa pun dari tempat-tempat tersebut dan dari file --settings mana pun.
Permintaan izin dengan hitung mundur
Ketika Claude memulai kode tambahan dalam auto mode saat kode sebelumnya masih berjalan, kode sebelumnya kehilangan tinjauan pengklasifikasinya. Claude Code kemudian menanyakan kepada Anda tentang sisa panggilan kode sebelumnya yang memerlukan tinjauan. Tanpa IDE yang terhubung, permintaan izin tersebut menampilkan hitung mundur:Panggilan tool ditolak oleh hook
Jika Claude melaporkan panggilan tool yang ditolak, mintalah teks errornya. Error berikut berarti hookPreToolUse tidak memberikan keputusan, yang menolak panggilan tersebut bahkan ketika onFailure tidak diatur:
the hook failed: pada panggilan dari kode Claude, hook Anda tidak dapat dimulai, dihentikan paksa, keluar dengan kode 126, 127, atau kode di atas 128, atau mengembalikan error HTTP atau output yang tidak valid. Perbaiki hook tersebutthe hook did not finish: hook Anda mengalami timeout pada panggilan dari kode Claude, atau pada panggilan tool lainnya setelah Claude menjalankan kode dalam sesi tersebut. Naikkantimeouthook tersebut
command atau http gagal atau mengalami timeout, atur "onFailure": "continue" pada hook tersebut. Jika hook command keluar dengan kode biasa seperti 1, panggilan tetap berjalan kecuali jika Anda mengatur "onFailure": "block".
Output kode ditahan oleh hook
Jika Claude melaporkan alasan pemblokiran dari hook di tempat yang seharusnya berisi output dari kode Claude, periksa hookUserPromptSubmit Anda. Ketika kode dapat berjalan di latar belakang, hook command, http, dan mcp_tool pada event tersebut juga berjalan pada output kode. Untuk membiarkan output lolos, ubah hook tersebut agar tidak memblokir ketika source dalam inputnya adalah poll_event.
Sumber daya terkait
- Mode izin: bandingkan auto mode dengan mode yang meminta izin Anda
- Referensi hooks: tulis hook
PreToolUsedanUserPromptSubmit - Pengaturan terkelola: terapkan satu konfigurasi di seluruh organisasi