SpyBara
Go Premium

Documentation 2026-08-03 20:02 UTC to 2026-08-04 22:59 UTC

72 files changed +2,414 −2,522. View all changes and history on the product overview
2026
Wed 5 02:01 Tue 4 22:59 Mon 3 20:02 Sun 2 19:00

accessibility.md +18 −18

Details

22 22 

23* Untuk satu sesi: jalankan `claude --ax-screen-reader`.23* Untuk satu sesi: jalankan `claude --ax-screen-reader`.

24* Untuk sesi yang dimulai dari satu shell: atur variabel lingkungan `CLAUDE_AX_SCREEN_READER` ke `1`. Di Bash atau Zsh, jalankan `export CLAUDE_AX_SCREEN_READER=1`; di PowerShell, jalankan `$env:CLAUDE_AX_SCREEN_READER = "1"`. Tambahkan baris ke profil shell Anda untuk mencakup setiap shell.24* Untuk sesi yang dimulai dari satu shell: atur variabel lingkungan `CLAUDE_AX_SCREEN_READER` ke `1`. Di Bash atau Zsh, jalankan `export CLAUDE_AX_SCREEN_READER=1`; di PowerShell, jalankan `$env:CLAUDE_AX_SCREEN_READER = "1"`. Tambahkan baris ke profil shell Anda untuk mencakup setiap shell.

25* Untuk setiap sesi di mesin: tambahkan `"axScreenReader": true` ke [file pengaturan](/id/settings) pengguna Anda. Ini mencakup terminal apa pun, termasuk terminal terintegrasi VS Code.25* Untuk setiap sesi di mesin: tambahkan `"axScreenReader": true` ke [file pengaturan](/docs/id/settings) pengguna Anda. Ini mencakup terminal apa pun, termasuk terminal terintegrasi VS Code.

26 26 

27<Note>27<Note>

28 Metode-metode tersebut tercantum dalam urutan prioritas: flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) menggantikan variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/id/env-vars), yang menggantikan pengaturan [`axScreenReader`](/id/settings#available-settings).28 Metode-metode tersebut tercantum dalam urutan prioritas: flag [`--ax-screen-reader`](/docs/id/cli-reference#cli-flags) menggantikan variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars), yang menggantikan pengaturan [`axScreenReader`](/docs/id/settings#available-settings).

29</Note>29</Note>

30 30 

31Jika Anda menggunakan Claude Code melalui SSH, atur variabel lingkungan atau pengaturan pada mesin jarak jauh tempat Claude Code berjalan.31Jika Anda menggunakan Claude Code melalui SSH, atur variabel lingkungan atau pengaturan pada mesin jarak jauh tempat Claude Code berjalan.

32 32 

33Ketika mode aktif, hal pertama yang dicetak Claude Code adalah baris konfirmasi yang menyebutkan metode yang mengaktifkannya: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]`, atau `[Screen Reader Mode: on via settings]`. Format penamaan metode memerlukan Claude Code v2.1.206 atau lebih baru. Ketika Claude Code meluncurkan ulang dirinya sendiri, misalnya untuk menyelesaikan pemasangan pembaruan, proses baru mewarisi mode melalui variabel lingkungan `CLAUDE_AX_SCREEN_READER`, sehingga baris konfirmasinya berbunyi `[Screen Reader Mode: on via env]` terlepas dari metode mana yang Anda gunakan.33Ketika mode aktif, hal pertama yang dicetak Claude Code adalah baris konfirmasi yang menyebutkan metode yang mengaktifkannya: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]`, atau `[Screen Reader Mode: on via settings]`. Format penamaan metode memerlukan Claude Code v2.1.206 atau lebih baru. Ketika Claude Code meluncurkan ulang dirinya sendiri, misalnya untuk menyelesaikan pemasangan pembaruan, proses baru mewarisi mode melalui variabel lingkungan `CLAUDE_AX_SCREEN_READER`, sehingga baris konfirmasinya berbunyi `[Screen Reader Mode: on via env]` terlepas dari metode mana yang Anda gunakan.

34{/* max-version: 2.1.205 */}Versi sebelumnya mencetak `[Accessible screen reader mode: on]`.34Versi sebelumnya mencetak `[Accessible screen reader mode: on]`.

35 35 

36<h2 id="turn-off-screen-reader-mode">36<h2 id="turn-off-screen-reader-mode">

37 Matikan mode pembaca layar37 Matikan mode pembaca layar


48* tidak ada karakter penggambar kotak untuk chrome antarmuka48* tidak ada karakter penggambar kotak untuk chrome antarmuka

49* tidak ada petunjuk warna saja49* tidak ada petunjuk warna saja

50* tidak ada penggambaran ulang konten yang belum berubah; spinner kemajuan dirender sebagai teks statis50* tidak ada penggambaran ulang konten yang belum berubah; spinner kemajuan dirender sebagai teks statis

51* tabel dalam balasan Claude dibaca sebagai kalimat `Header: value` alih-alih kisi karakter kotak. {/* min-version: 2.1.198 */}Memerlukan Claude Code v2.1.198 atau lebih baru; versi sebelumnya menggambar tabel sebagai kisi bahkan dalam mode pembaca layar.51* tabel dalam balasan Claude dibaca sebagai kalimat `Header: value` alih-alih kisi karakter kotak. Memerlukan Claude Code v2.1.198 atau lebih baru; versi sebelumnya menggambar tabel sebagai kisi bahkan dalam mode pembaca layar.

52 52 

53Output terakumulasi dalam scrollback terminal Anda, sehingga Anda dapat membaca kembali giliran sebelumnya dengan perintah tinjauan pembaca layar Anda atau pencarian terminal Anda.53Output terakumulasi dalam scrollback terminal Anda, sehingga Anda dapat membaca kembali giliran sebelumnya dengan perintah tinjauan pembaca layar Anda atau pencarian terminal Anda.

54 54 

55Mode pembaca layar dirender sebagai teks gulir biasa, bahkan jika Anda telah mengaktifkan [rendering layar penuh](/id/fullscreen) dengan [pengaturan `tui`](/id/settings#available-settings); pengaturan tidak berpengaruh saat mode aktif. Sesi latar belakang yang terlampir masih dirender layar penuh; lihat [Batasan yang diketahui](#known-limitations).55Mode pembaca layar dirender sebagai teks gulir biasa, bahkan jika Anda telah mengaktifkan [rendering layar penuh](/docs/id/fullscreen) dengan [pengaturan `tui`](/docs/id/settings#available-settings); pengaturan tidak berpengaruh saat mode aktif. Sesi latar belakang yang terlampir masih dirender layar penuh; lihat [Batasan yang diketahui](#known-limitations).

56 56 

57Setiap pesan dalam transkrip dimulai dengan label yang diumumkan pembaca layar Anda, menyebutkan apa itu: pesan Anda, balasan Claude, aktivitas alat, kesalahan, dan prompt. Label juga dapat dicari, sehingga Anda dapat melompat antar bagian transkrip dengan mencari scrollback terminal Anda:57Setiap pesan dalam transkrip dimulai dengan label yang diumumkan pembaca layar Anda, menyebutkan apa itu: pesan Anda, balasan Claude, aktivitas alat, kesalahan, dan prompt. Label juga dapat dicari, sehingga Anda dapat melompat antar bagian transkrip dengan mencari scrollback terminal Anda:

58 58 


64| `tool error:` | Alat yang gagal |64| `tool error:` | Alat yang gagal |

65| `error:` | Kesalahan dalam percakapan, seperti permintaan API yang gagal |65| `error:` | Kesalahan dalam percakapan, seperti permintaan API yang gagal |

66| `Permission Required:` | Prompt izin menunggu jawaban Anda |66| `Permission Required:` | Prompt izin menunggu jawaban Anda |

67| `Cost:` | Ringkasan biaya sesi ketika Claude Code keluar, jika akun Anda [menampilkan biaya](/id/costs) |67| `Cost:` | Ringkasan biaya sesi ketika Claude Code keluar, jika akun Anda [menampilkan biaya](/docs/id/costs) |

68 68 

69Kursor terminal mengikuti tanda sisip input, sehingga perintah baca-baris-saat-ini pembaca layar Anda menjawab "di mana saya" dengan prompt yang Anda edit.69Kursor terminal mengikuti tanda sisip input, sehingga perintah baca-baris-saat-ini pembaca layar Anda menjawab "di mana saya" dengan prompt yang Anda edit.

70 70 


102* prompt izin muncul102* prompt izin muncul

103* alat yang berjalan lebih lama dari 5 detik selesai103* alat yang berjalan lebih lama dari 5 detik selesai

104 104 

105Bel adalah peringatan standar terminal Anda. Untuk membungkamnya, ubah pengaturan bel di aplikasi terminal Anda. Bel tidak memerlukan mode pembaca layar: di luar mode, atur [`preferredNotifChannel`](/id/settings#available-settings) ke `"terminal_bell"` untuk peringatan serupa ketika Claude menunggu Anda. Lihat [Dapatkan bel terminal atau notifikasi](/id/terminal-config#get-a-terminal-bell-or-notification).105Bel adalah peringatan standar terminal Anda. Untuk membungkamnya, ubah pengaturan bel di aplikasi terminal Anda. Bel tidak memerlukan mode pembaca layar: di luar mode, atur [`preferredNotifChannel`](/docs/id/settings#available-settings) ke `"terminal_bell"` untuk peringatan serupa ketika Claude menunggu Anda. Lihat [Dapatkan bel terminal atau notifikasi](/docs/id/terminal-config#get-a-terminal-bell-or-notification).

106 106 

107<h2 id="accessibility-settings-beyond-screen-reader-mode">107<h2 id="accessibility-settings-beyond-screen-reader-mode">

108 Pengaturan aksesibilitas di luar mode pembaca layar108 Pengaturan aksesibilitas di luar mode pembaca layar


110 110 

111Opsi-opsi ini mengatasi kebutuhan aksesibilitas di luar mode pembaca layar. Semuanya bekerja bersama dengannya.111Opsi-opsi ini mengatasi kebutuhan aksesibilitas di luar mode pembaca layar. Semuanya bekerja bersama dengannya.

112 112 

113* Variabel lingkungan [`CLAUDE_CODE_ACCESSIBILITY`](/id/env-vars) adalah untuk pembesar layar. Atur `CLAUDE_CODE_ACCESSIBILITY=1` untuk menjaga kursor terminal asli tetap terlihat sehingga pembesar, seperti macOS Zoom, dapat melacak posisi kursor.113* Variabel lingkungan [`CLAUDE_CODE_ACCESSIBILITY`](/docs/id/env-vars) adalah untuk pembesar layar. Atur `CLAUDE_CODE_ACCESSIBILITY=1` untuk menjaga kursor terminal asli tetap terlihat sehingga pembesar, seperti macOS Zoom, dapat melacak posisi kursor.

114* Pengaturan [`prefersReducedMotion`](/id/settings#available-settings) mengurangi atau menonaktifkan spinner, shimmer, dan animasi lainnya tanpa mengubah sisa antarmuka.114* Pengaturan [`prefersReducedMotion`](/docs/id/settings#available-settings) mengurangi atau menonaktifkan spinner, shimmer, dan animasi lainnya tanpa mengubah sisa antarmuka.

115* Pengaturan [`theme`](/id/settings#available-settings) memilih warna antarmuka, termasuk tema ramah buta warna `dark-daltonized` dan `light-daltonized`.115* Pengaturan [`theme`](/docs/id/settings#available-settings) memilih warna antarmuka, termasuk tema ramah buta warna `dark-daltonized` dan `light-daltonized`.

116 116 

117<h2 id="known-limitations">117<h2 id="known-limitations">

118 Batasan yang diketahui118 Batasan yang diketahui


121Beberapa perilaku tidak disesuaikan untuk mode pembaca layar:121Beberapa perilaku tidak disesuaikan untuk mode pembaca layar:

122 122 

123* Mode pembaca layar tidak aktif secara otomatis ketika pembaca layar sedang berjalan.123* Mode pembaca layar tidak aktif secara otomatis ketika pembaca layar sedang berjalan.

124* Perubahan mode, seperti memasuki [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode), belum diumumkan.124* Perubahan mode, seperti memasuki [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode), belum diumumkan.

125* Melampirkan ke [sesi latar belakang](/id/agent-view) dengan `claude attach` atau dari tampilan agen memasuki layar alternatif terminal, yang tidak memiliki scrollback asli. Ini adalah [perilaku yang sama seperti sesi terlampir lainnya](/id/fullscreen). Untuk keluar, tekan Left Arrow pada prompt kosong, atau Ctrl+Z jika dialog memiliki fokus.125* Melampirkan ke [sesi latar belakang](/docs/id/agent-view) dengan `claude attach` atau dari tampilan agen memasuki layar alternatif terminal, yang tidak memiliki scrollback asli. Ini adalah [perilaku yang sama seperti sesi terlampir lainnya](/docs/id/fullscreen). Untuk keluar, tekan Left Arrow pada prompt kosong, atau Ctrl+Z jika dialog memiliki fokus.

126* Claude Code mengumumkan biaya dalam ringkasan yang dicetak saat keluar, bukan per giliran.126* Claude Code mengumumkan biaya dalam ringkasan yang dicetak saat keluar, bukan per giliran.

127* Mode pembaca layar tidak mengubah [mode non-interaktif](/id/headless) dengan flag `-p`. Mode non-interaktif sudah menulis teks biasa dan tetap menjadi alternatif untuk scripting.127* Mode pembaca layar tidak mengubah [mode non-interaktif](/docs/id/headless) dengan flag `-p`. Mode non-interaktif sudah menulis teks biasa dan tetap menjadi alternatif untuk scripting.

128 128 

129<h2 id="report-an-issue">129<h2 id="report-an-issue">

130 Laporkan masalah130 Laporkan masalah


138 138 

139Halaman-halaman ini menyimpan entri referensi lengkap dan pengaturan terkait untuk apa yang halaman ini bahas:139Halaman-halaman ini menyimpan entri referensi lengkap dan pengaturan terkait untuk apa yang halaman ini bahas:

140 140 

141* [Settings](/id/settings#available-settings): entri `axScreenReader`, `prefersReducedMotion`, `theme`, dan `preferredNotifChannel`141* [Settings](/docs/id/settings#available-settings): entri `axScreenReader`, `prefersReducedMotion`, `theme`, dan `preferredNotifChannel`

142* [Environment variables](/id/env-vars): entri `CLAUDE_AX_SCREEN_READER` dan `CLAUDE_CODE_ACCESSIBILITY`142* [Environment variables](/docs/id/env-vars): entri `CLAUDE_AX_SCREEN_READER` dan `CLAUDE_CODE_ACCESSIBILITY`

143* [CLI reference](/id/cli-reference#cli-flags): flag `--ax-screen-reader`143* [CLI reference](/docs/id/cli-reference#cli-flags): flag `--ax-screen-reader`

144* [Terminal configuration](/id/terminal-config): bel, notifikasi, dan tema di luar mode pembaca layar144* [Terminal configuration](/docs/id/terminal-config): bel, notifikasi, dan tema di luar mode pembaca layar

145* [Non-interactive mode](/id/headless): jalankan `claude -p` yang ditulis skrip, yang menulis teks biasa tanpa mode pembaca layar145* [Non-interactive mode](/docs/id/headless): jalankan `claude -p` yang ditulis skrip, yang menulis teks biasa tanpa mode pembaca layar

advisor.md +17 −17

Details

22 22 

23Advisor cocok untuk tugas multi-langkah yang panjang di mana sebagian besar giliran bersifat rutin tetapi kualitas rencana menentukan hasilnya. Contohnya termasuk refaktor besar, sesi debugging di mana kesalahan terus berulang, dan tugas yang ingin Anda periksa secara independen sebelum Claude menyatakan selesai.23Advisor cocok untuk tugas multi-langkah yang panjang di mana sebagian besar giliran bersifat rutin tetapi kualitas rencana menentukan hasilnya. Contohnya termasuk refaktor besar, sesi debugging di mana kesalahan terus berulang, dan tugas yang ingin Anda periksa secara independen sebelum Claude menyatakan selesai.

24 24 

25Ini menambah nilai lebih sedikit pada tugas pendek di mana ada sedikit untuk direncanakan, atau pada pekerjaan di mana setiap giliran memerlukan model terkuat. Untuk itu, [ubah model utama](/id/model-config#setting-your-model) sebagai gantinya, atau lihat [bagaimana advisor dibandingkan dengan opusplan dan subagents](#compare-with-related-features) untuk cara lain mendapatkan pendapat kedua.25Ini menambah nilai lebih sedikit pada tugas pendek di mana ada sedikit untuk direncanakan, atau pada pekerjaan di mana setiap giliran memerlukan model terkuat. Untuk itu, [ubah model utama](/docs/id/model-config#setting-your-model) sebagai gantinya, atau lihat [bagaimana advisor dibandingkan dengan opusplan dan subagents](#compare-with-related-features) untuk cara lain mendapatkan pendapat kedua.

26 26 

27<h2 id="enable-the-advisor">27<h2 id="enable-the-advisor">

28 Aktifkan advisor28 Aktifkan advisor


31Anda dapat mengatur model advisor dengan tiga cara:31Anda dapat mengatur model advisor dengan tiga cara:

32 32 

33* **Perintah `/advisor`**: atur atau ubah advisor di tengah sesi dan simpan sebagai default Anda33* **Perintah `/advisor`**: atur atau ubah advisor di tengah sesi dan simpan sebagai default Anda

34* **Pengaturan `advisorModel`**: konfigurasi default persisten di [file pengaturan](/id/settings) Anda34* **Pengaturan `advisorModel`**: konfigurasi default persisten di [file pengaturan](/docs/id/settings) Anda

35* **Bendera `--advisor`**: atur advisor untuk sesi tunggal saat peluncuran35* **Bendera `--advisor`**: atur advisor untuk sesi tunggal saat peluncuran

36 36 

37Jika salah satu dari ini mengatur model advisor, advisor diaktifkan untuk sesi yang model utamanya [mendukungnya](#choose-an-advisor-model). Untuk berhenti menggunakannya, lihat [Matikan advisor](#turn-the-advisor-off).37Jika salah satu dari ini mengatur model advisor, advisor diaktifkan untuk sesi yang model utamanya [mendukungnya](#choose-an-advisor-model). Untuk berhenti menggunakannya, lihat [Matikan advisor](#turn-the-advisor-off).

38 38 

39<Note>39<Note>

40 Untuk menggunakan Fable 5 sebagai advisor, Anda memerlukan Claude Code v2.1.170 atau lebih baru dan [akses Fable 5](/id/model-config#work-with-fable-5) untuk organisasi Anda.40 Untuk menggunakan Fable 5 sebagai advisor, Anda memerlukan Claude Code v2.1.170 atau lebih baru dan [akses Fable 5](/docs/id/model-config#work-with-fable-5) untuk organisasi Anda.

41</Note>41</Note>

42 42 

43<h3 id="use-the-/advisor-command">43<h3 id="use-the-/advisor-command">


50/advisor opus50/advisor opus

51```51```

52 52 

53Pilihan Anda disimpan ke `advisorModel` dalam pengaturan pengguna Anda dan bertahan di seluruh sesi. Jika [`availableModels`](/id/model-config#restrict-model-selection) allowlist organisasi Anda mengecualikan model advisor yang disimpan, advisor tidak dipanggil sampai Anda memilih model yang diizinkan dengan `/advisor`. Jika model utama Anda saat ini tidak mendukung advisor, pilihan masih disimpan dan diaktifkan ketika Anda beralih ke [model utama yang kompatibel](#choose-an-advisor-model) dengan [`/model`](/id/model-config#setting-your-model).53Pilihan Anda disimpan ke `advisorModel` dalam pengaturan pengguna Anda dan bertahan di seluruh sesi. Jika [`availableModels`](/docs/id/model-config#restrict-model-selection) allowlist organisasi Anda mengecualikan model advisor yang disimpan, advisor tidak dipanggil sampai Anda memilih model yang diizinkan dengan `/advisor`. Jika model utama Anda saat ini tidak mendukung advisor, pilihan masih disimpan dan diaktifkan ketika Anda beralih ke [model utama yang kompatibel](#choose-an-advisor-model) dengan [`/model`](/docs/id/model-config#setting-your-model).

54 54 

55<h3 id="set-advisormodel-in-settings">55<h3 id="set-advisormodel-in-settings">

56 Atur `advisorModel` dalam pengaturan56 Atur `advisorModel` dalam pengaturan


74claude --advisor opus74claude --advisor opus

75```75```

76 76 

77Bendera ini mengambil alih pengaturan `advisorModel` untuk sesi itu. Bendera keluar dengan kesalahan jika model utama sesi tidak mendukung advisor, atau jika model advisor yang diminta dikecualikan oleh allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda.77Bendera ini mengambil alih pengaturan `advisorModel` untuk sesi itu. Bendera keluar dengan kesalahan jika model utama sesi tidak mendukung advisor, atau jika model advisor yang diminta dikecualikan oleh allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda.

78 78 

79<h2 id="choose-an-advisor-model">79<h2 id="choose-an-advisor-model">

80 Pilih model advisor80 Pilih model advisor


83Advisor harus setidaknya sama mampu dengan model utama. Advisor yang diterima untuk setiap model utama adalah:83Advisor harus setidaknya sama mampu dengan model utama. Advisor yang diterima untuk setiap model utama adalah:

84 84 

85| Model utama | Advisor yang diterima | Catatan |85| Model utama | Advisor yang diterima | Catatan |

86| ----------------------------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |86| ------------------------ | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

87| Haiku 4.5 | Fable, Opus, Sonnet | Haiku dapat memanggil advisor tetapi tidak dapat bertindak sebagai advisor |87| Haiku 4.5 | Fable, Opus, Sonnet | Haiku dapat memanggil advisor tetapi tidak dapat bertindak sebagai advisor |

88| Sonnet 4.6 | Fable, Opus, Sonnet | |88| Sonnet 4.6 | Fable, Opus, Sonnet | |

89| Sonnet 5 | Fable, Opus, Sonnet 5 | Advisor Sonnet 4.6 ditolak |89| Sonnet 5 | Fable, Opus, Sonnet 5 | Advisor Sonnet 4.6 ditolak |

90| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 dan Opus 4.6 diperingkat sebagai sama mampu, jadi Opus 4.6 utama menerima advisor Sonnet 5 |90| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 dan Opus 4.6 diperingkat sebagai sama mampu, jadi Opus 4.6 utama menerima advisor Sonnet 5 |

91| Opus 4.7 atau lebih baru | Fable, Opus 4.7, Opus 4.8 | Opus 4.7 dan Opus 4.8 diperingkat sebagai sama mampu, jadi keduanya menerima yang lain sebagai advisor. Opus 4.7 utama dengan advisor Opus 4.6 atau Sonnet 5 ditolak |91| Opus 4.7 atau lebih baru | Fable, Opus 4.7, Opus 4.8 | Opus 4.7 dan Opus 4.8 diperingkat sebagai sama mampu, jadi keduanya menerima yang lain sebagai advisor. Opus 4.7 utama dengan advisor Opus 4.6 atau Sonnet 5 ditolak |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Advisor Opus atau Sonnet ditolak |92| Fable 5 (v2.1.170+) | Fable | Advisor Opus atau Sonnet ditolak |

93 93 

94Fable 5 memerlukan Claude Code v2.1.170 atau lebih baru dan akses Fable 5, baik bertindak sebagai model utama atau advisor.94Fable 5 memerlukan Claude Code v2.1.170 atau lebih baru dan akses Fable 5, baik bertindak sebagai model utama atau advisor.

95 95 


141 141 

142Setiap panggilan advisor mengirim percakapan ke model advisor, jadi mengonsumsi token pada tarif model advisor sebagai tambahan dari penggunaan model utama Anda. Dengan penagihan API, token advisor ditagih pada tarif input dan output model advisor. Pada paket berlangganan, penggunaan advisor dihitung terhadap batas penggunaan paket Anda.142Setiap panggilan advisor mengirim percakapan ke model advisor, jadi mengonsumsi token pada tarif model advisor sebagai tambahan dari penggunaan model utama Anda. Dengan penagihan API, token advisor ditagih pada tarif input dan output model advisor. Pada paket berlangganan, penggunaan advisor dihitung terhadap batas penggunaan paket Anda.

143 143 

144Claude memanggil advisor pada titik keputusan daripada pada setiap giliran, jadi memasangkan model utama yang lebih cepat dengan advisor yang lebih kuat biasanya biaya lebih rendah daripada menjalankan model yang lebih kuat di seluruh. Penggunaan advisor dihitung terhadap total sesi yang ditampilkan oleh [`/usage`](/id/costs#track-your-costs).144Claude memanggil advisor pada titik keputusan daripada pada setiap giliran, jadi memasangkan model utama yang lebih cepat dengan advisor yang lebih kuat biasanya biaya lebih rendah daripada menjalankan model yang lebih kuat di seluruh. Penggunaan advisor dihitung terhadap total sesi yang ditampilkan oleh [`/usage`](/docs/id/costs#track-your-costs).

145 145 

146Untuk bagaimana token advisor dilaporkan dalam respons API, lihat [Usage and billing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#usage-and-billing) dalam dokumentasi Claude API.146Untuk bagaimana token advisor dilaporkan dalam respons API, lihat [Usage and billing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#usage-and-billing) dalam dokumentasi Claude API.

147 147 


149 Dampak pada prompt caching149 Dampak pada prompt caching

150</h2>150</h2>

151 151 

152Mengaktifkan atau menonaktifkan advisor di tengah sesi tidak membatalkan [prompt cache](/id/prompt-caching) model utama Anda. Tidak seperti [mengubah model atau tingkat upaya](/id/prompt-caching#actions-that-invalidate-the-cache), mengalihkan `/advisor` menjaga awalan yang di-cache tetap utuh, dan panduan yang dikembalikan advisor di-cache sebagai bagian dari transkrip pada giliran berikutnya.152Mengaktifkan atau menonaktifkan advisor di tengah sesi tidak membatalkan [prompt cache](/docs/id/prompt-caching) model utama Anda. Tidak seperti [mengubah model atau tingkat upaya](/docs/id/prompt-caching#actions-that-invalidate-the-cache), mengalihkan `/advisor` menjaga awalan yang di-cache tetap utuh, dan panduan yang dikembalikan advisor di-cache sebagai bagian dari transkrip pada giliran berikutnya.

153 153 

154Pembacaan percakapan model advisor sendiri tidak di-cache. Setiap panggilan advisor memproses transkrip lengkap baru, tanpa penggunaan kembali di antara panggilan.154Pembacaan percakapan model advisor sendiri tidak di-cache. Setiap panggilan advisor memproses transkrip lengkap baru, tanpa penggunaan kembali di antara panggilan.

155 155 


159 159 

160Alat advisor memerlukan semua hal berikut:160Alat advisor memerlukan semua hal berikut:

161 161 

162* **Hanya API Anthropic**: advisor adalah alat yang dieksekusi server. Alat ini tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry. Melalui [LLM gateway](/id/llm-gateway) yang dikonfigurasi dengan `ANTHROPIC_BASE_URL`, ketersediaan tergantung pada apakah gateway meneruskan permintaan utuh ke API Anthropic.162* **Hanya API Anthropic**: advisor adalah alat yang dieksekusi server. Alat ini tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry. Melalui [LLM gateway](/docs/id/llm-gateway) yang dikonfigurasi dengan `ANTHROPIC_BASE_URL`, ketersediaan tergantung pada apakah gateway meneruskan permintaan utuh ke API Anthropic.

163* **Model utama yang didukung**: Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, atau Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 juga memenuhi syarat di Claude Code v2.1.170 atau lebih baru.163* **Model utama yang didukung**: Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, atau Haiku 4.5. Fable 5 juga memenuhi syarat di Claude Code v2.1.170 atau lebih baru.

164 164 

165<h2 id="turn-the-advisor-off">165<h2 id="turn-the-advisor-off">

166 Matikan advisor166 Matikan advisor


172/advisor off172/advisor off

173```173```

174 174 

175Untuk menonaktifkan alat advisor sepenuhnya, atur `CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`. Perintah `/advisor` menjadi tidak tersedia dan `advisorModel` yang dikonfigurasi apa pun diabaikan. Bendera `--advisor` diterima tetapi tidak memiliki efek; skrip yang ada yang meneruskannya terus berfungsi tanpa kesalahan. Lihat [Environment variables](/id/env-vars).175Untuk menonaktifkan alat advisor sepenuhnya, atur `CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`. Perintah `/advisor` menjadi tidak tersedia dan `advisorModel` yang dikonfigurasi apa pun diabaikan. Bendera `--advisor` diterima tetapi tidak memiliki efek; skrip yang ada yang meneruskannya terus berfungsi tanpa kesalahan. Lihat [Environment variables](/docs/id/env-vars).

176 176 

177<h2 id="compare-with-related-features">177<h2 id="compare-with-related-features">

178 Bandingkan dengan fitur terkait178 Bandingkan dengan fitur terkait


183| Pendekatan | Kapan model yang lebih kuat berjalan | Bagaimana dimulai |183| Pendekatan | Kapan model yang lebih kuat berjalan | Bagaimana dimulai |

184| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |184| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |

185| Alat advisor | Pada titik keputusan di tengah tugas | Claude memanggilnya ketika memerlukan panduan |185| Alat advisor | Pada titik keputusan di tengah tugas | Claude memanggilnya ketika memerlukan panduan |

186| [`opusplan`](/id/model-config#opusplan-model-setting) | Selama mode rencana ketika [diizinkan oleh `availableModels`](/id/model-config#restrict-model-selection), kemudian beralih ke Sonnet untuk eksekusi | Anda memasuki mode rencana |186| [`opusplan`](/docs/id/model-config#opusplan-model-setting) | Selama mode rencana ketika [diizinkan oleh `availableModels`](/docs/id/model-config#restrict-model-selection), kemudian beralih ke Sonnet untuk eksekusi | Anda memasuki mode rencana |

187| [Subagents](/id/sub-agents#choose-a-model) dengan `model` diatur | Untuk seluruh subtask yang didelegasikan | Claude mendelegasikan, atau Anda memanggil subagent |187| [Subagents](/docs/id/sub-agents#choose-a-model) dengan `model` diatur | Untuk seluruh subtask yang didelegasikan | Claude mendelegasikan, atau Anda memanggil subagent |

188| [`/model`](/id/model-config#setting-your-model) | Untuk semua giliran berikutnya | Anda beralih model |188| [`/model`](/docs/id/model-config#setting-your-model) | Untuk semua giliran berikutnya | Anda beralih model |

189 189 

190<h2 id="see-also">190<h2 id="see-also">

191 Lihat juga191 Lihat juga

192</h2>192</h2>

193 193 

194* [Model configuration](/id/model-config): ubah model, atur tingkat upaya, dan gunakan `opusplan`194* [Model configuration](/docs/id/model-config): ubah model, atur tingkat upaya, dan gunakan `opusplan`

195* [Manage costs effectively](/id/costs): lacak penggunaan token di seluruh model195* [Manage costs effectively](/docs/id/costs): lacak penggunaan token di seluruh model

196* [Advisor tool in the Claude API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool): pahami alat server yang mendasar, atau gunakan langsung dari Messages API196* [Advisor tool in the Claude API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool): pahami alat server yang mendasar, atau gunakan langsung dari Messages API

197* [The advisor strategy](https://claude.com/blog/the-advisor-strategy): mengapa memasangkan model utama yang cepat dengan advisor yang lebih kuat berfungsi197* [The advisor strategy](https://claude.com/blog/the-advisor-strategy): mengapa memasangkan model utama yang cepat dengan advisor yang lebih kuat berfungsi

agent-sdk/hooks.md +21 −21

Details

26 </Step>26 </Step>

27 27 

28 <Step title="SDK mengumpulkan hooks terdaftar">28 <Step title="SDK mengumpulkan hooks terdaftar">

29 SDK memeriksa hooks yang terdaftar untuk tipe event tersebut. Ini termasuk callback hooks yang Anda berikan di `options.hooks` dan shell command hooks dari file pengaturan ketika [`settingSources`](/id/agent-sdk/typescript#settingsource) atau [`setting_sources`](/id/agent-sdk/python#settingsource) entry yang sesuai diaktifkan, yang mana untuk opsi `query()` default.29 SDK memeriksa hooks yang terdaftar untuk tipe event tersebut. Ini termasuk callback hooks yang Anda berikan di `options.hooks` dan shell command hooks dari file pengaturan ketika [`settingSources`](/docs/id/agent-sdk/typescript#settingsource) atau [`setting_sources`](/docs/id/agent-sdk/python#settingsource) entry yang sesuai diaktifkan, yang mana untuk opsi `query()` default.

30 </Step>30 </Step>

31 31 

32 <Step title="Matchers memfilter hooks mana yang berjalan">32 <Step title="Matchers memfilter hooks mana yang berjalan">


155| `PostToolUseFailure` | Ya | Ya | Kegagalan eksekusi tool | Tangani atau log kesalahan tool |155| `PostToolUseFailure` | Ya | Ya | Kegagalan eksekusi tool | Tangani atau log kesalahan tool |

156| `PostToolBatch` | Tidak | Ya | Batch lengkap pemanggilan tool terselesaikan, sekali per batch sebelum panggilan model berikutnya | Suntikkan konvensi sekali untuk seluruh batch |156| `PostToolBatch` | Tidak | Ya | Batch lengkap pemanggilan tool terselesaikan, sekali per batch sebelum panggilan model berikutnya | Suntikkan konvensi sekali untuk seluruh batch |

157| `UserPromptSubmit` | Ya | Ya | Pengajuan prompt pengguna | Suntikkan konteks tambahan ke dalam prompts |157| `UserPromptSubmit` | Ya | Ya | Pengajuan prompt pengguna | Suntikkan konteks tambahan ke dalam prompts |

158| [`UserPromptExpansion`](/id/hooks#userpromptexpansion) | Tidak | Ya | Perintah yang diketik pengguna berkembang menjadi prompt sebelum mencapai Claude | Blokir perintah dari invokasi langsung atau tambahkan konteks saat skill diketik |158| [`UserPromptExpansion`](/docs/id/hooks#userpromptexpansion) | Tidak | Ya | Perintah yang diketik pengguna berkembang menjadi prompt sebelum mencapai Claude | Blokir perintah dari invokasi langsung atau tambahkan konteks saat skill diketik |

159| `MessageDisplay` | Tidak | Ya | Pesan asisten dengan teks selesai, sekali per pesan dengan teks pesan lengkap | Redaksi atau format ulang teks yang ditampilkan tanpa mengubah transcript |159| `MessageDisplay` | Tidak | Ya | Pesan asisten dengan teks selesai, sekali per pesan dengan teks pesan lengkap | Redaksi atau format ulang teks yang ditampilkan tanpa mengubah transcript |

160| `Stop` | Ya | Ya | Penghentian eksekusi agent | Simpan state sesi sebelum keluar |160| `Stop` | Ya | Ya | Penghentian eksekusi agent | Simpan state sesi sebelum keluar |

161| `SubagentStart` | Ya | Ya | Inisialisasi subagent | Track spawning tugas paralel |161| `SubagentStart` | Ya | Ya | Inisialisasi subagent | Track spawning tugas paralel |


213 Matchers213 Matchers

214</h3>214</h3>

215 215 

216Gunakan matchers untuk memfilter kapan callbacks Anda terjadi. Field `matcher` cocok dengan nilai berbeda tergantung pada tipe hook event. Misalnya, tool-based hooks cocok dengan nama tool, sementara hooks `Notification` cocok dengan tipe notifikasi. Lihat [referensi hooks Claude Code](/id/hooks#matcher-patterns) untuk daftar lengkap nilai matcher untuk setiap tipe event.216Gunakan matchers untuk memfilter kapan callbacks Anda terjadi. Field `matcher` cocok dengan nilai berbeda tergantung pada tipe hook event. Misalnya, tool-based hooks cocok dengan nama tool, sementara hooks `Notification` cocok dengan tipe notifikasi. Lihat [referensi hooks Claude Code](/docs/id/hooks#matcher-patterns) untuk daftar lengkap nilai matcher untuk setiap tipe event.

217 217 

218SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/id/hooks#matcher-patterns). Matcher yang hanya berisi huruf, digit, `_`, `-`, spasi, `,`, dan `|` dibandingkan sebagai string yang tepat, dengan alternatif dipisahkan oleh `|` atau `,` dan spasi putih opsional di sekitarnya, jadi `Write|Edit` dan `Write, Edit` masing-masing cocok dengan tepat kedua tools tersebut dan `code-reviewer` cocok hanya dengan tipe agent tersebut. Matcher `*`, string kosong, atau menghilangkan matcher sepenuhnya cocok dengan setiap kemunculan event.218SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/docs/id/hooks#matcher-patterns). Matcher yang hanya berisi huruf, digit, `_`, `-`, spasi, `,`, dan `|` dibandingkan sebagai string yang tepat, dengan alternatif dipisahkan oleh `|` atau `,` dan spasi putih opsional di sekitarnya, jadi `Write|Edit` dan `Write, Edit` masing-masing cocok dengan tepat kedua tools tersebut dan `code-reviewer` cocok hanya dengan tipe agent tersebut. Matcher `*`, string kosong, atau menghilangkan matcher sepenuhnya cocok dengan setiap kemunculan event.

219 219 

220Matcher yang berisi karakter lain apa pun dievaluasi sebagai regular expression yang tidak berlabuh, jadi `^mcp__` cocok dengan setiap MCP tool dan `Edit.*` cocok dengan baik `Edit` maupun `NotebookEdit`. Bungkus regular expression dalam `^` dan `$` ketika Anda memerlukan pencocokan seluruh string.220Matcher yang berisi karakter lain apa pun dievaluasi sebagai regular expression yang tidak berlabuh, jadi `^mcp__` cocok dengan setiap MCP tool dan `Edit.*` cocok dengan baik `Edit` maupun `NotebookEdit`. Bungkus regular expression dalam `^` dan `$` ketika Anda memerlukan pencocokan seluruh string.

221 221 


225 225 

226| Option | Type | Default | Description |226| Option | Type | Default | Description |

227| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |227| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

228| `matcher` | `string` | `undefined` | Pola yang cocok dengan field filter event, mengikuti aturan perbandingan di atas. Untuk tool hooks, ini adalah nama tool. Built-in tools termasuk `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent`, dan lainnya (lihat [Tool Input Types](/id/agent-sdk/typescript#tool-input-types) untuk daftar lengkap). MCP tools menggunakan pola `mcp__<server>__<action>`. |228| `matcher` | `string` | `undefined` | Pola yang cocok dengan field filter event, mengikuti aturan perbandingan di atas. Untuk tool hooks, ini adalah nama tool. Built-in tools termasuk `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent`, dan lainnya (lihat [Tool Input Types](/docs/id/agent-sdk/typescript#tool-input-types) untuk daftar lengkap). MCP tools menggunakan pola `mcp__<server>__<action>`. |

229| `hooks` | `HookCallback[]` | - | Diperlukan. Array dari fungsi callback untuk dieksekusi ketika pola cocok |229| `hooks` | `HookCallback[]` | - | Diperlukan. Array dari fungsi callback untuk dieksekusi ketika pola cocok |

230| `timeout` | `number` | `60` | Timeout dalam detik |230| `timeout` | `number` | `60` | Timeout dalam detik |

231 231 


234Untuk tool-based hooks, matchers hanya memfilter berdasarkan nama tool, bukan jalur file atau argumen lainnya. Untuk memfilter berdasarkan jalur file, periksa `tool_input.file_path` di dalam callback Anda.234Untuk tool-based hooks, matchers hanya memfilter berdasarkan nama tool, bukan jalur file atau argumen lainnya. Untuk memfilter berdasarkan jalur file, periksa `tool_input.file_path` di dalam callback Anda.

235 235 

236<Tip>236<Tip>

237 **Menemukan nama tool:** Lihat [Tool Input Types](/id/agent-sdk/typescript#tool-input-types) untuk daftar lengkap nama tool built-in, atau tambahkan hook tanpa matcher untuk log semua pemanggilan tool yang dibuat sesi Anda.237 **Menemukan nama tool:** Lihat [Tool Input Types](/docs/id/agent-sdk/typescript#tool-input-types) untuk daftar lengkap nama tool built-in, atau tambahkan hook tanpa matcher untuk log semua pemanggilan tool yang dibuat sesi Anda.

238 238 

239 **Penamaan MCP tool:** MCP tools selalu dimulai dengan `mcp__` diikuti oleh nama server dan action: `mcp__<server>__<action>`. Misalnya, jika Anda mengonfigurasi server bernama `playwright`, tools-nya akan dinamai `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click`, dan seterusnya. Nama server berasal dari key yang Anda gunakan dalam konfigurasi `mcpServers`.239 **Penamaan MCP tool:** MCP tools selalu dimulai dengan `mcp__` diikuti oleh nama server dan action: `mcp__<server>__<action>`. Misalnya, jika Anda mengonfigurasi server bernama `playwright`, tools-nya akan dinamai `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click`, dan seterusnya. Nama server berasal dari key yang Anda gunakan dalam konfigurasi `mcpServers`.

240</Tip>240</Tip>


249 249 

250Setiap hook callback menerima tiga argumen:250Setiap hook callback menerima tiga argumen:

251 251 

252* **Input data:** object yang diketik berisi detail event. Setiap tipe hook memiliki bentuk input sendiri. Misalnya, `PreToolUseHookInput` mencakup `tool_name` dan `tool_input`, sementara `NotificationHookInput` mencakup `message`. Lihat definisi tipe lengkap di referensi SDK [TypeScript](/id/agent-sdk/typescript#hookinput) dan [Python](/id/agent-sdk/python#hookinput).252* **Input data:** object yang diketik berisi detail event. Setiap tipe hook memiliki bentuk input sendiri. Misalnya, `PreToolUseHookInput` mencakup `tool_name` dan `tool_input`, sementara `NotificationHookInput` mencakup `message`. Lihat definisi tipe lengkap di referensi SDK [TypeScript](/docs/id/agent-sdk/typescript#hookinput) dan [Python](/docs/id/agent-sdk/python#hookinput).

253 * Semua hook inputs berbagi `session_id`, `cwd`, dan `hook_event_name`.253 * Semua hook inputs berbagi `session_id`, `cwd`, dan `hook_event_name`.

254 * `agent_id` dan `agent_type` diisi ketika hook terjadi di dalam subagent. Di TypeScript, ini berada di base hook input dan tersedia untuk semua tipe hook. Di Python, ini adalah field opsional pada `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, dan `PermissionRequest`, dan field yang diperlukan pada `SubagentStart` dan `SubagentStop`.254 * `agent_id` dan `agent_type` diisi ketika hook terjadi di dalam subagent. Di TypeScript, ini berada di base hook input dan tersedia untuk semua tipe hook. Di Python, ini adalah field opsional pada `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, dan `PermissionRequest`, dan field yang diperlukan pada `SubagentStart` dan `SubagentStop`.

255* **Tool use ID** (`str | None` / `string | undefined`): mengkorelasikan events `PreToolUse` dan `PostToolUse` untuk pemanggilan tool yang sama.255* **Tool use ID** (`str | None` / `string | undefined`): mengkorelasikan events `PreToolUse` dan `PostToolUse` untuk pemanggilan tool yang sama.


262Callback Anda mengembalikan object dengan dua kategori fields:262Callback Anda mengembalikan object dengan dua kategori fields:

263 263 

264* **Top-level fields** bekerja sama pada setiap event: `systemMessage` menampilkan pesan kepada pengguna, dan `continue` (`continue_` di Python) menentukan apakah agent terus berjalan setelah hook ini.264* **Top-level fields** bekerja sama pada setiap event: `systemMessage` menampilkan pesan kepada pengguna, dan `continue` (`continue_` di Python) menentukan apakah agent terus berjalan setelah hook ini.

265* **`hookSpecificOutput`** mengontrol operasi saat ini. Fields di dalamnya tergantung pada tipe hook event. Untuk hooks `PreToolUse`, di sinilah Anda menetapkan `permissionDecision` (`"allow"`, `"deny"`, `"ask"`, atau `"defer"`), `permissionDecisionReason`, dan `updatedInput`. Mengembalikan `"defer"` mengakhiri query sehingga Anda dapat [melanjutkannya nanti](/id/hooks#defer-a-tool-call-for-later). Untuk hooks `PostToolUse`, Anda dapat menetapkan `additionalContext` untuk menambahkan informasi ke hasil tool. Untuk mengganti output tool sebelum Claude melihatnya, tetapkan `updatedToolOutput`, yang bekerja untuk tool apa pun di kedua SDK. Field `updatedMCPToolOutput` yang lebih lama mengganti output MCP tool saja dan sudah usang.265* **`hookSpecificOutput`** mengontrol operasi saat ini. Fields di dalamnya tergantung pada tipe hook event. Untuk hooks `PreToolUse`, di sinilah Anda menetapkan `permissionDecision` (`"allow"`, `"deny"`, `"ask"`, atau `"defer"`), `permissionDecisionReason`, dan `updatedInput`. Mengembalikan `"defer"` mengakhiri query sehingga Anda dapat [melanjutkannya nanti](/docs/id/hooks#defer-a-tool-call-for-later). Untuk hooks `PostToolUse`, Anda dapat menetapkan `additionalContext` untuk menambahkan informasi ke hasil tool. Untuk mengganti output tool sebelum Claude melihatnya, tetapkan `updatedToolOutput`, yang bekerja untuk tool apa pun di kedua SDK. Field `updatedMCPToolOutput` yang lebih lama mengganti output MCP tool saja dan sudah usang.

266 266 

267Kembalikan `{}` untuk mengizinkan operasi tanpa perubahan. SDK callback hooks menggunakan format output JSON yang sama dengan [Claude Code shell command hooks](/id/hooks#json-output), yang mendokumentasikan setiap field dan opsi spesifik event. Untuk definisi tipe SDK, lihat referensi SDK [TypeScript](/id/agent-sdk/typescript#synchookjsonoutput) dan [Python](/id/agent-sdk/python#synchookjsonoutput).267Kembalikan `{}` untuk mengizinkan operasi tanpa perubahan. SDK callback hooks menggunakan format output JSON yang sama dengan [Claude Code shell command hooks](/docs/id/hooks#json-output), yang mendokumentasikan setiap field dan opsi spesifik event. Untuk definisi tipe SDK, lihat referensi SDK [TypeScript](/docs/id/agent-sdk/typescript#synchookjsonoutput) dan [Python](/docs/id/agent-sdk/python#synchookjsonoutput).

268 268 

269<Note>269<Note>

270 Ketika multiple hooks atau permission rules berlaku, `deny` mengambil prioritas atas `defer`, yang mengambil prioritas atas `ask`, yang mengambil prioritas atas `allow`. Jika hook apa pun mengembalikan `deny`, operasi diblokir terlepas dari hooks lainnya.270 Ketika multiple hooks atau permission rules berlaku, `deny` mengambil prioritas atas `defer`, yang mengambil prioritas atas `ask`, yang mengambil prioritas atas `allow`. Jika hook apa pun mengembalikan `deny`, operasi diblokir terlepas dari hooks lainnya.


539 Lacak aktivitas subagent539 Lacak aktivitas subagent

540</h3>540</h3>

541 541 

542Gunakan hooks `SubagentStop` untuk memantau ketika subagents menyelesaikan pekerjaan mereka. Lihat tipe input lengkap di referensi SDK [TypeScript](/id/agent-sdk/typescript#hookinput) dan [Python](/id/agent-sdk/python#hookinput). Contoh ini mencatat ringkasan setiap kali subagent selesai:542Gunakan hooks `SubagentStop` untuk memantau ketika subagents menyelesaikan pekerjaan mereka. Lihat tipe input lengkap di referensi SDK [TypeScript](/docs/id/agent-sdk/typescript#hookinput) dan [Python](/docs/id/agent-sdk/python#hookinput). Contoh ini mencatat ringkasan setiap kali subagent selesai:

543 543 

544<CodeGroup>544<CodeGroup>

545 ```python Python theme={null}545 ```python Python theme={null}


791* Verifikasi nama hook event benar dan case-sensitive (`PreToolUse`, bukan `preToolUse`)791* Verifikasi nama hook event benar dan case-sensitive (`PreToolUse`, bukan `preToolUse`)

792* Periksa bahwa pola matcher Anda cocok dengan nama tool dengan tepat792* Periksa bahwa pola matcher Anda cocok dengan nama tool dengan tepat

793* Pastikan hook berada di bawah tipe event yang benar di `options.hooks`793* Pastikan hook berada di bawah tipe event yang benar di `options.hooks`

794* Untuk non-tool hooks yang mendukung matchers, seperti `Notification` dan `SubagentStop`, matchers cocok dengan fields berbeda, dan `Stop` mengabaikan matchers sepenuhnya (lihat [matcher patterns](/id/hooks#matcher-patterns))794* Untuk non-tool hooks yang mendukung matchers, seperti `Notification` dan `SubagentStop`, matchers cocok dengan fields berbeda, dan `Stop` mengabaikan matchers sepenuhnya (lihat [matcher patterns](/docs/id/hooks#matcher-patterns))

795* Hooks mungkin tidak terjadi ketika agent mencapai batas [`max_turns`](/id/agent-sdk/python#claudeagentoptions) karena sesi berakhir sebelum hooks dapat dieksekusi795* Hooks mungkin tidak terjadi ketika agent mencapai batas [`max_turns`](/docs/id/agent-sdk/python#claudeagentoptions) karena sesi berakhir sebelum hooks dapat dieksekusi

796 796 

797<h3 id="matcher-not-filtering-as-expected">797<h3 id="matcher-not-filtering-as-expected">

798 Matcher not filtering as expected798 Matcher not filtering as expected


818* Tingkatkan nilai `timeout` dalam konfigurasi `HookMatcher`818* Tingkatkan nilai `timeout` dalam konfigurasi `HookMatcher`

819* Gunakan `AbortSignal` dari argumen callback ketiga untuk menangani pembatalan dengan baik di TypeScript819* Gunakan `AbortSignal` dari argumen callback ketiga untuk menangani pembatalan dengan baik di TypeScript

820 820 

821{/* min-version: 2.1.208 */}Callback `UserPromptSubmit` atau [`UserPromptExpansion`](/id/hooks#userpromptexpansion) yang melampaui timeout-nya memblokir prompt tersebut dengan pesan timeout dan sesi berlanjut. Mengganggu query saat callback tertunda membatalkan pending tool call. Sebelum v2.1.208, timeout callback pada event tersebut mengakhiri query dengan `error_during_execution`, dan interrupt selama pending callback `PreToolUse` dapat membiarkan tool call melanjutkan.821Callback `UserPromptSubmit` atau [`UserPromptExpansion`](/docs/id/hooks#userpromptexpansion) yang melampaui timeout-nya memblokir prompt tersebut dengan pesan timeout dan sesi berlanjut. Mengganggu query saat callback tertunda membatalkan pending tool call. Sebelum v2.1.208, timeout callback pada event tersebut mengakhiri query dengan `error_during_execution`, dan interrupt selama pending callback `PreToolUse` dapat membiarkan tool call melanjutkan.

822 822 

823<h3 id="tool-blocked-unexpectedly">823<h3 id="tool-blocked-unexpectedly">

824 Tool blocked unexpectedly824 Tool blocked unexpectedly


852 Session hooks not available in Python852 Session hooks not available in Python

853</h3>853</h3>

854 854 

855`SessionStart` dan `SessionEnd` dapat didaftarkan sebagai SDK callback hooks di TypeScript, tetapi tidak tersedia di Python SDK karena tipe `HookEvent`-nya menghilangkannya. Di Python, mereka hanya tersedia sebagai [shell command hooks](/id/hooks#hook-events) yang didefinisikan dalam file pengaturan seperti `.claude/settings.json`. Untuk memuat shell command hooks dari aplikasi SDK Anda, sertakan setting source yang sesuai dengan [`setting_sources`](/id/agent-sdk/python#settingsource) atau [`settingSources`](/id/agent-sdk/typescript#settingsource):855`SessionStart` dan `SessionEnd` dapat didaftarkan sebagai SDK callback hooks di TypeScript, tetapi tidak tersedia di Python SDK karena tipe `HookEvent`-nya menghilangkannya. Di Python, mereka hanya tersedia sebagai [shell command hooks](/docs/id/hooks#hook-events) yang didefinisikan dalam file pengaturan seperti `.claude/settings.json`. Untuk memuat shell command hooks dari aplikasi SDK Anda, sertakan setting source yang sesuai dengan [`setting_sources`](/docs/id/agent-sdk/python#settingsource) atau [`settingSources`](/docs/id/agent-sdk/typescript#settingsource):

856 856 

857<CodeGroup>857<CodeGroup>

858 ```python Python theme={null}858 ```python Python theme={null}


890 systemMessage not appearing in output890 systemMessage not appearing in output

891</h3>891</h3>

892 892 

893Field `systemMessage` menampilkan pesan kepada pengguna, bukan model. Secara default SDK menampilkan hook output di message stream hanya untuk hooks `SessionStart` dan `Setup`, jadi pesan dari event hook lainnya tidak muncul kecuali Anda mengatur `includeHookEvents` (`include_hook_events` di Python). Untuk meneruskan konteks ke model sebagai gantinya, kembalikan [`additionalContext`](/id/hooks#add-context-for-claude).893Field `systemMessage` menampilkan pesan kepada pengguna, bukan model. Secara default SDK menampilkan hook output di message stream hanya untuk hooks `SessionStart` dan `Setup`, jadi pesan dari event hook lainnya tidak muncul kecuali Anda mengatur `includeHookEvents` (`include_hook_events` di Python). Untuk meneruskan konteks ke model sebagai gantinya, kembalikan [`additionalContext`](/docs/id/hooks#add-context-for-claude).

894 894 

895Jika Anda perlu menampilkan hook decisions ke aplikasi Anda dengan andal, log mereka secara terpisah atau gunakan dedicated output channel.895Jika Anda perlu menampilkan hook decisions ke aplikasi Anda dengan andal, log mereka secara terpisah atau gunakan dedicated output channel.

896 896 


898 Related resources898 Related resources

899</h2>899</h2>

900 900 

901* [Claude Code hooks reference](/id/hooks): full JSON input/output schemas, event documentation, dan matcher patterns901* [Claude Code hooks reference](/docs/id/hooks): full JSON input/output schemas, event documentation, dan matcher patterns

902* [Claude Code hooks guide](/id/hooks-guide): shell command hook examples dan walkthroughs902* [Claude Code hooks guide](/docs/id/hooks-guide): shell command hook examples dan walkthroughs

903* [TypeScript SDK reference](/id/agent-sdk/typescript): hook types, input/output definitions, dan configuration options903* [TypeScript SDK reference](/docs/id/agent-sdk/typescript): hook types, input/output definitions, dan configuration options

904* [Python SDK reference](/id/agent-sdk/python): hook types, input/output definitions, dan configuration options904* [Python SDK reference](/docs/id/agent-sdk/python): hook types, input/output definitions, dan configuration options

905* [Permissions](/id/agent-sdk/permissions): kontrol apa yang dapat dilakukan agent Anda905* [Permissions](/docs/id/agent-sdk/permissions): kontrol apa yang dapat dilakukan agent Anda

906* [Custom tools](/id/agent-sdk/custom-tools): build tools untuk extend agent capabilities906* [Custom tools](/docs/id/agent-sdk/custom-tools): build tools untuk extend agent capabilities

Details

6 6 

7> Kontrol bagaimana agen Anda menggunakan alat dengan mode izin, hooks, dan aturan allow/deny deklaratif.7> Kontrol bagaimana agen Anda menggunakan alat dengan mode izin, hooks, dan aturan allow/deny deklaratif.

8 8 

9Claude Agent SDK menyediakan kontrol izin untuk mengelola bagaimana Claude menggunakan alat. Gunakan mode izin dan aturan untuk menentukan apa yang diizinkan secara otomatis, dan callback [`canUseTool`](/id/agent-sdk/user-input) untuk menangani segalanya di runtime.9Claude Agent SDK menyediakan kontrol izin untuk mengelola bagaimana Claude menggunakan alat. Gunakan mode izin dan aturan untuk menentukan apa yang diizinkan secara otomatis, dan callback [`canUseTool`](/docs/id/agent-sdk/user-input) untuk menangani segalanya di runtime.

10 10 

11<Note>11<Note>

12 Halaman ini mencakup mode izin dan aturan. Untuk membangun alur persetujuan interaktif di mana pengguna menyetujui atau menolak permintaan alat di runtime, lihat [Tangani persetujuan dan input pengguna](/id/agent-sdk/user-input).12 Halaman ini mencakup mode izin dan aturan. Untuk membangun alur persetujuan interaktif di mana pengguna menyetujui atau menolak permintaan alat di runtime, lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input).

13</Note>13</Note>

14 14 

15<h2 id="how-permissions-are-evaluated">15<h2 id="how-permissions-are-evaluated">


20 20 

21<Steps>21<Steps>

22 <Step title="Hooks">22 <Step title="Hooks">

23 Jalankan [hooks](/id/agent-sdk/hooks) terlebih dahulu. Hook dapat menolak panggilan sepenuhnya atau meneruskannya. Hook yang mengembalikan `allow` tidak melewati aturan deny dan ask di bawah; aturan tersebut dievaluasi terlepas dari hasil hook.23 Jalankan [hooks](/docs/id/agent-sdk/hooks) terlebih dahulu. Hook dapat menolak panggilan sepenuhnya atau meneruskannya. Hook yang mengembalikan `allow` tidak melewati aturan deny dan ask di bawah; aturan tersebut dievaluasi terlepas dari hasil hook.

24 </Step>24 </Step>

25 25 

26 <Step title="Deny rules">26 <Step title="Deny rules">

27 Periksa aturan `deny` (dari `disallowed_tools` dan [settings.json](/id/settings#permission-settings)). Jika aturan deny cocok, alat diblokir, bahkan dalam mode `bypassPermissions`. Aturan deny dengan nama bare seperti `Bash` menghapus alat dari konteks Claude sebelum evaluasi ini dimulai, jadi hanya aturan berscopе seperti `Bash(rm *)` yang diperiksa pada langkah ini.27 Periksa aturan `deny` (dari `disallowed_tools` dan [settings.json](/docs/id/settings#permission-settings)). Jika aturan deny cocok, alat diblokir, bahkan dalam mode `bypassPermissions`. Aturan deny dengan nama bare seperti `Bash` menghapus alat dari konteks Claude sebelum evaluasi ini dimulai, jadi hanya aturan berscopе seperti `Bash(rm *)` yang diperiksa pada langkah ini.

28 </Step>28 </Step>

29 29 

30 <Step title="Ask rules">30 <Step title="Ask rules">

31 Periksa aturan `ask` dari [settings.json](/id/settings#permission-settings). Jika aturan ask cocok, panggilan jatuh melalui callback [`canUseTool`](/id/agent-sdk/user-input) Anda untuk konfirmasi, bahkan dalam mode `bypassPermissions`.31 Periksa aturan `ask` dari [settings.json](/docs/id/settings#permission-settings). Jika aturan ask cocok, panggilan jatuh melalui callback [`canUseTool`](/docs/id/agent-sdk/user-input) Anda untuk konfirmasi, bahkan dalam mode `bypassPermissions`.

32 32 

33 Alat yang memerlukan interaksi pengguna berperilaku dengan cara yang sama: `AskUserQuestion` dan alat MCP yang servernya menetapkan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) selalu jatuh melalui callback, bahkan ketika aturan allow cocok. Dalam mode `dontAsk` kedua kasus ditolak sebagai gantinya, karena mode itu tidak pernah meminta. {/* min-version: 2.1.199 */}Anotasi MCP memerlukan Claude Code v2.1.199 atau lebih baru.33 Alat yang memerlukan interaksi pengguna berperilaku dengan cara yang sama: `AskUserQuestion` dan alat MCP yang servernya menetapkan [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool) selalu jatuh melalui callback, bahkan ketika aturan allow cocok. Dalam mode `dontAsk` kedua kasus ditolak sebagai gantinya, karena mode itu tidak pernah meminta. Anotasi MCP memerlukan Claude Code v2.1.199 atau lebih baru.

34 34 

35 Alat konektor [claude.ai](/id/mcp#organization-controls-on-connector-tools) yang organisasi Anda telah atur ke `ask` juga meninggalkan alur pada langkah ini. Setiap panggilan jatuh melalui callback, bahkan dalam mode `bypassPermissions` dan bahkan ketika aturan allow cocok. Callback menerima alasan `Organisasi Anda memerlukan persetujuan untuk alat ini`. Dalam mode `dontAsk` panggilan ditolak sebagai gantinya, karena mode itu tidak pernah meminta.35 Alat konektor [claude.ai](/docs/id/mcp#organization-controls-on-connector-tools) yang organisasi Anda telah atur ke `ask` juga meninggalkan alur pada langkah ini. Setiap panggilan jatuh melalui callback, bahkan dalam mode `bypassPermissions` dan bahkan ketika aturan allow cocok. Callback menerima alasan `Organisasi Anda memerlukan persetujuan untuk alat ini`. Dalam mode `dontAsk` panggilan ditolak sebagai gantinya, karena mode itu tidak pernah meminta.

36 </Step>36 </Step>

37 37 

38 <Step title="Permission mode">38 <Step title="Permission mode">


44 </Step>44 </Step>

45 45 

46 <Step title="canUseTool callback">46 <Step title="canUseTool callback">

47 Jika tidak diselesaikan oleh salah satu di atas, panggil callback [`canUseTool`](/id/agent-sdk/user-input) Anda untuk keputusan. Dalam mode `dontAsk`, langkah ini dilewati dan alat ditolak.47 Jika tidak diselesaikan oleh salah satu di atas, panggil callback [`canUseTool`](/docs/id/agent-sdk/user-input) Anda untuk keputusan. Dalam mode `dontAsk`, langkah ini dilewati dan alat ditolak.

48 </Step>48 </Step>

49</Steps>49</Steps>

50 50 


57 57 

58Entri dengan specifier seperti `Bash(ls *)` dan mode `acceptEdits` tidak memicunya, dan aturan allow yang berasal dari file pengaturan tidak terlihat oleh pemeriksaan.58Entri dengan specifier seperti `Bash(ls *)` dan mode `acceptEdits` tidak memicunya, dan aturan allow yang berasal dari file pengaturan tidak terlihat oleh pemeriksaan.

59 59 

60Dengarkan dengan `process.on('warning', ...)` dan cocokkan kode untuk mencatat atau menekannya. Untuk membatasi setiap panggilan alat terlepas dari mode dan aturan, gunakan hook [`PreToolUse`](/id/agent-sdk/hooks) sebagai gantinya.60Dengarkan dengan `process.on('warning', ...)` dan cocokkan kode untuk mencatat atau menekannya. Untuk membatasi setiap panggilan alat terlepas dari mode dan aturan, gunakan hook [`PreToolUse`](/docs/id/agent-sdk/hooks) sebagai gantinya.

61 61 

62Halaman ini berfokus pada **aturan allow dan deny** serta **mode izin**. Untuk langkah lainnya:62Halaman ini berfokus pada **aturan allow dan deny** serta **mode izin**. Untuk langkah lainnya:

63 63 

64* **Hooks:** jalankan kode khusus untuk mengizinkan, menolak, atau memodifikasi permintaan alat. Lihat [Kontrol eksekusi dengan hooks](/id/agent-sdk/hooks).64* **Hooks:** jalankan kode khusus untuk mengizinkan, menolak, atau memodifikasi permintaan alat. Lihat [Kontrol eksekusi dengan hooks](/docs/id/agent-sdk/hooks).

65* **canUseTool callback:** minta persetujuan pengguna di runtime, ketika tidak ada langkah sebelumnya yang menyelesaikan panggilan. Lihat [Tangani persetujuan dan input pengguna](/id/agent-sdk/user-input).65* **canUseTool callback:** minta persetujuan pengguna di runtime, ketika tidak ada langkah sebelumnya yang menyelesaikan panggilan. Lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input).

66 66 

67<h2 id="allow-and-deny-rules">67<h2 id="allow-and-deny-rules">

68 Aturan allow dan deny68 Aturan allow dan deny


81 81 

82Aturan yang dibatasi untuk `Read` dan `Edit` mengambil pola jalur. Aturan `Edit(path)` mengatur semua alat bawaan yang menulis file, termasuk `Write` dan `NotebookEdit`; aturan `Write(path)` tidak pernah cocok dengan pemeriksaan izin file.82Aturan yang dibatasi untuk `Read` dan `Edit` mengambil pola jalur. Aturan `Edit(path)` mengatur semua alat bawaan yang menulis file, termasuk `Write` dan `NotebookEdit`; aturan `Write(path)` tidak pernah cocok dengan pemeriksaan izin file.

83 83 

84Gunakan `//path` untuk jalur sistem file absolut: aturan deny dari `Edit(//secrets/**)` memblokir penulisan di mana pun di bawah `/secrets` di disk. Dengan garis miring tunggal di depan, `Edit(/secrets/**)` berlabuh di sumber aturan sebagai gantinya. Untuk aturan yang dilewatkan melalui `allowed_tools` atau `disallowed_tools`, itu berarti direktori kerja sesi, sehingga aturan tidak memblokir `/secrets` di disk. Lihat [Aturan Read dan Edit](/id/permissions#read-and-edit) untuk empat bentuk jangkar dan bagaimana aturan dari file pengaturan diselesaikan.84Gunakan `//path` untuk jalur sistem file absolut: aturan deny dari `Edit(//secrets/**)` memblokir penulisan di mana pun di bawah `/secrets` di disk. Dengan garis miring tunggal di depan, `Edit(/secrets/**)` berlabuh di sumber aturan sebagai gantinya. Untuk aturan yang dilewatkan melalui `allowed_tools` atau `disallowed_tools`, itu berarti direktori kerja sesi, sehingga aturan tidak memblokir `/secrets` di disk. Lihat [Aturan Read dan Edit](/docs/id/permissions#read-and-edit) untuk empat bentuk jangkar dan bagaimana aturan dari file pengaturan diselesaikan.

85 85 

86<Warning>86<Warning>

87 **Alat yang disetujui otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan allow, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana secara diam-diam dilewati untuk alat tersebut. `AskUserQuestion`, alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) masih mencapai callback, bahkan ketika aturan allow cocok.87 **Alat yang disetujui otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan allow, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana secara diam-diam dilewati untuk alat tersebut. `AskUserQuestion`, alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [yang organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) masih mencapai callback, bahkan ketika aturan allow cocok.

88 88 

89 Cakupan tergantung pada bentuk entri: nama bare seperti `Read` atau `mcp__github__get_issue` menyetujui secara otomatis setiap panggilan ke alat tersebut, sementara aturan yang dibatasi seperti `Bash(ls *)` hanya menyetujui panggilan yang cocok dan panggilan `Bash` lainnya masih jatuh melalui callback. Untuk pemeriksaan yang harus berjalan pada setiap panggilan alat, gunakan hook [`PreToolUse`](/id/agent-sdk/hooks): hook berjalan sebelum setiap langkah lainnya, dan penolakan hook berlaku bahkan dalam mode `bypassPermissions`.89 Cakupan tergantung pada bentuk entri: nama bare seperti `Read` atau `mcp__github__get_issue` menyetujui secara otomatis setiap panggilan ke alat tersebut, sementara aturan yang dibatasi seperti `Bash(ls *)` hanya menyetujui panggilan yang cocok dan panggilan `Bash` lainnya masih jatuh melalui callback. Untuk pemeriksaan yang harus berjalan pada setiap panggilan alat, gunakan hook [`PreToolUse`](/docs/id/agent-sdk/hooks): hook berjalan sebelum setiap langkah lainnya, dan penolakan hook berlaku bahkan dalam mode `bypassPermissions`.

90</Warning>90</Warning>

91 91 

92Untuk agen yang terkunci, pasangkan `allowedTools` dengan `permissionMode: "dontAsk"`. Alat yang tercantum disetujui, terlepas dari alat yang selalu diminta dalam Peringatan di atas; apa pun yang lain ditolak sepenuhnya daripada meminta:92Untuk agen yang terkunci, pasangkan `allowedTools` dengan `permissionMode: "dontAsk"`. Alat yang tercantum disetujui, terlepas dari alat yang selalu diminta dalam Peringatan di atas; apa pun yang lain ditolak sepenuhnya daripada meminta:


102 **`allowed_tools` tidak membatasi `bypassPermissions`.** `allowed_tools` hanya pra-menyetujui alat yang Anda cantumkan. Alat yang tidak tercantum tidak cocok dengan aturan allow apa pun dan jatuh melalui mode izin, di mana `bypassPermissions` menyetujuinya. Menetapkan `allowed_tools=["Read"]` bersama dengan `permission_mode="bypassPermissions"` masih menyetujui setiap alat, termasuk `Bash`, `Write`, dan `Edit`. Jika Anda memerlukan `bypassPermissions` tetapi ingin alat tertentu diblokir, gunakan `disallowed_tools`.102 **`allowed_tools` tidak membatasi `bypassPermissions`.** `allowed_tools` hanya pra-menyetujui alat yang Anda cantumkan. Alat yang tidak tercantum tidak cocok dengan aturan allow apa pun dan jatuh melalui mode izin, di mana `bypassPermissions` menyetujuinya. Menetapkan `allowed_tools=["Read"]` bersama dengan `permission_mode="bypassPermissions"` masih menyetujui setiap alat, termasuk `Bash`, `Write`, dan `Edit`. Jika Anda memerlukan `bypassPermissions` tetapi ingin alat tertentu diblokir, gunakan `disallowed_tools`.

103</Warning>103</Warning>

104 104 

105Anda juga dapat mengonfigurasi aturan allow, deny, dan ask secara deklaratif di `.claude/settings.json`. Aturan ini dibaca ketika sumber pengaturan `project` diaktifkan, yang merupakan default untuk opsi `query()`. Jika Anda menetapkan `setting_sources` (TypeScript: `settingSources`) secara eksplisit, sertakan `"project"` agar aturan diterapkan. Lihat [Pengaturan izin](/id/settings#permission-settings) untuk sintaks aturan.105Anda juga dapat mengonfigurasi aturan allow, deny, dan ask secara deklaratif di `.claude/settings.json`. Aturan ini dibaca ketika sumber pengaturan `project` diaktifkan, yang merupakan default untuk opsi `query()`. Jika Anda menetapkan `setting_sources` (TypeScript: `settingSources`) secara eksplisit, sertakan `"project"` agar aturan diterapkan. Lihat [Pengaturan izin](/docs/id/settings#permission-settings) untuk sintaks aturan.

106 106 

107<h2 id="permission-modes">107<h2 id="permission-modes">

108 Mode izin108 Mode izin


119| Mode | Deskripsi | Perilaku alat |119| Mode | Deskripsi | Perilaku alat |

120| :------------------ | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |120| :------------------ | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

121| `default` | Perilaku izin standar | Tidak ada persetujuan otomatis; alat yang tidak cocok memicu callback `canUseTool` Anda |121| `default` | Perilaku izin standar | Tidak ada persetujuan otomatis; alat yang tidak cocok memicu callback `canUseTool` Anda |

122| `dontAsk` | Tolak daripada meminta | Apa pun yang tidak pra-disetujui oleh `allowed_tools` atau aturan ditolak; alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna ditolak bahkan jika Anda telah pra-menyetujuinya. `canUseTool` tidak pernah dipanggil |122| `dontAsk` | Tolak daripada meminta | Apa pun yang tidak pra-disetujui oleh `allowed_tools` atau aturan ditolak; alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna ditolak bahkan jika Anda telah pra-menyetujuinya. `canUseTool` tidak pernah dipanggil |

123| `acceptEdits` | Terima otomatis edit file | Edit file dan [operasi sistem file](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, dll.) disetujui secara otomatis |123| `acceptEdits` | Terima otomatis edit file | Edit file dan [operasi sistem file](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, dll.) disetujui secara otomatis |

124| `bypassPermissions` | Lewati pemeriksaan izin | Alat berjalan tanpa prompt izin, kecuali aturan [`ask`](#how-permissions-are-evaluated) eksplisit cocok, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat yang memerlukan interaksi pengguna (gunakan dengan hati-hati) |124| `bypassPermissions` | Lewati pemeriksaan izin | Alat berjalan tanpa prompt izin, kecuali aturan [`ask`](#how-permissions-are-evaluated) eksplisit cocok, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat yang memerlukan interaksi pengguna (gunakan dengan hati-hati) |

125| `plan` | Mode perencanaan | Claude menjelajahi dan merencanakan tanpa mengedit file sumber Anda; edit file tidak pernah disetujui secara otomatis dan diminta melalui callback `canUseTool` Anda |125| `plan` | Mode perencanaan | Claude menjelajahi dan merencanakan tanpa mengedit file sumber Anda; edit file tidak pernah disetujui secara otomatis dan diminta melalui callback `canUseTool` Anda |

126| `auto` | Persetujuan yang diklasifikasikan model | Pengklasifikasi model menyetujui atau menolak setiap panggilan alat. Lihat [Mode Auto](/id/permission-modes#eliminate-prompts-with-auto-mode) untuk ketersediaan |126| `auto` | Persetujuan yang diklasifikasikan model | Pengklasifikasi model menyetujui atau menolak setiap panggilan alat. Lihat [Mode Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk ketersediaan |

127 127 

128<Warning>128<Warning>

129 **Warisan subagen:** Ketika induk menggunakan `bypassPermissions`, `acceptEdits`, atau `auto`, semua subagen mewarisi mode tersebut dan tidak dapat ditimpa per subagen. Subagen mungkin memiliki prompt sistem yang berbeda dan perilaku yang kurang terbatas daripada agen utama Anda, jadi mewarisi `bypassPermissions` memberikan mereka akses sistem penuh dan otonom. Aturan [`ask`](#how-permissions-are-evaluated) eksplisit, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat yang memerlukan interaksi pengguna masih memaksa prompt.129 **Warisan subagen:** Ketika induk menggunakan `bypassPermissions`, `acceptEdits`, atau `auto`, semua subagen mewarisi mode tersebut dan tidak dapat ditimpa per subagen. Subagen mungkin memiliki prompt sistem yang berbeda dan perilaku yang kurang terbatas daripada agen utama Anda, jadi mewarisi `bypassPermissions` memberikan mereka akses sistem penuh dan otonom. Aturan [`ask`](#how-permissions-are-evaluated) eksplisit, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat yang memerlukan interaksi pengguna masih memaksa prompt.

130</Warning>130</Warning>

131 131 

132<h3 id="set-permission-mode">132<h3 id="set-permission-mode">


260 Mode jangan tanya (`dontAsk`)260 Mode jangan tanya (`dontAsk`)

261</h4>261</h4>

262 262 

263Mengonversi prompt izin apa pun menjadi penolakan. Alat yang pra-disetujui oleh `allowed_tools`, aturan allow `settings.json`, atau hook berjalan normal. Alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna ditolak bahkan ketika aturan allow cocok. Segalanya ditolak tanpa memanggil `canUseTool`.263Mengonversi prompt izin apa pun menjadi penolakan. Alat yang pra-disetujui oleh `allowed_tools`, aturan allow `settings.json`, atau hook berjalan normal. Alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna ditolak bahkan ketika aturan allow cocok. Segalanya ditolak tanpa memanggil `canUseTool`.

264 264 

265**Gunakan ketika:** Anda menginginkan permukaan alat yang tetap dan eksplisit untuk agen headless dan lebih suka penolakan keras daripada ketergantungan diam pada `canUseTool` yang tidak ada.265**Gunakan ketika:** Anda menginginkan permukaan alat yang tetap dan eksplisit untuk agen headless dan lebih suka penolakan keras daripada ketergantungan diam pada `canUseTool` yang tidak ada.

266 266 


273<Warning>273<Warning>

274 Gunakan dengan sangat hati-hati. Claude memiliki akses sistem penuh dalam mode ini. Hanya gunakan di lingkungan terkontrol di mana Anda mempercayai semua operasi yang mungkin.274 Gunakan dengan sangat hati-hati. Claude memiliki akses sistem penuh dalam mode ini. Hanya gunakan di lingkungan terkontrol di mana Anda mempercayai semua operasi yang mungkin.

275 275 

276 `allowed_tools` tidak membatasi mode ini. Setiap alat disetujui, bukan hanya yang Anda cantumkan. Aturan deny (`disallowed_tools`), aturan `ask` eksplisit, dan hooks dievaluasi sebelum pemeriksaan mode dan masih dapat memblokir alat. Alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna masih jatuh melalui callback `canUseTool` Anda.276 `allowed_tools` tidak membatasi mode ini. Setiap alat disetujui, bukan hanya yang Anda cantumkan. Aturan deny (`disallowed_tools`), aturan `ask` eksplisit, dan hooks dievaluasi sebelum pemeriksaan mode dan masih dapat memblokir alat. Alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan alat yang memerlukan interaksi pengguna masih jatuh melalui callback `canUseTool` Anda.

277</Warning>277</Warning>

278 278 

279<h4 id="plan-mode-plan">279<h4 id="plan-mode-plan">

280 Mode rencana (`plan`)280 Mode rencana (`plan`)

281</h4>281</h4>

282 282 

283Claude menjelajahi basis kode dan menghasilkan rencana tanpa mengedit file sumber Anda. Alat baca saja berjalan seperti dalam mode default. Edit file tidak pernah disetujui secara otomatis dalam mode rencana, bahkan ketika aturan allow cocok. Mereka diminta melalui callback `canUseTool` Anda sebagai gantinya. Claude dapat menggunakan `AskUserQuestion` untuk mengklarifikasi persyaratan sebelum menyelesaikan rencana. Lihat [Tangani persetujuan dan input pengguna](/id/agent-sdk/user-input#handle-clarifying-questions) untuk menangani prompt ini.283Claude menjelajahi basis kode dan menghasilkan rencana tanpa mengedit file sumber Anda. Alat baca saja berjalan seperti dalam mode default. Edit file tidak pernah disetujui secara otomatis dalam mode rencana, bahkan ketika aturan allow cocok. Mereka diminta melalui callback `canUseTool` Anda sebagai gantinya. Claude dapat menggunakan `AskUserQuestion` untuk mengklarifikasi persyaratan sebelum menyelesaikan rencana. Lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input#handle-clarifying-questions) untuk menangani prompt ini.

284 284 

285**Gunakan ketika:** Anda ingin Claude mengusulkan perubahan tanpa menjalankannya, seperti selama tinjauan kode atau ketika Anda perlu menyetujui perubahan sebelum dibuat.285**Gunakan ketika:** Anda ingin Claude mengusulkan perubahan tanpa menjalankannya, seperti selama tinjauan kode atau ketika Anda perlu menyetujui perubahan sebelum dibuat.

286 286 


290 290 

291Untuk langkah lain dalam alur evaluasi izin:291Untuk langkah lain dalam alur evaluasi izin:

292 292 

293* [Tangani persetujuan dan input pengguna](/id/agent-sdk/user-input): prompt persetujuan interaktif dan pertanyaan klarifikasi293* [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input): prompt persetujuan interaktif dan pertanyaan klarifikasi

294* [Panduan hooks](/id/agent-sdk/hooks): jalankan kode khusus di titik kunci dalam siklus hidup agen294* [Panduan hooks](/docs/id/agent-sdk/hooks): jalankan kode khusus di titik kunci dalam siklus hidup agen

295* [Aturan izin](/id/settings#permission-settings): aturan allow/deny deklaratif di `settings.json`295* [Aturan izin](/docs/id/settings#permission-settings): aturan allow/deny deklaratif di `settings.json`

Details

18pip install claude-agent-sdk18pip install claude-agent-sdk

19```19```

20 20 

21Untuk uv, Windows PowerShell, dan pengaturan kunci API, lihat [Memulai dalam gambaran umum Agent SDK](/id/agent-sdk/overview#get-started).21Untuk uv, Windows PowerShell, dan pengaturan kunci API, lihat [Memulai dalam gambaran umum Agent SDK](/docs/id/agent-sdk/overview#get-started).

22 22 

23<h2 id="choosing-between-query-and-claudesdkclient">23<h2 id="choosing-between-query-and-claudesdkclient">

24 Memilih antara `query()` dan `ClaudeSDKClient`24 Memilih antara `query()` dan `ClaudeSDKClient`


73 `query()`73 `query()`

74</h3>74</h3>

75 75 

76Membuat sesi baru untuk setiap interaksi dengan Claude Code secara default. Mengembalikan async iterator yang menghasilkan pesan saat tiba. Setiap panggilan ke `query()` dimulai segar tanpa memori interaksi sebelumnya kecuali Anda melewatkan `continue_conversation=True` atau `resume` dalam [`ClaudeAgentOptions`](#claudeagentoptions). Lihat [Sessions](/id/agent-sdk/sessions).76Membuat sesi baru untuk setiap interaksi dengan Claude Code secara default. Mengembalikan async iterator yang menghasilkan pesan saat tiba. Setiap panggilan ke `query()` dimulai segar tanpa memori interaksi sebelumnya kecuali Anda melewatkan `continue_conversation=True` atau `resume` dalam [`ClaudeAgentOptions`](#claudeagentoptions). Lihat [Sessions](/docs/id/agent-sdk/sessions).

77 77 

78```python theme={null}78```python theme={null}

79async def query(79async def query(


565| `interrupt()` | Kirim sinyal interrupt (hanya bekerja dalam mode streaming) |565| `interrupt()` | Kirim sinyal interrupt (hanya bekerja dalam mode streaming) |

566| `set_permission_mode(mode)` | Ubah mode izin untuk sesi saat ini |566| `set_permission_mode(mode)` | Ubah mode izin untuk sesi saat ini |

567| `set_model(model)` | Ubah model untuk sesi saat ini. Teruskan `None` untuk reset ke default |567| `set_model(model)` | Ubah model untuk sesi saat ini. Teruskan `None` untuk reset ke default |

568| `rewind_files(user_message_id)` | Pulihkan file ke keadaan mereka pada pesan pengguna yang ditentukan. Memerlukan `enable_file_checkpointing=True`. Lihat [File checkpointing](/id/agent-sdk/file-checkpointing) |568| `rewind_files(user_message_id)` | Pulihkan file ke keadaan mereka pada pesan pengguna yang ditentukan. Memerlukan `enable_file_checkpointing=True`. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |

569| `get_mcp_status()` | Dapatkan status semua server MCP yang dikonfigurasi. Mengembalikan [`McpStatusResponse`](#mcpstatusresponse) |569| `get_mcp_status()` | Dapatkan status semua server MCP yang dikonfigurasi. Mengembalikan [`McpStatusResponse`](#mcpstatusresponse) |

570| `reconnect_mcp_server(server_name)` | Coba lagi menghubungkan ke server MCP yang gagal atau terputus |570| `reconnect_mcp_server(server_name)` | Coba lagi menghubungkan ke server MCP yang gagal atau terputus |

571| `toggle_mcp_server(server_name, enabled)` | Aktifkan atau nonaktifkan server MCP di tengah sesi. Menonaktifkan menghapus toolnya |571| `toggle_mcp_server(server_name, enabled)` | Aktifkan atau nonaktifkan server MCP di tengah sesi. Menonaktifkan menghapus toolnya |


907| Properti | Tipe | Default | Deskripsi |907| Properti | Tipe | Default | Deskripsi |

908| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |908| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

909| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Konfigurasi tools. Gunakan `{"type": "preset", "preset": "claude_code"}` untuk tools default Claude Code |909| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Konfigurasi tools. Gunakan `{"type": "preset", "preset": "claude_code"}` untuk tools default Claude Code |

910| `allowed_tools` | `list[str]` | `[]` | Tools untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tools ini; tools yang tidak terdaftar jatuh ke `permission_mode` dan `can_use_tool`. Gunakan `disallowed_tools` untuk memblokir tools. Lihat [Permissions](/id/agent-sdk/permissions#allow-and-deny-rules) |910| `allowed_tools` | `list[str]` | `[]` | Tools untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tools ini; tools yang tidak terdaftar jatuh ke `permission_mode` dan `can_use_tool`. Gunakan `disallowed_tools` untuk memblokir tools. Lihat [Permissions](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

911| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | Konfigurasi system prompt. Teruskan string untuk prompt kustom, `{"type": "preset", "preset": "claude_code"}` untuk system prompt Claude Code dengan `"append"` opsional, atau `{"type": "file", "path": "..."}` untuk memuat prompt besar dari disk. Lihat [`SystemPromptPreset`](#systempromptpreset) dan [`SystemPromptFile`](#systempromptfile) |911| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | Konfigurasi system prompt. Teruskan string untuk prompt kustom, `{"type": "preset", "preset": "claude_code"}` untuk system prompt Claude Code dengan `"append"` opsional, atau `{"type": "file", "path": "..."}` untuk memuat prompt besar dari disk. Lihat [`SystemPromptPreset`](#systempromptpreset) dan [`SystemPromptFile`](#systempromptfile) |

912| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Konfigurasi server MCP atau jalur ke file konfigurasi |912| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Konfigurasi server MCP atau jalur ke file konfigurasi |

913| `strict_mcp_config` | `bool` | `False` | Ketika `True`, gunakan hanya server yang diteruskan dalam `mcp_servers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai). Memetakan ke flag CLI `--strict-mcp-config` |913| `strict_mcp_config` | `bool` | `False` | Ketika `True`, gunakan hanya server yang diteruskan dalam `mcp_servers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai). Memetakan ke flag CLI `--strict-mcp-config` |

914| `permission_mode` | `PermissionMode \| None` | `None` | Mode izin untuk penggunaan tool |914| `permission_mode` | `PermissionMode \| None` | `None` | Mode izin untuk penggunaan tool |

915| `continue_conversation` | `bool` | `False` | Lanjutkan percakapan terbaru |915| `continue_conversation` | `bool` | `False` | Lanjutkan percakapan terbaru |

916| `resume` | `str \| None` | `None` | ID sesi untuk dilanjutkan |916| `resume` | `str \| None` | `None` | ID sesi untuk dilanjutkan |

917| `max_turns` | `int \| None` | `None` | Jumlah maksimal putaran agentic (round trip penggunaan tool) |917| `max_turns` | `int \| None` | `None` | Jumlah maksimal putaran agentic (round trip penggunaan tool) |

918| `max_budget_usd` | `float \| None` | `None` | Hentikan query ketika estimasi biaya sisi klien mencapai nilai USD ini. Dibandingkan dengan estimasi yang sama seperti `total_cost_usd`; lihat [Track cost and usage](/id/agent-sdk/cost-tracking) untuk peringatan akurasi |918| `max_budget_usd` | `float \| None` | `None` | Hentikan query ketika estimasi biaya sisi klien mencapai nilai USD ini. Dibandingkan dengan estimasi yang sama seperti `total_cost_usd`; lihat [Track cost and usage](/docs/id/agent-sdk/cost-tracking) untuk peringatan akurasi |

919| `disallowed_tools` | `list[str]` | `[]` | Tools untuk ditolak. Nama bare seperti `"Bash"` menghapus tool dari konteks Claude. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool tersedia dan menolak panggilan yang cocok di setiap mode izin, termasuk `bypassPermissions`. Lihat [Permissions](/id/agent-sdk/permissions#allow-and-deny-rules) |919| `disallowed_tools` | `list[str]` | `[]` | Tools untuk ditolak. Nama bare seperti `"Bash"` menghapus tool dari konteks Claude. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool tersedia dan menolak panggilan yang cocok di setiap mode izin, termasuk `bypassPermissions`. Lihat [Permissions](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

920| `enable_file_checkpointing` | `bool` | `False` | Aktifkan pelacakan perubahan file untuk rewinding. Lihat [File checkpointing](/id/agent-sdk/file-checkpointing) |920| `enable_file_checkpointing` | `bool` | `False` | Aktifkan pelacakan perubahan file untuk rewinding. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |

921| `model` | `str \| None` | `None` | Alias model Claude atau nama model lengkap. Lihat [nilai yang diterima dan ID khusus penyedia](/id/model-config#available-models) |921| `model` | `str \| None` | `None` | Alias model Claude atau nama model lengkap. Lihat [nilai yang diterima dan ID khusus penyedia](/docs/id/model-config#available-models) |

922| `fallback_model` | `str \| None` | `None` | Model fallback yang akan digunakan jika model utama gagal |922| `fallback_model` | `str \| None` | `None` | Model fallback yang akan digunakan jika model utama gagal |

923| `betas` | `list[SdkBeta]` | `[]` | Fitur beta untuk diaktifkan. Lihat [`SdkBeta`](#sdkbeta) untuk opsi yang tersedia |923| `betas` | `list[SdkBeta]` | `[]` | Fitur beta untuk diaktifkan. Lihat [`SdkBeta`](#sdkbeta) untuk opsi yang tersedia |

924| `output_format` | `dict[str, Any] \| None` | `None` | Format output untuk respons terstruktur (misalnya, `{"type": "json_schema", "schema": {...}}`). Lihat [Structured outputs](/id/agent-sdk/structured-outputs) untuk detail |924| `output_format` | `dict[str, Any] \| None` | `None` | Format output untuk respons terstruktur (misalnya, `{"type": "json_schema", "schema": {...}}`). Lihat [Structured outputs](/docs/id/agent-sdk/structured-outputs) untuk detail |

925| `permission_prompt_tool_name` | `str \| None` | `None` | Nama tool MCP untuk prompt izin |925| `permission_prompt_tool_name` | `str \| None` | `None` | Nama tool MCP untuk prompt izin |

926| `cwd` | `str \| Path \| None` | `None` | Direktori kerja saat ini |926| `cwd` | `str \| Path \| None` | `None` | Direktori kerja saat ini |

927| `cli_path` | `str \| Path \| None` | `None` | Jalur kustom ke executable CLI Claude Code |927| `cli_path` | `str \| Path \| None` | `None` | Jalur kustom ke executable CLI Claude Code |

928| `settings` | `str \| None` | `None` | Jalur ke file pengaturan |928| `settings` | `str \| None` | `None` | Jalur ke file pengaturan |

929| `add_dirs` | `list[str \| Path]` | `[]` | Direktori tambahan yang dapat diakses Claude |929| `add_dirs` | `list[str \| Path]` | `[]` | Direktori tambahan yang dapat diakses Claude |

930| `env` | `dict[str, str]` | `{}` | Variabel lingkungan yang digabungkan di atas lingkungan proses yang diwarisi. Lihat [Environment variables](/id/env-vars) untuk variabel yang dibaca CLI yang mendasar, dan [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) untuk variabel terkait timeout |930| `env` | `dict[str, str]` | `{}` | Variabel lingkungan yang digabungkan di atas lingkungan proses yang diwarisi. Lihat [Environment variables](/docs/id/env-vars) untuk variabel yang dibaca CLI yang mendasar, dan [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) untuk variabel terkait timeout |

931| `extra_args` | `dict[str, str \| None]` | `{}` | Argumen CLI tambahan untuk diteruskan langsung ke CLI |931| `extra_args` | `dict[str, str \| None]` | `{}` | Argumen CLI tambahan untuk diteruskan langsung ke CLI |

932| `max_buffer_size` | `int \| None` | `None` | Byte maksimal saat membuffer stdout CLI |932| `max_buffer_size` | `int \| None` | `None` | Byte maksimal saat membuffer stdout CLI |

933| `debug_stderr` | `Any` | `sys.stderr` | *Deprecated* - Objek seperti file untuk output debug. Gunakan callback `stderr` sebagai gantinya |933| `debug_stderr` | `Any` | `sys.stderr` | *Deprecated* - Objek seperti file untuk output debug. Gunakan callback `stderr` sebagai gantinya |

934| `stderr` | `Callable[[str], None] \| None` | `None` | Fungsi callback untuk output stderr dari CLI |934| `stderr` | `Callable[[str], None] \| None` | `None` | Fungsi callback untuk output stderr dari CLI |

935| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Fungsi callback izin tool, dipanggil hanya ketika [alur izin](/id/agent-sdk/permissions#how-permissions-are-evaluated) jatuh ke prompt. Tidak dipanggil untuk panggilan yang auto-approved oleh entri `allowed_tools`, aturan allow, atau `permission_mode`. `AskUserQuestion`, connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan tool MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) mencapainya bahkan jika Anda telah mengizinkannya; dalam mode `dontAsk` ini ditolak sebagai gantinya. Lihat [`CanUseTool`](#canusetool) untuk detail |935| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Fungsi callback izin tool, dipanggil hanya ketika [alur izin](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) jatuh ke prompt. Tidak dipanggil untuk panggilan yang auto-approved oleh entri `allowed_tools`, aturan allow, atau `permission_mode`. `AskUserQuestion`, connector tools [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan tool MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) mencapainya bahkan jika Anda telah mengizinkannya; dalam mode `dontAsk` ini ditolak sebagai gantinya. Lihat [`CanUseTool`](#canusetool) untuk detail |

936| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Konfigurasi hook untuk mengintersepsi event |936| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Konfigurasi hook untuk mengintersepsi event |

937| `user` | `str \| None` | `None` | Pengenal pengguna |937| `user` | `str \| None` | `None` | Pengenal pengguna |

938| `include_partial_messages` | `bool` | `False` | Sertakan event streaming pesan parsial. Ketika diaktifkan, pesan [`StreamEvent`](#streamevent) dihasilkan |938| `include_partial_messages` | `bool` | `False` | Sertakan event streaming pesan parsial. Ketika diaktifkan, pesan [`StreamEvent`](#streamevent) dihasilkan |

939| `include_hook_events` | `bool` | `False` | Sertakan event lifecycle hook dalam aliran pesan sebagai objek `HookEventMessage` |939| `include_hook_events` | `bool` | `False` | Sertakan event lifecycle hook dalam aliran pesan sebagai objek `HookEventMessage` |

940| `fork_session` | `bool` | `False` | Ketika melanjutkan dengan `resume`, fork ke ID sesi baru alih-alih melanjutkan sesi asli |940| `fork_session` | `bool` | `False` | Ketika melanjutkan dengan `resume`, fork ke ID sesi baru alih-alih melanjutkan sesi asli |

941| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Subagent yang didefinisikan secara programatis |941| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Subagent yang didefinisikan secara programatis |

942| `plugins` | `list[SdkPluginConfig]` | `[]` | Muat plugin kustom dari jalur lokal. Lihat [Plugins](/id/agent-sdk/plugins) untuk detail |942| `plugins` | `list[SdkPluginConfig]` | `[]` | Muat plugin kustom dari jalur lokal. Lihat [Plugins](/docs/id/agent-sdk/plugins) untuk detail |

943| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Konfigurasi perilaku sandbox secara programatis. Lihat [Sandbox settings](#sandboxsettings) untuk detail |943| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Konfigurasi perilaku sandbox secara programatis. Lihat [Sandbox settings](#sandboxsettings) untuk detail |

944| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Kontrol pengaturan filesystem mana yang akan dimuat. Teruskan `[]` untuk menonaktifkan pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat terlepas dari itu; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability). Lihat [Use Claude Code features](/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya. |944| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Kontrol pengaturan filesystem mana yang akan dimuat. Teruskan `[]` untuk menonaktifkan pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat terlepas dari itu; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Lihat [Use Claude Code features](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya. |

945| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills yang tersedia untuk sesi. Teruskan `"all"` untuk mengaktifkan setiap skill yang ditemukan, atau daftar nama skill. Ketika diatur, SDK secara otomatis menambahkan tool Skill ke `allowed_tools`. Jika Anda juga meneruskan `tools`, sertakan `"Skill"` dalam daftar itu. Lihat [Skills](/id/agent-sdk/skills) |945| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills yang tersedia untuk sesi. Teruskan `"all"` untuk mengaktifkan setiap skill yang ditemukan, atau daftar nama skill. Ketika diatur, SDK secara otomatis menambahkan tool Skill ke `allowed_tools`. Jika Anda juga meneruskan `tools`, sertakan `"Skill"` dalam daftar itu. Lihat [Skills](/docs/id/agent-sdk/skills) |

946| `max_thinking_tokens` | `int \| None` | `None` | *Deprecated* - Token maksimal untuk blok thinking. Gunakan `thinking` sebagai gantinya |946| `max_thinking_tokens` | `int \| None` | `None` | *Deprecated* - Token maksimal untuk blok thinking. Gunakan `thinking` sebagai gantinya |

947| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Mengontrol perilaku extended thinking. Mengambil prioritas atas `max_thinking_tokens` |947| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Mengontrol perilaku extended thinking. Mengambil prioritas atas `max_thinking_tokens` |

948| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Tingkat usaha untuk kedalaman thinking. Lihat [adjust the effort level](/id/model-config#adjust-effort-level) |948| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Tingkat usaha untuk kedalaman thinking. Lihat [adjust the effort level](/docs/id/model-config#adjust-effort-level) |

949| `session_store` | [`SessionStore`](/id/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Cerminkan transkrip sesi ke backend eksternal sehingga host apa pun dapat melanjutkannya. Lihat [Persist sessions to external storage](/id/agent-sdk/session-storage) |949| `session_store` | [`SessionStore`](/docs/id/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Cerminkan transkrip sesi ke backend eksternal sehingga host apa pun dapat melanjutkannya. Lihat [Persist sessions to external storage](/docs/id/agent-sdk/session-storage) |

950| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Kapan membuang entri transkrip yang dicerminkan ke `session_store`. `"batched"` membuang sekali per putaran atau ketika buffer penuh; `"eager"` memicu pembilasan latar belakang setelah setiap frame. Diabaikan ketika `session_store` adalah `None` |950| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Kapan membuang entri transkrip yang dicerminkan ke `session_store`. `"batched"` membuang sekali per putaran atau ketika buffer penuh; `"eager"` memicu pembilasan latar belakang setelah setiap frame. Diabaikan ketika `session_store` adalah `None` |

951 951 

952<h4 id="handle-slow-or-stalled-api-responses">952<h4 id="handle-slow-or-stalled-api-responses">


966```966```

967 967 

968* `API_TIMEOUT_MS`: timeout per-permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.968* `API_TIMEOUT_MS`: timeout per-permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.

969* `CLAUDE_CODE_MAX_RETRIES`: maksimal retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapat jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run tanpa pengawasan yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1`: itu retry kapasitas error tanpa batas, dan {/* min-version: 2.1.199 */}sejak Claude Code v2.1.199 menaikkan default untuk error transien lainnya menjadi `300` dan menghapus batas pada variabel ini.969* `CLAUDE_CODE_MAX_RETRIES`: maksimal retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapat jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run tanpa pengawasan yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1`: itu retry kapasitas error tanpa batas, dan sejak Claude Code v2.1.199 menaikkan default untuk error transien lainnya menjadi `300` dan menghapus batas pada variabel ini.

970* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog stall untuk subagent yang diluncurkan dengan `run_in_background`. Default `600000`. Direset pada setiap event stream; pada stall itu membatalkan subagent, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagent sinkron.970* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog stall untuk subagent yang diluncurkan dengan `run_in_background`. Default `600000`. Direset pada setiap event stream; pada stall itu membatalkan subagent, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagent sinkron.

971* `CLAUDE_ENABLE_STREAM_WATCHDOG` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan permintaan ketika header telah tiba tetapi badan respons berhenti streaming. Watchdog aktif secara default untuk semua penyedia; atur `CLAUDE_ENABLE_STREAM_WATCHDOG=0` untuk menonaktifkannya. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Permintaan yang dibatalkan melalui jalur retry normal.971* `CLAUDE_ENABLE_STREAM_WATCHDOG` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan permintaan ketika header telah tiba tetapi badan respons berhenti streaming. Watchdog aktif secara default untuk semua penyedia; atur `CLAUDE_ENABLE_STREAM_WATCHDOG=0` untuk menonaktifkannya. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Permintaan yang dibatalkan melalui jalur retry normal.

972 972 


1008| `type` | Ya | Harus `"preset"` untuk menggunakan preset system prompt |1008| `type` | Ya | Harus `"preset"` untuk menggunakan preset system prompt |

1009| `preset` | Ya | Harus `"claude_code"` untuk menggunakan system prompt Claude Code |1009| `preset` | Ya | Harus `"claude_code"` untuk menggunakan system prompt Claude Code |

1010| `append` | Tidak | Instruksi tambahan untuk ditambahkan ke preset system prompt |1010| `append` | Tidak | Instruksi tambahan untuk ditambahkan ke preset system prompt |

1011| `exclude_dynamic_sections` | Tidak | Pindahkan konteks per-sesi seperti direktori kerja, status git-repo, dan jalur memori otomatis dari system prompt ke pesan pengguna pertama. Meningkatkan reuse prompt-cache di seluruh pengguna dan mesin. Lihat [Modify system prompts](/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1011| `exclude_dynamic_sections` | Tidak | Pindahkan konteks per-sesi seperti direktori kerja, status git-repo, dan jalur memori otomatis dari system prompt ke pesan pengguna pertama. Meningkatkan reuse prompt-cache di seluruh pengguna dan mesin. Lihat [Modify system prompts](/docs/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1012 1012 

1013<h3 id="systempromptfile">1013<h3 id="systempromptfile">

1014 `SystemPromptFile`1014 `SystemPromptFile`

1015</h3>1015</h3>

1016 1016 

1017Konfigurasi untuk memuat system prompt kustom dari file alih-alih meneruskannya sebagai string. SDK memetakan ini ke flag CLI [`--system-prompt-file`](/id/cli-reference#system-prompt-flags). Gunakan bentuk file ketika prompt besar: SDK meneruskan string `system_prompt` pada argv subprocess CLI, yang tunduk pada batas panjang command-line OS sebelum SDK mengirim permintaan API apa pun. Di Linux satu argumen lebih panjang dari kira-kira 128 KB gagal pada spawn proses dengan `Argument list too long`. Di Windows seluruh command line dibatasi pada kira-kira 32 KB, jadi bentuk string gagal pada ambang yang lebih rendah.1017Konfigurasi untuk memuat system prompt kustom dari file alih-alih meneruskannya sebagai string. SDK memetakan ini ke flag CLI [`--system-prompt-file`](/docs/id/cli-reference#system-prompt-flags). Gunakan bentuk file ketika prompt besar: SDK meneruskan string `system_prompt` pada argv subprocess CLI, yang tunduk pada batas panjang command-line OS sebelum SDK mengirim permintaan API apa pun. Di Linux satu argumen lebih panjang dari kira-kira 128 KB gagal pada spawn proses dengan `Argument list too long`. Di Windows seluruh command line dibatasi pada kira-kira 32 KB, jadi bentuk string gagal pada ambang yang lebih rendah.

1018 1018 

1019```python theme={null}1019```python theme={null}

1020class SystemPromptFile(TypedDict):1020class SystemPromptFile(TypedDict):


1047 Perilaku default1047 Perilaku default

1048</h4>1048</h4>

1049 1049 

1050Ketika `setting_sources` dihilangkan atau `None`, `query()` memuat pengaturan filesystem yang sama seperti CLI Claude Code: pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability). Lihat [What settingSources does not control](/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya.1050Ketika `setting_sources` dihilangkan atau `None`, `query()` memuat pengaturan filesystem yang sama seperti CLI Claude Code: pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Lihat [What settingSources does not control](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya.

1051 1051 

1052<h4 id="why-use-setting_sources">1052<h4 id="why-use-setting_sources">

1053 Mengapa menggunakan setting\_sources1053 Mengapa menggunakan setting\_sources


1257 1257 

1258Mengembalikan `PermissionResult` (baik `PermissionResultAllow` atau `PermissionResultDeny`).1258Mengembalikan `PermissionResult` (baik `PermissionResultAllow` atau `PermissionResultDeny`).

1259 1259 

1260Callback adalah pengganti SDK untuk prompt izin interaktif: dipanggil hanya ketika [alur evaluasi izin](/id/agent-sdk/permissions#how-permissions-are-evaluated) diselesaikan ke prompt. Panggilan tool yang sudah disetujui oleh entri `allowed_tools`, aturan allow pengaturan, atau mode izin, seperti `acceptEdits` atau `bypassPermissions`, tidak pernah memanggilnya. Untuk gating setiap panggilan tool, gunakan hook [`PreToolUse`](/id/agent-sdk/hooks) sebagai gantinya.1260Callback adalah pengganti SDK untuk prompt izin interaktif: dipanggil hanya ketika [alur evaluasi izin](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) diselesaikan ke prompt. Panggilan tool yang sudah disetujui oleh entri `allowed_tools`, aturan allow pengaturan, atau mode izin, seperti `acceptEdits` atau `bypassPermissions`, tidak pernah memanggilnya. Untuk gating setiap panggilan tool, gunakan hook [`PreToolUse`](/docs/id/agent-sdk/hooks) sebagai gantinya.

1261 1261 

1262`AskUserQuestion`, tool MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) mencapai callback bahkan ketika aturan allow cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggil callback.1262`AskUserQuestion`, tool MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan connector tools [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) mencapai callback bahkan ketika aturan allow cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggil callback.

1263 1263 

1264<h3 id="toolpermissioncontext">1264<h3 id="toolpermissioncontext">

1265 `ToolPermissionContext`1265 `ToolPermissionContext`


1606]1606]

1607```1607```

1608 1608 

1609Untuk informasi lengkap tentang membuat dan menggunakan plugins, lihat [Plugins](/id/agent-sdk/plugins).1609Untuk informasi lengkap tentang membuat dan menggunakan plugins, lihat [Plugins](/docs/id/agent-sdk/plugins).

1610 1610 

1611<h2 id="message-types">1611<h2 id="message-types">

1612 Tipe Pesan1612 Tipe Pesan


1749 1749 

1750| Kunci | Tipe | Deskripsi |1750| Kunci | Tipe | Deskripsi |

1751| ----------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1751| ----------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1752| `input_tokens` | `int` | Token input yang dikonsumsi oleh loop agen tingkat atas. [Token subagent tidak disertakan](/id/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); gunakan `model_usage` untuk akuntansi seluruh pohon. |1752| `input_tokens` | `int` | Token input yang dikonsumsi oleh loop agen tingkat atas. [Token subagent tidak disertakan](/docs/id/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); gunakan `model_usage` untuk akuntansi seluruh pohon. |

1753| `output_tokens` | `int` | Token output yang dihasilkan oleh loop agen tingkat atas. Token subagent tidak disertakan. |1753| `output_tokens` | `int` | Token output yang dihasilkan oleh loop agen tingkat atas. Token subagent tidak disertakan. |

1754| `cache_creation_input_tokens` | `int` | Token yang digunakan untuk membuat entri cache baru. |1754| `cache_creation_input_tokens` | `int` | Token yang digunakan untuk membuat entri cache baru. |

1755| `cache_read_input_tokens` | `int` | Token yang dibaca dari entri cache yang ada. |1755| `cache_read_input_tokens` | `int` | Token yang dibaca dari entri cache yang ada. |

1756 1756 

1757Dict `model_usage` memetakan nama model ke penggunaan per-model. Kunci dict dalam menggunakan camelCase karena nilai diteruskan tanpa modifikasi dari proses CLI yang mendasar, cocok dengan tipe [`ModelUsage`](/id/agent-sdk/typescript#modelusage) TypeScript:1757Dict `model_usage` memetakan nama model ke penggunaan per-model. Kunci dict dalam menggunakan camelCase karena nilai diteruskan tanpa modifikasi dari proses CLI yang mendasar, cocok dengan tipe [`ModelUsage`](/docs/id/agent-sdk/typescript#modelusage) TypeScript:

1758 1758 

1759| Kunci | Tipe | Deskripsi |1759| Kunci | Tipe | Deskripsi |

1760| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |1760| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |


1763| `cacheReadInputTokens` | `int` | Token baca cache untuk model ini. |1763| `cacheReadInputTokens` | `int` | Token baca cache untuk model ini. |

1764| `cacheCreationInputTokens` | `int` | Token pembuatan cache untuk model ini. |1764| `cacheCreationInputTokens` | `int` | Token pembuatan cache untuk model ini. |

1765| `webSearchRequests` | `int` | Permintaan pencarian web yang dibuat oleh model ini. |1765| `webSearchRequests` | `int` | Permintaan pencarian web yang dibuat oleh model ini. |

1766| `costUSD` | `float` | Biaya yang diperkirakan dalam USD untuk model ini, dihitung sisi klien. Lihat [Track cost and usage](/id/agent-sdk/cost-tracking) untuk peringatan penagihan. |1766| `costUSD` | `float` | Biaya yang diperkirakan dalam USD untuk model ini, dihitung sisi klien. Lihat [Track cost and usage](/docs/id/agent-sdk/cost-tracking) untuk peringatan penagihan. |

1767| `contextWindow` | `int` | Ukuran jendela konteks untuk model ini. |1767| `contextWindow` | `int` | Ukuran jendela konteks untuk model ini. |

1768| `maxOutputTokens` | `int` | Batas token output maksimal untuk model ini. |1768| `maxOutputTokens` | `int` | Batas token output maksimal untuk model ini. |

1769 1769 


2090 Tipe Hook2090 Tipe Hook

2091</h2>2091</h2>

2092 2092 

2093Untuk panduan komprehensif tentang menggunakan hooks dengan contoh dan pola umum, lihat [Hooks guide](/id/agent-sdk/hooks).2093Untuk panduan komprehensif tentang menggunakan hooks dengan contoh dan pola umum, lihat [Hooks guide](/docs/id/agent-sdk/hooks).

2094 2094 

2095<h3 id="hookevent">2095<h3 id="hookevent">

2096 `HookEvent`2096 `HookEvent`


2474 `HookSpecificOutput`2474 `HookSpecificOutput`

2475</h4>2475</h4>

2476 2476 

2477`TypedDict` yang berisi nama event hook dan field spesifik event. Bentuknya bergantung pada nilai `hookEventName`. Untuk detail lengkap tentang field yang tersedia per event hook, lihat [Control execution with hooks](/id/agent-sdk/hooks#outputs).2477`TypedDict` yang berisi nama event hook dan field spesifik event. Bentuknya bergantung pada nilai `hookEventName`. Untuk detail lengkap tentang field yang tersedia per event hook, lihat [Control execution with hooks](/docs/id/agent-sdk/hooks#outputs).

2478 2478 

2479Union yang dibedakan dari tipe output spesifik event. Field `hookEventName` menentukan field mana yang valid.2479Union yang dibedakan dari tipe output spesifik event. Field `hookEventName` menentukan field mana yang valid.

2480 2480 


2639 2639 

2640**Nama tool:** `AskUserQuestion`2640**Nama tool:** `AskUserQuestion`

2641 2641 

2642Mengajukan pertanyaan klarifikasi kepada pengguna selama eksekusi. Lihat [Handle approvals and user input](/id/agent-sdk/user-input#handle-clarifying-questions) untuk detail penggunaan.2642Mengajukan pertanyaan klarifikasi kepada pengguna selama eksekusi. Lihat [Handle approvals and user input](/docs/id/agent-sdk/user-input#handle-clarifying-questions) untuk detail penggunaan.

2643 2643 

2644**Input:**2644**Input:**

2645 2645 


2717 2717 

2718Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`.2718Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`.

2719 2719 

2720Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash; pengawasan WebSocket meminta persetujuan secara terpisah. {/* min-version: 2.1.195 */}Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru. Lihat [Monitor tool reference](/id/tools-reference#monitor-tool) untuk perilaku dan ketersediaan penyedia.2720Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash; pengawasan WebSocket meminta persetujuan secara terpisah. Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru. Lihat [Monitor tool reference](/docs/id/tools-reference#monitor-tool) untuk perilaku dan ketersediaan penyedia.

2721 2721 

2722**Input:**2722**Input:**

2723 2723 


2995**Nama tool:** `TodoWrite`2995**Nama tool:** `TodoWrite`

2996 2996 

2997<Note>2997<Note>

2998 Mulai dari Claude Code v2.1.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrate to Task tools](/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.2998 Mulai dari Claude Code v2.1.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrate to Task tools](/docs/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.

2999</Note>2999</Note>

3000 3000 

3001**Input:**3001**Input:**


3699 `SandboxNetworkConfig`3699 `SandboxNetworkConfig`

3700</h3>3700</h3>

3701 3701 

3702Konfigurasi spesifik jaringan untuk mode sandbox. Pengaturan ini berlaku untuk perintah Bash dalam sandbox ketika `enabled` adalah `True` dalam [`SandboxSettings`](#sandboxsettings) induk. Mereka tidak membatasi tool WebFetch, yang menggunakan [aturan izin](/id/permissions#webfetch) sebagai gantinya.3702Konfigurasi spesifik jaringan untuk mode sandbox. Pengaturan ini berlaku untuk perintah Bash dalam sandbox ketika `enabled` adalah `True` dalam [`SandboxSettings`](#sandboxsettings) induk. Mereka tidak membatasi tool WebFetch, yang menggunakan [aturan izin](/docs/id/permissions#webfetch) sebagai gantinya.

3703 3703 

3704```python theme={null}3704```python theme={null}

3705class SandboxNetworkConfig(TypedDict, total=False):3705class SandboxNetworkConfig(TypedDict, total=False):


3727| `socksProxyPort` | `int` | `None` | Port proxy SOCKS untuk permintaan jaringan |3727| `socksProxyPort` | `int` | `None` | Port proxy SOCKS untuk permintaan jaringan |

3728 3728 

3729<Note>3729<Note>

3730 Proxy sandbox bawaan memberlakukan daftar izin jaringan berdasarkan nama host yang diminta dan tidak menghentikan atau memeriksa lalu lintas TLS, sehingga teknik seperti [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) dapat berpotensi melewatinya. Lihat [Batasan keamanan sandboxing](/id/sandboxing#security-limitations) untuk detail dan [Penyebaran aman](/id/agent-sdk/secure-deployment#traffic-forwarding) untuk mengonfigurasi proxy yang menghentikan TLS.3730 Proxy sandbox bawaan memberlakukan daftar izin jaringan berdasarkan nama host yang diminta dan tidak menghentikan atau memeriksa lalu lintas TLS, sehingga teknik seperti [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) dapat berpotensi melewatinya. Lihat [Batasan keamanan sandboxing](/docs/id/sandboxing#security-limitations) untuk detail dan [Penyebaran aman](/docs/id/agent-sdk/secure-deployment#traffic-forwarding) untuk mengonfigurasi proxy yang menghentikan TLS.

3731</Note>3731</Note>

3732 3732 

3733<h3 id="sandboxignoreviolations">3733<h3 id="sandboxignoreviolations">


3831 Lihat juga3831 Lihat juga

3832</h2>3832</h2>

3833 3833 

3834* [SDK overview](/id/agent-sdk/overview) - Konsep SDK umum3834* [SDK overview](/docs/id/agent-sdk/overview) - Konsep SDK umum

3835* [TypeScript SDK reference](/id/agent-sdk/typescript) - Dokumentasi SDK TypeScript3835* [TypeScript SDK reference](/docs/id/agent-sdk/typescript) - Dokumentasi SDK TypeScript

3836* [CLI reference](/id/cli-reference) - Antarmuka baris perintah3836* [CLI reference](/docs/id/cli-reference) - Antarmuka baris perintah

3837* [Common workflows](/id/common-workflows) - Panduan langkah demi langkah3837* [Common workflows](/docs/id/common-workflows) - Panduan langkah demi langkah

Details

17 17 

18Anda dapat membuat subagents dengan tiga cara:18Anda dapat membuat subagents dengan tiga cara:

19 19 

20* **Secara programatis**: gunakan parameter `agents` dalam opsi `query()` Anda. Lihat referensi [TypeScript](/id/agent-sdk/typescript#agentdefinition) dan [Python](/id/agent-sdk/python#agentdefinition)20* **Secara programatis**: gunakan parameter `agents` dalam opsi `query()` Anda. Lihat referensi [TypeScript](/docs/id/agent-sdk/typescript#agentdefinition) dan [Python](/docs/id/agent-sdk/python#agentdefinition)

21* **Berbasis sistem file**: tentukan agents sebagai file markdown di direktori `.claude/agents/`. Lihat [mendefinisikan subagents sebagai file](/id/sub-agents)21* **Berbasis sistem file**: tentukan agents sebagai file markdown di direktori `.claude/agents/`. Lihat [mendefinisikan subagents sebagai file](/docs/id/sub-agents)

22* **Tujuan umum bawaan**: Claude dapat memanggil subagent `general-purpose` bawaan kapan saja melalui alat Agent tanpa Anda mendefinisikan apa pun22* **Tujuan umum bawaan**: Claude dapat memanggil subagent `general-purpose` bawaan kapan saja melalui alat Agent tanpa Anda mendefinisikan apa pun

23 23 

24Panduan ini berfokus pada pendekatan programatis, yang direkomendasikan untuk aplikasi SDK.24Panduan ini berfokus pada pendekatan programatis, yang direkomendasikan untuk aplikasi SDK.


197| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | No | Tingkat upaya penalaran untuk agen ini |197| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | No | Tingkat upaya penalaran untuk agen ini |

198| `permissionMode` | `PermissionMode` | No | Mode izin untuk eksekusi alat dalam agen ini |198| `permissionMode` | `PermissionMode` | No | Mode izin untuk eksekusi alat dalam agen ini |

199 199 

200Dalam Python SDK, nama field multi-kata seperti `disallowedTools` dan `mcpServers` mempertahankan ejaan camelCase mereka untuk mencocokkan format wire daripada mengikuti konvensi snake\_case Python. Lihat referensi [`AgentDefinition`](/id/agent-sdk/python#agentdefinition) untuk detail.200Dalam Python SDK, nama field multi-kata seperti `disallowedTools` dan `mcpServers` mempertahankan ejaan camelCase mereka untuk mencocokkan format wire daripada mengikuti konvensi snake\_case Python. Lihat referensi [`AgentDefinition`](/docs/id/agent-sdk/python#agentdefinition) untuk detail.

201 201 

202Dua perilaku subagent berubah dalam Claude Code v2.1.198:202Dua perilaku subagent berubah dalam Claude Code v2.1.198:

203 203 

204* Subagents berjalan di latar belakang secara default. Panggilan alat Agent yang menghilangkan input [`run_in_background`](/id/agent-sdk/typescript) meluncurkan subagent latar belakang, dan Claude menetapkan `run_in_background: false` ketika memerlukan hasil sebelum melanjutkan. Sebelum v2.1.198, menghilangkan `run_in_background` menjalankan subagent secara sinkron. Atur field `background` ke `true` untuk memaksa eksekusi latar belakang untuk agen tertentu terlepas dari apa yang diminta Claude.204* Subagents berjalan di latar belakang secara default. Panggilan alat Agent yang menghilangkan input [`run_in_background`](/docs/id/agent-sdk/typescript) meluncurkan subagent latar belakang, dan Claude menetapkan `run_in_background: false` ketika memerlukan hasil sebelum melanjutkan. Sebelum v2.1.198, menghilangkan `run_in_background` menjalankan subagent secara sinkron. Atur field `background` ke `true` untuk memaksa eksekusi latar belakang untuk agen tertentu terlepas dari apa yang diminta Claude.

205* Subagent mewarisi konfigurasi extended thinking sesi utama. Pada versi sebelumnya, extended thinking dinonaktifkan di dalam subagents terlepas dari pengaturan sesi utama.205* Subagent mewarisi konfigurasi extended thinking sesi utama. Pada versi sebelumnya, extended thinking dinonaktifkan di dalam subagents terlepas dari pengaturan sesi utama.

206 206 

207<Note>207<Note>

208 {/* min-version: 2.1.172 */}Sejak Claude Code v2.1.172, subagents dapat menghasilkan subagents mereka sendiri. Subagent lima level di bawah agen utama tidak dapat menghasilkan subagents lebih lanjut, terlepas dari apakah itu berjalan di foreground atau background. Untuk mencegah subagent menghasilkan yang lain, hilangkan `Agent` dari array `tools` atau tambahkan ke `disallowedTools`. Lihat [subagents bersarang](/id/sub-agents#spawn-nested-subagents) untuk aturan kedalaman lengkap.208 Sejak Claude Code v2.1.172, subagents dapat menghasilkan subagents mereka sendiri. Subagent lima level di bawah agen utama tidak dapat menghasilkan subagents lebih lanjut, terlepas dari apakah itu berjalan di foreground atau background. Untuk mencegah subagent menghasilkan yang lain, hilangkan `Agent` dari array `tools` atau tambahkan ke `disallowedTools`. Lihat [subagents bersarang](/docs/id/sub-agents#spawn-nested-subagents) untuk aturan kedalaman lengkap.

209</Note>209</Note>

210 210 

211<h3 id="filesystem-based-definition-alternative">211<h3 id="filesystem-based-definition-alternative">

212 Definisi berbasis sistem file (alternatif)212 Definisi berbasis sistem file (alternatif)

213</h3>213</h3>

214 214 

215Anda juga dapat mendefinisikan subagents sebagai file markdown di direktori `.claude/agents/`. Lihat [dokumentasi subagents Claude Code](/id/sub-agents) untuk detail tentang pendekatan ini. Agen yang didefinisikan secara programatis memiliki prioritas lebih tinggi daripada agen berbasis sistem file dengan nama yang sama.215Anda juga dapat mendefinisikan subagents sebagai file markdown di direktori `.claude/agents/`. Lihat [dokumentasi subagents Claude Code](/docs/id/sub-agents) untuk detail tentang pendekatan ini. Agen yang didefinisikan secara programatis memiliki prioritas lebih tinggi daripada agen berbasis sistem file dengan nama yang sama.

216 216 

217<Note>217<Note>

218 Bahkan tanpa mendefinisikan subagents khusus, Claude dapat menghasilkan subagent `general-purpose` bawaan. Ini berguna untuk mendelegasikan tugas penelitian atau eksplorasi tanpa membuat agen khusus. Sertakan `Agent` dalam `allowedTools` sehingga invokasi ini auto-approve tanpa prompt izin.218 Bahkan tanpa mendefinisikan subagents khusus, Claude dapat menghasilkan subagent `general-purpose` bawaan. Ini berguna untuk mendelegasikan tugas penelitian atau eksplorasi tanpa membuat agen khusus. Sertakan `Agent` dalam `allowedTools` sehingga invokasi ini auto-approve tanpa prompt izin.


224 224 

225Jendela konteks subagent dimulai segar, tanpa percakapan parent, tetapi tidak kosong. Satu-satunya konten yang Anda teruskan dari parent ke subagent adalah string prompt alat Agent, jadi sertakan jalur file, pesan kesalahan, atau keputusan apa pun yang dibutuhkan subagent langsung dalam prompt itu.225Jendela konteks subagent dimulai segar, tanpa percakapan parent, tetapi tidak kosong. Satu-satunya konten yang Anda teruskan dari parent ke subagent adalah string prompt alat Agent, jadi sertakan jalur file, pesan kesalahan, atau keputusan apa pun yang dibutuhkan subagent langsung dalam prompt itu.

226 226 

227{/* min-version: 2.1.206 */}Subagent yang memiliki alat [`SendMessage`](/id/tools-reference) dimulai dengan daftar agen bernama lainnya yang berjalan dalam sesi, sehingga mengetahui nama mana yang dapat dikirim pesan. Claude Code menambahkan daftar ke giliran pertama subagent secara otomatis. [Fork](/id/sub-agents#fork-the-current-conversation) tidak mendapatkan daftar karena mewarisi percakapan parent sebagai gantinya. Daftar memerlukan Claude Code v2.1.206 atau lebih baru.227Subagent yang memiliki alat [`SendMessage`](/docs/id/tools-reference) dimulai dengan daftar agen bernama lainnya yang berjalan dalam sesi, sehingga mengetahui nama mana yang dapat dikirim pesan. Claude Code menambahkan daftar ke giliran pertama subagent secara otomatis. [Fork](/docs/id/sub-agents#fork-the-current-conversation) tidak mendapatkan daftar karena mewarisi percakapan parent sebagai gantinya. Daftar memerlukan Claude Code v2.1.206 atau lebih baru.

228 228 

229| Subagent menerima | Subagent tidak menerima |229| Subagent menerima | Subagent tidak menerima |

230| :---------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |230| :---------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |

231| Prompt sistem sendiri (`AgentDefinition.prompt`) dan prompt alat Agent | Riwayat percakapan parent atau hasil alat |231| Prompt sistem sendiri (`AgentDefinition.prompt`) dan prompt alat Agent | Riwayat percakapan parent atau hasil alat |

232| Project CLAUDE.md (dimuat melalui [`settingSources`](/id/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Konten skill yang dimuat sebelumnya, kecuali terdaftar dalam `AgentDefinition.skills` |232| Project CLAUDE.md (dimuat melalui [`settingSources`](/docs/id/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Konten skill yang dimuat sebelumnya, kecuali terdaftar dalam `AgentDefinition.skills` |

233| Definisi alat (diwarisi dari parent, atau subset dalam `tools`) | Prompt sistem parent |233| Definisi alat (diwarisi dari parent, atau subset dalam `tools`) | Prompt sistem parent |

234 234 

235<Note>235<Note>

236 Parent menerima pesan final subagent verbatim sebagai hasil alat Agent, tetapi dapat merangkumnya dalam respons sendiri. Untuk mempertahankan output subagent verbatim dalam respons yang menghadap pengguna, sertakan instruksi untuk melakukannya dalam prompt atau opsi `systemPrompt` yang Anda berikan ke panggilan `query()` utama.236 Parent menerima pesan final subagent verbatim sebagai hasil alat Agent, tetapi dapat merangkumnya dalam respons sendiri. Untuk mempertahankan output subagent verbatim dalam respons yang menghadap pengguna, sertakan instruksi untuk melakukannya dalam prompt atau opsi `systemPrompt` yang Anda berikan ke panggilan `query()` utama.

237</Note>237</Note>

238 238 

239{/* min-version: 2.1.199 */}Kesalahan API yang mengakhiri subagent lebih awal, seperti batas laju, tidak pernah disampaikan sebagai hasilnya. Jika batas laju, kelebihan beban, atau kesalahan server memotong subagent foreground yang sudah menghasilkan output teks, alat Agent mengembalikan output parsial itu dengan catatan bahwa subagent tidak selesai. {/* min-version: 2.1.200 */}Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya berupa panggilan alat tanpa teks, gagal dengan pesan kesalahan, `Agent terminated early due to an API error`, diikuti oleh detail kesalahan. Lihat [API errors in subagents](/id/sub-agents#api-errors-in-subagents) untuk perilaku foreground dan background.239Kesalahan API yang mengakhiri subagent lebih awal, seperti batas laju, tidak pernah disampaikan sebagai hasilnya. Jika batas laju, kelebihan beban, atau kesalahan server memotong subagent foreground yang sudah menghasilkan output teks, alat Agent mengembalikan output parsial itu dengan catatan bahwa subagent tidak selesai. Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya berupa panggilan alat tanpa teks, gagal dengan pesan kesalahan, `Agent terminated early due to an API error`, diikuti oleh detail kesalahan. Lihat [API errors in subagents](/docs/id/sub-agents#api-errors-in-subagents) untuk perilaku foreground dan background.

240 240 

241Penanganan output parsial ini memerlukan Claude Code v2.1.199 atau lebih baru. Dalam v2.1.199, batas laju, kelebihan beban, atau kesalahan server membiarkan bentuk tool-calls-only dengan hasil parsial kosong yang hanya berisi catatan cutoff.241Penanganan output parsial ini memerlukan Claude Code v2.1.199 atau lebih baru. Dalam v2.1.199, batas laju, kelebihan beban, atau kesalahan server membiarkan bentuk tool-calls-only dengan hasil parsial kosong yang hanya berisi catatan cutoff.

242 242 


441 441 

442Anda dapat melanjutkan subagent untuk terus dari mana ia berhenti daripada memulai dari awal. Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkapnya, termasuk semua panggilan alat sebelumnya, hasil, dan penalaran.442Anda dapat melanjutkan subagent untuk terus dari mana ia berhenti daripada memulai dari awal. Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkapnya, termasuk semua panggilan alat sebelumnya, hasil, dan penalaran.

443 443 

444Ketika subagent selesai, hasil alat Agent mencakup blok teks yang berisi `agentId: <id>`. Agen bawaan [`Explore` dan `Plan`](/id/sub-agents#built-in-subagents) adalah one-shot dan tidak mengembalikan `agentId`, jadi gunakan agen khusus atau `general-purpose` ketika Anda perlu melanjutkan. Untuk melanjutkan subagent secara programatis:444Ketika subagent selesai, hasil alat Agent mencakup blok teks yang berisi `agentId: <id>`. Agen bawaan [`Explore` dan `Plan`](/docs/id/sub-agents#built-in-subagents) adalah one-shot dan tidak mengembalikan `agentId`, jadi gunakan agen khusus atau `general-purpose` ketika Anda perlu melanjutkan. Untuk melanjutkan subagent secara programatis:

445 445 

4461. **Tangkap ID sesi**: ekstrak `session_id` dari pesan selama query pertama4461. **Tangkap ID sesi**: ekstrak `session_id` dari pesan selama query pertama

4472. **Ekstrak ID agen**: parse `agentId` dari teks hasil alat Agent4472. **Ekstrak ID agen**: parse `agentId` dari teks hasil alat Agent


661 Skalakan dengan alur kerja dinamis661 Skalakan dengan alur kerja dinamis

662</h2>662</h2>

663 663 

664Subagents bekerja dengan baik untuk beberapa tugas yang didelegasikan per putaran. Untuk menjalankan yang mengoordinasikan puluhan hingga ratusan agen, gunakan alat `Workflow`, yang memindahkan orkestrasi ke dalam skrip yang dijalankan runtime di luar konteks percakapan. Lihat [alur kerja dinamis](/id/workflows) untuk cara alur kerja berbeda dari delegasi subagent putaran demi putaran.664Subagents bekerja dengan baik untuk beberapa tugas yang didelegasikan per putaran. Untuk menjalankan yang mengoordinasikan puluhan hingga ratusan agen, gunakan alat `Workflow`, yang memindahkan orkestrasi ke dalam skrip yang dijalankan runtime di luar konteks percakapan. Lihat [alur kerja dinamis](/docs/id/workflows) untuk cara alur kerja berbeda dari delegasi subagent putaran demi putaran.

665 665 

666Alat `Workflow` tersedia dalam TypeScript Agent SDK v0.3.149 dan yang lebih baru. Sertakan `Workflow` dalam `allowedTools` untuk auto-approve jalankan alur kerja. Skema input dan output alat tercantum dalam [referensi TypeScript](/id/agent-sdk/typescript#workflow).666Alat `Workflow` tersedia dalam TypeScript Agent SDK v0.3.149 dan yang lebih baru. Sertakan `Workflow` dalam `allowedTools` untuk auto-approve jalankan alur kerja. Skema input dan output alat tercantum dalam [referensi TypeScript](/docs/id/agent-sdk/typescript#workflow).

667 667 

668<h2 id="troubleshooting">668<h2 id="troubleshooting">

669 Troubleshooting669 Troubleshooting


690* **`--disable-slash-commands`**: sesi yang dimulai dengan flag ini tidak memantau direktori-direktori ini dan selalu memerlukan restart untuk memuat file baru.690* **`--disable-slash-commands`**: sesi yang dimulai dengan flag ini tidak memantau direktori-direktori ini dan selalu memerlukan restart untuk memuat file baru.

691* **Agen programatik dengan nama yang sama**: `agents` yang dilewatkan ke `query()` menimpa agen filesystem dengan nama yang sama.691* **Agen programatik dengan nama yang sama**: `agents` yang dilewatkan ke `query()` menimpa agen filesystem dengan nama yang sama.

692 692 

693Untuk format file, lihat [cara menulis file subagent](/id/sub-agents#write-subagent-files).693Untuk format file, lihat [cara menulis file subagent](/docs/id/sub-agents#write-subagent-files).

694 694 

695<h3 id="long-prompt-failures-on-windows">695<h3 id="long-prompt-failures-on-windows">

696 Kegagalan prompt panjang di Windows696 Kegagalan prompt panjang di Windows


702 Dokumentasi terkait702 Dokumentasi terkait

703</h2>703</h2>

704 704 

705* [Subagents Claude Code](/id/sub-agents): dokumentasi subagent komprehensif termasuk definisi berbasis sistem file705* [Subagents Claude Code](/docs/id/sub-agents): dokumentasi subagent komprehensif termasuk definisi berbasis sistem file

706* [Alur kerja dinamis](/id/workflows): orkestrasi banyak subagents dari skrip untuk pekerjaan yang terlalu besar untuk satu percakapan706* [Alur kerja dinamis](/docs/id/workflows): orkestrasi banyak subagents dari skrip untuk pekerjaan yang terlalu besar untuk satu percakapan

707* [Ikhtisar SDK](/id/agent-sdk/overview): memulai dengan Claude Agent SDK707* [Ikhtisar SDK](/docs/id/agent-sdk/overview): memulai dengan Claude Agent SDK

Details

40 Contoh40 Contoh

41</h2>41</h2>

42 42 

43Sebelum menjalankan contoh-contoh ini, instal Claude Agent SDK dengan mengikuti [quickstart](/id/agent-sdk/quickstart).43Sebelum menjalankan contoh-contoh ini, instal Claude Agent SDK dengan mengikuti [quickstart](/docs/id/agent-sdk/quickstart).

44 44 

45Setiap contoh berjalan sampai agen selesai dan menghasilkan pesan hasil akhirnya. Jika sesi mencapai batas giliran terlebih dahulu, pesan hasil tersebut memiliki subtipe `error_max_turns`. Periksa `subtype` untuk mendeteksi penghentian tersebut.45Setiap contoh berjalan sampai agen selesai dan menghasilkan pesan hasil akhirnya. Jika sesi mencapai batas giliran terlebih dahulu, pesan hasil tersebut memiliki subtipe `error_max_turns`. Periksa `subtype` untuk mendeteksi penghentian tersebut.

46 46 

47Contoh-contoh ini menggunakan panggilan `query()` single-shot. Setelah menghasilkan hasil `error_max_turns`, `query()` melempar kesalahan yang mencakup `Reached maximum number of turns`. Setiap contoh membungkus loop-nya dalam blok try untuk keluar dengan bersih ketika itu terjadi.47Contoh-contoh ini menggunakan panggilan `query()` single-shot. Setelah menghasilkan hasil `error_max_turns`, `query()` melempar kesalahan yang mencakup `Reached maximum number of turns`. Setiap contoh membungkus loop-nya dalam blok try untuk keluar dengan bersih ketika itu terjadi.

48 48 

49Lihat [Handle the result](/id/agent-sdk/agent-loop#handle-the-result) untuk subtipe hasil.49Lihat [Handle the result](/docs/id/agent-sdk/agent-loop#handle-the-result) untuk subtipe hasil.

50 50 

51<h3 id="monitoring-todo-changes">51<h3 id="monitoring-todo-changes">

52 Memantau Perubahan Todo52 Memantau Perubahan Todo


253 Migrasi ke alat Task253 Migrasi ke alat Task

254</h2>254</h2>

255 255 

256Alat Task membagi panggilan `TodoWrite` tunggal menjadi `TaskCreate` untuk setiap item baru dan `TaskUpdate` untuk setiap perubahan status, dengan `TaskList` dan `TaskGet` tersedia untuk model membaca kembali daftar saat ini. Kode pemantauan Anda masih memeriksa blok `tool_use` dalam aliran asisten, tetapi mempertahankan peta yang dikunci berdasarkan ID tugas alih-alih mengganti seluruh daftar pada setiap panggilan. {/* min-version: 2.1.142 */}Alat Task adalah default mulai dari TypeScript Agent SDK 0.3.142 dan Claude Code v2.1.142, jadi tidak ada perubahan `options.env` yang diperlukan.256Alat Task membagi panggilan `TodoWrite` tunggal menjadi `TaskCreate` untuk setiap item baru dan `TaskUpdate` untuk setiap perubahan status, dengan `TaskList` dan `TaskGet` tersedia untuk model membaca kembali daftar saat ini. Kode pemantauan Anda masih memeriksa blok `tool_use` dalam aliran asisten, tetapi mempertahankan peta yang dikunci berdasarkan ID tugas alih-alih mengganti seluruh daftar pada setiap panggilan. Alat Task adalah default mulai dari TypeScript Agent SDK 0.3.142 dan Claude Code v2.1.142, jadi tidak ada perubahan `options.env` yang diperlukan.

257 257 

258| Dengan `TodoWrite` | Dengan alat Task |258| Dengan `TodoWrite` | Dengan alat Task |

259| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |259| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


338 Dokumentasi Terkait338 Dokumentasi Terkait

339</h2>339</h2>

340 340 

341* [Referensi TypeScript SDK](/id/agent-sdk/typescript)341* [Referensi TypeScript SDK](/docs/id/agent-sdk/typescript)

342* [Referensi Python SDK](/id/agent-sdk/python)342* [Referensi Python SDK](/docs/id/agent-sdk/python)

343* [Mode Streaming vs Mode Tunggal](/id/agent-sdk/streaming-vs-single-mode)343* [Mode Streaming vs Mode Tunggal](/docs/id/agent-sdk/streaming-vs-single-mode)

344* [Alat Kustom](/id/agent-sdk/custom-tools)344* [Alat Kustom](/docs/id/agent-sdk/custom-tools)

Details

6 6 

7> Referensi API lengkap untuk TypeScript Agent SDK, termasuk semua fungsi, tipe, dan antarmuka.7> Referensi API lengkap untuk TypeScript Agent SDK, termasuk semua fungsi, tipe, dan antarmuka.

8 8 

9<script src="/components/typescript-sdk-type-links.js" defer />9<script src="/docs/components/typescript-sdk-type-links.js" defer />

10 10 

11<h2 id="installation">11<h2 id="installation">

12 Instalasi12 Instalasi


296</h4>296</h4>

297 297 

298| Properti | Tipe | Deskripsi |298| Properti | Tipe | Deskripsi |

299| :------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |299| :------------------- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

300| `type` | `"user" \| "assistant"` | Peran pesan |300| `type` | `"user" \| "assistant"` | Peran pesan |

301| `uuid` | `string` | Pengenal pesan unik |301| `uuid` | `string` | Pengenal pesan unik |

302| `session_id` | `string` | Sesi yang pesan ini milik |302| `session_id` | `string` | Sesi yang pesan ini milik |

303| `message` | `unknown` | Payload pesan mentah dari transkrip |303| `message` | `unknown` | Payload pesan mentah dari transkrip |

304| `parent_tool_use_id` | `string \| null` | Untuk pesan subagent, `tool_use_id` dari panggilan tool `Agent` yang memicu. `null` untuk pesan sesi utama dan sesi yang lebih lama |304| `parent_tool_use_id` | `string \| null` | Untuk pesan subagent, `tool_use_id` dari panggilan tool `Agent` yang memicu. `null` untuk pesan sesi utama dan sesi yang lebih lama |

305| `parent_agent_id` | `string \| null` | Untuk pesan dari [subagent bersarang](/id/sub-agents#spawn-nested-subagents), `agentId` dari subagent yang memicunya. `null` untuk pesan sesi utama, pesan dari subagent tingkat atas, dan sesi yang lebih lama. {/* min-version: 2.1.202 */}Memerlukan Claude Code v2.1.202 atau lebih baru |305| `parent_agent_id` | `string \| null` | Untuk pesan dari [subagent bersarang](/docs/id/sub-agents#spawn-nested-subagents), `agentId` dari subagent yang memicunya. `null` untuk pesan sesi utama, pesan dari subagent tingkat atas, dan sesi yang lebih lama. Memerlukan Claude Code v2.1.202 atau lebih baru |

306 306 

307<h4 id="example-2">307<h4 id="example-2">

308 Contoh308 Contoh


423| :------------------------------ | :------------------------------------ | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |423| :------------------------------ | :------------------------------------ | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

424| `options.cwd` | `string` | `process.cwd()` | Direktori untuk menyelesaikan pengaturan proyek dan lokal relatif terhadap |424| `options.cwd` | `string` | `process.cwd()` | Direktori untuk menyelesaikan pengaturan proyek dan lokal relatif terhadap |

425| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Semua sumber | Sumber filesystem mana yang akan dimuat. Lewatkan `[]` untuk melewati pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus. Pengaturan terkelola server diambil dari `serverManagedSettings` ketika host meneruskannya, atau dibaca dari cache on-disk CLI sebaliknya; snapshot tidak mengambilnya dari jaringan |425| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Semua sumber | Sumber filesystem mana yang akan dimuat. Lewatkan `[]` untuk melewati pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus. Pengaturan terkelola server diambil dari `serverManagedSettings` ketika host meneruskannya, atau dibaca dari cache on-disk CLI sebaliknya; snapshot tidak mengambilnya dari jaringan |

426| `options.managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan pembatasan yang disediakan oleh host penyematan. Dijatuhkan secara default ketika tingkat terkelola yang diterapkan admin hadir; digabungkan di bawah tingkat itu ketika [`parentSettingsBehavior`](/id/settings#available-settings) adalah `"merge"`. Kunci non-pembatasan seperti `model` secara diam-diam dijatuhkan sehingga opsi ini dapat memperketat kebijakan terkelola tetapi tidak melonggarkannya |426| `options.managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan pembatasan yang disediakan oleh host penyematan. Dijatuhkan secara default ketika tingkat terkelola yang diterapkan admin hadir; digabungkan di bawah tingkat itu ketika [`parentSettingsBehavior`](/docs/id/settings#available-settings) adalah `"merge"`. Kunci non-pembatasan seperti `model` secara diam-diam dijatuhkan sehingga opsi ini dapat memperketat kebijakan terkelola tetapi tidak melonggarkannya |

427| `options.serverManagedSettings` | `Settings` | `undefined` | Payload pengaturan terkelola server dari `/api/claude_code/settings`. Kunci non-pembatasan melewati tanpa filter |427| `options.serverManagedSettings` | `Settings` | `undefined` | Payload pengaturan terkelola server dari `/api/claude_code/settings`. Kunci non-pembatasan melewati tanpa filter |

428 428 

429<h4 id="return-type-resolvedsettings">429<h4 id="return-type-resolvedsettings">


474| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Tentukan subagen secara terprogram |474| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Tentukan subagen secara terprogram |

475| `agentProgressSummaries` | `boolean` | `false` | Ketika `true`, hasilkan ringkasan kemajuan satu baris untuk subagen dan teruskan pada event [`task_progress`](#sdktaskprogressmessage) melalui field `summary`. Berlaku untuk subagen foreground dan background |475| `agentProgressSummaries` | `boolean` | `false` | Ketika `true`, hasilkan ringkasan kemajuan satu baris untuk subagen dan teruskan pada event [`task_progress`](#sdktaskprogressmessage) melalui field `summary`. Berlaku untuk subagen foreground dan background |

476| `allowDangerouslySkipPermissions` | `boolean` | `false` | Aktifkan bypass izin. Diperlukan saat menggunakan `permissionMode: 'bypassPermissions'` |476| `allowDangerouslySkipPermissions` | `boolean` | `false` | Aktifkan bypass izin. Diperlukan saat menggunakan `permissionMode: 'bypassPermissions'` |

477| `allowedTools` | `string[]` | `[]` | Tool untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tool ini; tool yang tidak terdaftar jatuh ke `permissionMode` dan `canUseTool`. Gunakan `disallowedTools` untuk memblokir tool. Lihat [Izin](/id/agent-sdk/permissions#allow-and-deny-rules) |477| `allowedTools` | `string[]` | `[]` | Tool untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tool ini; tool yang tidak terdaftar jatuh ke `permissionMode` dan `canUseTool`. Gunakan `disallowedTools` untuk memblokir tool. Lihat [Izin](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

478| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Aktifkan fitur beta |478| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Aktifkan fitur beta |

479| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fungsi izin kustom, dipanggil hanya ketika [alur izin](/id/agent-sdk/permissions#how-permissions-are-evaluated) jatuh ke prompt. Tidak dipanggil untuk panggilan yang di-auto-approve oleh `allowedTools`, aturan allow, atau `permissionMode`. `AskUserQuestion`, tool konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan tool MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) mencapainya bahkan jika Anda telah mengizinkannya; dalam mode `dontAsk` ini ditolak sebagai gantinya. Lihat [`CanUseTool`](#canusetool) untuk detail |479| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fungsi izin kustom, dipanggil hanya ketika [alur izin](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) jatuh ke prompt. Tidak dipanggil untuk panggilan yang di-auto-approve oleh `allowedTools`, aturan allow, atau `permissionMode`. `AskUserQuestion`, tool konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan tool MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) mencapainya bahkan jika Anda telah mengizinkannya; dalam mode `dontAsk` ini ditolak sebagai gantinya. Lihat [`CanUseTool`](#canusetool) untuk detail |

480| `continue` | `boolean` | `false` | Lanjutkan percakapan terbaru |480| `continue` | `boolean` | `false` | Lanjutkan percakapan terbaru |

481| `cwd` | `string` | `process.cwd()` | Direktori kerja saat ini |481| `cwd` | `string` | `process.cwd()` | Direktori kerja saat ini |

482| `debug` | `boolean` | `false` | Aktifkan mode debug untuk proses Claude Code |482| `debug` | `boolean` | `false` | Aktifkan mode debug untuk proses Claude Code |

483| `debugFile` | `string` | `undefined` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug |483| `debugFile` | `string` | `undefined` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug |

484| `disallowedTools` | `string[]` | `[]` | Tool untuk tolak. Nama bare seperti `"Bash"` menghapus tool dari konteks Claude. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool tersedia dan menolak panggilan yang cocok dalam setiap mode izin, termasuk `bypassPermissions`. Lihat [Izin](/id/agent-sdk/permissions#allow-and-deny-rules) |484| `disallowedTools` | `string[]` | `[]` | Tool untuk tolak. Nama bare seperti `"Bash"` menghapus tool dari konteks Claude. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool tersedia dan menolak panggilan yang cocok dalam setiap mode izin, termasuk `bypassPermissions`. Lihat [Izin](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

485| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Model default | Mengontrol seberapa banyak usaha yang Claude masukkan ke dalam responsnya. Bekerja dengan pemikiran adaptif untuk memandu kedalaman pemikiran. Lihat [sesuaikan tingkat usaha](/id/model-config#adjust-effort-level) |485| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Model default | Mengontrol seberapa banyak usaha yang Claude masukkan ke dalam responsnya. Bekerja dengan pemikiran adaptif untuk memandu kedalaman pemikiran. Lihat [sesuaikan tingkat usaha](/docs/id/model-config#adjust-effort-level) |

486| `enableFileCheckpointing` | `boolean` | `false` | Aktifkan pelacakan perubahan file untuk rewinding. Lihat [File checkpointing](/id/agent-sdk/file-checkpointing) |486| `enableFileCheckpointing` | `boolean` | `false` | Aktifkan pelacakan perubahan file untuk rewinding. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |

487| `env` | `Record<string, string \| undefined>` | `process.env` | Variabel lingkungan. Ketika diatur, ini mengganti lingkungan subprocess alih-alih menggabungkan dengan `process.env`, jadi lewatkan `{ ...process.env, YOUR_VAR: 'value' }` untuk menyimpan variabel yang diwariskan seperti `PATH`. Lihat [Tangani respons API yang lambat atau terhenti](#handle-slow-or-stalled-api-responses) untuk contoh pola ini, dan [Variabel lingkungan](/id/env-vars) untuk variabel yang dibaca CLI yang mendasarinya. Atur `CLAUDE_AGENT_SDK_CLIENT_APP` untuk mengidentifikasi aplikasi Anda di header User-Agent |487| `env` | `Record<string, string \| undefined>` | `process.env` | Variabel lingkungan. Ketika diatur, ini mengganti lingkungan subprocess alih-alih menggabungkan dengan `process.env`, jadi lewatkan `{ ...process.env, YOUR_VAR: 'value' }` untuk menyimpan variabel yang diwariskan seperti `PATH`. Lihat [Tangani respons API yang lambat atau terhenti](#handle-slow-or-stalled-api-responses) untuk contoh pola ini, dan [Variabel lingkungan](/docs/id/env-vars) untuk variabel yang dibaca CLI yang mendasarinya. Atur `CLAUDE_AGENT_SDK_CLIENT_APP` untuk mengidentifikasi aplikasi Anda di header User-Agent |

488| `executable` | `'bun' \| 'deno' \| 'node'` | Auto-detected | Runtime JavaScript yang akan digunakan |488| `executable` | `'bun' \| 'deno' \| 'node'` | Auto-detected | Runtime JavaScript yang akan digunakan |

489| `executableArgs` | `string[]` | `[]` | Argumen untuk diteruskan ke executable |489| `executableArgs` | `string[]` | `[]` | Argumen untuk diteruskan ke executable |

490| `extraArgs` | `Record<string, string \| null>` | `{}` | Argumen tambahan |490| `extraArgs` | `Record<string, string \| null>` | `{}` | Argumen tambahan |


496| `includePartialMessages` | `boolean` | `false` | Sertakan event pesan parsial |496| `includePartialMessages` | `boolean` | `false` | Sertakan event pesan parsial |

497| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout dalam milidetik untuk setiap panggilan `sessionStore.load()` dan `sessionStore.listSubkeys()` selama materialisasi resume. Jika adapter tidak settle dalam jendela ini, query gagal alih-alih hang. Diabaikan ketika `sessionStore` tidak diatur |497| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout dalam milidetik untuk setiap panggilan `sessionStore.load()` dan `sessionStore.listSubkeys()` selama materialisasi resume. Jika adapter tidak settle dalam jendela ini, query gagal alih-alih hang. Diabaikan ketika `sessionStore` tidak diatur |

498| `managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan oleh proses parent yang memunculkan. Dijatuhkan ketika tier managed-settings yang dikontrol IT sudah ada di mesin, kecuali admin itu memilih dengan `parentSettingsBehavior: 'merge'`. Disaring ke kunci restrictive-only terlepas dari itu |498| `managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan oleh proses parent yang memunculkan. Dijatuhkan ketika tier managed-settings yang dikontrol IT sudah ada di mesin, kecuali admin itu memilih dengan `parentSettingsBehavior: 'merge'`. Disaring ke kunci restrictive-only terlepas dari itu |

499| `maxBudgetUsd` | `number` | `undefined` | Hentikan query ketika estimasi biaya sisi klien mencapai nilai USD ini. Dibandingkan dengan estimasi yang sama seperti `total_cost_usd`; lihat [Lacak biaya dan penggunaan](/id/agent-sdk/cost-tracking) untuk peringatan akurasi |499| `maxBudgetUsd` | `number` | `undefined` | Hentikan query ketika estimasi biaya sisi klien mencapai nilai USD ini. Dibandingkan dengan estimasi yang sama seperti `total_cost_usd`; lihat [Lacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) untuk peringatan akurasi |

500| `maxThinkingTokens` | `number` | `undefined` | *Deprecated:* Gunakan `thinking` sebagai gantinya. Token maksimum untuk proses pemikiran |500| `maxThinkingTokens` | `number` | `undefined` | *Deprecated:* Gunakan `thinking` sebagai gantinya. Token maksimum untuk proses pemikiran |

501| `maxTurns` | `number` | `undefined` | Putaran agen maksimum (perjalanan round-trip penggunaan tool) |501| `maxTurns` | `number` | `undefined` | Putaran agen maksimum (perjalanan round-trip penggunaan tool) |

502| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Konfigurasi server MCP |502| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Konfigurasi server MCP |

503| `model` | `string` | Default dari CLI | Alias model Claude atau nama model lengkap. Lihat [nilai yang diterima dan ID khusus penyedia](/id/model-config#available-models) |503| `model` | `string` | Default dari CLI | Alias model Claude atau nama model lengkap. Lihat [nilai yang diterima dan ID khusus penyedia](/docs/id/model-config#available-models) |

504| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback untuk menangani permintaan elicitation MCP. Dipanggil ketika server MCP meminta input pengguna dan tidak ada hook yang menanganinya terlebih dahulu. Ketika tidak disediakan, permintaan elicitation yang tidak ditangani secara otomatis ditolak |504| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback untuk menangani permintaan elicitation MCP. Dipanggil ketika server MCP meminta input pengguna dan tidak ada hook yang menanganinya terlebih dahulu. Ketika tidak disediakan, permintaan elicitation yang tidak ditangani secara otomatis ditolak |

505| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Tentukan format output untuk hasil agen. Lihat [Output terstruktur](/id/agent-sdk/structured-outputs) untuk detail |505| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Tentukan format output untuk hasil agen. Lihat [Output terstruktur](/docs/id/agent-sdk/structured-outputs) untuk detail |

506| `outputStyle` | `string` | `undefined` | Bukan field `Options`. Atur `outputStyle` dalam objek [`settings`](/id/settings) inline atau file pengaturan sebagai gantinya. Lihat [Aktifkan output style](/id/agent-sdk/modifying-system-prompts#activate-an-output-style) |506| `outputStyle` | `string` | `undefined` | Bukan field `Options`. Atur `outputStyle` dalam objek [`settings`](/docs/id/settings) inline atau file pengaturan sebagai gantinya. Lihat [Aktifkan output style](/docs/id/agent-sdk/modifying-system-prompts#activate-an-output-style) |

507| `pathToClaudeCodeExecutable` | `string` | Auto-resolved dari biner asli bundel | Jalur ke executable Claude Code. Hanya diperlukan jika dependensi opsional dilewati selama instalasi atau platform Anda tidak dalam set yang didukung |507| `pathToClaudeCodeExecutable` | `string` | Auto-resolved dari biner asli bundel | Jalur ke executable Claude Code. Hanya diperlukan jika dependensi opsional dilewati selama instalasi atau platform Anda tidak dalam set yang didukung |

508| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Mode izin untuk sesi |508| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Mode izin untuk sesi |

509| `permissionPromptToolName` | `string` | `undefined` | Nama tool MCP untuk prompt izin |509| `permissionPromptToolName` | `string` | `undefined` | Nama tool MCP untuk prompt izin |

510| `persistSession` | `boolean` | `true` | Ketika `false`, menonaktifkan persistensi sesi ke disk. Sesi tidak dapat dilanjutkan nanti |510| `persistSession` | `boolean` | `true` | Ketika `false`, menonaktifkan persistensi sesi ke disk. Sesi tidak dapat dilanjutkan nanti |

511| `planModeInstructions` | `string` | `undefined` | Instruksi alur kerja kustom untuk mode plan. Ketika `permissionMode` adalah `'plan'`, string ini mengganti badan alur kerja mode plan default. CLI masih membungkusnya dengan preamble penegakan read-only dan footer protokol ExitPlanMode |511| `planModeInstructions` | `string` | `undefined` | Instruksi alur kerja kustom untuk mode plan. Ketika `permissionMode` adalah `'plan'`, string ini mengganti badan alur kerja mode plan default. CLI masih membungkusnya dengan preamble penegakan read-only dan footer protokol ExitPlanMode |

512| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Muat plugin kustom dari jalur lokal. Lihat [Plugins](/id/agent-sdk/plugins) untuk detail |512| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Muat plugin kustom dari jalur lokal. Lihat [Plugins](/docs/id/agent-sdk/plugins) untuk detail |

513| `promptSuggestions` | `boolean` | `false` | Aktifkan saran prompt. Mengirimkan pesan `prompt_suggestion` setelah setiap putaran dengan prompt pengguna berikutnya yang diprediksi |513| `promptSuggestions` | `boolean` | `false` | Aktifkan saran prompt. Mengirimkan pesan `prompt_suggestion` setelah setiap putaran dengan prompt pengguna berikutnya yang diprediksi |

514| `resume` | `string` | `undefined` | ID sesi untuk dilanjutkan |514| `resume` | `string` | `undefined` | ID sesi untuk dilanjutkan |

515| `resumeSessionAt` | `string` | `undefined` | Lanjutkan sesi pada UUID pesan tertentu |515| `resumeSessionAt` | `string` | `undefined` | Lanjutkan sesi pada UUID pesan tertentu |

516| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Konfigurasi perilaku sandbox secara terprogram. Lihat [Pengaturan sandbox](#sandboxsettings) untuk detail |516| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Konfigurasi perilaku sandbox secara terprogram. Lihat [Pengaturan sandbox](#sandboxsettings) untuk detail |

517| `sessionId` | `string` | Auto-generated | Gunakan UUID tertentu untuk sesi alih-alih auto-generate |517| `sessionId` | `string` | Auto-generated | Gunakan UUID tertentu untuk sesi alih-alih auto-generate |

518| `sessionStore` | [`SessionStore`](/id/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Cerminkan transkrip sesi ke backend eksternal sehingga host apa pun dapat melanjutkannya. Lihat [Pertahankan sesi ke penyimpanan eksternal](/id/agent-sdk/session-storage) |518| `sessionStore` | [`SessionStore`](/docs/id/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Cerminkan transkrip sesi ke backend eksternal sehingga host apa pun dapat melanjutkannya. Lihat [Pertahankan sesi ke penyimpanan eksternal](/docs/id/agent-sdk/session-storage) |

519| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Mode flush untuk `sessionStore`. Diabaikan ketika `sessionStore` tidak diatur |519| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Mode flush untuk `sessionStore`. Diabaikan ketika `sessionStore` tidak diatur |

520| `settings` | `string \| Settings` | `undefined` | Objek [pengaturan](/id/settings) inline atau jalur ke file pengaturan. Mengisi lapisan flag-settings dalam [urutan preseden](/id/settings#settings-precedence). Ubah saat runtime dengan [`applyFlagSettings()`](#applyflagsettings) |520| `settings` | `string \| Settings` | `undefined` | Objek [pengaturan](/docs/id/settings) inline atau jalur ke file pengaturan. Mengisi lapisan flag-settings dalam [urutan preseden](/docs/id/settings#settings-precedence). Ubah saat runtime dengan [`applyFlagSettings()`](#applyflagsettings) |

521| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI defaults (all sources) | Kontrol pengaturan filesystem mana yang akan dimuat. Lewatkan `[]` untuk menonaktifkan pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat terlepas dari itu; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability). Lihat [Gunakan fitur Claude Code](/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) |521| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI defaults (all sources) | Kontrol pengaturan filesystem mana yang akan dimuat. Lewatkan `[]` untuk menonaktifkan pengaturan pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat terlepas dari itu; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Lihat [Gunakan fitur Claude Code](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

522| `skills` | `string[] \| 'all'` | `undefined` | Skills yang tersedia untuk sesi. Lewatkan `'all'` untuk mengaktifkan setiap skill yang ditemukan, atau daftar nama skill. Ketika diatur, SDK menambahkan tool Skill ke `allowedTools` secara otomatis. Jika Anda juga meneruskan `tools`, sertakan `'Skill'` dalam daftar itu. Lihat [Skills](/id/agent-sdk/skills) |522| `skills` | `string[] \| 'all'` | `undefined` | Skills yang tersedia untuk sesi. Lewatkan `'all'` untuk mengaktifkan setiap skill yang ditemukan, atau daftar nama skill. Ketika diatur, SDK menambahkan tool Skill ke `allowedTools` secara otomatis. Jika Anda juga meneruskan `tools`, sertakan `'Skill'` dalam daftar itu. Lihat [Skills](/docs/id/agent-sdk/skills) |

523| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Fungsi kustom untuk spawn proses Claude Code. Gunakan untuk menjalankan Claude Code di VM, kontainer, atau lingkungan jarak jauh |523| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Fungsi kustom untuk spawn proses Claude Code. Gunakan untuk menjalankan Claude Code di VM, kontainer, atau lingkungan jarak jauh |

524| `stderr` | `(data: string) => void` | `undefined` | Callback untuk output stderr |524| `stderr` | `(data: string) => void` | `undefined` | Callback untuk output stderr |

525| `strictMcpConfig` | `boolean` | `false` | Gunakan hanya server yang diteruskan dalam `mcpServers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) |525| `strictMcpConfig` | `boolean` | `false` | Gunakan hanya server yang diteruskan dalam `mcpServers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) |

526| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (minimal prompt) | Konfigurasi prompt sistem. Lewatkan string untuk prompt kustom, atau `{ type: 'preset', preset: 'claude_code' }` untuk menggunakan prompt sistem Claude Code. Saat menggunakan bentuk objek preset, tambahkan `append` untuk memperluas dengan instruksi tambahan, dan atur `excludeDynamicSections: true` untuk memindahkan konteks per-sesi ke pesan pengguna pertama untuk [reuse prompt-cache yang lebih baik di seluruh mesin](/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |526| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (minimal prompt) | Konfigurasi prompt sistem. Lewatkan string untuk prompt kustom, atau `{ type: 'preset', preset: 'claude_code' }` untuk menggunakan prompt sistem Claude Code. Saat menggunakan bentuk objek preset, tambahkan `append` untuk memperluas dengan instruksi tambahan, dan atur `excludeDynamicSections: true` untuk memindahkan konteks per-sesi ke pesan pengguna pertama untuk [reuse prompt-cache yang lebih baik di seluruh mesin](/docs/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

527| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Anggaran tugas sisi API dalam token. Ketika diatur, model diberitahu anggaran token sisa yang tersedia sehingga dapat mengatur kecepatan penggunaan tool dan membungkus sebelum batas |527| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Anggaran tugas sisi API dalam token. Ketika diatur, model diberitahu anggaran token sisa yang tersedia sehingga dapat mengatur kecepatan penggunaan tool dan membungkus sebelum batas |

528| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` untuk model yang didukung | Mengontrol perilaku pemikiran/penalaran Claude. Lihat [`ThinkingConfig`](#thinkingconfig) untuk opsi |528| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` untuk model yang didukung | Mengontrol perilaku pemikiran/penalaran Claude. Lihat [`ThinkingConfig`](#thinkingconfig) untuk opsi |

529| `title` | `string` | `undefined` | Judul tampilan untuk sesi. Saat melanjutkan melalui `resume` atau `continue`, judul sesi yang dilanjutkan yang bertahan mengambil preseden; gunakan [`renameSession()`](#renamesession) untuk mengubah judul sesi yang ada |529| `title` | `string` | `undefined` | Judul tampilan untuk sesi. Saat melanjutkan melalui `resume` atau `continue`, judul sesi yang dilanjutkan yang bertahan mengambil preseden; gunakan [`renameSession()`](#renamesession) untuk mengubah judul sesi yang ada |


552```552```

553 553 

554* `API_TIMEOUT_MS`: timeout per-request pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagen.554* `API_TIMEOUT_MS`: timeout per-request pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagen.

555* `CLAUDE_CODE_MAX_RETRIES`: maksimum retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapatkan jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run yang tidak diawasi yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1`: itu retry kapasitas error tanpa batas, dan {/* min-version: 2.1.199 */}mulai dari Claude Code v2.1.199 menaikkan default untuk error transien lainnya menjadi `300` dan menghapus cap pada variabel ini.555* `CLAUDE_CODE_MAX_RETRIES`: maksimum retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapatkan jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run yang tidak diawasi yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1`: itu retry kapasitas error tanpa batas, dan mulai dari Claude Code v2.1.199 menaikkan default untuk error transien lainnya menjadi `300` dan menghapus cap pada variabel ini.

556* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: stall watchdog untuk subagen yang diluncurkan dengan `run_in_background`. Default `600000`. Reset pada setiap event stream; pada stall itu membatalkan subagen, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagen sinkron.556* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: stall watchdog untuk subagen yang diluncurkan dengan `run_in_background`. Default `600000`. Reset pada setiap event stream; pada stall itu membatalkan subagen, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagen sinkron.

557* `CLAUDE_ENABLE_STREAM_WATCHDOG` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan request ketika header telah tiba tetapi body respons berhenti streaming. Watchdog aktif secara default untuk semua penyedia; atur `CLAUDE_ENABLE_STREAM_WATCHDOG=0` untuk menonaktifkannya. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Request yang dibatalkan melalui jalur retry normal.557* `CLAUDE_ENABLE_STREAM_WATCHDOG` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan request ketika header telah tiba tetapi body respons berhenti streaming. Watchdog aktif secara default untuk semua penyedia; atur `CLAUDE_ENABLE_STREAM_WATCHDOG=0` untuk menonaktifkannya. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Request yang dibatalkan melalui jalur retry normal.

558 558 


594</h4>594</h4>

595 595 

596| Metode | Deskripsi |596| Metode | Deskripsi |

597| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |597| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

598| `interrupt()` | Mengganggu query. Hanya tersedia dalam mode input streaming. {/* min-version: 2.1.205 */}Ketika CLI mengiklankan kemampuan `interrupt_receipt_v1` dalam [`SDKSystemMessage.capabilities`](#sdksystemmessage), diselesaikan dengan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang antri yang bertahan dari interrupt. Diselesaikan `undefined` pada CLI sebelum v2.1.205 |598| `interrupt()` | Mengganggu query. Hanya tersedia dalam mode input streaming. Ketika CLI mengiklankan kemampuan `interrupt_receipt_v1` dalam [`SDKSystemMessage.capabilities`](#sdksystemmessage), diselesaikan dengan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang antri yang bertahan dari interrupt. Diselesaikan `undefined` pada CLI sebelum v2.1.205 |

599| `rewindFiles(userMessageId, options?)` | Mengembalikan file ke keadaan mereka pada pesan pengguna yang ditentukan. Lewatkan `{ dryRun: true }` untuk pratinjau perubahan. Memerlukan `enableFileCheckpointing: true`. Lihat [File checkpointing](/id/agent-sdk/file-checkpointing) |599| `rewindFiles(userMessageId, options?)` | Mengembalikan file ke keadaan mereka pada pesan pengguna yang ditentukan. Lewatkan `{ dryRun: true }` untuk pratinjau perubahan. Memerlukan `enableFileCheckpointing: true`. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |

600| `setPermissionMode()` | Mengubah mode izin (hanya tersedia dalam mode input streaming) |600| `setPermissionMode()` | Mengubah mode izin (hanya tersedia dalam mode input streaming) |

601| `setModel()` | Mengubah model (hanya tersedia dalam mode input streaming) |601| `setModel()` | Mengubah model (hanya tersedia dalam mode input streaming) |

602| `setMaxThinkingTokens()` | *Deprecated:* Gunakan opsi `thinking` sebagai gantinya. Mengubah token pemikiran maksimum. Melewatkan `null` mereset pemikiran ke default sesi: override mid-session dihapus, dan pemikiran tetap mati untuk sesi yang memilikinya dinonaktifkan |602| `setMaxThinkingTokens()` | *Deprecated:* Gunakan opsi `thinking` sebagai gantinya. Mengubah token pemikiran maksimum. Melewatkan `null` mereset pemikiran ke default sesi: override mid-session dihapus, dan pemikiran tetap mati untuk sesi yang memilikinya dinonaktifkan |

603| `applyFlagSettings(settings)` | Menggabungkan pengaturan ke dalam lapisan flag settings sesi saat runtime (hanya tersedia dalam mode input streaming). Lihat [`applyFlagSettings()`](#applyflagsettings) |603| `applyFlagSettings(settings)` | Menggabungkan pengaturan ke dalam lapisan flag settings sesi saat runtime (hanya tersedia dalam mode input streaming). Lihat [`applyFlagSettings()`](#applyflagsettings) |

604| `initializationResult()` | Mengembalikan hasil inisialisasi lengkap termasuk perintah yang didukung, model, info akun, dan konfigurasi gaya output |604| `initializationResult()` | Mengembalikan hasil inisialisasi lengkap termasuk perintah yang didukung, model, info akun, dan konfigurasi gaya output |

605| `reinitialize()` | {/* min-version: 2.1.195 */}Kirim ulang permintaan kontrol `initialize` ke CLI yang sedang berjalan dan kembalikan hasil segar alih-alih hasil first-connect yang di-cache. Gunakan setelah celah transport, seperti reattaching ke sesi setelah disconnect, sehingga permintaan izin yang tertunda mencapai callback `canUseTool` Anda lagi. Buat callback idempotent per request ID, karena permintaan yang responsnya hilang dikirim ulang. Memerlukan Claude Code v2.1.195 atau lebih baru |605| `reinitialize()` | Kirim ulang permintaan kontrol `initialize` ke CLI yang sedang berjalan dan kembalikan hasil segar alih-alih hasil first-connect yang di-cache. Gunakan setelah celah transport, seperti reattaching ke sesi setelah disconnect, sehingga permintaan izin yang tertunda mencapai callback `canUseTool` Anda lagi. Buat callback idempotent per request ID, karena permintaan yang responsnya hilang dikirim ulang. Memerlukan Claude Code v2.1.195 atau lebih baru |

606| `supportedCommands()` | Mengembalikan perintah slash yang tersedia |606| `supportedCommands()` | Mengembalikan perintah slash yang tersedia |

607| `supportedModels()` | Mengembalikan model yang tersedia dengan info tampilan |607| `supportedModels()` | Mengembalikan model yang tersedia dengan info tampilan |

608| `supportedAgents()` | Mengembalikan subagen yang tersedia sebagai [`AgentInfo`](#agentinfo)`[]` |608| `supportedAgents()` | Mengembalikan subagen yang tersedia sebagai [`AgentInfo`](#agentinfo)`[]` |


619 `applyFlagSettings()`619 `applyFlagSettings()`

620</h4>620</h4>

621 621 

622Mengubah [pengaturan](/id/settings) pada sesi yang sedang berjalan tanpa memulai ulang query. Gunakan ketika pengaturan yang tidak memiliki setter khusus perlu berubah di tengah sesi, seperti memperketat `permissions` setelah agen membaca input yang tidak terpercaya. `setModel()` dan `setPermissionMode()` adalah setter khusus untuk dua kunci itu; `applyFlagSettings()` adalah bentuk umum yang menerima subset kunci pengaturan apa pun, dan melewatkan `model` di sini berperilaku sama seperti `setModel()`.622Mengubah [pengaturan](/docs/id/settings) pada sesi yang sedang berjalan tanpa memulai ulang query. Gunakan ketika pengaturan yang tidak memiliki setter khusus perlu berubah di tengah sesi, seperti memperketat `permissions` setelah agen membaca input yang tidak terpercaya. `setModel()` dan `setPermissionMode()` adalah setter khusus untuk dua kunci itu; `applyFlagSettings()` adalah bentuk umum yang menerima subset kunci pengaturan apa pun, dan melewatkan `model` di sini berperilaku sama seperti `setModel()`.

623 623 

624Hanya beberapa kunci yang berlaku di tengah sesi:624Hanya beberapa kunci yang berlaku di tengah sesi:

625 625 

626* **Diterapkan pada putaran berikutnya**: `model`, `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Beralih `agent` juga menerapkan penggantian model agen itu, hooks, dan prompt sistem pada putaran berikutnya.626* **Diterapkan pada putaran berikutnya**: `model`, `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Beralih `agent` juga menerapkan penggantian model agen itu, hooks, dan prompt sistem pada putaran berikutnya.

627* **Tidak ada efek di tengah sesi**: opsi prompt sistem. Ini diselesaikan sekali saat startup, jadi sesi yang sedang berjalan menyimpan nilai asli meskipun panggilan berhasil. Untuk mengubahnya, mulai sesi baru.627* **Tidak ada efek di tengah sesi**: opsi prompt sistem. Ini diselesaikan sekali saat startup, jadi sesi yang sedang berjalan menyimpan nilai asli meskipun panggilan berhasil. Untuk mengubahnya, mulai sesi baru.

628 628 

629`effortLevel` menerima nama [tingkat usaha](/id/model-config#adjust-effort-level). Ini juga menerima `"ultracode"`, yang menjalankan sesi pada usaha `xhigh` dan mengaktifkan [ultracode](/id/workflows#let-claude-decide-with-ultracode). Tipe `Settings` mendeklarasikan `effortLevel` tanpa nilai itu, jadi lewatkan `{ ultracode: true }` yang setara dalam TypeScript. {/* min-version: 2.1.203 */}Nilai `ultracode` memerlukan Claude Code v2.1.203 atau lebih baru dan diterima hanya oleh `applyFlagSettings()`, bukan oleh kunci `effortLevel` dalam file pengaturan.629`effortLevel` menerima nama [tingkat usaha](/docs/id/model-config#adjust-effort-level). Ini juga menerima `"ultracode"`, yang menjalankan sesi pada usaha `xhigh` dan mengaktifkan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode). Tipe `Settings` mendeklarasikan `effortLevel` tanpa nilai itu, jadi lewatkan `{ ultracode: true }` yang setara dalam TypeScript. Nilai `ultracode` memerlukan Claude Code v2.1.203 atau lebih baru dan diterima hanya oleh `applyFlagSettings()`, bukan oleh kunci `effortLevel` dalam file pengaturan.

630 630 

631Nilai ditulis ke lapisan flag-settings, lapisan yang sama yang opsi `settings` inline dari `query()` isi saat startup. Flag settings duduk di dekat bagian atas [urutan preseden pengaturan](/id/settings#settings-precedence): mereka mengganti pengaturan pengguna, proyek, dan lokal, dan hanya pengaturan kebijakan terkelola yang dapat mengganti mereka. Ini adalah tier yang sama yang [bagian preseden di halaman](#settings-precedence) sebut opsi terprogram.631Nilai ditulis ke lapisan flag-settings, lapisan yang sama yang opsi `settings` inline dari `query()` isi saat startup. Flag settings duduk di dekat bagian atas [urutan preseden pengaturan](/docs/id/settings#settings-precedence): mereka mengganti pengaturan pengguna, proyek, dan lokal, dan hanya pengaturan kebijakan terkelola yang dapat mengganti mereka. Ini adalah tier yang sama yang [bagian preseden di halaman](#settings-precedence) sebut opsi terprogram.

632 632 

633Panggilan berturut-turut shallow-merge kunci tingkat atas. Panggilan kedua dengan `{ permissions: {...} }` mengganti seluruh objek `permissions` dari panggilan sebelumnya daripada deep-merging ke dalamnya. Untuk menghapus kunci dari lapisan flag dan kembali ke sumber preseden lebih rendah, lewatkan `null` untuk kunci itu. Melewatkan `undefined` tidak memiliki efek karena serialisasi JSON menjatuhkannya.633Panggilan berturut-turut shallow-merge kunci tingkat atas. Panggilan kedua dengan `{ permissions: {...} }` mengganti seluruh objek `permissions` dari panggilan sebelumnya daripada deep-merging ke dalamnya. Untuk menghapus kunci dari lapisan flag dan kembali ke sumber preseden lebih rendah, lewatkan `null` untuk kunci itu. Melewatkan `undefined` tidak memiliki efek karena serialisasi JSON menjatuhkannya.

634 634 


714 714 

715* Hanya pesan yang antri dengan UUID muncul. Array kosong tidak berarti tidak ada lagi yang akan berjalan.715* Hanya pesan yang antri dengan UUID muncul. Array kosong tidak berarti tidak ada lagi yang akan berjalan.

716* Hanya pesan thread utama yang terdaftar. Pesan yang ditujukan ke subagen di luar jangkauan.716* Hanya pesan thread utama yang terdaftar. Pesan yang ditujukan ke subagen di luar jangkauan.

717* Daftar dapat mencakup UUID yang klien Anda tidak pernah kirim, seperti pemicu [tugas terjadwal](/id/scheduled-tasks). Abaikan UUID yang tidak Anda kenal alih-alih memperlakukannya sebagai error.717* Daftar dapat mencakup UUID yang klien Anda tidak pernah kirim, seperti pemicu [tugas terjadwal](/docs/id/scheduled-tasks). Abaikan UUID yang tidak Anda kenal alih-alih memperlakukannya sebagai error.

718 718 

719Penerimaan adalah snapshot yang diambil pada saat interrupt diproses, dan pada interrupt yang bersih tiba sebelum [`SDKResultMessage`](#sdkresultmessage) putaran yang terputus. Baca penerimaan daripada memeriksa antrian setelah hasil itu: loop memulai putaran antrian berikutnya segera, jadi antrian yang Anda periksa setelah hasil sudah berubah.719Penerimaan adalah snapshot yang diambil pada saat interrupt diproses, dan pada interrupt yang bersih tiba sebelum [`SDKResultMessage`](#sdkresultmessage) putaran yang terputus. Baca penerimaan daripada memeriksa antrian setelah hasil itu: loop memulai putaran antrian berikutnya segera, jadi antrian yang Anda periksa setelah hasil sudah berubah.

720 720 


792 Perilaku default792 Perilaku default

793</h4>793</h4>

794 794 

795Ketika `settingSources` dihilangkan atau `undefined`, `query()` memuat pengaturan filesystem yang sama seperti CLI Claude Code: pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability). Lihat [Apa yang tidak dikontrol settingSources](/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya.795Ketika `settingSources` dihilangkan atau `undefined`, `query()` memuat pengaturan filesystem yang sama seperti CLI Claude Code: pengguna, proyek, dan lokal. Pengaturan kebijakan terkelola dimuat dalam semua kasus; pengaturan yang dikelola server diambil ketika sesi mengautentikasi dengan kredensial organisasi pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Lihat [Apa yang tidak dikontrol settingSources](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input yang dibaca terlepas dari opsi ini, dan cara menonaktifkannya.

796 796 

797<h4 id="why-use-settingsources">797<h4 id="why-use-settingsources">

798 Mengapa menggunakan settingSources798 Mengapa menggunakan settingSources


913 913 

914Tipe fungsi izin kustom untuk mengontrol penggunaan tool.914Tipe fungsi izin kustom untuk mengontrol penggunaan tool.

915 915 

916Fungsi adalah pengganti SDK untuk prompt izin interaktif: dipanggil hanya ketika [alur evaluasi izin](/id/agent-sdk/permissions#how-permissions-are-evaluated) diselesaikan ke prompt. Panggilan tool yang sudah disetujui oleh entri `allowedTools`, aturan allow pengaturan, atau mode izin, seperti `acceptEdits` atau `bypassPermissions`, tidak pernah memanggilnya. Untuk gating setiap tool call, gunakan hook [`PreToolUse`](/id/agent-sdk/hooks) sebagai gantinya.916Fungsi adalah pengganti SDK untuk prompt izin interaktif: dipanggil hanya ketika [alur evaluasi izin](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) diselesaikan ke prompt. Panggilan tool yang sudah disetujui oleh entri `allowedTools`, aturan allow pengaturan, atau mode izin, seperti `acceptEdits` atau `bypassPermissions`, tidak pernah memanggilnya. Untuk gating setiap tool call, gunakan hook [`PreToolUse`](/docs/id/agent-sdk/hooks) sebagai gantinya.

917 917 

918`AskUserQuestion`, tool MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan tool konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) mencapai fungsi bahkan ketika aturan allow cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggilnya.918`AskUserQuestion`, tool MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan tool konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) mencapai fungsi bahkan ketika aturan allow cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggilnya.

919 919 

920```typescript theme={null}920```typescript theme={null}

921type CanUseTool = (921type CanUseTool = (


985 985 

986| Field | Tipe | Deskripsi |986| Field | Tipe | Deskripsi |

987| :------------------------------ | :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |987| :------------------------------ | :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

988| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opt-in ke field `preview` pada opsi [`AskUserQuestion`](/id/agent-sdk/user-input#question-format) dan atur format kontennya. Ketika tidak diatur, Claude tidak mengirimkan preview |988| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opt-in ke field `preview` pada opsi [`AskUserQuestion`](/docs/id/agent-sdk/user-input#question-format) dan atur format kontennya. Ketika tidak diatur, Claude tidak mengirimkan preview |

989 989 

990<h3 id="mcpserverconfig">990<h3 id="mcpserverconfig">

991 `McpServerConfig`991 `McpServerConfig`


1091];1091];

1092```1092```

1093 1093 

1094Untuk informasi lengkap tentang membuat dan menggunakan plugin, lihat [Plugins](/id/agent-sdk/plugins).1094Untuk informasi lengkap tentang membuat dan menggunakan plugin, lihat [Plugins](/docs/id/agent-sdk/plugins).

1095 1095 

1096## Tipe Pesan1096## Tipe Pesan

1097 1097 


1200};1200};

1201```1201```

1202 1202 

1203Putaran pengguna yang disuntikkan dari luar sesi, yang [`origin`](#sdkmessageorigin)-nya adalah `peer` atau `channel`, mencapai aliran sebagai replay apakah itu disampaikan selama putaran aktif atau memulai putaran baru saat sesi idle. {/* min-version: 2.1.207 */}Sebelum v2.1.207, putaran yang disuntikkan disampaikan saat sesi idle tidak menghasilkan pesan pada aliran dan hanya muncul ketika Anda membaca ulang transkrip.1203Putaran pengguna yang disuntikkan dari luar sesi, yang [`origin`](#sdkmessageorigin)-nya adalah `peer` atau `channel`, mencapai aliran sebagai replay apakah itu disampaikan selama putaran aktif atau memulai putaran baru saat sesi idle. Sebelum v2.1.207, putaran yang disuntikkan disampaikan saat sesi idle tidak menghasilkan pesan pada aliran dan hanya muncul ketika Anda membaca ulang transkrip.

1204 1204 

1205### `SDKResultMessage`1205### `SDKResultMessage`

1206 1206 


1267 1267 

1268Field `origin` meneruskan [`SDKMessageOrigin`](#sdkmessageorigin) dari pesan pengguna yang memicu hasil ini. Ketika tugas latar belakang selesai dan SDK menyuntikkan putaran lanjutan sintetis, `SDKResultMessage` yang dihasilkan membawa `origin: { kind: "task-notification" }`. Periksa field ini untuk membedakan hasil yang menjawab prompt Anda dari hasil yang dipancarkan untuk lanjutan tugas latar belakang, sehingga Anda dapat merutekan atau menekan yang terakhir. Field ini tidak ada untuk hasil yang dipancarkan sebelum putaran pengguna apa pun, seperti kesalahan startup.1268Field `origin` meneruskan [`SDKMessageOrigin`](#sdkmessageorigin) dari pesan pengguna yang memicu hasil ini. Ketika tugas latar belakang selesai dan SDK menyuntikkan putaran lanjutan sintetis, `SDKResultMessage` yang dihasilkan membawa `origin: { kind: "task-notification" }`. Periksa field ini untuk membedakan hasil yang menjawab prompt Anda dari hasil yang dipancarkan untuk lanjutan tugas latar belakang, sehingga Anda dapat merutekan atau menekan yang terakhir. Field ini tidak ada untuk hasil yang dipancarkan sebelum putaran pengguna apa pun, seperti kesalahan startup.

1269 1269 

1270Ketika hook `PreToolUse` mengembalikan `permissionDecision: "defer"`, hasilnya memiliki `stop_reason: "tool_deferred"` dan `deferred_tool_use` membawa `id`, `name`, dan `input` tool yang tertunda. Baca field ini untuk menampilkan permintaan di UI Anda sendiri, kemudian lanjutkan dengan `session_id` yang sama untuk melanjutkan. Lihat [Defer a tool call for later](/id/hooks#defer-a-tool-call-for-later) untuk perjalanan putaran lengkap.1270Ketika hook `PreToolUse` mengembalikan `permissionDecision: "defer"`, hasilnya memiliki `stop_reason: "tool_deferred"` dan `deferred_tool_use` membawa `id`, `name`, dan `input` tool yang tertunda. Baca field ini untuk menampilkan permintaan di UI Anda sendiri, kemudian lanjutkan dengan `session_id` yang sama untuk melanjutkan. Lihat [Defer a tool call for later](/docs/id/hooks#defer-a-tool-call-for-later) untuk perjalanan putaran lengkap.

1271 1271 

1272### `SDKSystemMessage`1272### `SDKSystemMessage`

1273 1273 


1299};1299};

1300```1300```

1301 1301 

1302{/* min-version: 2.1.205 */}

1303 

1304Array `capabilities` menamai perilaku protokol yang diimplementasikan CLI ini, sehingga Anda dapat mendeteksi fitur daripada membandingkan string `claude_code_version`. Ini adalah set terbuka: abaikan nilai yang tidak Anda kenali, dan periksa kemampuan spesifik yang perilakunya Anda andalkan. Field ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada pada CLI yang lebih awal.1302Array `capabilities` menamai perilaku protokol yang diimplementasikan CLI ini, sehingga Anda dapat mendeteksi fitur daripada membandingkan string `claude_code_version`. Ini adalah set terbuka: abaikan nilai yang tidak Anda kenali, dan periksa kemampuan spesifik yang perilakunya Anda andalkan. Field ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada pada CLI yang lebih awal.

1305 1303 

1306| Kemampuan | Arti |1304| Kemampuan | Arti |


1788```1786```

1789 1787 

1790| `kind` | Arti |1788| `kind` | Arti |

1791| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1789| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1792| `human` | Input langsung dari pengguna akhir. Pada pesan pengguna, `origin` yang tidak ada juga berarti input manusia. |1790| `human` | Input langsung dari pengguna akhir. Pada pesan pengguna, `origin` yang tidak ada juga berarti input manusia. |

1793| `channel` | Pesan yang tiba di [channel](/id/channels). `server` adalah nama server MCP sumber. |1791| `channel` | Pesan yang tiba di [channel](/docs/id/channels). `server` adalah nama server MCP sumber. |

1794| `peer` | Pesan dari agen lain. Untuk [rekan tim](/id/agent-teams) dalam proses yang mengirim ke `main` melalui `SendMessage`, `from` adalah nama rekan tim dan `senderTaskId` adalah ID tugasnya. Untuk peer lintas sesi seperti proses Claude Code lokal lainnya, `from` adalah alamat pengirim dan `senderTaskId` tidak ada. {/* min-version: 2.1.205 */}`name` dan `body` memerlukan Claude Code v2.1.205 atau lebih baru. `name` adalah nama tampilan pengirim, dinormalisasi oleh Claude Code: menghapus kontrol Unicode, format, surrogate, dan pemisah baris atau paragraf code points, kemudian memangkas hasilnya dan membatasinya pada 64 code points dengan ellipsis. `body` adalah badan pesan yang didekode dengan amplop peer yang dihapus, byte-exact dengan apa yang dilihat model. Untuk pesan rekan tim `body` selalu ada; untuk peer lintas sesi itu ada hanya ketika putaran adalah tepat satu amplop peer yang dibentuk oleh Claude Code. Render `name` dan `body` daripada mem-parse ulang teks pesan. |1792| `peer` | Pesan dari agen lain. Untuk [rekan tim](/docs/id/agent-teams) dalam proses yang mengirim ke `main` melalui `SendMessage`, `from` adalah nama rekan tim dan `senderTaskId` adalah ID tugasnya. Untuk peer lintas sesi seperti proses Claude Code lokal lainnya, `from` adalah alamat pengirim dan `senderTaskId` tidak ada. `name` dan `body` memerlukan Claude Code v2.1.205 atau lebih baru. `name` adalah nama tampilan pengirim, dinormalisasi oleh Claude Code: menghapus kontrol Unicode, format, surrogate, dan pemisah baris atau paragraf code points, kemudian memangkas hasilnya dan membatasinya pada 64 code points dengan ellipsis. `body` adalah badan pesan yang didekode dengan amplop peer yang dihapus, byte-exact dengan apa yang dilihat model. Untuk pesan rekan tim `body` selalu ada; untuk peer lintas sesi itu ada hanya ketika putaran adalah tepat satu amplop peer yang dibentuk oleh Claude Code. Render `name` dan `body` daripada mem-parse ulang teks pesan. |

1795| `task-notification` | Putaran sintetis yang disuntikkan setelah tugas latar belakang selesai. Lihat [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |1793| `task-notification` | Putaran sintetis yang disuntikkan setelah tugas latar belakang selesai. Lihat [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |

1796| `coordinator` | Pesan dari koordinator tim dalam [tim agen](/id/agent-teams). |1794| `coordinator` | Pesan dari koordinator tim dalam [tim agen](/docs/id/agent-teams). |

1797| `auto-continuation` | Putaran sintetis yang disuntikkan ketika sesi berlanjut tanpa input pengguna baru, seperti hasil perintah yang memicu prompt lanjutan. |1795| `auto-continuation` | Putaran sintetis yang disuntikkan ketika sesi berlanjut tanpa input pengguna baru, seperti hasil perintah yang memicu prompt lanjutan. |

1798 1796 

1799<h2 id="hook-types">1797<h2 id="hook-types">

1800 Tipe Hook1798 Tipe Hook

1801</h2>1799</h2>

1802 1800 

1803Untuk panduan komprehensif tentang menggunakan hooks dengan contoh dan pola umum, lihat [panduan Hooks](/id/agent-sdk/hooks).1801Untuk panduan komprehensif tentang menggunakan hooks dengan contoh dan pola umum, lihat [panduan Hooks](/docs/id/agent-sdk/hooks).

1804 1802 

1805<h3 id="hookevent">1803<h3 id="hookevent">

1806 `HookEvent`1804 `HookEvent`


1909};1907};

1910```1908```

1911 1909 

1912Bidang `prompt_id` adalah UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Ini cocok dengan [atribut `prompt.id` pada acara OpenTelemetry](/id/monitoring-usage#event-correlation-attributes) dan tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru.1910Bidang `prompt_id` adalah UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Ini cocok dengan [atribut `prompt.id` pada acara OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes) dan tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru.

1913 1911 

1914<h4 id="pretoolusehookinput">1912<h4 id="pretoolusehookinput">

1915 `PreToolUseHookInput`1913 `PreToolUseHookInput`


2380};2378};

2381```2379```

2382 2380 

2383Menanyakan pertanyaan klarifikasi kepada pengguna selama eksekusi. Lihat [Tangani persetujuan dan input pengguna](/id/agent-sdk/user-input#handle-clarifying-questions) untuk detail penggunaan.2381Menanyakan pertanyaan klarifikasi kepada pengguna selama eksekusi. Lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input#handle-clarifying-questions) untuk detail penggunaan.

2384 2382 

2385<h3 id="bash">2383<h3 id="bash">

2386 Bash2384 Bash


2419};2417};

2420```2418```

2421 2419 

2422Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`. {/* min-version: 2.1.195 */}Sumber `ws` memerlukan Claude Code v2.1.195 atau yang lebih baru.2420Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`. Sumber `ws` memerlukan Claude Code v2.1.195 atau yang lebih baru.

2423 2421 

2424Atur `persistent: true` untuk watch panjang sesi seperti log tails. Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash; watch WebSocket meminta persetujuan secara terpisah. Lihat [referensi tool Monitor](/id/tools-reference#monitor-tool) untuk perilaku dan ketersediaan provider.2422Atur `persistent: true` untuk watch panjang sesi seperti log tails. Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash; watch WebSocket meminta persetujuan secara terpisah. Lihat [referensi tool Monitor](/docs/id/tools-reference#monitor-tool) untuk perilaku dan ketersediaan provider.

2425 2423 

2426<h3 id="taskoutput">2424<h3 id="taskoutput">

2427 TaskOutput2425 TaskOutput


2543};2541};

2544```2542```

2545 2543 

2546Menghentikan tugas latar belakang atau shell yang sedang berjalan berdasarkan ID. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, `task_id` juga menerima rekan tim agent atau agen latar belakang bernama berdasarkan ID agen atau nama.2544Menghentikan tugas latar belakang atau shell yang sedang berjalan berdasarkan ID. Mulai dari v2.1.198, `task_id` juga menerima rekan tim agent atau agen latar belakang bernama berdasarkan ID agen atau nama.

2547 2545 

2548<h3 id="notebookedit">2546<h3 id="notebookedit">

2549 NotebookEdit2547 NotebookEdit


2610};2608};

2611```2609```

2612 2610 

2613Menjalankan [workflow dinamis](/id/workflows): skrip yang mengorkestra banyak subagen di latar belakang dan mengembalikan satu hasil yang dikonsolidasikan. Tool `Workflow` tersedia di Agent SDK v0.3.149 dan yang lebih baru. Setidaknya satu dari `script`, `name`, atau `scriptPath` diperlukan.2611Menjalankan [workflow dinamis](/docs/id/workflows): skrip yang mengorkestra banyak subagen di latar belakang dan mengembalikan satu hasil yang dikonsolidasikan. Tool `Workflow` tersedia di Agent SDK v0.3.149 dan yang lebih baru. Setidaknya satu dari `script`, `name`, atau `scriptPath` diperlukan.

2614 2612 

2615| Field | Type | Description |2613| Field | Type | Description |

2616| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2614| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


2639Membuat dan mengelola daftar tugas terstruktur untuk melacak kemajuan.2637Membuat dan mengelola daftar tugas terstruktur untuk melacak kemajuan.

2640 2638 

2641<Note>2639<Note>

2642 Mulai dari TypeScript Agent SDK 0.3.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrasi ke tool Task](/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.2640 Mulai dari TypeScript Agent SDK 0.3.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrasi ke tool Task](/docs/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.

2643</Note>2641</Note>

2644 2642 

2645<h3 id="taskcreate">2643<h3 id="taskcreate">


2879 2877 

2880Mengembalikan hasil dari subagen. Didiskriminasikan pada field `status`: `"completed"` untuk tugas yang selesai, `"async_launched"` untuk tugas latar belakang, dan `"remote_launched"` untuk tugas yang Claude Code kirimkan ke sesi cloud jarak jauh, di mana `sessionUrl` menautkan ke sesi tersebut dan `taskId` mengidentifikasinya.2878Mengembalikan hasil dari subagen. Didiskriminasikan pada field `status`: `"completed"` untuk tugas yang selesai, `"async_launched"` untuk tugas latar belakang, dan `"remote_launched"` untuk tugas yang Claude Code kirimkan ke sesi cloud jarak jauh, di mana `sessionUrl` menautkan ke sesi tersebut dan `taskId` mengidentifikasinya.

2881 2879 

2882Field `resolvedModel` pada varian `completed` dan `async_launched` menamai model yang sebenarnya dijalankan oleh subagen, yang dapat berbeda dari input `model` yang diminta ketika [`availableModels`](/id/model-config#restrict-model-selection) atau override lainnya berlaku. {/* min-version: 2.1.174 */}Field ini memerlukan Claude Code v2.1.174 atau lebih baru.2880Field `resolvedModel` pada varian `completed` dan `async_launched` menamai model yang sebenarnya dijalankan oleh subagen, yang dapat berbeda dari input `model` yang diminta ketika [`availableModels`](/docs/id/model-config#restrict-model-selection) atau override lainnya berlaku. Field ini memerlukan Claude Code v2.1.174 atau lebih baru.

2883 2881 

2884Pada varian `completed`, `worktreePath` diatur ketika subagen berjalan di worktree git terisolasi, dan `worktreeBranch` menamai cabang worktree tersebut ketika Claude Code membuatnya. `usage.service_tier` membawa string tier layanan yang dilaporkan API untuk permintaan subagen.2882Pada varian `completed`, `worktreePath` diatur ketika subagen berjalan di worktree git terisolasi, dan `worktreeBranch` menamai cabang worktree tersebut ketika Claude Code membuatnya. `usage.service_tier` membawa string tier layanan yang dilaporkan API untuk permintaan subagen.

2885 2883 


3245Mengembalikan daftar tugas sebelumnya dan diperbarui.3243Mengembalikan daftar tugas sebelumnya dan diperbarui.

3246 3244 

3247<Note>3245<Note>

3248 Mulai dari TypeScript Agent SDK 0.3.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrasi ke tool Task](/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.3246 Mulai dari TypeScript Agent SDK 0.3.142, `TodoWrite` dinonaktifkan secara default. Gunakan `TaskCreate`, `TaskGet`, `TaskUpdate`, dan `TaskList` sebagai gantinya. Lihat [Migrasi ke tool Task](/docs/id/agent-sdk/todo-tracking#migrate-to-task-tools) untuk memperbarui kode pemantauan Anda, atau atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk kembali ke `TodoWrite`.

3249</Note>3247</Note>

3250 3248 

3251<h3 id="taskcreate-1">3249<h3 id="taskcreate-1">


3539```3537```

3540 3538 

3541| Field | Tipe | Deskripsi |3539| Field | Tipe | Deskripsi |

3542| :------------------------- | :----------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3540| :------------------------- | :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3543| `value` | `string` | Pengenal model untuk diteruskan dalam panggilan API |3541| `value` | `string` | Pengenal model untuk diteruskan dalam panggilan API |

3544| `resolvedModel` | `string \| undefined` | ID model wire kanonik yang diselesaikan oleh `value` entri ini. Entri alias seperti `sonnet` diselesaikan ke ID model eksplisit seperti `claude-sonnet-5`, sehingga host dapat mencocokkan ID model eksplisit yang disimpan terhadap entri alias yang mencakupnya. {/* min-version: 2.1.197 */}Memerlukan Claude Code v2.1.197 atau lebih baru. |3542| `resolvedModel` | `string \| undefined` | ID model wire kanonik yang diselesaikan oleh `value` entri ini. Entri alias seperti `sonnet` diselesaikan ke ID model eksplisit seperti `claude-sonnet-5`, sehingga host dapat mencocokkan ID model eksplisit yang disimpan terhadap entri alias yang mencakupnya. Memerlukan Claude Code v2.1.197 atau lebih baru. |

3545| `displayName` | `string` | Nama tampilan yang dapat dibaca manusia |3543| `displayName` | `string` | Nama tampilan yang dapat dibaca manusia |

3546| `description` | `string` | Deskripsi kemampuan model |3544| `description` | `string` | Deskripsi kemampuan model |

3547| `supportsEffort` | `boolean \| undefined` | Apakah model ini mendukung tingkat upaya |3545| `supportsEffort` | `boolean \| undefined` | Apakah model ini mendukung tingkat upaya |


3636 `ModelUsage`3634 `ModelUsage`

3637</h3>3635</h3>

3638 3636 

3639Statistik penggunaan per-model yang dikembalikan dalam pesan hasil. Nilai `costUSD` adalah estimasi sisi klien. Lihat [Lacak biaya dan penggunaan](/id/agent-sdk/cost-tracking) untuk peringatan penagihan.3637Statistik penggunaan per-model yang dikembalikan dalam pesan hasil. Nilai `costUSD` adalah estimasi sisi klien. Lihat [Lacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) untuk peringatan penagihan.

3640 3638 

3641```typescript theme={null}3639```typescript theme={null}

3642type ModelUsage = {3640type ModelUsage = {


3701 `CallToolResult`3699 `CallToolResult`

3702</h3>3700</h3>

3703 3701 

3704Tipe hasil tool MCP (dari `@modelcontextprotocol/sdk/types.js`). `structuredContent` adalah objek JSON yang dapat dikembalikan bersama `content`, termasuk blok gambar. Lihat [Kembalikan data terstruktur](/id/agent-sdk/custom-tools#return-structured-data).3702Tipe hasil tool MCP (dari `@modelcontextprotocol/sdk/types.js`). `structuredContent` adalah objek JSON yang dapat dikembalikan bersama `content`, termasuk blok gambar. Lihat [Kembalikan data terstruktur](/docs/id/agent-sdk/custom-tools#return-structured-data).

3705 3703 

3706```typescript theme={null}3704```typescript theme={null}

3707type CallToolResult = {3705type CallToolResult = {


4051 4049 

4052Tidak ada yang dipancarkan saat startup. Atur ulang ke set kosong setiap kali proses CLI sesi dimulai atau dimulai ulang dan biarkan perubahan keanggotaan berikutnya mengisinya kembali.4050Tidak ada yang dipancarkan saat startup. Atur ulang ke set kosong setiap kali proses CLI sesi dimulai atau dimulai ulang dan biarkan perubahan keanggotaan berikutnya mengisinya kembali.

4053 4051 

4054{/* min-version: 2.1.203 */}Memerlukan Claude Code v2.1.203 atau lebih baru.4052Memerlukan Claude Code v2.1.203 atau lebih baru.

4055 4053 

4056```typescript theme={null}4054```typescript theme={null}

4057type SDKBackgroundTasksChangedMessage = {4055type SDKBackgroundTasksChangedMessage = {


4069 4067 

4070### `SDKThinkingTokensMessage`4068### `SDKThinkingTokensMessage`

4071 4069 

4072Dipancarkan saat Claude menghasilkan blok pemikiran, termasuk yang diredaksi, membawa estimasi berjalan token pemikiran yang dihasilkan sejauh ini. `estimated_tokens` adalah total berjalan untuk blok pemikiran saat ini dan `estimated_tokens_delta` adalah kenaikan yang dibawa oleh frame ini. Gunakan untuk tampilan kemajuan. Hitungan akhir untuk loop agen tingkat atas adalah pesan hasil `usage.output_tokens`, yang [tidak termasuk token subagen](/id/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); gunakan [`modelUsage`](#modelusage) untuk akuntansi seluruh pohon.4070Dipancarkan saat Claude menghasilkan blok pemikiran, termasuk yang diredaksi, membawa estimasi berjalan token pemikiran yang dihasilkan sejauh ini. `estimated_tokens` adalah total berjalan untuk blok pemikiran saat ini dan `estimated_tokens_delta` adalah kenaikan yang dibawa oleh frame ini. Gunakan untuk tampilan kemajuan. Hitungan akhir untuk loop agen tingkat atas adalah pesan hasil `usage.output_tokens`, yang [tidak termasuk token subagen](/docs/id/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); gunakan [`modelUsage`](#modelusage) untuk akuntansi seluruh pohon.

4073 4071 

4074{/* min-version: 2.1.153 */}Memerlukan Claude Code v2.1.153 atau lebih baru.4072Memerlukan Claude Code v2.1.153 atau lebih baru.

4075 4073 

4076```typescript theme={null}4074```typescript theme={null}

4077type SDKThinkingTokensMessage = {4075type SDKThinkingTokensMessage = {


4124};4122};

4125```4123```

4126 4124 

4127{/* min-version: 2.1.181 */}Ketika `errorCode` adalah `"credits_required"`, penolakan berasal dari langganan claude.ai yang penggunaan yang disertakan sudah habis, dan sesi tidak dapat dilanjutkan sampai pengguna membeli kredit penggunaan. `canUserPurchaseCredits` menunjukkan apakah pengguna yang diautentikasi dapat membeli kredit untuk akun, dan `hasChargeableSavedPaymentMethod` menunjukkan apakah metode pembayaran yang disimpan ada di file. Ketiga field ini tidak ada pada acara batas laju yang bukan penolakan yang diperlukan kredit. Memerlukan Claude Code v2.1.181 atau lebih baru.4125Ketika `errorCode` adalah `"credits_required"`, penolakan berasal dari langganan claude.ai yang penggunaan yang disertakan sudah habis, dan sesi tidak dapat dilanjutkan sampai pengguna membeli kredit penggunaan. `canUserPurchaseCredits` menunjukkan apakah pengguna yang diautentikasi dapat membeli kredit untuk akun, dan `hasChargeableSavedPaymentMethod` menunjukkan apakah metode pembayaran yang disimpan ada di file. Ketiga field ini tidak ada pada acara batas laju yang bukan penolakan yang diperlukan kredit. Memerlukan Claude Code v2.1.181 atau lebih baru.

4128 4126 

4129<h3 id="sdklocalcommandoutputmessage">4127<h3 id="sdklocalcommandoutputmessage">

4130 `SDKLocalCommandOutputMessage`4128 `SDKLocalCommandOutputMessage`


4188};4186};

4189```4187```

4190 4188 

4191{/* min-version: 2.1.203 */}Pengetikan yang dipublikasikan SDK mendeklarasikan `SDKConversationResetMessage` dalam Claude Code v2.1.203 dan lebih baru. Sebelum v2.1.203, `SDKMessage` mereferensikan tipe tanpa mendeklarasikannya, jadi penyempitan pada `type === "conversation_reset"` gagal untuk typecheck ketika `skipLibCheck` dinonaktifkan.4189Pengetikan yang dipublikasikan SDK mendeklarasikan `SDKConversationResetMessage` dalam Claude Code v2.1.203 dan lebih baru. Sebelum v2.1.203, `SDKMessage` mereferensikan tipe tanpa mendeklarasikannya, jadi penyempitan pada `type === "conversation_reset"` gagal untuk typecheck ketika `skipLibCheck` dinonaktifkan.

4192 4190 

4193<h3 id="aborterror">4191<h3 id="aborterror">

4194 `AbortError`4192 `AbortError`


4239| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Konfigurasi biner ripgrep kustom untuk lingkungan sandbox |4237| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Konfigurasi biner ripgrep kustom untuk lingkungan sandbox |

4240 4238 

4241<Note>4239<Note>

4242 Sandbox bergantung pada dukungan platform dan, di Linux, alat seperti `bubblewrap` dan `socat`. Ketika `enabled` adalah `true` dan sandbox tidak dapat dimulai, `query()` melaporkan pesan `result` dengan `subtype: "error_during_execution"` dan alasan dalam `errors`. Untuk panggilan `query()` pesan tunggal, SDK melempar setelah menghasilkan hasil kesalahan itu, jadi bungkus loop dalam blok try untuk melanjutkan melewatinya. Lihat [Menangani hasil](/id/agent-sdk/agent-loop#handle-the-result) untuk kontrak kesalahan.4240 Sandbox bergantung pada dukungan platform dan, di Linux, alat seperti `bubblewrap` dan `socat`. Ketika `enabled` adalah `true` dan sandbox tidak dapat dimulai, `query()` melaporkan pesan `result` dengan `subtype: "error_during_execution"` dan alasan dalam `errors`. Untuk panggilan `query()` pesan tunggal, SDK melempar setelah menghasilkan hasil kesalahan itu, jadi bungkus loop dalam blok try untuk melanjutkan melewatinya. Lihat [Menangani hasil](/docs/id/agent-sdk/agent-loop#handle-the-result) untuk kontrak kesalahan.

4243 4241 

4244 Untuk menjalankan unsandboxed sebagai gantinya, atur `failIfUnavailable: false`.4242 Untuk menjalankan unsandboxed sebagai gantinya, atur `failIfUnavailable: false`.

4245</Note>4243</Note>


4281 `SandboxNetworkConfig`4279 `SandboxNetworkConfig`

4282</h3>4280</h3>

4283 4281 

4284Konfigurasi spesifik jaringan untuk mode sandbox. Pengaturan ini berlaku untuk perintah Bash sandboxed ketika `enabled` adalah `true` dalam [`SandboxSettings`](#sandboxsettings) induk. Mereka tidak membatasi tool WebFetch, yang menggunakan [aturan izin](/id/permissions#webfetch) sebagai gantinya.4282Konfigurasi spesifik jaringan untuk mode sandbox. Pengaturan ini berlaku untuk perintah Bash sandboxed ketika `enabled` adalah `true` dalam [`SandboxSettings`](#sandboxsettings) induk. Mereka tidak membatasi tool WebFetch, yang menggunakan [aturan izin](/docs/id/permissions#webfetch) sebagai gantinya.

4285 4283 

4286```typescript theme={null}4284```typescript theme={null}

4287type SandboxNetworkConfig = {4285type SandboxNetworkConfig = {


4300| :------------------------ | :--------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4298| :------------------------ | :--------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

4301| `allowedDomains` | `string[]` | `[]` | Nama domain yang dapat diakses proses sandboxed |4299| `allowedDomains` | `string[]` | `[]` | Nama domain yang dapat diakses proses sandboxed |

4302| `deniedDomains` | `string[]` | `[]` | Nama domain yang tidak dapat diakses proses sandboxed. Mengambil prioritas atas `allowedDomains` |4300| `deniedDomains` | `string[]` | `[]` | Nama domain yang tidak dapat diakses proses sandboxed. Mengambil prioritas atas `allowedDomains` |

4303| `allowManagedDomainsOnly` | `boolean` | `false` | Hanya pengaturan yang dikelola. Ketika diatur dalam [pengaturan yang dikelola](/id/permissions#managed-settings), hanya entri `allowedDomains` dari pengaturan yang dikelola yang dihormati dan entri dari pengaturan pengguna, proyek, atau lokal diabaikan. Tidak berpengaruh ketika diatur melalui opsi SDK |4301| `allowManagedDomainsOnly` | `boolean` | `false` | Hanya pengaturan yang dikelola. Ketika diatur dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings), hanya entri `allowedDomains` dari pengaturan yang dikelola yang dihormati dan entri dari pengaturan pengguna, proyek, atau lokal diabaikan. Tidak berpengaruh ketika diatur melalui opsi SDK |

4304| `allowLocalBinding` | `boolean` | `false` | Izinkan proses untuk mengikat ke port lokal (misalnya, untuk dev server) |4302| `allowLocalBinding` | `boolean` | `false` | Izinkan proses untuk mengikat ke port lokal (misalnya, untuk dev server) |

4305| `allowUnixSockets` | `string[]` | `[]` | Jalur Unix socket yang dapat diakses proses (misalnya, Docker socket) |4303| `allowUnixSockets` | `string[]` | `[]` | Jalur Unix socket yang dapat diakses proses (misalnya, Docker socket) |

4306| `allowAllUnixSockets` | `boolean` | `false` | Izinkan akses ke semua Unix socket |4304| `allowAllUnixSockets` | `boolean` | `false` | Izinkan akses ke semua Unix socket |


4308| `socksProxyPort` | `number` | `undefined` | Port proxy SOCKS untuk permintaan jaringan |4306| `socksProxyPort` | `number` | `undefined` | Port proxy SOCKS untuk permintaan jaringan |

4309 4307 

4310<Note>4308<Note>

4311 Proxy sandbox bawaan memberlakukan `allowedDomains` berdasarkan nama host yang diminta dan tidak menghentikan atau memeriksa lalu lintas TLS, sehingga teknik seperti [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) dapat berpotensi melewatinya. Lihat [Batasan keamanan sandboxing](/id/sandboxing#security-limitations) untuk detail dan [Penyebaran aman](/id/agent-sdk/secure-deployment#traffic-forwarding) untuk mengonfigurasi proxy yang menghentikan TLS.4309 Proxy sandbox bawaan memberlakukan `allowedDomains` berdasarkan nama host yang diminta dan tidak menghentikan atau memeriksa lalu lintas TLS, sehingga teknik seperti [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) dapat berpotensi melewatinya. Lihat [Batasan keamanan sandboxing](/docs/id/sandboxing#security-limitations) untuk detail dan [Penyebaran aman](/docs/id/agent-sdk/secure-deployment#traffic-forwarding) untuk mengonfigurasi proxy yang menghentikan TLS.

4312</Note>4310</Note>

4313 4311 

4314<h3 id="sandboxfilesystemconfig">4312<h3 id="sandboxfilesystemconfig">


4386<Warning>4384<Warning>

4387 Perintah yang berjalan dengan `dangerouslyDisableSandbox: true` memiliki akses sistem penuh. Pastikan handler `canUseTool` Anda memvalidasi permintaan ini dengan hati-hati.4385 Perintah yang berjalan dengan `dangerouslyDisableSandbox: true` memiliki akses sistem penuh. Pastikan handler `canUseTool` Anda memvalidasi permintaan ini dengan hati-hati.

4388 4386 

4389 Jika `permissionMode` diatur ke `bypassPermissions` dan `allowUnsandboxedCommands` diaktifkan, model dapat secara otonom mengeksekusi perintah di luar sandbox tanpa prompt persetujuan apa pun (aturan [`ask`](/id/agent-sdk/permissions#how-permissions-are-evaluated) eksplisit masih memaksa satu). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.4387 Jika `permissionMode` diatur ke `bypassPermissions` dan `allowUnsandboxedCommands` diaktifkan, model dapat secara otonom mengeksekusi perintah di luar sandbox tanpa prompt persetujuan apa pun (aturan [`ask`](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) eksplisit masih memaksa satu). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.

4390</Warning>4388</Warning>

4391 4389 

4392<h2 id="see-also">4390<h2 id="see-also">

4393 Lihat juga4391 Lihat juga

4394</h2>4392</h2>

4395 4393 

4396* [Gambaran umum SDK](/id/agent-sdk/overview) - Konsep SDK umum4394* [Gambaran umum SDK](/docs/id/agent-sdk/overview) - Konsep SDK umum

4397* [Referensi SDK Python](/id/agent-sdk/python) - Dokumentasi SDK Python4395* [Referensi SDK Python](/docs/id/agent-sdk/python) - Dokumentasi SDK Python

4398* [Referensi CLI](/id/cli-reference) - Antarmuka baris perintah4396* [Referensi CLI](/docs/id/cli-reference) - Antarmuka baris perintah

4399* [Alur kerja umum](/id/common-workflows) - Panduan langkah demi langkah4397* [Alur kerja umum](/docs/id/common-workflows) - Panduan langkah demi langkah

Details

12 12 

13Untuk pertanyaan klarifikasi, Claude menghasilkan pertanyaan dan opsi. Peran Anda adalah menyajikannya kepada pengguna dan mengembalikan pilihan mereka. Anda tidak dapat menambahkan pertanyaan Anda sendiri ke alur ini; jika Anda perlu menanyakan sesuatu kepada pengguna, lakukan itu secara terpisah dalam logika aplikasi Anda.13Untuk pertanyaan klarifikasi, Claude menghasilkan pertanyaan dan opsi. Peran Anda adalah menyajikannya kepada pengguna dan mengembalikan pilihan mereka. Anda tidak dapat menambahkan pertanyaan Anda sendiri ke alur ini; jika Anda perlu menanyakan sesuatu kepada pengguna, lakukan itu secara terpisah dalam logika aplikasi Anda.

14 14 

15Callback dapat tetap tertunda tanpa batas waktu. Eksekusi tetap dijeda sampai callback Anda kembali, dan SDK hanya membatalkan tunggu ketika kueri itu sendiri dibatalkan. Jika pengguna mungkin membutuhkan waktu lebih lama untuk merespons daripada yang dapat ditahan proses Anda, kembalikan keputusan [`defer` hook](/id/hooks#defer-a-tool-call-for-later), yang memungkinkan proses keluar dan dilanjutkan nanti dari sesi yang disimpan.15Callback dapat tetap tertunda tanpa batas waktu. Eksekusi tetap dijeda sampai callback Anda kembali, dan SDK hanya membatalkan tunggu ketika kueri itu sendiri dibatalkan. Jika pengguna mungkin membutuhkan waktu lebih lama untuk merespons daripada yang dapat ditahan proses Anda, kembalikan keputusan [`defer` hook](/docs/id/hooks#defer-a-tool-call-for-later), yang memungkinkan proses keluar dan dilanjutkan nanti dari sesi yang disimpan.

16 16 

17Panduan ini menunjukkan cara mendeteksi setiap jenis permintaan dan merespons dengan tepat.17Panduan ini menunjukkan cara mendeteksi setiap jenis permintaan dan merespons dengan tepat.

18 18 


44 44 

45Callback dipicu dalam dua kasus:45Callback dipicu dalam dua kasus:

46 46 

471. **Alat membutuhkan persetujuan**: Claude ingin menggunakan alat yang tidak disetujui secara otomatis oleh [aturan izin](/id/agent-sdk/permissions) atau mode izin. Periksa `tool_name` untuk alat (misalnya, `"Bash"`, `"Write"`).471. **Alat membutuhkan persetujuan**: Claude ingin menggunakan alat yang tidak disetujui secara otomatis oleh [aturan izin](/docs/id/agent-sdk/permissions) atau mode izin. Periksa `tool_name` untuk alat (misalnya, `"Bash"`, `"Write"`).

482. **Claude mengajukan pertanyaan**: Claude memanggil alat `AskUserQuestion`. Periksa apakah `tool_name == "AskUserQuestion"` untuk menanganinya secara berbeda. Jika Anda menentukan array `tools`, sertakan `AskUserQuestion` agar ini berfungsi. Lihat [Menangani pertanyaan klarifikasi](#handle-clarifying-questions) untuk detail.482. **Claude mengajukan pertanyaan**: Claude memanggil alat `AskUserQuestion`. Periksa apakah `tool_name == "AskUserQuestion"` untuk menanganinya secara berbeda. Jika Anda menentukan array `tools`, sertakan `AskUserQuestion` agar ini berfungsi. Lihat [Menangani pertanyaan klarifikasi](#handle-clarifying-questions) untuk detail.

49 49 

50<Warning>50<Warning>

51 **Callback tidak pernah dipicu untuk alat yang disetujui secara otomatis.** Setiap persetujuan sebelumnya dalam [alur evaluasi izin](/id/agent-sdk/permissions#how-permissions-are-evaluated), aturan izin atau mode seperti `acceptEdits` atau `bypassPermissions`, menyelesaikan panggilan sebelum `canUseTool` dikonsultasikan. Jika Anda mencantumkan alat secara langsung dalam `allowed_tools`, pemeriksaan `canUseTool` untuk alat tersebut tidak pernah berjalan kecuali aturan ask atau mode `plan` mengarahkan panggilan kembali ke prompt. Untuk logika yang harus diterapkan ke setiap panggilan alat, gunakan [hook `PreToolUse`](/id/agent-sdk/hooks), yang dijalankan sebelum sisa alur dan dapat mengizinkan, menolak, atau memodifikasi permintaan.51 **Callback tidak pernah dipicu untuk alat yang disetujui secara otomatis.** Setiap persetujuan sebelumnya dalam [alur evaluasi izin](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated), aturan izin atau mode seperti `acceptEdits` atau `bypassPermissions`, menyelesaikan panggilan sebelum `canUseTool` dikonsultasikan. Jika Anda mencantumkan alat secara langsung dalam `allowed_tools`, pemeriksaan `canUseTool` untuk alat tersebut tidak pernah berjalan kecuali aturan ask atau mode `plan` mengarahkan panggilan kembali ke prompt. Untuk logika yang harus diterapkan ke setiap panggilan alat, gunakan [hook `PreToolUse`](/docs/id/agent-sdk/hooks), yang dijalankan sebelum sisa alur dan dapat mengizinkan, menolak, atau memodifikasi permintaan.

52 52 

53 `AskUserQuestion`, alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) mencapai callback bahkan ketika aturan izin cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggil callback.53 `AskUserQuestion`, alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [yang organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) mencapai callback bahkan ketika aturan izin cocok. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggil callback.

54</Warning>54</Warning>

55 55 

56Anda juga dapat menggunakan [hook `PermissionRequest`](/id/agent-sdk/hooks#available-hooks) untuk mengirim notifikasi eksternal (Slack, email, push) ketika Claude menunggu persetujuan.56Anda juga dapat menggunakan [hook `PermissionRequest`](/docs/id/agent-sdk/hooks#available-hooks) untuk mengirim notifikasi eksternal (Slack, email, push) ketika Claude menunggu persetujuan.

57 57 

58<h2 id="handle-tool-approval-requests">58<h2 id="handle-tool-approval-requests">

59 Menangani permintaan persetujuan alat59 Menangani permintaan persetujuan alat


65| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |65| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

66| `toolName` | Nama alat yang ingin digunakan Claude (misalnya, `"Bash"`, `"Write"`, `"Edit"`) |66| `toolName` | Nama alat yang ingin digunakan Claude (misalnya, `"Bash"`, `"Write"`, `"Edit"`) |

67| `input` | Parameter yang diteruskan Claude ke alat. Isi bervariasi menurut alat. |67| `input` | Parameter yang diteruskan Claude ke alat. Isi bervariasi menurut alat. |

68| `options` (TS) / `context` (Python) | Konteks tambahan termasuk `suggestions` opsional (entri `PermissionUpdate` yang diusulkan untuk menghindari permintaan ulang) dan sinyal pembatalan. Di TypeScript, `signal` adalah `AbortSignal`; di Python, bidang sinyal dicadangkan untuk penggunaan di masa depan. Lihat [`ToolPermissionContext`](/id/agent-sdk/python#toolpermissioncontext) untuk Python. |68| `options` (TS) / `context` (Python) | Konteks tambahan termasuk `suggestions` opsional (entri `PermissionUpdate` yang diusulkan untuk menghindari permintaan ulang) dan sinyal pembatalan. Di TypeScript, `signal` adalah `AbortSignal`; di Python, bidang sinyal dicadangkan untuk penggunaan di masa depan. Lihat [`ToolPermissionContext`](/docs/id/agent-sdk/python#toolpermissioncontext) untuk Python. |

69 69 

70Objek `input` berisi parameter khusus alat. Contoh umum:70Objek `input` berisi parameter khusus alat. Contoh umum:

71 71 


76| `Edit` | `file_path`, `old_string`, `new_string` |76| `Edit` | `file_path`, `old_string`, `new_string` |

77| `Read` | `file_path`, `offset`, `limit` |77| `Read` | `file_path`, `offset`, `limit` |

78 78 

79Lihat referensi SDK untuk skema input lengkap: [Python](/id/agent-sdk/python#tool-input%2Foutput-types) | [TypeScript](/id/agent-sdk/typescript#tool-input-types).79Lihat referensi SDK untuk skema input lengkap: [Python](/docs/id/agent-sdk/python#tool-input%2Foutput-types) | [TypeScript](/docs/id/agent-sdk/typescript#tool-input-types).

80 80 

81Anda dapat menampilkan informasi ini kepada pengguna sehingga mereka dapat memutuskan apakah akan mengizinkan atau menolak tindakan, kemudian kembalikan respons yang sesuai.81Anda dapat menampilkan informasi ini kepada pengguna sehingga mereka dapat memutuskan apakah akan mengizinkan atau menolak tindakan, kemudian kembalikan respons yang sesuai.

82 82 


200</CodeGroup>200</CodeGroup>

201 201 

202<Note>202<Note>

203 Di Python, `can_use_tool` memerlukan [mode streaming](/id/agent-sdk/streaming-vs-single-mode). Ketika Anda melewatkan aliran pesan terbatas melalui `query(prompt=generator)` atau `ClaudeSDKClient.connect(prompt=async_iterable)`, SDK menutup aliran input setelah pesan terakhir, sebelum callback izin dapat dipanggil, kecuali hook terdaftar atau server MCP dalam proses menjaganya tetap terbuka. Contoh di atas menjaganya tetap terbuka dengan hook `PreToolUse` yang mengembalikan `{"continue_": True}`. Menghubungkan tanpa prompt dan mengirim pesan melalui `ClaudeSDKClient.query()` menjaga aliran tetap terbuka dengan sendirinya dan tidak memerlukan hook.203 Di Python, `can_use_tool` memerlukan [mode streaming](/docs/id/agent-sdk/streaming-vs-single-mode). Ketika Anda melewatkan aliran pesan terbatas melalui `query(prompt=generator)` atau `ClaudeSDKClient.connect(prompt=async_iterable)`, SDK menutup aliran input setelah pesan terakhir, sebelum callback izin dapat dipanggil, kecuali hook terdaftar atau server MCP dalam proses menjaganya tetap terbuka. Contoh di atas menjaganya tetap terbuka dengan hook `PreToolUse` yang mengembalikan `{"continue_": True}`. Menghubungkan tanpa prompt dan mengirim pesan melalui `ClaudeSDKClient.query()` menjaga aliran tetap terbuka dengan sendirinya dan tidak memerlukan hook.

204</Note>204</Note>

205 205 

206Contoh ini menggunakan alur `y/n` di mana input apa pun selain `y` diperlakukan sebagai penolakan. Dalam praktik, Anda mungkin membangun UI yang lebih kaya yang memungkinkan pengguna memodifikasi permintaan, memberikan umpan balik, atau mengarahkan Claude sepenuhnya. Lihat [Merespons permintaan alat](#respond-to-tool-requests) untuk semua cara Anda dapat merespons.206Contoh ini menggunakan alur `y/n` di mana input apa pun selain `y` diperlakukan sebagai penolakan. Dalam praktik, Anda mungkin membangun UI yang lebih kaya yang memungkinkan pengguna memodifikasi permintaan, memberikan umpan balik, atau mengarahkan Claude sepenuhnya. Lihat [Merespons permintaan alat](#respond-to-tool-requests) untuk semua cara Anda dapat merespons.


216| **Izinkan** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |216| **Izinkan** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |

217| **Tolak** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |217| **Tolak** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |

218 218 

219Saat mengizinkan, alat berjalan dengan input yang diminta Claude kecuali Anda mengembalikan input yang dimodifikasi, `updatedInput` di TypeScript atau `updated_input` di Python. {/* min-version: 2.1.207 */}Sebelum v2.1.207, Claude Code menolak hasil izin yang menghilangkan `updatedInput` dan menolak panggilan alat dengan kesalahan validasi.219Saat mengizinkan, alat berjalan dengan input yang diminta Claude kecuali Anda mengembalikan input yang dimodifikasi, `updatedInput` di TypeScript atau `updated_input` di Python. Sebelum v2.1.207, Claude Code menolak hasil izin yang menghilangkan `updatedInput` dan menolak panggilan alat dengan kesalahan validasi.

220 220 

221Saat menolak, berikan pesan yang menjelaskan alasannya. Claude melihat pesan ini dan mungkin menyesuaikan pendekatannya.221Saat menolak, berikan pesan yang menjelaskan alasannya. Claude melihat pesan ini dan mungkin menyesuaikan pendekatannya.

222 222 


247* **Setujui dan ingat**: kembalikan aturan izin yang disarankan sehingga panggilan yang cocok melewati prompt berikutnya247* **Setujui dan ingat**: kembalikan aturan izin yang disarankan sehingga panggilan yang cocok melewati prompt berikutnya

248* **Tolak**: blokir alat dan beri tahu Claude mengapa248* **Tolak**: blokir alat dan beri tahu Claude mengapa

249* **Sarankan alternatif**: blokir tetapi arahkan Claude ke arah yang diinginkan pengguna249* **Sarankan alternatif**: blokir tetapi arahkan Claude ke arah yang diinginkan pengguna

250* **Alihkan sepenuhnya**: gunakan [input streaming](/id/agent-sdk/streaming-vs-single-mode) untuk mengirim Claude instruksi yang sepenuhnya baru250* **Alihkan sepenuhnya**: gunakan [input streaming](/docs/id/agent-sdk/streaming-vs-single-mode) untuk mengirim Claude instruksi yang sepenuhnya baru

251 251 

252<Tabs>252<Tabs>

253 <Tab title="Setujui">253 <Tab title="Setujui">


311 </Tab>311 </Tab>

312 312 

313 <Tab title="Setujui dan ingat">313 <Tab title="Setujui dan ingat">

314 Pengguna menyetujui dan tidak ingin ditanya lagi untuk jenis panggilan ini. Argumen callback ketiga membawa `suggestions`, sebuah array entri [`PermissionUpdate`](/id/agent-sdk/typescript#permissionupdate) yang sudah jadi. Kembalikan satu di `updatedPermissions` untuk menerapkannya. Saran dengan tujuan `localSettings` menulis aturan ke `.claude/settings.local.json` sehingga sesi mendatang melewati prompt untuk panggilan yang cocok.314 Pengguna menyetujui dan tidak ingin ditanya lagi untuk jenis panggilan ini. Argumen callback ketiga membawa `suggestions`, sebuah array entri [`PermissionUpdate`](/docs/id/agent-sdk/typescript#permissionupdate) yang sudah jadi. Kembalikan satu di `updatedPermissions` untuk menerapkannya. Saran dengan tujuan `localSettings` menulis aturan ke `.claude/settings.local.json` sehingga sesi mendatang melewati prompt untuk panggilan yang cocok.

315 315 

316 Contoh Python memerlukan `claude-agent-sdk` 0.1.80 atau lebih baru.316 Contoh Python memerlukan `claude-agent-sdk` 0.1.80 atau lebih baru.

317 317 


415 </Tab>415 </Tab>

416 416 

417 <Tab title="Alihkan sepenuhnya">417 <Tab title="Alihkan sepenuhnya">

418 Untuk perubahan arah yang lengkap (bukan hanya dorongan), gunakan [input streaming](/id/agent-sdk/streaming-vs-single-mode) untuk mengirim Claude instruksi baru secara langsung. Ini melewati permintaan alat saat ini dan memberikan Claude instruksi yang sepenuhnya baru untuk diikuti.418 Untuk perubahan arah yang lengkap (bukan hanya dorongan), gunakan [input streaming](/docs/id/agent-sdk/streaming-vs-single-mode) untuk mengirim Claude instruksi baru secara langsung. Ini melewati permintaan alat saat ini dan memberikan Claude instruksi yang sepenuhnya baru untuk diikuti.

419 </Tab>419 </Tab>

420</Tabs>420</Tabs>

421 421 


426Ketika Claude membutuhkan lebih banyak arahan tentang tugas dengan beberapa pendekatan yang valid, Claude memanggil alat `AskUserQuestion`. Ini memicu callback `canUseTool` Anda dengan `toolName` diatur ke `AskUserQuestion`. Input berisi pertanyaan Claude sebagai opsi pilihan ganda, yang Anda tampilkan kepada pengguna dan kembalikan pilihan mereka.426Ketika Claude membutuhkan lebih banyak arahan tentang tugas dengan beberapa pendekatan yang valid, Claude memanggil alat `AskUserQuestion`. Ini memicu callback `canUseTool` Anda dengan `toolName` diatur ke `AskUserQuestion`. Input berisi pertanyaan Claude sebagai opsi pilihan ganda, yang Anda tampilkan kepada pengguna dan kembalikan pilihan mereka.

427 427 

428<Tip>428<Tip>

429 Pertanyaan klarifikasi sangat umum dalam [mode `plan`](/id/agent-sdk/permissions#plan-mode-plan), di mana Claude menjelajahi basis kode dan mengajukan pertanyaan sebelum mengusulkan rencana. Ini membuat mode plan ideal untuk alur kerja interaktif di mana Anda ingin Claude mengumpulkan persyaratan sebelum membuat perubahan.429 Pertanyaan klarifikasi sangat umum dalam [mode `plan`](/docs/id/agent-sdk/permissions#plan-mode-plan), di mana Claude menjelajahi basis kode dan mengajukan pertanyaan sebelum mengusulkan rencana. Ini membuat mode plan ideal untuk alur kerja interaktif di mana Anda ingin Claude mengumpulkan persyaratan sebelum membuat perubahan.

430</Tip>430</Tip>

431 431 

432Langkah-langkah berikut menunjukkan cara menangani pertanyaan klarifikasi:432Langkah-langkah berikut menunjukkan cara menangani pertanyaan klarifikasi:


864 Input streaming864 Input streaming

865</h3>865</h3>

866 866 

867Gunakan [input streaming](/id/agent-sdk/streaming-vs-single-mode) ketika Anda perlu:867Gunakan [input streaming](/docs/id/agent-sdk/streaming-vs-single-mode) ketika Anda perlu:

868 868 

869* **Mengganggu agen di tengah-tugas**: kirim sinyal pembatalan atau ubah arah saat Claude sedang bekerja869* **Mengganggu agen di tengah-tugas**: kirim sinyal pembatalan atau ubah arah saat Claude sedang bekerja

870* **Memberikan konteks tambahan**: tambahkan informasi yang dibutuhkan Claude tanpa menunggu untuk ditanya870* **Memberikan konteks tambahan**: tambahkan informasi yang dibutuhkan Claude tanpa menunggu untuk ditanya


876 Alat kustom876 Alat kustom

877</h3>877</h3>

878 878 

879Gunakan [alat kustom](/id/agent-sdk/custom-tools) ketika Anda perlu:879Gunakan [alat kustom](/docs/id/agent-sdk/custom-tools) ketika Anda perlu:

880 880 

881* **Mengumpulkan input terstruktur**: bangun formulir, wizard, atau alur kerja multi-langkah yang melampaui format pilihan ganda `AskUserQuestion`881* **Mengumpulkan input terstruktur**: bangun formulir, wizard, atau alur kerja multi-langkah yang melampaui format pilihan ganda `AskUserQuestion`

882* **Mengintegrasikan sistem persetujuan eksternal**: terhubung ke platform tiket, alur kerja, atau persetujuan yang ada882* **Mengintegrasikan sistem persetujuan eksternal**: terhubung ke platform tiket, alur kerja, atau persetujuan yang ada


888 Sumber daya terkait888 Sumber daya terkait

889</h2>889</h2>

890 890 

891* [Konfigurasi izin](/id/agent-sdk/permissions): atur mode dan aturan izin891* [Konfigurasi izin](/docs/id/agent-sdk/permissions): atur mode dan aturan izin

892* [Kontrol eksekusi dengan hooks](/id/agent-sdk/hooks): jalankan kode kustom di titik-titik kunci dalam siklus hidup agen892* [Kontrol eksekusi dengan hooks](/docs/id/agent-sdk/hooks): jalankan kode kustom di titik-titik kunci dalam siklus hidup agen

893* [Referensi TypeScript SDK](/id/agent-sdk/typescript#canusetool): dokumentasi API canUseTool lengkap893* [Referensi TypeScript SDK](/docs/id/agent-sdk/typescript#canusetool): dokumentasi API canUseTool lengkap

agent-teams.md +30 −30

Details

7> Koordinasikan beberapa instance Claude Code yang bekerja bersama sebagai tim, dengan tugas bersama, pesan antar-agent, dan manajemen terpusat.7> Koordinasikan beberapa instance Claude Code yang bekerja bersama sebagai tim, dengan tugas bersama, pesan antar-agent, dan manajemen terpusat.

8 8 

9<Warning>9<Warning>

10 Tim agent bersifat eksperimental dan dinonaktifkan secara default. Aktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` ke [settings.json](/id/settings) atau environment Anda. Tanpa variabel tersebut, tidak ada tim yang diatur pada awal session, tidak ada direktori tim yang ditulis, dan Claude tidak menspawn atau mengusulkan rekan tim. Tim agent memiliki [keterbatasan yang diketahui](#limitations) seputar session resumption, koordinasi tugas, dan perilaku shutdown.10 Tim agent bersifat eksperimental dan dinonaktifkan secara default. Aktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` ke [settings.json](/docs/id/settings) atau environment Anda. Tanpa variabel tersebut, tidak ada tim yang diatur pada awal session, tidak ada direktori tim yang ditulis, dan Claude tidak menspawn atau mengusulkan rekan tim. Tim agent memiliki [keterbatasan yang diketahui](#limitations) seputar session resumption, koordinasi tugas, dan perilaku shutdown.

11</Warning>11</Warning>

12 12 

13Tim agent memungkinkan Anda mengoordinasikan beberapa instance Claude Code yang bekerja bersama. Satu session bertindak sebagai team lead, mengoordinasikan pekerjaan, menugaskan tugas, dan mensintesis hasil. Rekan tim bekerja secara independen, masing-masing dalam context window-nya sendiri, dan berkomunikasi langsung satu sama lain.13Tim agent memungkinkan Anda mengoordinasikan beberapa instance Claude Code yang bekerja bersama. Satu session bertindak sebagai team lead, mengoordinasikan pekerjaan, menugaskan tugas, dan mensintesis hasil. Rekan tim bekerja secara independen, masing-masing dalam context window-nya sendiri, dan berkomunikasi langsung satu sama lain.

14 14 

15Tidak seperti [subagents](/id/sub-agents), yang berjalan dalam satu session dan hanya dapat melaporkan kembali ke agent utama, Anda juga dapat berinteraksi dengan rekan tim individual secara langsung tanpa melalui lead.15Tidak seperti [subagents](/docs/id/sub-agents), yang berjalan dalam satu session dan hanya dapat melaporkan kembali ke agent utama, Anda juga dapat berinteraksi dengan rekan tim individual secara langsung tanpa melalui lead.

16 16 

17<Note>17<Note>

18 Halaman ini menjelaskan tim agent per v2.1.178. Dengan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` diatur, menspawn rekan tim tidak lagi memerlukan langkah setup, dan cleanup terjadi secara otomatis ketika session keluar. Sebelum v2.1.178, Anda meminta Claude untuk membuat dan memberi nama tim terlebih dahulu, dan Claude menggunakan tools `TeamCreate` dan `TeamDelete` untuk mengaturnya dan menghapusnya. Kedua tools tidak lagi ada. Input `team_name` pada tool Agent diterima tetapi diabaikan, dan field `team_name` dalam [hook payloads](/id/hooks#taskcreated) `TaskCreated`, `TaskCompleted`, dan `TeammateIdle` membawa nama yang diturunkan dari session dan sudah usang.18 Halaman ini menjelaskan tim agent per v2.1.178. Dengan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` diatur, menspawn rekan tim tidak lagi memerlukan langkah setup, dan cleanup terjadi secara otomatis ketika session keluar. Sebelum v2.1.178, Anda meminta Claude untuk membuat dan memberi nama tim terlebih dahulu, dan Claude menggunakan tools `TeamCreate` dan `TeamDelete` untuk mengaturnya dan menghapusnya. Kedua tools tidak lagi ada. Input `team_name` pada tool Agent diterima tetapi diabaikan, dan field `team_name` dalam [hook payloads](/docs/id/hooks#taskcreated) `TaskCreated`, `TaskCompleted`, dan `TeammateIdle` membawa nama yang diturunkan dari session dan sudah usang.

19</Note>19</Note>

20 20 

21<h2 id="when-to-use-agent-teams">21<h2 id="when-to-use-agent-teams">


29* **Debugging dengan hipotesis bersaing**: rekan tim menguji teori berbeda secara paralel dan berkumpul pada jawaban lebih cepat29* **Debugging dengan hipotesis bersaing**: rekan tim menguji teori berbeda secara paralel dan berkumpul pada jawaban lebih cepat

30* **Koordinasi lintas-layer**: perubahan yang mencakup frontend, backend, dan tests, masing-masing dimiliki oleh rekan tim berbeda30* **Koordinasi lintas-layer**: perubahan yang mencakup frontend, backend, dan tests, masing-masing dimiliki oleh rekan tim berbeda

31 31 

32Tim agent menambah overhead koordinasi dan menggunakan token secara signifikan lebih banyak daripada satu session. Mereka bekerja paling baik ketika rekan tim dapat beroperasi secara independen. Untuk tugas sekuensial, edit file yang sama, atau pekerjaan dengan banyak dependensi, satu session atau [subagents](/id/sub-agents) lebih efektif.32Tim agent menambah overhead koordinasi dan menggunakan token secara signifikan lebih banyak daripada satu session. Mereka bekerja paling baik ketika rekan tim dapat beroperasi secara independen. Untuk tugas sekuensial, edit file yang sama, atau pekerjaan dengan banyak dependensi, satu session atau [subagents](/docs/id/sub-agents) lebih efektif.

33 33 

34<h3 id="compare-with-subagents">34<h3 id="compare-with-subagents">

35 Bandingkan dengan subagents35 Bandingkan dengan subagents

36</h3>36</h3>

37 37 

38Baik tim agent maupun [subagents](/id/sub-agents) memungkinkan Anda memparalelkan pekerjaan, tetapi mereka beroperasi berbeda. Pilih berdasarkan apakah pekerja Anda perlu berkomunikasi satu sama lain:38Baik tim agent maupun [subagents](/docs/id/sub-agents) memungkinkan Anda memparalelkan pekerjaan, tetapi mereka beroperasi berbeda. Pilih berdasarkan apakah pekerja Anda perlu berkomunikasi satu sama lain:

39 39 

40<Frame caption="Subagents hanya melaporkan hasil kembali ke agent utama dan tidak pernah berbicara satu sama lain. Dalam tim agent, rekan tim berbagi daftar tugas, mengklaim pekerjaan, dan berkomunikasi langsung satu sama lain.">40<Frame caption="Subagents hanya melaporkan hasil kembali ke agent utama dan tidak pernah berbicara satu sama lain. Dalam tim agent, rekan tim berbagi daftar tugas, mengklaim pekerjaan, dan berkomunikasi langsung satu sama lain.">

41 <img src="https://mintcdn.com/claude-code/nsvRFSDNfpSU5nT7/images/subagents-vs-agent-teams-light.png?fit=max&auto=format&n=nsvRFSDNfpSU5nT7&q=85&s=2f8db9b4f3705dd3ab931fbe2d96e42a" className="dark:hidden" alt="Diagram membandingkan arsitektur subagent dan tim agent. Subagents dihasilkan oleh agent utama, melakukan pekerjaan, dan melaporkan hasil kembali. Tim agent berkoordinasi melalui daftar tugas bersama, dengan rekan tim berkomunikasi langsung satu sama lain." width="4245" height="1615" data-path="images/subagents-vs-agent-teams-light.png" />41 <img src="https://mintcdn.com/claude-code/nsvRFSDNfpSU5nT7/images/subagents-vs-agent-teams-light.png?fit=max&auto=format&n=nsvRFSDNfpSU5nT7&q=85&s=2f8db9b4f3705dd3ab931fbe2d96e42a" className="dark:hidden" alt="Diagram membandingkan arsitektur subagent dan tim agent. Subagents dihasilkan oleh agent utama, melakukan pekerjaan, dan melaporkan hasil kembali. Tim agent berkoordinasi melalui daftar tugas bersama, dengan rekan tim berkomunikasi langsung satu sama lain." width="4245" height="1615" data-path="images/subagents-vs-agent-teams-light.png" />


57 Aktifkan tim agent57 Aktifkan tim agent

58</h2>58</h2>

59 59 

60Tim agent dinonaktifkan secara default. Aktifkan dengan mengatur variabel environment `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` ke `1`, baik di environment shell Anda atau melalui [settings.json](/id/settings):60Tim agent dinonaktifkan secara default. Aktifkan dengan mengatur variabel environment `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` ke `1`, baik di environment shell Anda atau melalui [settings.json](/docs/id/settings):

61 61 

62```json settings.json theme={null}62```json settings.json theme={null}

63{63{


81satu pada UX, satu pada arsitektur teknis, satu memainkan devil's advocate.81satu pada UX, satu pada arsitektur teknis, satu memainkan devil's advocate.

82```82```

83 83 

84Dari sana, Claude mengisi [daftar tugas bersama](/id/interactive-mode#task-list), menelurkan rekan tim untuk setiap perspektif, membuat mereka mengeksplorasi masalah, dan mensintesis temuan ketika selesai.84Dari sana, Claude mengisi [daftar tugas bersama](/docs/id/interactive-mode#task-list), menelurkan rekan tim untuk setiap perspektif, membuat mereka mengeksplorasi masalah, dan mensintesis temuan ketika selesai.

85 85 

86Panel lead mencantumkan rekan tim di panel agent di bawah input prompt. Dari panel:86Panel lead mencantumkan rekan tim di panel agent di bawah input prompt. Dari panel:

87 87 


89* **Enter**: buka transkrip rekan tim yang dipilih dan kirim pesan langsung kepadanya89* **Enter**: buka transkrip rekan tim yang dipilih dan kirim pesan langsung kepadanya

90* **Escape**: hentikan giliran saat ini rekan tim yang dipilih90* **Escape**: hentikan giliran saat ini rekan tim yang dipilih

91 91 

92{/* min-version: 2.1.199 */}Mulai dari v2.1.199, baris rekan tim yang idle tetap berada di panel sementara rekan tim atau subagent mana pun masih bekerja, sehingga Anda dapat memilihnya untuk meninjau transkrip atau memberikan pekerjaan lebih lanjut. Setelah setiap agent di panel idle, baris idle bersembunyi setelah 30 detik dan muncul kembali pada giliran berikutnya rekan tim; rekan tim tetap berjalan dan dapat dialamatkan saat tersembunyi. Di v2.1.181 hingga v2.1.198, baris idle bersembunyi 30 detik setelah giliran sendirinya berakhir, bahkan sementara rekan tim lain masih bekerja; baris idle tidak disembunyikan di versi sebelum v2.1.181.92Mulai dari v2.1.199, baris rekan tim yang idle tetap berada di panel sementara rekan tim atau subagent mana pun masih bekerja, sehingga Anda dapat memilihnya untuk meninjau transkrip atau memberikan pekerjaan lebih lanjut. Setelah setiap agent di panel idle, baris idle bersembunyi setelah 30 detik dan muncul kembali pada giliran berikutnya rekan tim; rekan tim tetap berjalan dan dapat dialamatkan saat tersembunyi. Di v2.1.181 hingga v2.1.198, baris idle bersembunyi 30 detik setelah giliran sendirinya berakhir, bahkan sementara rekan tim lain masih bekerja; baris idle tidak disembunyikan di versi sebelum v2.1.181.

93 93 

94Ketika lebih dari tiga rekan tim idle sekaligus, baris di luar tiga pertama runtuh menjadi satu baris yang menghitung rekan tim yang runtuh, seperti `2 idle agents` ketika lima idle. Pilih dan tekan Enter untuk memperluas baris yang runtuh, atau tekan Esc untuk meruntuhkannya lagi. Rekan tim yang bekerja, rekan tim yang gagal, dan rekan tim yang Anda lihat selalu mempertahankan baris mereka sendiri.94Ketika lebih dari tiga rekan tim idle sekaligus, baris di luar tiga pertama runtuh menjadi satu baris yang menghitung rekan tim yang runtuh, seperti `2 idle agents` ketika lima idle. Pilih dan tekan Enter untuk memperluas baris yang runtuh, atau tekan Esc untuk meruntuhkannya lagi. Rekan tim yang bekerja, rekan tim yang gagal, dan rekan tim yang Anda lihat selalu mempertahankan baris mereka sendiri.

95 95 


116 116 

117Default adalah `"in-process"`. Sebelum v2.1.179 default adalah `"auto"`, jadi session yang ditingkatkan yang sebelumnya membuka split panes sekarang tetap dalam satu terminal kecuali Anda menetapkan mode secara eksplisit. Atur `"auto"` untuk mengaktifkan split panes ketika Anda sudah berjalan di dalam session tmux, atau ketika terminal Anda adalah iTerm2 dengan CLI `it2` yang terinstal, jatuh kembali ke in-process sebaliknya. Pengaturan `"tmux"` mengaktifkan mode split-pane dan auto-detects apakah akan menggunakan tmux atau iTerm2 berdasarkan terminal Anda.117Default adalah `"in-process"`. Sebelum v2.1.179 default adalah `"auto"`, jadi session yang ditingkatkan yang sebelumnya membuka split panes sekarang tetap dalam satu terminal kecuali Anda menetapkan mode secara eksplisit. Atur `"auto"` untuk mengaktifkan split panes ketika Anda sudah berjalan di dalam session tmux, atau ketika terminal Anda adalah iTerm2 dengan CLI `it2` yang terinstal, jatuh kembali ke in-process sebaliknya. Pengaturan `"tmux"` mengaktifkan mode split-pane dan auto-detects apakah akan menggunakan tmux atau iTerm2 berdasarkan terminal Anda.

118 118 

119{/* min-version: 2.1.186 */}Mulai dari v2.1.186, atur `"iterm2"` untuk menggunakan iTerm2 native split panes secara eksplisit. Mode ini memerlukan [`it2` CLI](https://github.com/mkusaka/it2) dan menampilkan error dengan perintah install jika `it2` hilang. Prompt setup yang menawarkan untuk menginstal `it2` atau beralih ke tmux muncul di bawah `"auto"` atau `"tmux"` ketika terminal Anda adalah iTerm2 dan tmux tersedia sebagai fallback.119Mulai dari v2.1.186, atur `"iterm2"` untuk menggunakan iTerm2 native split panes secara eksplisit. Mode ini memerlukan [`it2` CLI](https://github.com/mkusaka/it2) dan menampilkan error dengan perintah install jika `it2` hilang. Prompt setup yang menawarkan untuk menginstal `it2` atau beralih ke tmux muncul di bawah `"auto"` atau `"tmux"` ketika terminal Anda adalah iTerm2 dan tmux tersedia sebagai fallback.

120 120 

121Untuk mengganti default, atur [`teammateMode`](/id/settings#available-settings) di `~/.claude/settings.json`:121Untuk mengganti default, atur [`teammateMode`](/docs/id/settings#available-settings) di `~/.claude/settings.json`:

122 122 

123```json theme={null}123```json theme={null}

124{124{


150 150 

151Rekan tim tidak mewarisi pilihan `/model` lead secara default. Untuk mengubah model yang digunakan ketika prompt tidak menentukan satu, atur **Default teammate model** di `/config`. Pilih **Default (leader's model)** untuk membuat rekan tim mengikuti model saat ini lead.151Rekan tim tidak mewarisi pilihan `/model` lead secara default. Untuk mengubah model yang digunakan ketika prompt tidak menentukan satu, atur **Default teammate model** di `/config`. Pilih **Default (leader's model)** untuk membuat rekan tim mengikuti model saat ini lead.

152 152 

153{/* min-version: 2.1.186 */}Rekan tim mewarisi [effort level](/id/model-config#adjust-effort-level) lead. Dalam mode split-pane ini berlaku dari v2.1.186; versi sebelumnya tidak meneruskan effort session lead ke rekan tim split-pane.153Rekan tim mewarisi [effort level](/docs/id/model-config#adjust-effort-level) lead. Dalam mode split-pane ini berlaku dari v2.1.186; versi sebelumnya tidak meneruskan effort session lead ke rekan tim split-pane.

154 154 

155<h3 id="require-plan-approval-for-teammates">155<h3 id="require-plan-approval-for-teammates">

156 Perlukan persetujuan rencana untuk rekan tim156 Perlukan persetujuan rencana untuk rekan tim


176* **Mode in-process**: gunakan tombol panah atas dan bawah di panel agent untuk memilih rekan tim, kemudian tekan Enter untuk melihat sessionnya dan ketik untuk mengirim pesan kepadanya. Tekan `x` pada rekan tim yang dipilih untuk menghentikannya. Tekan Ctrl+T untuk toggle daftar tugas.176* **Mode in-process**: gunakan tombol panah atas dan bawah di panel agent untuk memilih rekan tim, kemudian tekan Enter untuk melihat sessionnya dan ketik untuk mengirim pesan kepadanya. Tekan `x` pada rekan tim yang dipilih untuk menghentikannya. Tekan Ctrl+T untuk toggle daftar tugas.

177* **Mode split-pane**: klik ke dalam pane rekan tim untuk berinteraksi dengan session mereka secara langsung. Setiap rekan tim memiliki tampilan penuh dari terminal mereka sendiri.177* **Mode split-pane**: klik ke dalam pane rekan tim untuk berinteraksi dengan session mereka secara langsung. Setiap rekan tim memiliki tampilan penuh dari terminal mereka sendiri.

178 178 

179Saat Anda melihat rekan tim in-process, teks biasa dan [skills](/id/skills) pergi ke rekan tim itu, tetapi perintah built-in masih berjalan dalam session lead.179Saat Anda melihat rekan tim in-process, teks biasa dan [skills](/docs/id/skills) pergi ke rekan tim itu, tetapi perintah built-in masih berjalan dalam session lead.

180 180 

181Model rekan tim dan fast mode diperbaiki ketika mereka spawn, jadi `/model` dan `/fast` hanya mengubah pengaturan lead. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, mengetik salah satu perintah saat melihat rekan tim menampilkan pemberitahuan bahwa perubahan berlaku untuk lead; versi sebelumnya menerapkannya ke lead tanpa indikasi. `/effort` masih berlaku untuk giliran rekan tim yang lebih baru, karena rekan tim mengikuti [effort level](/id/model-config#adjust-effort-level) lead.181Model rekan tim dan fast mode diperbaiki ketika mereka spawn, jadi `/model` dan `/fast` hanya mengubah pengaturan lead. Mulai dari v2.1.199, mengetik salah satu perintah saat melihat rekan tim menampilkan pemberitahuan bahwa perubahan berlaku untuk lead; versi sebelumnya menerapkannya ke lead tanpa indikasi. `/effort` masih berlaku untuk giliran rekan tim yang lebih baru, karena rekan tim mengikuti [effort level](/docs/id/model-config#adjust-effort-level) lead.

182 182 

183<h3 id="assign-and-claim-tasks">183<h3 id="assign-and-claim-tasks">

184 Tetapkan dan klaim tugas184 Tetapkan dan klaim tugas


211 Terapkan quality gates dengan hooks211 Terapkan quality gates dengan hooks

212</h3>212</h3>

213 213 

214Gunakan [hooks](/id/hooks) untuk menerapkan aturan ketika rekan tim menyelesaikan pekerjaan atau tugas dibuat atau diselesaikan:214Gunakan [hooks](/docs/id/hooks) untuk menerapkan aturan ketika rekan tim menyelesaikan pekerjaan atau tugas dibuat atau diselesaikan:

215 215 

216* [`TeammateIdle`](/id/hooks#teammateidle): berjalan ketika rekan tim akan idle. Keluar dengan kode 2 untuk mengirim umpan balik dan membuat rekan tim tetap bekerja.216* [`TeammateIdle`](/docs/id/hooks#teammateidle): berjalan ketika rekan tim akan idle. Keluar dengan kode 2 untuk mengirim umpan balik dan membuat rekan tim tetap bekerja.

217* [`TaskCreated`](/id/hooks#taskcreated): berjalan ketika tugas sedang dibuat. Keluar dengan kode 2 untuk mencegah pembuatan dan mengirim umpan balik.217* [`TaskCreated`](/docs/id/hooks#taskcreated): berjalan ketika tugas sedang dibuat. Keluar dengan kode 2 untuk mencegah pembuatan dan mengirim umpan balik.

218* [`TaskCompleted`](/id/hooks#taskcompleted): berjalan ketika tugas ditandai selesai. Keluar dengan kode 2 untuk mencegah penyelesaian dan mengirim umpan balik.218* [`TaskCompleted`](/docs/id/hooks#taskcompleted): berjalan ketika tugas ditandai selesai. Keluar dengan kode 2 untuk mencegah penyelesaian dan mengirim umpan balik.

219 219 

220<h2 id="how-agent-teams-work">220<h2 id="how-agent-teams-work">

221 Bagaimana tim agent bekerja221 Bagaimana tim agent bekerja


258* **Konfigurasi tim**: `~/.claude/teams/{team-name}/config.json`258* **Konfigurasi tim**: `~/.claude/teams/{team-name}/config.json`

259* **Daftar tugas**: `~/.claude/tasks/{team-name}/`259* **Daftar tugas**: `~/.claude/tasks/{team-name}/`

260 260 

261Claude Code menghasilkan keduanya secara otomatis saat startup sesi dan memperbarui mereka saat rekan tim bergabung, idle, atau pergi. Direktori konfigurasi tim dihapus ketika sesi berakhir. Direktori daftar tugas tetap ada secara lokal dan tidak pernah diunggah, jadi sesi yang dilanjutkan menyimpan tugas mereka. Retensi diatur oleh [`cleanupPeriodDays`](/id/settings#available-settings) yang sama yang sudah Anda kontrol untuk transkrip sesi.261Claude Code menghasilkan keduanya secara otomatis saat startup sesi dan memperbarui mereka saat rekan tim bergabung, idle, atau pergi. Direktori konfigurasi tim dihapus ketika sesi berakhir. Direktori daftar tugas tetap ada secara lokal dan tidak pernah diunggah, jadi sesi yang dilanjutkan menyimpan tugas mereka. Retensi diatur oleh [`cleanupPeriodDays`](/docs/id/settings#available-settings) yang sama yang sudah Anda kontrol untuk transkrip sesi.

262 262 

263Konfigurasi tim menyimpan status runtime seperti session IDs dan tmux pane IDs, jadi jangan mengeditnya dengan tangan atau pre-author: perubahan Anda ditimpa pada update status berikutnya.263Konfigurasi tim menyimpan status runtime seperti session IDs dan tmux pane IDs, jadi jangan mengeditnya dengan tangan atau pre-author: perubahan Anda ditimpa pada update status berikutnya.

264 264 


272 Gunakan subagent definitions untuk rekan tim272 Gunakan subagent definitions untuk rekan tim

273</h3>273</h3>

274 274 

275Ketika menghasilkan rekan tim, Anda dapat mereferensikan tipe [subagent](/id/sub-agents) dari [subagent scope](/id/sub-agents#choose-the-subagent-scope) apa pun: proyek, pengguna, plugin, atau CLI-defined. Ini memungkinkan Anda mendefinisikan peran sekali, seperti security-reviewer atau test-runner, dan menggunakannya kembali baik sebagai subagent yang didelegasikan maupun sebagai rekan tim agent team.275Ketika menghasilkan rekan tim, Anda dapat mereferensikan tipe [subagent](/docs/id/sub-agents) dari [subagent scope](/docs/id/sub-agents#choose-the-subagent-scope) apa pun: proyek, pengguna, plugin, atau CLI-defined. Ini memungkinkan Anda mendefinisikan peran sekali, seperti security-reviewer atau test-runner, dan menggunakannya kembali baik sebagai subagent yang didelegasikan maupun sebagai rekan tim agent team.

276 276 

277Untuk menggunakan subagent definition, sebutkan berdasarkan nama ketika meminta Claude untuk menghasilkan rekan tim:277Untuk menggunakan subagent definition, sebutkan berdasarkan nama ketika meminta Claude untuk menghasilkan rekan tim:

278 278 


292 292 

293Rekan tim dimulai dengan pengaturan izin lead. Jika lead berjalan dengan `--dangerously-skip-permissions`, semua rekan tim juga demikian. Setelah dihasilkan, Anda dapat mengubah mode rekan tim individual, tetapi Anda tidak dapat mengatur mode per-rekan tim pada waktu spawn.293Rekan tim dimulai dengan pengaturan izin lead. Jika lead berjalan dengan `--dangerously-skip-permissions`, semua rekan tim juga demikian. Setelah dihasilkan, Anda dapat mengubah mode rekan tim individual, tetapi Anda tidak dapat mengatur mode per-rekan tim pada waktu spawn.

294 294 

295Ketika satu agent mengirim agent lain pesan melalui `SendMessage`, agent penerima diberitahu bahwa itu berasal dari sesi Claude lain, bukan dari Anda. Rekan tim tidak dapat menyetujui prompt izin atau memberikan persetujuan atas nama Anda, dan rekan tim yang ditolak tindakannya tidak dapat menyampaikannya ke rekan tim lain untuk melewati pemeriksaan. Dalam [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode), classifier memperlakukan klaim persetujuan yang disalurkan dari agent lain sebagai input yang tidak dipercaya daripada konfirmasi dari Anda.295Ketika satu agent mengirim agent lain pesan melalui `SendMessage`, agent penerima diberitahu bahwa itu berasal dari sesi Claude lain, bukan dari Anda. Rekan tim tidak dapat menyetujui prompt izin atau memberikan persetujuan atas nama Anda, dan rekan tim yang ditolak tindakannya tidak dapat menyampaikannya ke rekan tim lain untuk melewati pemeriksaan. Dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), classifier memperlakukan klaim persetujuan yang disalurkan dari agent lain sebagai input yang tidak dipercaya daripada konfirmasi dari Anda.

296 296 

297Prompt izin rekan tim naik ke sesi lead, jadi setujui mereka di sana sendiri. [Persetujuan rencana](#require-plan-approval-for-teammates) adalah pengecualian yang dirancang: sesi lead memberikan persetujuan rencana rekan tim tanpa prompt terpisah kepada Anda.297Prompt izin rekan tim naik ke sesi lead, jadi setujui mereka di sana sendiri. [Persetujuan rencana](#require-plan-approval-for-teammates) adalah pengecualian yang dirancang: sesi lead memberikan persetujuan rencana rekan tim tanpa prompt terpisah kepada Anda.

298 298 


305**Bagaimana rekan tim berbagi informasi:**305**Bagaimana rekan tim berbagi informasi:**

306 306 

307* **Pengiriman pesan otomatis**: ketika rekan tim mengirim pesan, mereka dikirimkan secara otomatis ke penerima. Lead tidak perlu polling untuk update.307* **Pengiriman pesan otomatis**: ketika rekan tim mengirim pesan, mereka dikirimkan secara otomatis ke penerima. Lead tidak perlu polling untuk update.

308* **Notifikasi idle**: ketika rekan tim selesai dan berhenti, mereka secara otomatis memberi tahu lead. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, rekan tim yang giliran berakhir pada kesalahan API memberi tahu lead bahwa itu gagal dan menyertakan teks kesalahan, daripada tampak selesai secara normal.308* **Notifikasi idle**: ketika rekan tim selesai dan berhenti, mereka secara otomatis memberi tahu lead. Mulai dari v2.1.198, rekan tim yang giliran berakhir pada kesalahan API memberi tahu lead bahwa itu gagal dan menyertakan teks kesalahan, daripada tampak selesai secara normal.

309* **Daftar tugas bersama**: semua agent dapat melihat status tugas dan mengklaim pekerjaan yang tersedia.309* **Daftar tugas bersama**: semua agent dapat melihat status tugas dan mengklaim pekerjaan yang tersedia.

310* **Pesan rekan tim**: kirim pesan ke satu rekan tim spesifik berdasarkan nama. Untuk menjangkau semua orang, kirim satu pesan per penerima.310* **Pesan rekan tim**: kirim pesan ke satu rekan tim spesifik berdasarkan nama. Untuk menjangkau semua orang, kirim satu pesan per penerima.

311 311 


315 Penggunaan token315 Penggunaan token

316</h3>316</h3>

317 317 

318Tim agent menggunakan token secara signifikan lebih banyak daripada satu session. Setiap rekan tim memiliki context window-nya sendiri, dan penggunaan token skala dengan jumlah rekan tim aktif. Untuk penelitian, review, dan pekerjaan fitur baru, token tambahan biasanya berharga. Untuk tugas rutin, satu session lebih cost-effective. Lihat [biaya token tim agent](/id/costs#agent-team-token-costs) untuk panduan penggunaan.318Tim agent menggunakan token secara signifikan lebih banyak daripada satu session. Setiap rekan tim memiliki context window-nya sendiri, dan penggunaan token skala dengan jumlah rekan tim aktif. Untuk penelitian, review, dan pekerjaan fitur baru, token tambahan biasanya berharga. Untuk tugas rutin, satu session lebih cost-effective. Lihat [biaya token tim agent](/docs/id/costs#agent-team-token-costs) untuk panduan penggunaan.

319 319 

320<h2 id="use-case-examples">320<h2 id="use-case-examples">

321 Contoh use case321 Contoh use case


379 379 

380Tidak ada batas keras pada jumlah rekan tim, tetapi batasan praktis berlaku:380Tidak ada batas keras pada jumlah rekan tim, tetapi batasan praktis berlaku:

381 381 

382* **Biaya token skala linear**: setiap rekan tim memiliki context window-nya sendiri dan mengkonsumsi token secara independen. Lihat [biaya token tim agent](/id/costs#agent-team-token-costs) untuk detail.382* **Biaya token skala linear**: setiap rekan tim memiliki context window-nya sendiri dan mengkonsumsi token secara independen. Lihat [biaya token tim agent](/docs/id/costs#agent-team-token-costs) untuk detail.

383* **Overhead koordinasi meningkat**: lebih banyak rekan tim berarti lebih banyak komunikasi, koordinasi tugas, dan potensi konflik383* **Overhead koordinasi meningkat**: lebih banyak rekan tim berarti lebih banyak komunikasi, koordinasi tugas, dan potensi konflik

384* **Diminishing returns**: di luar titik tertentu, rekan tim tambahan tidak mempercepat pekerjaan secara proporsional384* **Diminishing returns**: di luar titik tertentu, rekan tim tambahan tidak mempercepat pekerjaan secara proporsional

385 385 

386Mulai dengan 3-5 rekan tim untuk sebagian besar workflow. Ini menyeimbangkan pekerjaan paralel dengan koordinasi yang dapat dikelola. Contoh-contoh dalam panduan ini menggunakan 3-5 rekan tim karena rentang itu bekerja dengan baik di berbagai jenis tugas.386Mulai dengan 3-5 rekan tim untuk sebagian besar workflow. Ini menyeimbangkan pekerjaan paralel dengan koordinasi yang dapat dikelola. Contoh-contoh dalam panduan ini menggunakan 3-5 rekan tim karena rentang itu bekerja dengan baik di berbagai jenis tugas.

387 387 

388Memiliki 5-6 [tasks](/id/agent-teams#architecture) per rekan tim membuat semua orang produktif tanpa context switching yang berlebihan. Jika Anda memiliki 15 tugas independen, 3 rekan tim adalah titik awal yang baik.388Memiliki 5-6 [tasks](/docs/id/agent-teams#architecture) per rekan tim membuat semua orang produktif tanpa context switching yang berlebihan. Jika Anda memiliki 15 tugas independen, 3 rekan tim adalah titik awal yang baik.

389 389 

390Skala naik hanya ketika pekerjaan benar-benar menguntungkan dari rekan tim bekerja secara bersamaan. Tiga rekan tim terfokus sering mengungguli lima yang tersebar.390Skala naik hanya ketika pekerjaan benar-benar menguntungkan dari rekan tim bekerja secara bersamaan. Tiga rekan tim terfokus sering mengungguli lima yang tersebar.

391 391 


452 Terlalu banyak permission prompts452 Terlalu banyak permission prompts

453</h3>453</h3>

454 454 

455Permintaan izin rekan tim naik ke lead, yang dapat menciptakan gesekan. Pre-approve operasi umum di [pengaturan izin](/id/permissions) Anda sebelum menelurkan rekan tim untuk mengurangi gangguan.455Permintaan izin rekan tim naik ke lead, yang dapat menciptakan gesekan. Pre-approve operasi umum di [pengaturan izin](/docs/id/permissions) Anda sebelum menelurkan rekan tim untuk mengurangi gangguan.

456 456 

457<h3 id="teammates-stopping-on-errors">457<h3 id="teammates-stopping-on-errors">

458 Rekan tim berhenti pada errors458 Rekan tim berhenti pada errors


463* Berikan instruksi tambahan kepada mereka secara langsung463* Berikan instruksi tambahan kepada mereka secara langsung

464* Hasilkan rekan tim pengganti untuk melanjutkan pekerjaan464* Hasilkan rekan tim pengganti untuk melanjutkan pekerjaan

465 465 

466{/* min-version: 2.1.198 */}Mulai dari v2.1.198, pesan dari lead atau rekan tim lain membangunkan rekan tim in-process yang menunggu untuk mencoba ulang permintaan API yang gagal, sehingga mencoba ulang segera alih-alih menunggu penundaan percobaan ulang penuh.466Mulai dari v2.1.198, pesan dari lead atau rekan tim lain membangunkan rekan tim in-process yang menunggu untuk mencoba ulang permintaan API yang gagal, sehingga mencoba ulang segera alih-alih menunggu penundaan percobaan ulang penuh.

467 467 

468<h3 id="lead-shuts-down-before-work-is-done">468<h3 id="lead-shuts-down-before-work-is-done">

469 Lead shuts down sebelum pekerjaan selesai469 Lead shuts down sebelum pekerjaan selesai


493* **Shutdown dapat lambat**: rekan tim menyelesaikan permintaan atau tool call saat ini sebelum shutdown, yang dapat memakan waktu.493* **Shutdown dapat lambat**: rekan tim menyelesaikan permintaan atau tool call saat ini sebelum shutdown, yang dapat memakan waktu.

494* **Satu tim per session**: sebuah session memiliki tepat satu tim, yang dibatasi pada session tersebut. Anda tidak dapat membuat tim bernama tambahan atau berbagi tim di seluruh session.494* **Satu tim per session**: sebuah session memiliki tepat satu tim, yang dibatasi pada session tersebut. Anda tidak dapat membuat tim bernama tambahan atau berbagi tim di seluruh session.

495* **Tidak ada tim bersarang**: rekan tim tidak dapat menelurkan rekan tim mereka sendiri. Hanya lead yang dapat mengelola tim.495* **Tidak ada tim bersarang**: rekan tim tidak dapat menelurkan rekan tim mereka sendiri. Hanya lead yang dapat mengelola tim.

496* **Tidak ada background subagents dari rekan tim in-process**: subagents rekan tim in-process sendiri berjalan di foreground. Meminta yang background, baik dengan `run_in_background` atau definisi subagent yang menetapkan `background: true`, mengembalikan error, karena pekerjaan background rekan tim tidak dapat bertahan lebih lama dari proses lead. Subagents yang diluncurkan dari percakapan utama mengikuti [default background](/id/sub-agents#run-subagents-in-foreground-or-background).496* **Tidak ada background subagents dari rekan tim in-process**: subagents rekan tim in-process sendiri berjalan di foreground. Meminta yang background, baik dengan `run_in_background` atau definisi subagent yang menetapkan `background: true`, mengembalikan error, karena pekerjaan background rekan tim tidak dapat bertahan lebih lama dari proses lead. Subagents yang diluncurkan dari percakapan utama mengikuti [default background](/docs/id/sub-agents#run-subagents-in-foreground-or-background).

497* **Lead tetap**: session utama adalah lead seumur hidupnya. Anda tidak dapat mempromosikan rekan tim ke lead atau mentransfer kepemimpinan.497* **Lead tetap**: session utama adalah lead seumur hidupnya. Anda tidak dapat mempromosikan rekan tim ke lead atau mentransfer kepemimpinan.

498* **Izin ditetapkan pada spawn**: semua rekan tim dimulai dengan mode izin lead. Anda dapat mengubah mode rekan tim individual setelah spawn, tetapi Anda tidak dapat mengatur mode per-rekan tim pada waktu spawn.498* **Izin ditetapkan pada spawn**: semua rekan tim dimulai dengan mode izin lead. Anda dapat mengubah mode rekan tim individual setelah spawn, tetapi Anda tidak dapat mengatur mode per-rekan tim pada waktu spawn.

499* **Split panes memerlukan tmux atau iTerm2**: mode in-process default bekerja di terminal apa pun. Mode split-pane tidak didukung di integrated terminal VS Code, Windows Terminal, atau Ghostty.499* **Split panes memerlukan tmux atau iTerm2**: mode in-process default bekerja di terminal apa pun. Mode split-pane tidak didukung di integrated terminal VS Code, Windows Terminal, atau Ghostty.


508 508 

509Jelajahi pendekatan terkait untuk pekerjaan paralel dan delegasi:509Jelajahi pendekatan terkait untuk pekerjaan paralel dan delegasi:

510 510 

511* **Delegasi ringan**: [subagents](/id/sub-agents) menelurkan agent pembantu untuk penelitian atau verifikasi dalam session Anda, lebih baik untuk tugas yang tidak memerlukan koordinasi inter-agent511* **Delegasi ringan**: [subagents](/docs/id/sub-agents) menelurkan agent pembantu untuk penelitian atau verifikasi dalam session Anda, lebih baik untuk tugas yang tidak memerlukan koordinasi inter-agent

512* **Session paralel manual**: [Git worktrees](/id/worktrees) memungkinkan Anda menjalankan beberapa session Claude Code sendiri tanpa koordinasi tim otomatis512* **Session paralel manual**: [Git worktrees](/docs/id/worktrees) memungkinkan Anda menjalankan beberapa session Claude Code sendiri tanpa koordinasi tim otomatis

513* **Bandingkan pendekatan**: lihat perbandingan [subagent vs tim agent](/id/features-overview#compare-similar-features) untuk rincian side-by-side513* **Bandingkan pendekatan**: lihat perbandingan [subagent vs tim agent](/docs/id/features-overview#compare-similar-features) untuk rincian side-by-side

agent-view.md +83 −83

Details

16 16 

17Ketika Anda ingin bekerja lebih langsung di sesi agen mana pun, lampirkan ke baris untuk memasuki percakapan lengkap.17Ketika Anda ingin bekerja lebih langsung di sesi agen mana pun, lampirkan ke baris untuk memasuki percakapan lengkap.

18 18 

19Untuk membandingkan tampilan agen dengan subagen, tim agen, dan worktrees, lihat [Jalankan agen secara paralel](/id/agents).19Untuk membandingkan tampilan agen dengan subagen, tim agen, dan worktrees, lihat [Jalankan agen secara paralel](/docs/id/agents).

20 20 

21<Note>21<Note>

22 Tampilan agen adalah pratinjau penelitian dan memerlukan Claude Code v2.1.139 atau lebih baru. Periksa versi Anda dengan `claude --version`. Antarmuka dan pintasan keyboard mungkin berubah seiring dengan evolusi fitur.22 Tampilan agen adalah pratinjau penelitian dan memerlukan Claude Code v2.1.139 atau lebih baru. Periksa versi Anda dengan `claude --version`. Antarmuka dan pintasan keyboard mungkin berubah seiring dengan evolusi fitur.


70 70 

71Anda dapat menggunakan `claude agents` sebagai titik masuk utama Anda alih-alih `claude`: kirim setiap tugas dari tampilan agen, lampirkan ketika Anda menginginkan percakapan lengkap, dan tekan `←` untuk kembali ke tabel.71Anda dapat menggunakan `claude agents` sebagai titik masuk utama Anda alih-alih `claude`: kirim setiap tugas dari tampilan agen, lampirkan ketika Anda menginginkan percakapan lengkap, dan tekan `←` untuk kembali ke tabel.

72 72 

73{/* min-version: 2.1.205 */}Di dalam sesi `claude` biasa, petunjuk `←` footer prompt menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`, dan kembali ke `← for agents` ketika tidak ada yang memerlukan input. Hitungan di atas 99 ditampilkan sebagai `99+`. Hitungan menyegarkan sekitar setiap sepuluh detik saat terminal difokuskan dan segera ketika fokus kembali. Warna berubah sebentar ketika bergerak dan ketika agen selesai, kecuali pengaturan [`prefersReducedMotion`](/id/settings#available-settings) aktif, dan tersembunyi dalam [mode pembaca layar](/id/accessibility). Di [Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry](/id/third-party-integrations), petunjuk tetap dalam bentuk `← for agents` biasa tanpa hitungan. Memerlukan Claude Code v2.1.205 atau lebih baru.73Di dalam sesi `claude` biasa, petunjuk `←` footer prompt menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`, dan kembali ke `← for agents` ketika tidak ada yang memerlukan input. Hitungan di atas 99 ditampilkan sebagai `99+`. Hitungan menyegarkan sekitar setiap sepuluh detik saat terminal difokuskan dan segera ketika fokus kembali. Warna berubah sebentar ketika bergerak dan ketika agen selesai, kecuali pengaturan [`prefersReducedMotion`](/docs/id/settings#available-settings) aktif, dan tersembunyi dalam [mode pembaca layar](/docs/id/accessibility). Di [Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry](/docs/id/third-party-integrations), petunjuk tetap dalam bentuk `← for agents` biasa tanpa hitungan. Memerlukan Claude Code v2.1.205 atau lebih baru.

74 74 

75<h2 id="monitor-sessions-with-agent-view">75<h2 id="monitor-sessions-with-agent-view">

76 Pantau sesi dengan tampilan agen76 Pantau sesi dengan tampilan agen


78 78 

79Jalankan `claude agents` untuk membuka tampilan agen. Ini mengambil alih terminal penuh dan mencantumkan setiap sesi yang dikelompokkan berdasarkan status, dengan sesi yang disematkan dan yang membutuhkan Anda di bagian atas. Setiap baris menunjukkan nama sesi, aktivitas saat ini, dan usianya, dihitung dari saat sesi dibuat; usia sesi yang selesai membeku pada berapa lama waktu yang dibutuhkan untuk menjalankannya.79Jalankan `claude agents` untuk membuka tampilan agen. Ini mengambil alih terminal penuh dan mencantumkan setiap sesi yang dikelompokkan berdasarkan status, dengan sesi yang disematkan dan yang membutuhkan Anda di bagian atas. Setiap baris menunjukkan nama sesi, aktivitas saat ini, dan usianya, dihitung dari saat sesi dibuat; usia sesi yang selesai membeku pada berapa lama waktu yang dibutuhkan untuk menjalankannya.

80 80 

81Nama tersebut berwarna dengan warna yang ditetapkan oleh [`/color`](/id/commands) dalam sesi itu. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, warna terbawa ketika Anda [mengirim sesi ke latar belakang](#from-inside-a-session) dengan `←` atau `/background`.81Nama tersebut berwarna dengan warna yang ditetapkan oleh [`/color`](/docs/id/commands) dalam sesi itu. Mulai dari v2.1.199, warna terbawa ketika Anda [mengirim sesi ke latar belakang](#from-inside-a-session) dengan `←` atau `/background`.

82 82 

83Secara default, daftar menampilkan setiap sesi latar belakang yang telah Anda mulai, di seluruh semua proyek Anda. Sesi yang bekerja di satu repositori dan sesi lain di worktree berbeda keduanya muncul di sini, terlepas dari direktori mana yang Anda buka tampilan agen dari. Untuk membatasi daftar ke satu proyek, berikan `--cwd`:83Secara default, daftar menampilkan setiap sesi latar belakang yang telah Anda mulai, di seluruh semua proyek Anda. Sesi yang bekerja di satu repositori dan sesi lain di worktree berbeda keduanya muncul di sini, terlepas dari direktori mana yang Anda buka tampilan agen dari. Untuk membatasi daftar ke satu proyek, berikan `--cwd`:

84 84 


88 88 

89Ini menampilkan hanya sesi yang dimulai di bawah direktori itu. Sesi yang telah [berpindah ke worktree](#how-file-edits-are-isolated) di bawah `~/projects/my-app/.claude/worktrees/` masih dihitung sebagai milik `~/projects/my-app`.89Ini menampilkan hanya sesi yang dimulai di bawah direktori itu. Sesi yang telah [berpindah ke worktree](#how-file-edits-are-isolated) di bawah `~/projects/my-app/.claude/worktrees/` masih dihitung sebagai milik `~/projects/my-app`.

90 90 

91Sesi interaktif yang Anda buka di terminal lain tidak muncul sampai Anda [mengirimnya ke latar belakang](#from-inside-a-session). [Subagents](/id/sub-agents) dan [teammates](/id/agent-teams) yang sesi hasilkan tidak tercantum sebagai baris terpisah.91Sesi interaktif yang Anda buka di terminal lain tidak muncul sampai Anda [mengirimnya ke latar belakang](#from-inside-a-session). [Subagents](/docs/id/sub-agents) dan [teammates](/docs/id/agent-teams) yang sesi hasilkan tidak tercantum sebagai baris terpisah.

92 92 

93```text theme={null}93```text theme={null}

94Disematkan94Disematkan


131| :------------------- | :---------------------------------------------------------------------------------------------------------------------------- |131| :------------------- | :---------------------------------------------------------------------------------------------------------------------------- |

132| `✻` atau animasi `✽` | Proses sesi masih hidup dan merespons segera |132| `✻` atau animasi `✽` | Proses sesi masih hidup dan merespons segera |

133| `∙` | Proses telah keluar. Anda masih dapat mengintip, membalas, atau melampirkan, dan Claude memulai ulang dari tempat ia berhenti |133| `∙` | Proses telah keluar. Anda masih dapat mengintip, membalas, atau melampirkan, dan Claude memulai ulang dari tempat ia berhenti |

134| `✢` | Sesi [`/loop`](/id/scheduled-tasks) yang tidur di antara iterasi. Baris menunjukkan jumlah jalannya dan hitungan mundur |134| `✢` | Sesi [`/loop`](/docs/id/scheduled-tasks) yang tidur di antara iterasi. Baris menunjukkan jumlah jalannya dan hitungan mundur |

135 135 

136Label `#N` yang dapat muncul di tepi kanan baris adalah [permintaan tarik yang dibuka sesi](#pull-request-status), bukan bagian dari ikon status.136Label `#N` yang dapat muncul di tepi kanan baris adalah [permintaan tarik yang dibuka sesi](#pull-request-status), bukan bagian dari ikon status.

137 137 

138Judul tab terminal menunjukkan jumlah menunggu-masukan saat tampilan agen terbuka: `2 awaiting input · claude agents` ketika sesi membutuhkan masukan, atau `claude agents` ketika tidak ada.138Judul tab terminal menunjukkan jumlah menunggu-masukan saat tampilan agen terbuka: `2 awaiting input · claude agents` ketika sesi membutuhkan masukan, atau `claude agents` ketika tidak ada.

139 139 

140Mulai dari v2.1.198, saat tampilan agen terbuka, Claude Code juga mengirim notifikasi melalui [saluran notifikasi terminal](/id/terminal-config#get-a-terminal-bell-or-notification) yang dikonfigurasi ketika sesi latar belakang lokal mulai membutuhkan masukan Anda, selesai, atau gagal. Sesi yang berjalan sesuai jadwal, seperti sesi [`/loop`](/id/scheduled-tasks), hanya memberitahu ketika mereka membutuhkan masukan Anda. Notifikasi menggunakan pengaturan [`preferredNotifChannel`](/id/settings#available-settings) yang sama dengan sisa Claude Code dan menjalankan hook [`Notification`](/id/hooks#notification) dengan tipe `agent_needs_input` atau `agent_completed`.140Mulai dari v2.1.198, saat tampilan agen terbuka, Claude Code juga mengirim notifikasi melalui [saluran notifikasi terminal](/docs/id/terminal-config#get-a-terminal-bell-or-notification) yang dikonfigurasi ketika sesi latar belakang lokal mulai membutuhkan masukan Anda, selesai, atau gagal. Sesi yang berjalan sesuai jadwal, seperti sesi [`/loop`](/docs/id/scheduled-tasks), hanya memberitahu ketika mereka membutuhkan masukan Anda. Notifikasi menggunakan pengaturan [`preferredNotifChannel`](/docs/id/settings#available-settings) yang sama dengan sisa Claude Code dan menjalankan hook [`Notification`](/docs/id/hooks#notification) dengan tipe `agent_needs_input` atau `agent_completed`.

141 141 

142Sesi latar belakang tidak memerlukan terminal apa pun yang terbuka untuk terus bekerja. [Proses supervisor](#the-supervisor-process) terpisah menjalankannya, jadi Anda dapat menutup tampilan agen, menutup shell, atau memulai sesi interaktif baru dan pekerjaan yang dikirim terus berlanjut.142Sesi latar belakang tidak memerlukan terminal apa pun yang terbuka untuk terus bekerja. [Proses supervisor](#the-supervisor-process) terpisah menjalankannya, jadi Anda dapat menutup tampilan agen, menutup shell, atau memulai sesi interaktif baru dan pekerjaan yang dikirim terus berlanjut.

143 143 


149 Ringkasan baris149 Ringkasan baris

150</h3>150</h3>

151 151 

152Ringkasan satu baris di setiap baris dihasilkan oleh [model kelas Haiku](/id/model-config) sehingga baris dapat memberi tahu Anda apa yang dilakukan sesi, apa yang dibutuhkannya, atau apa yang dihasilkannya tanpa membuka transkrip. Saat sesi secara aktif bekerja, ringkasan menyegarkan paling banyak sekali setiap 15 detik dari output terbaru sesi itu sendiri tanpa mengirim permintaan model, dan model menulis ringkasan segar ketika setiap giliran berakhir.152Ringkasan satu baris di setiap baris dihasilkan oleh [model kelas Haiku](/docs/id/model-config) sehingga baris dapat memberi tahu Anda apa yang dilakukan sesi, apa yang dibutuhkannya, atau apa yang dihasilkannya tanpa membuka transkrip. Saat sesi secara aktif bekerja, ringkasan menyegarkan paling banyak sekali setiap 15 detik dari output terbaru sesi itu sendiri tanpa mengirim permintaan model, dan model menulis ringkasan segar ketika setiap giliran berakhir.

153 153 

154Baris yang bekerja menunjukkan apa yang dikatakan sesi sedang dilakukan, dan baris yang diblokir menunjukkan pertanyaan yang diajukannya. Selama giliran yang panjang, model juga menulis ulang ringkasan sekitar sekali semenit, menunggu dua kali lebih lama setelah setiap penulisan ulang hingga empat menit, sehingga baris yang sibuk tidak terus menampilkan ringkasan yang sudah ketinggalan zaman. Teks ringkasan mengisi lebar sisa baris dan hanya terpotong di tepi kanan terminal; buka [panel intip](#peek-and-reply) untuk membaca kalimat yang dipotong tepi. Sebelum v2.1.206, teks dipotong pada 64 kolom terlepas dari lebar terminal.154Baris yang bekerja menunjukkan apa yang dikatakan sesi sedang dilakukan, dan baris yang diblokir menunjukkan pertanyaan yang diajukannya. Selama giliran yang panjang, model juga menulis ulang ringkasan sekitar sekali semenit, menunggu dua kali lebih lama setelah setiap penulisan ulang hingga empat menit, sehingga baris yang sibuk tidak terus menampilkan ringkasan yang sudah ketinggalan zaman. Teks ringkasan mengisi lebar sisa baris dan hanya terpotong di tepi kanan terminal; buka [panel intip](#peek-and-reply) untuk membaca kalimat yang dipotong tepi. Sebelum v2.1.206, teks dipotong pada 64 kolom terlepas dari lebar terminal.

155 155 

156Ketika daftar [dikelompokkan berdasarkan direktori](#organize-the-list), ringkasan dibuka dengan status sesi sebagai kata berwarna, seperti `Needs input · double jump or wall climb?`. Dalam pengelompokan status default, header grup sudah menamai status, jadi baris hanya menampilkan ringkasan. Sebelum v2.1.205, baris yang dikelompokkan direktori tidak membawa kata status.156Ketika daftar [dikelompokkan berdasarkan direktori](#organize-the-list), ringkasan dibuka dengan status sesi sebagai kata berwarna, seperti `Needs input · double jump or wall climb?`. Dalam pengelompokan status default, header grup sudah menamai status, jadi baris hanya menampilkan ringkasan. Sebelum v2.1.205, baris yang dikelompokkan direktori tidak membawa kata status.

157 157 

158Giliran yang seluruh outputnya tidak mengandung huruf atau angka, seperti sesi [`/loop`](/id/scheduled-tasks) yang mencetak simbol tunggal pada iterasi yang tenang, menyimpan ringkasan dan status baris sebelumnya. Sebelum v2.1.205, giliran itu diklasifikasikan ulang dan dapat membalik sesi yang menunggu masukan Anda kembali ke `Bekerja`.158Giliran yang seluruh outputnya tidak mengandung huruf atau angka, seperti sesi [`/loop`](/docs/id/scheduled-tasks) yang mencetak simbol tunggal pada iterasi yang tenang, menyimpan ringkasan dan status baris sebelumnya. Sebelum v2.1.205, giliran itu diklasifikasikan ulang dan dapat membalik sesi yang menunggu masukan Anda kembali ke `Bekerja`.

159 159 

160Ringkasan akhir giliran dan setiap penulisan ulang pertengahan giliran adalah satu permintaan kelas Haiku pendek melalui penyedia normal Anda, ditagih dan ditangani di bawah [persyaratan penggunaan data](/id/data-usage) yang sama dengan sesi itu sendiri. Pembaruan 15 detik antara penulisan ulang model menggunakan kembali output sesi itu sendiri dan tidak mengirim permintaan. Pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan gateway khusus, permintaan kembali ke model utama sesi ketika tidak ada model Haiku yang dikonfigurasi. Atur [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/id/model-config#environment-variables) untuk memilih model untuk ringkasan ini pada penyedia tersebut.160Ringkasan akhir giliran dan setiap penulisan ulang pertengahan giliran adalah satu permintaan kelas Haiku pendek melalui penyedia normal Anda, ditagih dan ditangani di bawah [persyaratan penggunaan data](/docs/id/data-usage) yang sama dengan sesi itu sendiri. Pembaruan 15 detik antara penulisan ulang model menggunakan kembali output sesi itu sendiri dan tidak mengirim permintaan. Pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan gateway khusus, permintaan kembali ke model utama sesi ketika tidak ada model Haiku yang dikonfigurasi. Atur [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/id/model-config#environment-variables) untuk memilih model untuk ringkasan ini pada penyedia tersebut.

161 161 

162<h3 id="pull-request-status">162<h3 id="pull-request-status">

163 Status permintaan tarik163 Status permintaan tarik


202 202 

203Balasan yang tidak dapat dikirim, karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal, disimpan dan dikirim ke sesi sebagai prompt berikutnya ketika prosesnya dimulai lagi, dan pesan kesalahan mengatakan balasan disimpan. Balasan dengan awalan `!` tidak disimpan, karena teks yang disimpan akan mencapai sesi sebagai prompt biasa daripada menjalankan sebagai perintah Bash.203Balasan yang tidak dapat dikirim, karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal, disimpan dan dikirim ke sesi sebagai prompt berikutnya ketika prosesnya dimulai lagi, dan pesan kesalahan mengatakan balasan disimpan. Balasan dengan awalan `!` tidak disimpan, karena teks yang disimpan akan mencapai sesi sebagai prompt biasa daripada menjalankan sebagai perintah Bash.

204 204 

205Dengan [dikte suara](/id/voice-dictation) diaktifkan, tahan atau ketuk tombol push-to-talk Anda saat input balasan difokuskan untuk mendikte balasan alih-alih mengetiknya. Hal yang sama berlaku dalam input pengiriman di bagian bawah tampilan agen.205Dengan [dikte suara](/docs/id/voice-dictation) diaktifkan, tahan atau ketuk tombol push-to-talk Anda saat input balasan difokuskan untuk mendikte balasan alih-alih mengetiknya. Hal yang sama berlaku dalam input pengiriman di bagian bawah tampilan agen.

206 206 

207Gunakan `↑` dan `↓` untuk mengintip sesi yang berdekatan tanpa menutup panel, atau `→` untuk melampirkan.207Gunakan `↑` dan `↓` untuk mengintip sesi yang berdekatan tanpa menutup panel, atau `→` untuk melampirkan.

208 208 


212 212 

213Tekan `Enter` atau `→` pada baris yang dipilih untuk melampirkan. Tampilan agen diganti oleh sesi interaktif lengkap. Ketika Anda melampirkan, Claude memposting ringkasan singkat tentang apa yang terjadi saat Anda pergi.213Tekan `Enter` atau `→` pada baris yang dipilih untuk melampirkan. Tampilan agen diganti oleh sesi interaktif lengkap. Ketika Anda melampirkan, Claude memposting ringkasan singkat tentang apa yang terjadi saat Anda pergi.

214 214 

215Saat dilampirkan, sesi berperilaku seperti sesi Claude Code lainnya: [perintah](/id/commands), pintasan keyboard, dan fitur semuanya berfungsi, dengan pengecualian di bawah.215Saat dilampirkan, sesi berperilaku seperti sesi Claude Code lainnya: [perintah](/docs/id/commands), pintasan keyboard, dan fitur semuanya berfungsi, dengan pengecualian di bawah.

216 216 

217Sesi latar belakang menolak `/install-github-app` dan daftar pengaturan [`/mcp`](/id/mcp), termasuk tindakan autentikasinya, apakah Anda dilampirkan atau membalas dari panel intip. Pesan mengarahkan Anda ke sesi `claude` biasa, dan `/mcp reconnect <server>`, `/mcp enable`, dan `/mcp disable` masih berfungsi.217Sesi latar belakang menolak `/install-github-app` dan daftar pengaturan [`/mcp`](/docs/id/mcp), termasuk tindakan autentikasinya, apakah Anda dilampirkan atau membalas dari panel intip. Pesan mengarahkan Anda ke sesi `claude` biasa, dan `/mcp reconnect <server>`, `/mcp enable`, dan `/mcp disable` masih berfungsi.

218 218 

219Sesi yang dilampirkan selalu dirender dalam [mode layar penuh](/id/fullscreen), terlepas dari pengaturan `tui` Anda, karena sesi latar belakang tidak memiliki scrollback terminal untuk ditambahkan. Gulir dengan `PgUp`, `PgDn`, atau roda mouse, dan tekan `Ctrl+O` untuk mode transkrip. Gulir asli terminal Anda dan mode salinan tmux hanya menampilkan viewport saat ini, sama seperti ketika Anda menjalankan aplikasi layar penuh apa pun.219Sesi yang dilampirkan selalu dirender dalam [mode layar penuh](/docs/id/fullscreen), terlepas dari pengaturan `tui` Anda, karena sesi latar belakang tidak memiliki scrollback terminal untuk ditambahkan. Gulir dengan `PgUp`, `PgDn`, atau roda mouse, dan tekan `Ctrl+O` untuk mode transkrip. Gulir asli terminal Anda dan mode salinan tmux hanya menampilkan viewport saat ini, sama seperti ketika Anda menjalankan aplikasi layar penuh apa pun.

220 220 

221Tekan `←` pada prompt kosong, atau jalankan `/exit`, untuk melepaskan dan kembali ke tampilan agen. Mulai dari v2.1.198, ini berfungsi dengan cara yang sama apakah Anda membuka sesi dari tampilan agen atau dengan `claude attach <id>` dari shell Anda.221Tekan `←` pada prompt kosong, atau jalankan `/exit`, untuk melepaskan dan kembali ke tampilan agen. Mulai dari v2.1.198, ini berfungsi dengan cara yang sama apakah Anda membuka sesi dari tampilan agen atau dengan `claude attach <id>` dari shell Anda.

222 222 


230 230 

231Jika alat sedang berjalan saat Anda menekan `←`, Claude Code menunggu hingga sekitar sepuluh detik agar alat selesai sebelum mengirim ke latar belakang, dan respons berlanjut dalam sesi latar belakang. Tekan `←` lagi untuk mengirim ke latar belakang segera alih-alih menunggu. Ketika pekerjaan yang sedang berlangsung tidak dapat dibawa ke sesi latar belakang, dialog `Background this session?` muncul terlebih dahulu, sama seperti dengan [`/background`](#from-inside-a-session).231Jika alat sedang berjalan saat Anda menekan `←`, Claude Code menunggu hingga sekitar sepuluh detik agar alat selesai sebelum mengirim ke latar belakang, dan respons berlanjut dalam sesi latar belakang. Tekan `←` lagi untuk mengirim ke latar belakang segera alih-alih menunggu. Ketika pekerjaan yang sedang berlangsung tidak dapat dibawa ke sesi latar belakang, dialog `Background this session?` muncul terlebih dahulu, sama seperti dengan [`/background`](#from-inside-a-session).

232 232 

233Batas sepuluh detik tidak berlaku saat [subagents](/id/sub-agents) sedang berjalan. Claude Code terus menunggu sehingga pekerjaan mereka terbawa, dan menampilkan pemberitahuan `Still backgrounding after the current tool` saat menunggu; tekan `←` lagi untuk mengirim ke latar belakang tanpa menunggu, yang memulai ulang subagents dari awal. Sebelum v2.1.203, tunggu berakhir setelah sepuluh detik dan subagents yang sedang berjalan dimulai ulang dari awal tanpa peringatan.233Batas sepuluh detik tidak berlaku saat [subagents](/docs/id/sub-agents) sedang berjalan. Claude Code terus menunggu sehingga pekerjaan mereka terbawa, dan menampilkan pemberitahuan `Still backgrounding after the current tool` saat menunggu; tekan `←` lagi untuk mengirim ke latar belakang tanpa menunggu, yang memulai ulang subagents dari awal. Sebelum v2.1.203, tunggu berakhir setelah sepuluh detik dan subagents yang sedang berjalan dimulai ulang dari awal tanpa peringatan.

234 234 

235Baris dibuat bahkan dari sesi segar tanpa riwayat percakapan, jadi `→` kembali ke sana. {/* max-version: 2.1.202 */}Sebelum v2.1.203, tampilan agen menampilkan petunjuk onboarding di bawah baris itu ketika itu adalah satu-satunya.235Baris dibuat bahkan dari sesi segar tanpa riwayat percakapan, jadi `→` kembali ke sana. Sebelum v2.1.203, tampilan agen menampilkan petunjuk onboarding di bawah baris itu ketika itu adalah satu-satunya.

236 236 

237Anda dapat mematikan pintasan ini dengan pengaturan `leftArrowOpensAgents` di `/config`.237Anda dapat mematikan pintasan ini dengan pengaturan `leftArrowOpensAgents` di `/config`.

238 238 


311 311 

312Ketik prompt dalam input di bagian bawah tampilan agen dan tekan `Enter` untuk memulai sesi latar belakang baru. Sesi diberi nama secara otomatis dari prompt; ubah namanya nanti dengan `Ctrl+R`.312Ketik prompt dalam input di bagian bawah tampilan agen dan tekan `Enter` untuk memulai sesi latar belakang baru. Sesi diberi nama secara otomatis dari prompt; ubah namanya nanti dengan `Ctrl+R`.

313 313 

314Nama yang diterima sesi nanti juga muncul di barisnya, termasuk nama yang Claude turunkan ketika Anda [menerima rencana](/id/permission-modes#review-and-approve-a-plan) dalam sesi itu. Sebelum v2.1.207, sesi latar belakang yang diberi nama dengan menerima rencana menampilkan nama itu dalam `/status` tetapi bukan di baris tampilan agen-nya sampai Anda mengganti namanya sendiri.314Nama yang diterima sesi nanti juga muncul di barisnya, termasuk nama yang Claude turunkan ketika Anda [menerima rencana](/docs/id/permission-modes#review-and-approve-a-plan) dalam sesi itu. Sebelum v2.1.207, sesi latar belakang yang diberi nama dengan menerima rencana menampilkan nama itu dalam `/status` tetapi bukan di baris tampilan agen-nya sampai Anda mengganti namanya sendiri.

315 315 

316Tempel gambar ke dalam prompt untuk menyertakan tangkapan layar atau diagram dengan tugas.316Tempel gambar ke dalam prompt untuk menyertakan tangkapan layar atau diagram dengan tugas.

317 317 

318Teks yang ditempel lebih panjang dari 800 karakter atau lebih dari dua baris runtuh menjadi placeholder `[Pasted text #N]` sehingga input tetap pada satu baris; teks lengkap dikirim ketika Anda mengirim. {/* min-version: 2.1.207 */}Untuk meninjau atau mengedit teks yang runtuh sebelum mengirim, tempel teks yang sama lagi dan placeholder berkembang kembali ke dalam input. Pengingat `paste again to expand` muncul di bawah input selama beberapa detik setelah tempel pada terminal setidaknya 90 kolom lebar. Sebelum v2.1.207, menempel teks yang sama lagi menambahkan placeholder kedua alih-alih memperluas yang pertama.318Teks yang ditempel lebih panjang dari 800 karakter atau lebih dari dua baris runtuh menjadi placeholder `[Pasted text #N]` sehingga input tetap pada satu baris; teks lengkap dikirim ketika Anda mengirim. Untuk meninjau atau mengedit teks yang runtuh sebelum mengirim, tempel teks yang sama lagi dan placeholder berkembang kembali ke dalam input. Pengingat `paste again to expand` muncul di bawah input selama beberapa detik setelah tempel pada terminal setidaknya 90 kolom lebar. Sebelum v2.1.207, menempel teks yang sama lagi menambahkan placeholder kedua alih-alih memperluas yang pertama.

319 319 

320Awali atau sebutkan bagian dari prompt untuk mengontrol bagaimana sesi dimulai:320Awali atau sebutkan bagian dari prompt untuk mengontrol bagaimana sesi dimulai:

321 321 

322| Input | Efek |322| Input | Efek |

323| :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |323| :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

324| `<agent-name> <prompt>` | Jika kata pertama cocok dengan nama [subagent](/id/sub-agents) kustom, subagent itu berjalan sebagai agen utama sesi dengan konfigurasi dari frontmatter-nya |324| `<agent-name> <prompt>` | Jika kata pertama cocok dengan nama [subagent](/docs/id/sub-agents) kustom, subagent itu berjalan sebagai agen utama sesi dengan konfigurasi dari frontmatter-nya |

325| `@<agent-name>` | Sebutkan subagent kustom di mana saja dalam prompt untuk menjalankannya sebagai agen utama |325| `@<agent-name>` | Sebutkan subagent kustom di mana saja dalam prompt untuk menjalankannya sebagai agen utama |

326| `@<repo>` | Sebutkan repositori untuk menjalankan sesi di sana. Lihat [Kirim ke direktori tertentu](#dispatch-to-a-specific-directory) untuk repositori mana yang terdaftar |326| `@<repo>` | Sebutkan repositori untuk menjalankan sesi di sana. Lihat [Kirim ke direktori tertentu](#dispatch-to-a-specific-directory) untuk repositori mana yang terdaftar |

327| `/<command>` | Sarankan [skills](/id/skills) dan [commands](/id/commands) untuk dikirim sebagai prompt |327| `/<command>` | Sarankan [skills](/docs/id/skills) dan [commands](/docs/id/commands) untuk dikirim sebagai prompt |

328| `! <command>` | Jalankan perintah shell sebagai pekerjaan latar belakang alih-alih memulai sesi Claude. Pekerjaan muncul sebagai baris yang dapat Anda lampirkan, tonton, dan lepaskan |328| `! <command>` | Jalankan perintah shell sebagai pekerjaan latar belakang alih-alih memulai sesi Claude. Pekerjaan muncul sebagai baris yang dapat Anda lampirkan, tonton, dan lepaskan |

329| `#<number>` atau URL permintaan tarik | Jika sesi sudah bekerja pada PR itu, pilih saja alih-alih mengirim |329| `#<number>` atau URL permintaan tarik | Jika sesi sudah bekerja pada PR itu, pilih saja alih-alih mengirim |

330| `Shift+Enter` | Kirim dan lampirkan segera ke sesi baru |330| `Shift+Enter` | Kirim dan lampirkan segera ke sesi baru |


338 338 

339Skills, perintah Anda sendiri, dan built-in yang memperluas prompt seperti `/init` dikirim ke sesi latar belakang baru sebagai prompt pertamanya. Perintah built-in lainnya menampilkan petunjuk `attach to a session to run it` sebagai gantinya. Sebelum v2.1.203, petunjuk menghapus input dan teks yang diketik hilang.339Skills, perintah Anda sendiri, dan built-in yang memperluas prompt seperti `/init` dikirim ke sesi latar belakang baru sebagai prompt pertamanya. Perintah built-in lainnya menampilkan petunjuk `attach to a session to run it` sebagai gantinya. Sebelum v2.1.203, petunjuk menghapus input dan teks yang diketik hilang.

340 340 

341Mengemas tugas berulang sebagai [skill](/id/skills) memungkinkan Anda memulai alur kerja yang sama dari tampilan agen berulang kali tanpa mengetik ulang prompt.341Mengemas tugas berulang sebagai [skill](/docs/id/skills) memungkinkan Anda memulai alur kerja yang sama dari tampilan agen berulang kali tanpa mengetik ulang prompt.

342 342 

343Ketika `@name` yang sama cocok dengan subagent dan repositori saudara, subagent memiliki prioritas. Kecocokan kata pertama tanpa `@` juga berlaku, jadi prompt yang dimulai dengan salah satu nama subagent Anda mengirim subagent itu daripada memperlakukan kata sebagai teks biasa. Gunakan bentuk `@` ketika Anda ingin eksplisit, atau mulai prompt dengan kata berbeda untuk menghindari kecocokan.343Ketika `@name` yang sama cocok dengan subagent dan repositori saudara, subagent memiliki prioritas. Kecocokan kata pertama tanpa `@` juga berlaku, jadi prompt yang dimulai dengan salah satu nama subagent Anda mengirim subagent itu daripada memperlakukan kata sebagai teks biasa. Gunakan bentuk `@` ketika Anda ingin eksplisit, atau mulai prompt dengan kata berbeda untuk menghindari kecocokan.

344 344 


352* Buka `claude agents` di direktori induk dan sebutkan repositori anak dengan `@<repo>` dalam prompt. Mengetik `@` mencantumkan target ini:352* Buka `claude agents` di direktori induk dan sebutkan repositori anak dengan `@<repo>` dalam prompt. Mengetik `@` mencantumkan target ini:

353 353 

354 * Repositori Git satu level di bawah direktori peluncuran354 * Repositori Git satu level di bawah direktori peluncuran

355 * [Git worktrees](/id/worktrees) terdaftar dari repositori yang Anda luncurkan dari yang berada di dalam pohon direktorinya, seperti yang Claude buat di bawah `.claude/worktrees/`, diberi label dengan cabang yang diperiksa. Worktrees yang ditambahkan di luar repositori, seperti dengan `git worktree add ../feature`, tidak terdaftar355 * [Git worktrees](/docs/id/worktrees) terdaftar dari repositori yang Anda luncurkan dari yang berada di dalam pohon direktorinya, seperti yang Claude buat di bawah `.claude/worktrees/`, diberi label dengan cabang yang diperiksa. Worktrees yang ditambahkan di luar repositori, seperti dengan `git worktree add ../feature`, tidak terdaftar

356 * Direktori apa pun yang sudah memiliki sesi dalam daftar356 * Direktori apa pun yang sudah memiliki sesi dalam daftar

357 357 

358 Direktori yang namanya berisi spasi tidak terdaftar. Sebelum v2.1.203, worktrees terdaftar tidak terdaftar, jadi pengiriman ke dalamnya berarti menjalankan `claude --bg` dari direktori worktree itu.358 Direktori yang namanya berisi spasi tidak terdaftar. Sebelum v2.1.203, worktrees terdaftar tidak terdaftar, jadi pengiriman ke dalamnya berarti menjalankan `claude --bg` dari direktori worktree itu.


366 366 

367Jalankan `/background` atau aliasnya `/bg` untuk memindahkan percakapan saat ini ke sesi latar belakang. Berikan prompt seperti `/bg run the test suite and fix any failures` untuk memberikan satu instruksi lagi terlebih dahulu. Jika Claude sedang merespons ketika Anda menjalankan `/bg`, respons berlanjut dalam sesi latar belakang.367Jalankan `/background` atau aliasnya `/bg` untuk memindahkan percakapan saat ini ke sesi latar belakang. Berikan prompt seperti `/bg run the test suite and fix any failures` untuk memberikan satu instruksi lagi terlebih dahulu. Jika Claude sedang merespons ketika Anda menjalankan `/bg`, respons berlanjut dalam sesi latar belakang.

368 368 

369Keluar dari sesi interaktif yang masih memiliki pekerjaan latar belakang yang berjalan, seperti subagent, perintah shell latar belakang, alur kerja, atau [monitor](/id/tools-reference#monitor-tool), menampilkan dialog `Background work is running` alih-alih berhenti segera. Mulai dari v2.1.198 dialog menawarkan `Move to background and exit` bersama `Exit anyway` dan `Stay`. Memilihnya memindahkan sesi ke latar belakang dengan cara yang sama seperti `/background`, kemudian mengembalikan Anda ke shell Anda, sehingga pekerjaan yang dapat dibawa terus berjalan dan sesi muncul dalam tampilan agen. Opsi tidak ditampilkan ketika tampilan agen [dimatikan](#turn-off-agent-view).369Keluar dari sesi interaktif yang masih memiliki pekerjaan latar belakang yang berjalan, seperti subagent, perintah shell latar belakang, alur kerja, atau [monitor](/docs/id/tools-reference#monitor-tool), menampilkan dialog `Background work is running` alih-alih berhenti segera. Mulai dari v2.1.198 dialog menawarkan `Move to background and exit` bersama `Exit anyway` dan `Stay`. Memilihnya memindahkan sesi ke latar belakang dengan cara yang sama seperti `/background`, kemudian mengembalikan Anda ke shell Anda, sehingga pekerjaan yang dapat dibawa terus berjalan dan sesi muncul dalam tampilan agen. Opsi tidak ditampilkan ketika tampilan agen [dimatikan](#turn-off-agent-view).

370 370 

371Melepaskan dari sesi interaktif memulai proses segar yang dilanjutkan dari percakapan yang disimpan, dan pekerjaan yang sedang berlangsung berpindah ke sesi itu: menjalankan perintah shell latar belakang, subagent yang dilepaskan ke latar belakang, alur kerja dinamis, dan tugas terjadwal yang Anda buat dengan [`/loop`](/id/scheduled-tasks) dibawa ke sesi latar belakang dan terus berjalan di sana. Subagent bergerak bersama dengan semua yang dimulainya, jadi hanya dibawa ketika semua pekerjaan itu dapat berpindah juga, termasuk di Windows. Untuk menghentikan pekerjaan yang sedang berlangsung alih-alih membawanya, atur variabel lingkungan [`CLAUDE_DISABLE_ADOPT=1`](/id/env-vars#variables); Claude Code kemudian meminta Anda untuk mengonfirmasi sebelum melepaskan.371Melepaskan dari sesi interaktif memulai proses segar yang dilanjutkan dari percakapan yang disimpan, dan pekerjaan yang sedang berlangsung berpindah ke sesi itu: menjalankan perintah shell latar belakang, subagent yang dilepaskan ke latar belakang, alur kerja dinamis, dan tugas terjadwal yang Anda buat dengan [`/loop`](/docs/id/scheduled-tasks) dibawa ke sesi latar belakang dan terus berjalan di sana. Subagent bergerak bersama dengan semua yang dimulainya, jadi hanya dibawa ketika semua pekerjaan itu dapat berpindah juga, termasuk di Windows. Untuk menghentikan pekerjaan yang sedang berlangsung alih-alih membawanya, atur variabel lingkungan [`CLAUDE_DISABLE_ADOPT=1`](/docs/id/env-vars#variables); Claude Code kemudian meminta Anda untuk mengonfirmasi sebelum melepaskan.

372 372 

373Pekerjaan yang tidak dapat dibawa, seperti [monitor](/id/tools-reference#monitor-tool) yang sedang berjalan, dihentikan. Subagent yang dilepaskan ke latar belakang yang memiliki monitor dihentikan bersama dengannya. Ketika ada pekerjaan seperti itu yang sedang berjalan, Claude Code menampilkan dialog `Background this session?` sehingga Anda dapat mengonfirmasi sebelum dihentikan.373Pekerjaan yang tidak dapat dibawa, seperti [monitor](/docs/id/tools-reference#monitor-tool) yang sedang berjalan, dihentikan. Subagent yang dilepaskan ke latar belakang yang memiliki monitor dihentikan bersama dengannya. Ketika ada pekerjaan seperti itu yang sedang berjalan, Claude Code menampilkan dialog `Background this session?` sehingga Anda dapat mengonfirmasi sebelum dihentikan.

374 374 

375Setelah berada di latar belakang, sesi dapat memulai subagent, monitor, dan perintah latar belakang baru, dan yang tersebut terus berjalan di seluruh detach dan reattach berikutnya.375Setelah berada di latar belakang, sesi dapat memulai subagent, monitor, dan perintah latar belakang baru, dan yang tersebut terus berjalan di seluruh detach dan reattach berikutnya.

376 376 


383* `--fallback-model`383* `--fallback-model`

384* `--allow-dangerously-skip-permissions`384* `--allow-dangerously-skip-permissions`

385 385 

386Direktori yang Anda tambahkan selama sesi dengan [`/add-dir`](/id/permissions#additional-directories-grant-file-access-not-configuration) juga dibawa ke sesi.386Direktori yang Anda tambahkan selama sesi dengan [`/add-dir`](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) juga dibawa ke sesi.

387 387 

388Membawa `--allow-dangerously-skip-permissions` melalui membuat `bypassPermissions` dapat dijangkau dalam sesi yang dilepaskan ke latar belakang, tetapi tidak memberikan apa pun yang baru. Mode masih memerlukan penerimaan interaktif satu kali yang sama seperti yang dijelaskan dalam [Mode izin, model, dan upaya](#permission-mode-model-and-effort) sebelum sesi apa pun dapat menggunakannya.388Membawa `--allow-dangerously-skip-permissions` melalui membuat `bypassPermissions` dapat dijangkau dalam sesi yang dilepaskan ke latar belakang, tetapi tidak memberikan apa pun yang baru. Mode masih memerlukan penerimaan interaktif satu kali yang sama seperti yang dijelaskan dalam [Mode izin, model, dan upaya](#permission-mode-model-and-effort) sebelum sesi apa pun dapat menggunakannya.

389 389 


445 Bagaimana pengeditan file diisolasi445 Bagaimana pengeditan file diisolasi

446</h3>446</h3>

447 447 

448Setiap sesi latar belakang, baik dimulai dari tampilan agen, `/bg`, atau `claude --bg`, dimulai di direktori kerja Anda. Sebelum mengedit file, Claude memindahkan sesi ke [git worktree](/id/worktrees) yang terisolasi di bawah `.claude/worktrees/`, sehingga sesi paralel dapat membaca checkout yang sama tetapi masing-masing menulis ke miliknya sendiri.448Setiap sesi latar belakang, baik dimulai dari tampilan agen, `/bg`, atau `claude --bg`, dimulai di direktori kerja Anda. Sebelum mengedit file, Claude memindahkan sesi ke [git worktree](/docs/id/worktrees) yang terisolasi di bawah `.claude/worktrees/`, sehingga sesi paralel dapat membaca checkout yang sama tetapi masing-masing menulis ke miliknya sendiri.

449 449 

450Claude melewati worktree ketika:450Claude melewati worktree ketika:

451 451 

452* Sesi sudah berada di dalam linked git worktree, baik Claude membuatnya di bawah `.claude/worktrees/` atau Anda membuatnya dengan `git worktree add` di tempat lain452* Sesi sudah berada di dalam linked git worktree, baik Claude membuatnya di bawah `.claude/worktrees/` atau Anda membuatnya dengan `git worktree add` di tempat lain

453* Direktori kerja bukan repositori git dan tidak ada [`WorktreeCreate` hook](/id/hooks#worktreecreate) yang dikonfigurasi453* Direktori kerja bukan repositori git dan tidak ada [`WorktreeCreate` hook](/docs/id/hooks#worktreecreate) yang dikonfigurasi

454* Penulisan berada di luar direktori kerja454* Penulisan berada di luar direktori kerja

455 455 

456Untuk mematikan isolasi worktree untuk repositori tempat git worktree tidak praktis, atur [`worktree.bgIsolation`](/id/settings#worktree-settings) ke `"none"`. Sesi latar belakang kemudian mengedit salinan kerja Anda secara langsung tanpa pindah ke worktree terlebih dahulu. Tambahkan pengaturan ke `.claude/settings.json` proyek:456Untuk mematikan isolasi worktree untuk repositori tempat git worktree tidak praktis, atur [`worktree.bgIsolation`](/docs/id/settings#worktree-settings) ke `"none"`. Sesi latar belakang kemudian mengedit salinan kerja Anda secara langsung tanpa pindah ke worktree terlebih dahulu. Tambahkan pengaturan ke `.claude/settings.json` proyek:

457 457 

458```json theme={null}458```json theme={null}

459{459{


463}463}

464```464```

465 465 

466Di luar repositori git, sesi menulis ke direktori kerja secara langsung dan tidak diisolasi satu sama lain, jadi hindari mengirim sesi paralel yang mengedit file yang sama. Jika Anda menggunakan sistem kontrol versi yang berbeda, konfigurasikan [`WorktreeCreate` hook](/id/worktrees#non-git-version-control) dan Claude mengisolasi pengeditan dengan cara yang sama seperti yang dilakukannya untuk git.466Di luar repositori git, sesi menulis ke direktori kerja secara langsung dan tidak diisolasi satu sama lain, jadi hindari mengirim sesi paralel yang mengedit file yang sama. Jika Anda menggunakan sistem kontrol versi yang berbeda, konfigurasikan [`WorktreeCreate` hook](/docs/id/worktrees#non-git-version-control) dan Claude mengisolasi pengeditan dengan cara yang sama seperti yang dilakukannya untuk git.

467 467 

468Ketika hook gagal di direktori yang bukan repositori git, sesi melewati isolasi untuk direktori itu dan mengedit direktori kerja di tempat. Di dalam repositori git, penulisan tetap diblokir sampai sesi mengisolasi. Sebelum v2.1.203, sesi latar belakang dalam keadaan itu tidak dapat mengedit file apa pun: setiap penulisan ditolak sampai mengisolasi, dan hook tidak pernah dapat mengisolasi direktori itu.468Ketika hook gagal di direktori yang bukan repositori git, sesi melewati isolasi untuk direktori itu dan mengedit direktori kerja di tempat. Di dalam repositori git, penulisan tetap diblokir sampai sesi mengisolasi. Sebelum v2.1.203, sesi latar belakang dalam keadaan itu tidak dapat mengedit file apa pun: setiap penulisan ditolak sampai mengisolasi, dan hook tidak pernah dapat mengisolasi direktori itu.

469 469 


476 476 

477Untuk menemukan jalur worktree sesi, intip sesi atau lampirkan dan periksa direktori kerjanya.477Untuk menemukan jalur worktree sesi, intip sesi atau lampirkan dan periksa direktori kerjanya.

478 478 

479Sebuah [subagent](/id/sub-agents) yang sesi latar belakang spawn mewarisi direktori kerja sesi, jadi pengeditan filenya mendarat di worktree sesi daripada salinan kerja Anda. Untuk memberikan subagent worktree terpisah sendiri, atur [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields) dalam frontmatter-nya atau berikan `isolation: "worktree"` saat spawn-nya.479Sebuah [subagent](/docs/id/sub-agents) yang sesi latar belakang spawn mewarisi direktori kerja sesi, jadi pengeditan filenya mendarat di worktree sesi daripada salinan kerja Anda. Untuk memberikan subagent worktree terpisah sendiri, atur [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields) dalam frontmatter-nya atau berikan `isolation: "worktree"` saat spawn-nya.

480 480 

481Mulai dari v2.1.198, sesi latar belakang yang mengisolasi perubahan kodenya dalam worktree juga melakukan commit, mendorong cabangnya sendiri, dan membuka draft pull request tanpa berhenti untuk bertanya. Label [`#N`](#pull-request-status) muncul pada barisnya ketika pull request dibuka. Tidak pernah mendorong ke `main` atau `master`, tidak pernah force-push atau merge, dan melewati pull request ketika Anda mengatakan kepadanya untuk tidak membuka satu atau repositori tidak memiliki remote.481Mulai dari v2.1.198, sesi latar belakang yang mengisolasi perubahan kodenya dalam worktree juga melakukan commit, mendorong cabangnya sendiri, dan membuka draft pull request tanpa berhenti untuk bertanya. Label [`#N`](#pull-request-status) muncul pada barisnya ketika pull request dibuka. Tidak pernah mendorong ke `main` atau `master`, tidak pernah force-push atau merge, dan melewati pull request ketika Anda mengatakan kepadanya untuk tidak membuka satu atau repositori tidak memiliki remote.

482 482 


486 Atur model486 Atur model

487</h3>487</h3>

488 488 

489Nama model yang ditampilkan di header tampilan agen adalah default pengiriman. Sesi baru yang Anda mulai dari input menggunakan model ini, yang berasal dari pengaturan [`model`](/id/settings#available-settings) dalam pengaturan pengguna Anda. Atur dengan memilih model dalam pemilih [`/model`](/id/model-config), atau edit pengaturan secara langsung.489Nama model yang ditampilkan di header tampilan agen adalah default pengiriman. Sesi baru yang Anda mulai dari input menggunakan model ini, yang berasal dari pengaturan [`model`](/docs/id/settings#available-settings) dalam pengaturan pengguna Anda. Atur dengan memilih model dalam pemilih [`/model`](/docs/id/model-config), atau edit pengaturan secara langsung.

490 490 

491Untuk menimpanya untuk seluruh sesi tampilan agen, berikan `--model` saat membuka tampilan agen. Lihat [Mode izin, model, dan upaya](#permission-mode-model-and-effort).491Untuk menimpanya untuk seluruh sesi tampilan agen, berikan `--model` saat membuka tampilan agen. Lihat [Mode izin, model, dan upaya](#permission-mode-model-and-effort).

492 492 


503 503 

504* Dari shell, berikan `--model` dengan `claude --bg`.504* Dari shell, berikan `--model` dengan `claude --bg`.

505* Lampirkan ke sesi yang berjalan dan jalankan `/model` untuk beralih: pilihan dari pemilih, atau `/model <name>` yang diketik, disimpan sebagai default Anda untuk sesi baru kecuali Anda menekan `s` dalam pemilih untuk beralih hanya sesi. Beralih hanya sesi bertahan jika sesi direspawn.505* Lampirkan ke sesi yang berjalan dan jalankan `/model` untuk beralih: pilihan dari pemilih, atau `/model <name>` yang diketik, disimpan sebagai default Anda untuk sesi baru kecuali Anda menekan `s` dalam pemilih untuk beralih hanya sesi. Beralih hanya sesi bertahan jika sesi direspawn.

506* Kirim [subagent](/id/sub-agents) yang frontmatter-nya menetapkan bidang `model`.506* Kirim [subagent](/docs/id/sub-agents) yang frontmatter-nya menetapkan bidang `model`.

507 507 

508<h3 id="permission-mode-model-and-effort">508<h3 id="permission-mode-model-and-effort">

509 Mode izin, model, dan upaya509 Mode izin, model, dan upaya

510</h3>510</h3>

511 511 

512Sesi latar belakang membaca [pengaturan](/id/settings) dari direktori tempat sesi berjalan, sama seperti jika Anda telah memulai `claude` di sana. Ini mencakup nilai [`env`](/id/settings#available-settings) dalam pengaturan proyek, jadi `ANTHROPIC_MODEL` atau variabel penyedia yang ditetapkan di sana berlaku untuk sesi latar belakang di direktori itu.512Sesi latar belakang membaca [pengaturan](/docs/id/settings) dari direktori tempat sesi berjalan, sama seperti jika Anda telah memulai `claude` di sana. Ini mencakup nilai [`env`](/docs/id/settings#available-settings) dalam pengaturan proyek, jadi `ANTHROPIC_MODEL` atau variabel penyedia yang ditetapkan di sana berlaku untuk sesi latar belakang di direktori itu.

513 513 

514Pemilihan penyedia cloud, seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, dan alias `ANTHROPIC_DEFAULT_*_MODEL` mengikuti shell yang mengirim sesi. {/* min-version: 2.1.206 */}Jika Anda mengekspor penimpaan badan permintaan [`CLAUDE_CODE_EXTRA_BODY`](/id/env-vars) dalam shell itu, itu mencapai sesi dengan cara yang sama. Sebelum v2.1.206, pekerja latar belakang mengabaikan `CLAUDE_CODE_EXTRA_BODY` yang diekspor shell.514Pemilihan penyedia cloud, seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, dan alias `ANTHROPIC_DEFAULT_*_MODEL` mengikuti shell yang mengirim sesi. Jika Anda mengekspor penimpaan badan permintaan [`CLAUDE_CODE_EXTRA_BODY`](/docs/id/env-vars) dalam shell itu, itu mencapai sesi dengan cara yang sama. Sebelum v2.1.206, pekerja latar belakang mengabaikan `CLAUDE_CODE_EXTRA_BODY` yang diekspor shell.

515 515 

516Jika Anda mengekspor gateway `ANTHROPIC_BASE_URL` dalam shell pengiriman, itu mencapai sesi juga, bersama dengan `ANTHROPIC_CUSTOM_HEADERS`, ketika supervisor berjalan dengan lingkungan gateway yang sama dan sesi berjalan di direktori tempat Anda mengirim atau adalah sesi Anda sendiri yang dilepaskan ke latar belakang dengan `←` atau `/background`. Itu adalah kasus normal ketika shell pertama yang membuka tampilan agen atau mengirim sesi latar belakang adalah shell gateway. Pengiriman ke direktori berbeda dengan `@repo` atau `--cwd` tidak membawa gateway shell; pengaturan [settings](/id/settings) proyek itu menyediakan endpoint. Lihat [proses supervisor](#the-supervisor-process) untuk cara sesi latar belakang bersumber pengaturan penyedia dan kredensial.516Jika Anda mengekspor gateway `ANTHROPIC_BASE_URL` dalam shell pengiriman, itu mencapai sesi juga, bersama dengan `ANTHROPIC_CUSTOM_HEADERS`, ketika supervisor berjalan dengan lingkungan gateway yang sama dan sesi berjalan di direktori tempat Anda mengirim atau adalah sesi Anda sendiri yang dilepaskan ke latar belakang dengan `←` atau `/background`. Itu adalah kasus normal ketika shell pertama yang membuka tampilan agen atau mengirim sesi latar belakang adalah shell gateway. Pengiriman ke direktori berbeda dengan `@repo` atau `--cwd` tidak membawa gateway shell; pengaturan [settings](/docs/id/settings) proyek itu menyediakan endpoint. Lihat [proses supervisor](#the-supervisor-process) untuk cara sesi latar belakang bersumber pengaturan penyedia dan kredensial.

517 517 

518[Mode izin](/id/permissions) tergantung pada cara Anda memulai sesi. Melepaskan sesi yang ada dengan `/bg` atau `←` mempertahankan mode izin saat ini, jadi sesi yang Anda alihkan ke `acceptEdits` atau `auto` tetap dalam mode itu setelah detach. Mengirim dari input tampilan agen atau menjalankan `claude --bg` dari shell Anda menggunakan `defaultMode` dari pengaturan direktori itu, atau `permissionMode` dari [frontmatter subagent](/id/sub-agents#supported-frontmatter-fields) yang dikirim.518[Mode izin](/docs/id/permissions) tergantung pada cara Anda memulai sesi. Melepaskan sesi yang ada dengan `/bg` atau `←` mempertahankan mode izin saat ini, jadi sesi yang Anda alihkan ke `acceptEdits` atau `auto` tetap dalam mode itu setelah detach. Mengirim dari input tampilan agen atau menjalankan `claude --bg` dari shell Anda menggunakan `defaultMode` dari pengaturan direktori itu, atau `permissionMode` dari [frontmatter subagent](/docs/id/sub-agents#supported-frontmatter-fields) yang dikirim.

519 519 

520Mode izin, model, dan upaya yang sesi latar belakang dimulai dengan, bersama dengan [bendera konfigurasi yang dibawanya](#from-inside-a-session), semuanya bertahan ketika supervisor kemudian [menghentikan dan memulai ulang](#the-supervisor-process) prosesnya. Sesi yang Anda luncurkan dengan `claude --bg --dangerously-skip-permissions` atau `claude --bg --permission-mode bypassPermissions` tetap dalam `bypassPermissions` setelah restart itu alih-alih kembali ke `defaultMode` direktori, dan model atau upaya yang Anda ubah di tengah sesi dengan `/model` atau `/effort` disimpan.520Mode izin, model, dan upaya yang sesi latar belakang dimulai dengan, bersama dengan [bendera konfigurasi yang dibawanya](#from-inside-a-session), semuanya bertahan ketika supervisor kemudian [menghentikan dan memulai ulang](#the-supervisor-process) prosesnya. Sesi yang Anda luncurkan dengan `claude --bg --dangerously-skip-permissions` atau `claude --bg --permission-mode bypassPermissions` tetap dalam `bypassPermissions` setelah restart itu alih-alih kembali ke `defaultMode` direktori, dan model atau upaya yang Anda ubah di tengah sesi dengan `/model` atau `/effort` disimpan.

521 521 

522Upaya yang sesi ambil dari pengaturan [`effortLevel`](/id/settings#available-settings) daripada dari `--effort` atau `/effort` tidak diperbaiki saat pengiriman: setiap proses yang dimulai untuk sesi membaca pengaturan lagi, jadi mengedit `effortLevel` dalam `settings.json` mencapai sesi yang Anda lepaskan ke latar belakang dengan `←` atau `/bg` dan restart mereka yang lebih baru. Sebelum v2.1.203, melepaskan sesi mencatat upaya yang berasal dari pengaturan seolah-olah Anda telah melewatkan `--effort`, jadi pengeditan `effortLevel` yang lebih baru tidak pernah mencapainya.522Upaya yang sesi ambil dari pengaturan [`effortLevel`](/docs/id/settings#available-settings) daripada dari `--effort` atau `/effort` tidak diperbaiki saat pengiriman: setiap proses yang dimulai untuk sesi membaca pengaturan lagi, jadi mengedit `effortLevel` dalam `settings.json` mencapai sesi yang Anda lepaskan ke latar belakang dengan `←` atau `/bg` dan restart mereka yang lebih baru. Sebelum v2.1.203, melepaskan sesi mencatat upaya yang berasal dari pengaturan seolah-olah Anda telah melewatkan `--effort`, jadi pengeditan `effortLevel` yang lebih baru tidak pernah mencapainya.

523 523 

524Nama yang Anda atur dengan [`/rename`](/id/commands) atau `Ctrl+R` juga bertahan di seluruh restart itu, jadi [`claude --resume <name>`](/id/sessions#name-your-sessions) masih menyelesaikan sesi. Sebelum v2.1.202, restart mengembalikan sesi ke nama yang dikirim dengannya dan nama baru berhenti menyelesaikan.524Nama yang Anda atur dengan [`/rename`](/docs/id/commands) atau `Ctrl+R` juga bertahan di seluruh restart itu, jadi [`claude --resume <name>`](/docs/id/sessions#name-your-sessions) masih menyelesaikan sesi. Sebelum v2.1.202, restart mengembalikan sesi ke nama yang dikirim dengannya dan nama baru berhenti menyelesaikan.

525 525 

526Untuk menetapkan default untuk setiap sesi yang Anda kirim dari tampilan agen, berikan salah satu dari `--permission-mode`, `--model`, `--effort`, atau `--agent` saat membukanya:526Untuk menetapkan default untuk setiap sesi yang Anda kirim dari tampilan agen, berikan salah satu dari `--permission-mode`, `--model`, `--effort`, atau `--agent` saat membukanya:

527 527 


529claude agents --permission-mode plan --model opus --effort high529claude agents --permission-mode plan --model opus --effort high

530```530```

531 531 

532`--agent` menetapkan [subagent](/id/sub-agents) yang digunakan ketika prompt pengiriman tidak menyebutkan satu, baik dengan `@name` atau sebagai kata pertama. Ini default ke pengaturan [`agent`](/id/settings#available-settings) jika satu diatur, jika tidak agen catch-all bawaan `claude`. Menyebutkan subagent dalam input pengiriman menimpa keduanya.532`--agent` menetapkan [subagent](/docs/id/sub-agents) yang digunakan ketika prompt pengiriman tidak menyebutkan satu, baik dengan `@name` atau sebagai kata pertama. Ini default ke pengaturan [`agent`](/docs/id/settings#available-settings) jika satu diatur, jika tidak agen catch-all bawaan `claude`. Menyebutkan subagent dalam input pengiriman menimpa keduanya.

533 533 

534`claude agents` juga menerima `--dangerously-skip-permissions` sebagai singkatan untuk `--permission-mode bypassPermissions`, dan `--allow-dangerously-skip-permissions` untuk membuat `bypassPermissions` tersedia dalam siklus `Shift+Tab` setiap sesi yang dikirim tanpa memulai dalam mode itu. Keduanya cocok dengan [bendera CLI tingkat atas](/id/cli-reference).534`claude agents` juga menerima `--dangerously-skip-permissions` sebagai singkatan untuk `--permission-mode bypassPermissions`, dan `--allow-dangerously-skip-permissions` untuk membuat `bypassPermissions` tersedia dalam siklus `Shift+Tab` setiap sesi yang dikirim tanpa memulai dalam mode itu. Keduanya cocok dengan [bendera CLI tingkat atas](/docs/id/cli-reference).

535 535 

536Default aktif muncul di footer di bawah input pengiriman.536Default aktif muncul di footer di bawah input pengiriman.

537 537 

538Tanpa bendera ini, sesi menggunakan `defaultMode` dari pengaturan direktori itu atau `permissionMode` dari [frontmatter subagent](/id/sub-agents#supported-frontmatter-fields) yang dikirim, dan model yang ditampilkan di header tampilan agen.538Tanpa bendera ini, sesi menggunakan `defaultMode` dari pengaturan direktori itu atau `permissionMode` dari [frontmatter subagent](/docs/id/sub-agents#supported-frontmatter-fields) yang dikirim, dan model yang ditampilkan di header tampilan agen.

539 539 

540Menggunakan `bypassPermissions` dengan `claude --bg --permission-mode` ditolak sampai Anda telah menerima pengecualian bypass dengan menjalankan `claude --dangerously-skip-permissions` sekali secara interaktif, karena mode itu memungkinkan sesi yang tidak Anda tonton bertindak tanpa persetujuan. Melewatkan `--dangerously-skip-permissions` atau `--permission-mode bypassPermissions` ke `claude agents` menampilkan pengecualian yang sama ketika Anda belum menerimanya sebelumnya, dan menerima menerapkan `bypassPermissions` ke sesi yang Anda luncurkan dari tampilan. Melewatkan `--allow-dangerously-skip-permissions` menampilkan pengecualian yang sama juga, dan menerima membuat `bypassPermissions` tersedia dalam siklus `Shift+Tab` sesi tersebut tanpa memulai di dalamnya.540Menggunakan `bypassPermissions` dengan `claude --bg --permission-mode` ditolak sampai Anda telah menerima pengecualian bypass dengan menjalankan `claude --dangerously-skip-permissions` sekali secara interaktif, karena mode itu memungkinkan sesi yang tidak Anda tonton bertindak tanpa persetujuan. Melewatkan `--dangerously-skip-permissions` atau `--permission-mode bypassPermissions` ke `claude agents` menampilkan pengecualian yang sama ketika Anda belum menerimanya sebelumnya, dan menerima menerapkan `bypassPermissions` ke sesi yang Anda luncurkan dari tampilan. Melewatkan `--allow-dangerously-skip-permissions` menampilkan pengecualian yang sama juga, dan menerima membuat `bypassPermissions` tersedia dalam siklus `Shift+Tab` sesi tersebut tanpa memulai di dalamnya.

541 541 


547 547 

548| Bendera | Efek |548| Bendera | Efek |

549| :----------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |549| :----------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |

550| [`--settings <file-or-json>`](/id/settings) | Menimpa pengaturan untuk tampilan agen dan sesi yang dikirim |550| [`--settings <file-or-json>`](/docs/id/settings) | Menimpa pengaturan untuk tampilan agen dan sesi yang dikirim |

551| [`--add-dir <path>`](/id/permissions#additional-directories-grant-file-access-not-configuration) | Memberikan akses file ke direktori tambahan |551| [`--add-dir <path>`](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) | Memberikan akses file ke direktori tambahan |

552| [`--plugin-dir <path>`](/id/plugins) | Memuat plugin dari direktori lokal |552| [`--plugin-dir <path>`](/docs/id/plugins) | Memuat plugin dari direktori lokal |

553| [`--mcp-config <file-or-json>`](/id/mcp) | Memuat server MCP dari file konfigurasi atau string JSON |553| [`--mcp-config <file-or-json>`](/docs/id/mcp) | Memuat server MCP dari file konfigurasi atau string JSON |

554| `--strict-mcp-config` | Gunakan hanya server MCP dari `--mcp-config`, abaikan konfigurasi MCP lainnya |554| `--strict-mcp-config` | Gunakan hanya server MCP dari `--mcp-config`, abaikan konfigurasi MCP lainnya |

555 555 

556Ulangi `--add-dir`, `--plugin-dir`, atau `--mcp-config` sekali per nilai. Bentuk yang dipisahkan spasi, seperti `--add-dir a b c`, tidak didukung dengan `claude agents`.556Ulangi `--add-dir`, `--plugin-dir`, atau `--mcp-config` sekali per nilai. Bentuk yang dipisahkan spasi, seperti `--add-dir a b c`, tidak didukung dengan `claude agents`.


601 601 

602PATH shell pengiriman diterapkan ke worker dengan cara yang sama, jadi perintah shell yang dijalankan sesi menemukan alat yang sama dengan yang ada di terminal Anda. Sebelum v2.1.203, sesi latar belakang menyimpan `PATH` dari shell yang pertama kali memulai supervisor, jadi alat yang ditambahkan ke `PATH` Anda sejak saat itu bisa hilang, paling sering di Windows.602PATH shell pengiriman diterapkan ke worker dengan cara yang sama, jadi perintah shell yang dijalankan sesi menemukan alat yang sama dengan yang ada di terminal Anda. Sebelum v2.1.203, sesi latar belakang menyimpan `PATH` dari shell yang pertama kali memulai supervisor, jadi alat yang ditambahkan ke `PATH` Anda sejak saat itu bisa hilang, paling sering di Windows.

603 603 

604Sesi latar belakang tidak mewarisi variabel titik akhir gateway seperti `ANTHROPIC_BASE_URL` atau variabel URL dasar yang setara untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry dari shell yang memulai supervisor. Tanpa gateway yang diekspor di shell tempat Anda mengirim, sesi menggunakan kredensial yang disimpan Anda dan nilai `env` apa pun dalam [pengaturan](/id/settings) direktori proyek. Untuk mengarahkan setiap sesi dalam proyek ke [gateway LLM](/id/llm-gateway), atur `ANTHROPIC_BASE_URL` dalam blok `env` `settings.json` `.claude/` proyek itu.604Sesi latar belakang tidak mewarisi variabel titik akhir gateway seperti `ANTHROPIC_BASE_URL` atau variabel URL dasar yang setara untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry dari shell yang memulai supervisor. Tanpa gateway yang diekspor di shell tempat Anda mengirim, sesi menggunakan kredensial yang disimpan Anda dan nilai `env` apa pun dalam [pengaturan](/docs/id/settings) direktori proyek. Untuk mengarahkan setiap sesi dalam proyek ke [gateway LLM](/docs/id/llm-gateway), atur `ANTHROPIC_BASE_URL` dalam blok `env` `settings.json` `.claude/` proyek itu.

605 605 

606{/* min-version: 2.1.203 */}Gateway `ANTHROPIC_BASE_URL` yang diekspor di shell tempat Anda mengirim mencapai worker sesi itu, bersama dengan `ANTHROPIC_CUSTOM_HEADERS` dan kredensial yang diekspor bersama dengannya, ketika supervisor dimulai dari lingkungan dengan gateway yang sama. Supervisor menangkap lingkungannya dari shell pertama yang membuka tampilan agen atau mengirim sesi latar belakang, jadi memulai dari shell gateway memberikannya lingkungan itu. Penerusan juga hanya berlaku untuk sesi yang dikirim ke direktori tempat Anda mengirim, atau dikirim ke latar belakang dari sesi Anda sendiri dengan `←` atau `/background`: mengirim ke direktori berbeda dengan `@repo` atau `--cwd` tidak membawa gateway shell, dan blok `env` `settings.json` proyek itu menyediakan titik akhir sebagai gantinya. Ketika lingkungan supervisor membawa gateway berbeda atau tidak ada, worker menyimpan kredensial yang disimpan Anda terhadap titik akhir default alih-alih mencampur kredensial satu lingkungan dengan titik akhir lingkungan lain. Sebelum v2.1.203, `ANTHROPIC_BASE_URL` shell pengiriman dijatuhkan sementara `ANTHROPIC_API_KEY` yang diekspor bersama dengannya disimpan, jadi kunci gateway dikirim ke titik akhir default dan setiap permintaan gagal dengan 401.606Gateway `ANTHROPIC_BASE_URL` yang diekspor di shell tempat Anda mengirim mencapai worker sesi itu, bersama dengan `ANTHROPIC_CUSTOM_HEADERS` dan kredensial yang diekspor bersama dengannya, ketika supervisor dimulai dari lingkungan dengan gateway yang sama. Supervisor menangkap lingkungannya dari shell pertama yang membuka tampilan agen atau mengirim sesi latar belakang, jadi memulai dari shell gateway memberikannya lingkungan itu. Penerusan juga hanya berlaku untuk sesi yang dikirim ke direktori tempat Anda mengirim, atau dikirim ke latar belakang dari sesi Anda sendiri dengan `←` atau `/background`: mengirim ke direktori berbeda dengan `@repo` atau `--cwd` tidak membawa gateway shell, dan blok `env` `settings.json` proyek itu menyediakan titik akhir sebagai gantinya. Ketika lingkungan supervisor membawa gateway berbeda atau tidak ada, worker menyimpan kredensial yang disimpan Anda terhadap titik akhir default alih-alih mencampur kredensial satu lingkungan dengan titik akhir lingkungan lain. Sebelum v2.1.203, `ANTHROPIC_BASE_URL` shell pengiriman dijatuhkan sementara `ANTHROPIC_API_KEY` yang diekspor bersama dengannya disimpan, jadi kunci gateway dikirim ke titik akhir default dan setiap permintaan gagal dengan 401.

607 607 

608Titik akhir yang diteruskan hanya berlaku untuk proses aktif itu dan tidak pernah ditulis ke disk. Ketika supervisor menghentikan sesi idle dan kemudian memulainya kembali, proses yang dimulai ulang membaca titik akhirnya dari pengaturan Anda lagi: dengan `ANTHROPIC_AUTH_TOKEN` gateway itu kembali ke kredensial yang disimpan Anda, dan dengan `ANTHROPIC_API_KEY` yang dikeluarkan gateway itu dapat gagal untuk mengautentikasi sampai gateway diatur dalam pengaturan.608Titik akhir yang diteruskan hanya berlaku untuk proses aktif itu dan tidak pernah ditulis ke disk. Ketika supervisor menghentikan sesi idle dan kemudian memulainya kembali, proses yang dimulai ulang membaca titik akhirnya dari pengaturan Anda lagi: dengan `ANTHROPIC_AUTH_TOKEN` gateway itu kembali ke kredensial yang disimpan Anda, dan dengan `ANTHROPIC_API_KEY` yang dikeluarkan gateway itu dapat gagal untuk mengautentikasi sampai gateway diatur dalam pengaturan.

609 609 


615 615 

616* Perintah shell latar belakang yang selesai sementara itu dilaporkan sebagai selesai dengan outputnya616* Perintah shell latar belakang yang selesai sementara itu dilaporkan sebagai selesai dengan outputnya

617* Alur kerja dinamis dilanjutkan dari tempat ia berhenti617* Alur kerja dinamis dilanjutkan dari tempat ia berhenti

618* [Subagen latar belakang](/id/sub-agents#run-subagents-in-foreground-or-background) dilanjutkan dari transkrip mereka sendiri618* [Subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dilanjutkan dari transkrip mereka sendiri

619 619 

620{/* min-version: 2.1.198 */}Mulai dari v2.1.198 penyerahan mencakup ketiga-tiganya. Sebelum v2.1.198 itu hanya mencakup perintah shell dan alur kerja, jadi subagen latar belakang berhenti dengan proses dan dilaporkan sebagai gagal pada bangun berikutnya.620Mulai dari v2.1.198 penyerahan mencakup ketiga-tiganya. Sebelum v2.1.198 itu hanya mencakup perintah shell dan alur kerja, jadi subagen latar belakang berhenti dengan proses dan dilaporkan sebagai gagal pada bangun berikutnya.

621 621 

622Pekerjaan yang statusnya hanya hidup di dalam proses itu sendiri berhenti dengannya alih-alih diserahkan. Itu adalah perintah shell yang dimulai subagen, yang dapat dimulai lagi oleh subagen yang dilanjutkan, dan [monitor](/id/tools-reference#monitor-tool) yang sedang berjalan, yang aliran acaranya tidak dapat dipindahkan ke proses lain.622Pekerjaan yang statusnya hanya hidup di dalam proses itu sendiri berhenti dengannya alih-alih diserahkan. Itu adalah perintah shell yang dimulai subagen, yang dapat dimulai lagi oleh subagen yang dilanjutkan, dan [monitor](/docs/id/tools-reference#monitor-tool) yang sedang berjalan, yang aliran acaranya tidak dapat dipindahkan ke proses lain.

623 623 

624Menghapus sesi menghentikan semua yang diserahkannya. Untuk menghentikan semua pekerjaan latar belakang sesi dengan proses alih-alih menyerahkannya, atur variabel lingkungan [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/id/env-vars#variables) ke `1`.624Menghapus sesi menghentikan semua yang diserahkannya. Untuk menghentikan semua pekerjaan latar belakang sesi dengan proses alih-alih menyerahkannya, atur variabel lingkungan [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/id/env-vars#variables) ke `1`.

625 625 

626Proses yang dimulai ulang menemukan percakapan sesi yang [pindah ke worktree](#how-file-edits-are-isolated) di tengah tugas: ketika transkrip tidak berada di tempat sesi dimulai, Claude Code juga mencari di bawah worktree terdaftar repositori. Sebelum v2.1.207, membuka kembali sesi itu dari tampilan agen setelah prosesnya berhenti dapat menampilkan percakapan kosong dengan hanya prompt aslinya, dengan transkrip masih utuh di disk; membuka sesi lagi pada v2.1.207 atau lebih baru memulihkannya.626Proses yang dimulai ulang menemukan percakapan sesi yang [pindah ke worktree](#how-file-edits-are-isolated) di tengah tugas: ketika transkrip tidak berada di tempat sesi dimulai, Claude Code juga mencari di bawah worktree terdaftar repositori. Sebelum v2.1.207, membuka kembali sesi itu dari tampilan agen setelah prosesnya berhenti dapat menampilkan percakapan kosong dengan hanya prompt aslinya, dengan transkrip masih utuh di disk; membuka sesi lagi pada v2.1.207 atau lebih baru memulihkannya.

627 627 


631 631 

632Ketika host kekurangan memori, supervisor menghentikan sesi idle non-pin terlebih dahulu dan menghentikan sesi pin idle hanya jika itu tidak membebaskan apa pun.632Ketika host kekurangan memori, supervisor menghentikan sesi idle non-pin terlebih dahulu dan menghentikan sesi pin idle hanya jika itu tidak membebaskan apa pun.

633 633 

634Supervisor memantau biner Claude Code yang diinstal di disk dan memulai ulang ke versi baru setelah [auto-updater](/id/setup#auto-updates) reguler menggantinya. Ini adalah pengawasan file lokal, bukan pemeriksaan jaringan. Sesi latar belakang adalah proses terlepas, jadi mereka terus berjalan melalui restart dan supervisor baru terhubung kembali ke mereka. Sesi pin idle juga dimulai ulang di tempat ke versi baru sehingga mengambil pembaruan tanpa Anda melampirkan kembali.634Supervisor memantau biner Claude Code yang diinstal di disk dan memulai ulang ke versi baru setelah [auto-updater](/docs/id/setup#auto-updates) reguler menggantinya. Ini adalah pengawasan file lokal, bukan pemeriksaan jaringan. Sesi latar belakang adalah proses terlepas, jadi mereka terus berjalan melalui restart dan supervisor baru terhubung kembali ke mereka. Sesi pin idle juga dimulai ulang di tempat ke versi baru sehingga mengambil pembaruan tanpa Anda melampirkan kembali.

635 635 

636Setelah supervisor baru mengambil alih, itu juga memulai ulang sesi idle yang tersisa ke versi baru, beberapa sekaligus di latar belakang, setelah penundaan singkat yang memungkinkan terminal yang terpasang di seluruh restart untuk terhubung kembali terlebih dahulu. Sesi yang bekerja, menunggu masukan Anda, atau memiliki terminal yang terpasang tidak terganggu; itu berpindah ke versi baru lain kali prosesnya dimulai ulang. Sebelum v2.1.206, supervisor memindahkan hanya beberapa sesi idle per menit ke versi baru, jadi sesi dapat terus menjalankan yang lama selama beberapa waktu setelah pembaruan.636Setelah supervisor baru mengambil alih, itu juga memulai ulang sesi idle yang tersisa ke versi baru, beberapa sekaligus di latar belakang, setelah penundaan singkat yang memungkinkan terminal yang terpasang di seluruh restart untuk terhubung kembali terlebih dahulu. Sesi yang bekerja, menunggu masukan Anda, atau memiliki terminal yang terpasang tidak terganggu; itu berpindah ke versi baru lain kali prosesnya dimulai ulang. Sebelum v2.1.206, supervisor memindahkan hanya beberapa sesi idle per menit ke versi baru, jadi sesi dapat terus menjalankan yang lama selama beberapa waktu setelah pembaruan.

637 637 


643 Tempat status disimpan643 Tempat status disimpan

644</h3>644</h3>

645 645 

646Status sesi disimpan di bawah direktori konfigurasi Claude Code Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/id/env-vars), supervisor menggunakan direktori itu alih-alih `~/.claude` dan berjalan sebagai instans terpisah dengan sesinya sendiri.646Status sesi disimpan di bawah direktori konfigurasi Claude Code Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), supervisor menggunakan direktori itu alih-alih `~/.claude` dan berjalan sebagai instans terpisah dengan sesinya sendiri.

647 647 

648| Jalur | Isi |648| Jalur | Isi |

649| :------------------------------- | :------------------------------------------------------------------------------------------ |649| :------------------------------- | :------------------------------------------------------------------------------------------ |


658 658 

659Perintah ini juga memperingatkan ketika supervisor yang berjalan berada pada versi yang berbeda dari `claude` yang Anda panggil, yang terjadi setelah pembaruan yang belum dimulai ulang oleh supervisor. Peringatan menunjukkan kedua versi dan memberi tahu Anda untuk menjalankan `claude daemon stop --any` untuk mengambil versi baru. Ketika Claude Code diinstal sebagai layanan OS, perintah yang disarankan adalah `claude daemon stop` tanpa flag.659Perintah ini juga memperingatkan ketika supervisor yang berjalan berada pada versi yang berbeda dari `claude` yang Anda panggil, yang terjadi setelah pembaruan yang belum dimulai ulang oleh supervisor. Peringatan menunjukkan kedua versi dan memberi tahu Anda untuk menjalankan `claude daemon stop --any` untuk mengambil versi baru. Ketika Claude Code diinstal sebagai layanan OS, perintah yang disarankan adalah `claude daemon stop` tanpa flag.

660 660 

661Sesi bertahan melalui ketidaksesuaian versi itu utuh: versi Claude Code yang lebih lama yang memperbarui `state.json` sesi menyimpan bidang yang tidak dikenalinya dan membuat sesi tetap terdaftar. {/* min-version: 2.1.200 */}Daftar sesi dalam `roster.json` mengikuti aturan yang sama: versi yang lebih lama yang menulis ulangnya menyimpan bidang yang ditulis versi yang lebih baru, jadi sesi yang dimulai oleh versi yang lebih baru tetap dapat dijangkau dan terus menerima masukan setelah supervisor dimulai ulang. Sebelum v2.1.200, versi yang lebih lama dapat menghapus bidang tersebut saat menulis ulang.661Sesi bertahan melalui ketidaksesuaian versi itu utuh: versi Claude Code yang lebih lama yang memperbarui `state.json` sesi menyimpan bidang yang tidak dikenalinya dan membuat sesi tetap terdaftar. Daftar sesi dalam `roster.json` mengikuti aturan yang sama: versi yang lebih lama yang menulis ulangnya menyimpan bidang yang ditulis versi yang lebih baru, jadi sesi yang dimulai oleh versi yang lebih baru tetap dapat dijangkau dan terus menerima masukan setelah supervisor dimulai ulang. Sebelum v2.1.200, versi yang lebih lama dapat menghapus bidang tersebut saat menulis ulang.

662 662 

663Di Windows, `claude daemon status` menampilkan kesalahan file yang mendasar ketika file kunci pipa daemon terkunci atau tidak dapat dibaca alih-alih melaporkan kegagalan koneksi generik.663Di Windows, `claude daemon status` menampilkan kesalahan file yang mendasar ketika file kunci pipa daemon terkunci atau tidak dapat dibaca alih-alih melaporkan kegagalan koneksi generik.

664 664 


666 Matikan tampilan agen666 Matikan tampilan agen

667</h3>667</h3>

668 668 

669Untuk mematikan agen latar belakang dan tampilan agen sepenuhnya, atur pengaturan `disableAgentView` [setting](/id/settings) ke `true` atau atur variabel lingkungan `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Administrator dapat memberlakukan ini melalui [pengaturan terkelola](/id/permissions#managed-settings).669Untuk mematikan agen latar belakang dan tampilan agen sepenuhnya, atur pengaturan `disableAgentView` [setting](/docs/id/settings) ke `true` atau atur variabel lingkungan `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Administrator dapat memberlakukan ini melalui [pengaturan terkelola](/docs/id/permissions#managed-settings).

670 670 

671<h2 id="troubleshooting">671<h2 id="troubleshooting">

672 Troubleshooting672 Troubleshooting


690 Melepaskan menunjukkan dialog `Background this session?`690 Melepaskan menunjukkan dialog `Background this session?`

691</h3>691</h3>

692 692 

693Jika menekan `←` untuk melepaskan sesi saat ini menunjukkan dialog `Background this session?`, sesi memiliki pekerjaan yang sedang berlangsung yang tidak dapat berpindah ke sesi latar belakang, seperti [monitor](/id/tools-reference#monitor-tool) yang sedang berjalan, dan Claude Code tidak akan diam-diam menghentikannya. Dialog menyebutkan pekerjaan yang akan dihentikan dan, secara terpisah, menghitung tugas yang dibawa. Jalankan `/tasks` untuk melihat semua yang sedang berjalan, kemudian konfirmasi untuk melepaskan atau pilih `Stay` untuk membiarkan pekerjaan selesai terlebih dahulu. Lihat [Dari dalam sesi](#from-inside-a-session) untuk jenis tugas mana yang dibawa dan mana yang dihentikan.693Jika menekan `←` untuk melepaskan sesi saat ini menunjukkan dialog `Background this session?`, sesi memiliki pekerjaan yang sedang berlangsung yang tidak dapat berpindah ke sesi latar belakang, seperti [monitor](/docs/id/tools-reference#monitor-tool) yang sedang berjalan, dan Claude Code tidak akan diam-diam menghentikannya. Dialog menyebutkan pekerjaan yang akan dihentikan dan, secara terpisah, menghitung tugas yang dibawa. Jalankan `/tasks` untuk melihat semua yang sedang berjalan, kemudian konfirmasi untuk melepaskan atau pilih `Stay` untuk membiarkan pekerjaan selesai terlebih dahulu. Lihat [Dari dalam sesi](#from-inside-a-session) untuk jenis tugas mana yang dibawa dan mana yang dihentikan.

694 694 

695<h3 id="prompt-rejected-as-too-short">695<h3 id="prompt-rejected-as-too-short">

696 Prompt ditolak karena terlalu pendek696 Prompt ditolak karena terlalu pendek


752 752 

753`claude agents` atau `claude --bg` berikutnya memulai supervisor segar yang membaca kredensial yang disimpan Anda. Jika Anda mengautentikasi dengan variabel lingkungan seperti `ANTHROPIC_API_KEY` daripada `/login`, jalankan perintah berikutnya dari shell tempat variabel diatur.753`claude agents` atau `claude --bg` berikutnya memulai supervisor segar yang membaca kredensial yang disimpan Anda. Jika Anda mengautentikasi dengan variabel lingkungan seperti `ANTHROPIC_API_KEY` daripada `/login`, jalankan perintah berikutnya dari shell tempat variabel diatur.

754 754 

755Lihat [referensi kesalahan](/id/errors#could-not-resolve-authentication-method) untuk daftar lengkap penyebab dan perbaikan.755Lihat [referensi kesalahan](/docs/id/errors#could-not-resolve-authentication-method) untuk daftar lengkap penyebab dan perbaikan.

756 756 

757<h3 id="background-sessions-can’t-read-desktop-documents-or-downloads-on-macos">757<h3 id="background-sessions-can’t-read-desktop-documents-or-downloads-on-macos">

758 Sesi latar belakang tidak dapat membaca Desktop, Documents, atau Downloads di macOS758 Sesi latar belakang tidak dapat membaca Desktop, Documents, atau Downloads di macOS


766 Sesi latar belakang tidak dapat menjangkau host jaringan lokal di macOS766 Sesi latar belakang tidak dapat menjangkau host jaringan lokal di macOS

767</h3>767</h3>

768 768 

769Di macOS 15 dan yang lebih baru, sistem memblokir proses dari menjangkau perangkat di jaringan lokal Anda sampai Anda memberikan izin Local Network. Sebelum v2.1.198 host sesi latar belakang tidak pernah meminta izin itu, jadi perintah yang menargetkan alamat LAN gagal dengan `connect: no route to host` meskipun perintah yang sama berfungsi di terminal foreground. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, perintah pertama dalam sesi latar belakang yang terhubung ke alamat jaringan lokal memicu prompt izin Local Network macOS untuk Claude Code. Berikan sekali dan perintah tersebut menjangkau host LAN dengan cara yang sama seperti di terminal foreground.769Di macOS 15 dan yang lebih baru, sistem memblokir proses dari menjangkau perangkat di jaringan lokal Anda sampai Anda memberikan izin Local Network. Sebelum v2.1.198 host sesi latar belakang tidak pernah meminta izin itu, jadi perintah yang menargetkan alamat LAN gagal dengan `connect: no route to host` meskipun perintah yang sama berfungsi di terminal foreground. Mulai dari v2.1.198, perintah pertama dalam sesi latar belakang yang terhubung ke alamat jaringan lokal memicu prompt izin Local Network macOS untuk Claude Code. Berikan sekali dan perintah tersebut menjangkau host LAN dengan cara yang sama seperti di terminal foreground.

770 770 

771<h3 id="a-session-is-slow-to-respond-after-attaching">771<h3 id="a-session-is-slow-to-respond-after-attaching">

772 Sesi lambat merespons setelah melampirkan772 Sesi lambat merespons setelah melampirkan


780 `.claude/worktrees/` penuh780 `.claude/worktrees/` penuh

781</h3>781</h3>

782 782 

783Menghapus sesi dalam tampilan agen menghapus worktree yang dibuat Claude untuk sesi tersebut, dan worktree yang tidak dapat dihapus dengan aman [menyimpan baris sesinya](#organize-the-list) sehingga tidak menjadi yatim piatu. `claude rm` menyimpan worktree yang memiliki perubahan yang belum dikomit, dan baris sesinya, dan mencetak jalur yang disimpan. Daftar entri sisa dengan `git worktree list` di direktori proyek dan hapus masing-masing dengan `git worktree remove <path>`. Lihat [Bersihkan worktrees](/id/worktrees#clean-up-worktrees).783Menghapus sesi dalam tampilan agen menghapus worktree yang dibuat Claude untuk sesi tersebut, dan worktree yang tidak dapat dihapus dengan aman [menyimpan baris sesinya](#organize-the-list) sehingga tidak menjadi yatim piatu. `claude rm` menyimpan worktree yang memiliki perubahan yang belum dikomit, dan baris sesinya, dan mencetak jalur yang disimpan. Daftar entri sisa dengan `git worktree list` di direktori proyek dan hapus masing-masing dengan `git worktree remove <path>`. Lihat [Bersihkan worktrees](/docs/id/worktrees#clean-up-worktrees).

784 784 

785<h2 id="limitations">785<h2 id="limitations">

786 Keterbatasan786 Keterbatasan


798 798 

799Untuk cara lain menjalankan Claude secara paralel, lihat:799Untuk cara lain menjalankan Claude secara paralel, lihat:

800 800 

801* [Jalankan agen secara paralel](/id/agents): bandingkan tampilan agen dengan subagents, tim agen, dan worktrees801* [Jalankan agen secara paralel](/docs/id/agents): bandingkan tampilan agen dengan subagents, tim agen, dan worktrees

802* [Tim agen](/id/agent-teams): koordinasikan beberapa sesi yang saling berpesan802* [Tim agen](/docs/id/agent-teams): koordinasikan beberapa sesi yang saling berpesan

803* [Claude Code di web](/id/claude-code-on-the-web): jalankan sesi di lingkungan cloud yang dikelola alih-alih secara lokal803* [Claude Code di web](/docs/id/claude-code-on-the-web): jalankan sesi di lingkungan cloud yang dikelola alih-alih secara lokal

804 804 

805<h2 id="version-history">805<h2 id="version-history">

806 Riwayat versi806 Riwayat versi


809Tampilan agen telah berkembang dengan cepat selama pratinjau penelitian. Jika Anda berada di versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak bendera yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap bendera dan perilaku ditambahkan.809Tampilan agen telah berkembang dengan cepat selama pratinjau penelitian. Jika Anda berada di versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak bendera yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap bendera dan perilaku ditambahkan.

810 810 

811| Versi | Perubahan |811| Versi | Perubahan |

812| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |812| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

813| v2.1.208 | {/* min-version: 2.1.208 */}Melampirkan ke sesi yang prosesnya telah berhenti menampilkan layar terakhir transkripsnya sementara proses dimulai, alih-alih hanya catatan `Session is starting`. Balasan yang tidak dapat dikirimkan karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal disimpan dan dikirim sebagai prompt berikutnya dari sesi ketika prosesnya dimulai lagi; sebelum rilis ini, balasan yang hilang saat layanan latar belakang tidak dapat dijangkau dibuang. Proses yang binernya sendiri diganti oleh pembaruan masih dapat memulai supervisor, dari peluncur `claude` yang terinstal atau versi terbaru di disk, alih-alih gagal sampai Claude Code dimulai ulang. Supervisor yang menjalankan versi yang lebih lama tidak pernah memulai ulang sesi idle yang dimulai oleh versi yang lebih baru ke binernya sendiri yang lebih lama. Menghapus sesi menghapus worktree-nya bahkan setelah sesi memindahkan worktree ke cabang yang berbeda, dan menjaga worktree tetap bersama dengan baris sesi ketika worktree memiliki commit yang tidak didorong ke mana pun atau sesi lain mengklaimnya, alih-alih menghancurkan commit atau meninggalkan worktree. `/install-github-app` dan daftar pengaturan `/mcp` serta tindakan autentikasinya ditolak dalam sesi latar belakang dengan pesan yang menyebutkan alternatifnya; hanya dalam v2.1.208, pemilih `/model` ditolak dengan cara yang sama dan `/model <name>` yang diketik beralih hanya sesi itu alih-alih juga menyimpan model default Anda. |813| v2.1.208 | Melampirkan ke sesi yang prosesnya telah berhenti menampilkan layar terakhir transkripsnya sementara proses dimulai, alih-alih hanya catatan `Session is starting`. Balasan yang tidak dapat dikirimkan karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal disimpan dan dikirim sebagai prompt berikutnya dari sesi ketika prosesnya dimulai lagi; sebelum rilis ini, balasan yang hilang saat layanan latar belakang tidak dapat dijangkau dibuang. Proses yang binernya sendiri diganti oleh pembaruan masih dapat memulai supervisor, dari peluncur `claude` yang terinstal atau versi terbaru di disk, alih-alih gagal sampai Claude Code dimulai ulang. Supervisor yang menjalankan versi yang lebih lama tidak pernah memulai ulang sesi idle yang dimulai oleh versi yang lebih baru ke binernya sendiri yang lebih lama. Menghapus sesi menghapus worktree-nya bahkan setelah sesi memindahkan worktree ke cabang yang berbeda, dan menjaga worktree tetap bersama dengan baris sesi ketika worktree memiliki commit yang tidak didorong ke mana pun atau sesi lain mengklaimnya, alih-alih menghancurkan commit atau meninggalkan worktree. `/install-github-app` dan daftar pengaturan `/mcp` serta tindakan autentikasinya ditolak dalam sesi latar belakang dengan pesan yang menyebutkan alternatifnya; hanya dalam v2.1.208, pemilih `/model` ditolak dengan cara yang sama dan `/model <name>` yang diketik beralih hanya sesi itu alih-alih juga menyimpan model default Anda. |

814| v2.1.207 | {/* min-version: 2.1.207 */}Panel intip terbuka dengan kalimat yang dipotong baris, seperti pertanyaan pastinya untuk sesi yang menunggu Anda, dan menampilkan berapa lama sesi yang diblokir telah menunggu sebagai baris `waiting 3m` tunggal alih-alih menambahkan awalan stempel waktu yang sama ke kalimat status dan pertanyaan. Menempel teks yang sama lagi dalam input pengiriman memperluas placeholder `[Pasted text #N]` yang runtuh alih-alih menambahkan yang kedua. Sesi latar belakang yang dinamai dengan menerima rencana menampilkan nama itu pada barisnya. Sesi latar belakang yang pindah ke worktree menyimpan percakapannya ketika prosesnya dimulai ulang dari tampilan agen. |814| v2.1.207 | Panel intip terbuka dengan kalimat yang dipotong baris, seperti pertanyaan pastinya untuk sesi yang menunggu Anda, dan menampilkan berapa lama sesi yang diblokir telah menunggu sebagai baris `waiting 3m` tunggal alih-alih menambahkan awalan stempel waktu yang sama ke kalimat status dan pertanyaan. Menempel teks yang sama lagi dalam input pengiriman memperluas placeholder `[Pasted text #N]` yang runtuh alih-alih menambahkan yang kedua. Sesi latar belakang yang dinamai dengan menerima rencana menampilkan nama itu pada barisnya. Sesi latar belakang yang pindah ke worktree menyimpan percakapannya ketika prosesnya dimulai ulang dari tampilan agen. |

815| v2.1.206 | {/* min-version: 2.1.206 */}Ringkasan baris mengisi lebar sisa baris dan dipotong hanya di tepi kanan terminal alih-alih pada 64 kolom. Setelah supervisor dimulai ulang ke versi Claude Code baru, ia memulai ulang sesi latar belakang idle yang tersisa ke versi itu di latar belakang alih-alih beberapa per menit. Menghapus sesi dengan `Ctrl+X` atau `claude rm` juga menghapusnya dari daftar sesi supervisor, sehingga baris tidak lagi muncul kembali setelah restart supervisor. |815| v2.1.206 | Ringkasan baris mengisi lebar sisa baris dan dipotong hanya di tepi kanan terminal alih-alih pada 64 kolom. Setelah supervisor dimulai ulang ke versi Claude Code baru, ia memulai ulang sesi latar belakang idle yang tersisa ke versi itu di latar belakang alih-alih beberapa per menit. Menghapus sesi dengan `Ctrl+X` atau `claude rm` juga menghapusnya dari daftar sesi supervisor, sehingga baris tidak lagi muncul kembali setelah restart supervisor. |

816| v2.1.205 | {/* min-version: 2.1.205 */}Ringkasan baris menampilkan laporan satu baris sesi itu sendiri, dipotong pada 64 kolom, alih-alih invokasi alat mentah atau hitungan `done/total`; baris yang dikelompokkan direktori terbuka dengan kata status berwarna. Panel intip terbuka dengan kalimat status lengkap dan, untuk sesi yang menunggu Anda, pertanyaan pastinya di atas input balasan. Sesi yang mengedit, mengomentari, menutup, atau menandai permintaan tarik siap dengan `gh` ditautkan ke sana, bukan hanya yang membuat atau checkout permintaan tarik, push menautkan permintaan tarik bahkan ketika nama cabang lokal tidak cocok, dan permintaan tarik yang output perintah pembuatannya melebihi batas inline juga ditautkan. Giliran tanpa teks yang dapat dibaca menyimpan status sesi sebelumnya alih-alih membaliknya kembali ke `Working`. `claude attach` menunggu hingga sekitar 60 detik untuk sesi yang sedang dimulai ulang, dengan baris status yang menyebutkan alasannya, alih-alih gagal. |816| v2.1.205 | Ringkasan baris menampilkan laporan satu baris sesi itu sendiri, dipotong pada 64 kolom, alih-alih invokasi alat mentah atau hitungan `done/total`; baris yang dikelompokkan direktori terbuka dengan kata status berwarna. Panel intip terbuka dengan kalimat status lengkap dan, untuk sesi yang menunggu Anda, pertanyaan pastinya di atas input balasan. Sesi yang mengedit, mengomentari, menutup, atau menandai permintaan tarik siap dengan `gh` ditautkan ke sana, bukan hanya yang membuat atau checkout permintaan tarik, push menautkan permintaan tarik bahkan ketika nama cabang lokal tidak cocok, dan permintaan tarik yang output perintah pembuatannya melebihi batas inline juga ditautkan. Giliran tanpa teks yang dapat dibaca menyimpan status sesi sebelumnya alih-alih membaliknya kembali ke `Working`. `claude attach` menunggu hingga sekitar 60 detik untuk sesi yang sedang dimulai ulang, dengan baris status yang menyebutkan alasannya, alih-alih gagal. |

817| v2.1.203 | {/* min-version: 2.1.203 */}Gateway `ANTHROPIC_BASE_URL` yang diekspor dalam shell pengiriman mencapai sesi yang dikirim darinya ke direktori yang sama ketika supervisor membagikan gateway environment tersebut, alih-alih dijatuhkan sementara kunci API yang diekspor bersama dengannya tetap disimpan. `PATH` shell pengiriman diterapkan ke setiap worker sesi. Menekan `←` saat subagen sedang berjalan menunggu mereka alih-alih memulai ulang mereka setelah sepuluh detik. Daftar kosong selalu menampilkan header bagian dengan deskripsi di bawah masing-masing. Mengetik `@` dalam input pengiriman juga mencantumkan git worktrees terdaftar dari repositori peluncuran yang berada di dalam pohon direktorinya. Upaya yang diwarisi dari pengaturan `effortLevel` mengikuti pengeditan kemudian ke pengaturan tersebut alih-alih diperbaiki pada pengiriman. Membuka sesi yang dihentikan yang percakapannya sudah terbuka di sesi yang sedang berjalan lainnya ditolak dengan pesan alih-alih gagal pada baris. Perintah yang tidak tersedia dalam tampilan agen meninggalkan teks yang diketik dalam input. Hook `WorktreeCreate` yang gagal di luar repositori git tidak lagi memblokir sesi dari pengeditan file. |817| v2.1.203 | Gateway `ANTHROPIC_BASE_URL` yang diekspor dalam shell pengiriman mencapai sesi yang dikirim darinya ke direktori yang sama ketika supervisor membagikan gateway environment tersebut, alih-alih dijatuhkan sementara kunci API yang diekspor bersama dengannya tetap disimpan. `PATH` shell pengiriman diterapkan ke setiap worker sesi. Menekan `←` saat subagen sedang berjalan menunggu mereka alih-alih memulai ulang mereka setelah sepuluh detik. Daftar kosong selalu menampilkan header bagian dengan deskripsi di bawah masing-masing. Mengetik `@` dalam input pengiriman juga mencantumkan git worktrees terdaftar dari repositori peluncuran yang berada di dalam pohon direktorinya. Upaya yang diwarisi dari pengaturan `effortLevel` mengikuti pengeditan kemudian ke pengaturan tersebut alih-alih diperbaiki pada pengiriman. Membuka sesi yang dihentikan yang percakapannya sudah terbuka di sesi yang sedang berjalan lainnya ditolak dengan pesan alih-alih gagal pada baris. Perintah yang tidak tersedia dalam tampilan agen meninggalkan teks yang diketik dalam input. Hook `WorktreeCreate` yang gagal di luar repositori git tidak lagi memblokir sesi dari pengeditan file. |

818| v2.1.202 | {/* min-version: 2.1.202 */}Nama yang ditetapkan dengan `/rename` atau `Ctrl+R` pada sesi latar belakang tetap ada ketika supervisor menghentikan dan memulai ulang prosesnya, alih-alih kembali ke nama yang dikirim sesi dengan. |818| v2.1.202 | Nama yang ditetapkan dengan `/rename` atau `Ctrl+R` pada sesi latar belakang tetap ada ketika supervisor menghentikan dan memulai ulang prosesnya, alih-alih kembali ke nama yang dikirim sesi dengan. |

819| v2.1.200 | {/* min-version: 2.1.200 */}Versi Claude Code yang lebih lama yang menulis ulang daftar sesi dalam `roster.json` mempertahankan bidang yang ditulis oleh versi yang lebih baru, sesuai dengan jaminan `state.json` yang ada, sehingga sesi yang dimulai oleh versi yang lebih baru terus menerima input setelah supervisor dimulai ulang. Ketika Anda membuka sesi yang telah berhenti merespons, supervisor memulai ulang prosesnya dan sesi melanjutkan respons yang terputus dari tempat ia berhenti. |819| v2.1.200 | Versi Claude Code yang lebih lama yang menulis ulang daftar sesi dalam `roster.json` mempertahankan bidang yang ditulis oleh versi yang lebih baru, sesuai dengan jaminan `state.json` yang ada, sehingga sesi yang dimulai oleh versi yang lebih baru terus menerima input setelah supervisor dimulai ulang. Ketika Anda membuka sesi yang telah berhenti merespons, supervisor memulai ulang prosesnya dan sesi melanjutkan respons yang terputus dari tempat ia berhenti. |

820| v2.1.199 | {/* min-version: 2.1.199 */}Sesi latar belakang yang prosesnya keluar sebelum selesai dimulai pada host dengan memori rendah menampilkan `possibly low memory — free some up and retry` dalam status barisnya alih-alih hanya alasan keluar yang polos. Melepaskan sesi dengan `←` atau `/background` membawa `/color` ke baris baru. |820| v2.1.199 | Sesi latar belakang yang prosesnya keluar sebelum selesai dimulai pada host dengan memori rendah menampilkan `possibly low memory — free some up and retry` dalam status barisnya alih-alih hanya alasan keluar yang polos. Melepaskan sesi dengan `←` atau `/background` membawa `/color` ke baris baru. |

821| v2.1.198 | {/* min-version: 2.1.198 */}Tampilan agen mengirim notifikasi melalui `preferredNotifChannel` ketika sesi latar belakang memerlukan input, selesai, atau gagal, dan memicu hook `Notification` dengan tipe `agent_needs_input` atau `agent_completed`. `←` dan `/exit` di dalam `claude attach <id>` kembali ke tampilan agen alih-alih keluar ke shell; `Ctrl+Z` kembali ke shell. Sesi latar belakang yang mengisolasi pekerjaannya dalam worktree melakukan commit, mendorong cabang terisolasinya sendiri, tidak pernah `main` atau `master`, dan membuka permintaan tarik draft ketika selesai alih-alih bertanya terlebih dahulu. `/login` berjalan dalam tampilan agen dan membuka dialog masuk. Dialog keluar `Background work is running` menawarkan `Move to background and exit`. Handoff keluar juga mencakup subagen latar belakang, yang melanjutkan dari transkrip mereka pada waktu bangun berikutnya alih-alih dilaporkan sebagai gagal. `claude --bg` dikombinasikan dengan `-p` atau `--print` ditolak dengan kesalahan. |821| v2.1.198 | Tampilan agen mengirim notifikasi melalui `preferredNotifChannel` ketika sesi latar belakang memerlukan input, selesai, atau gagal, dan memicu hook `Notification` dengan tipe `agent_needs_input` atau `agent_completed`. `←` dan `/exit` di dalam `claude attach <id>` kembali ke tampilan agen alih-alih keluar ke shell; `Ctrl+Z` kembali ke shell. Sesi latar belakang yang mengisolasi pekerjaannya dalam worktree melakukan commit, mendorong cabang terisolasinya sendiri, tidak pernah `main` atau `master`, dan membuka permintaan tarik draft ketika selesai alih-alih bertanya terlebih dahulu. `/login` berjalan dalam tampilan agen dan membuka dialog masuk. Dialog keluar `Background work is running` menawarkan `Move to background and exit`. Handoff keluar juga mencakup subagen latar belakang, yang melanjutkan dari transkrip mereka pada waktu bangun berikutnya alih-alih dilaporkan sebagai gagal. `claude --bg` dikombinasikan dengan `-p` atau `--print` ditolak dengan kesalahan. |

822| v2.1.196 | {/* min-version: 2.1.196 */}Tekan `←` tunggal mengirim sesi latar depan ke latar belakang; versi sebelumnya memerlukan dua tekan, dengan petunjuk footer dan konfirmasi. `--dangerously-skip-permissions` yang diteruskan ke `claude agents` menampilkan pengecualian bypass alih-alih dijatuhkan diam-diam. Sesi interaktif yang tidak pernah Anda beri nama membawa nama default seperti `my-app-3f` dalam daftar sesi dan `claude agents --json`. Perintah shell latar belakang dan alur kerja dinamis bertahan ketika proses sesi dihentikan, dimulai ulang, atau diperbarui, termasuk di Windows; atur `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` untuk mematikan handoff. Transkrip yang salah dibaca sebagai kosong saat restart diganti nama dengan akhiran `.orphaned-` alih-alih dihapus. |822| v2.1.196 | Tekan `←` tunggal mengirim sesi latar depan ke latar belakang; versi sebelumnya memerlukan dua tekan, dengan petunjuk footer dan konfirmasi. `--dangerously-skip-permissions` yang diteruskan ke `claude agents` menampilkan pengecualian bypass alih-alih dijatuhkan diam-diam. Sesi interaktif yang tidak pernah Anda beri nama membawa nama default seperti `my-app-3f` dalam daftar sesi dan `claude agents --json`. Perintah shell latar belakang dan alur kerja dinamis bertahan ketika proses sesi dihentikan, dimulai ulang, atau diperbarui, termasuk di Windows; atur `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` untuk mematikan handoff. Transkrip yang salah dibaca sebagai kosong saat restart diganti nama dengan akhiran `.orphaned-` alih-alih dihapus. |

823| v2.1.195 | {/* min-version: 2.1.195 */}Pekerjaan yang sedang berlangsung dibawa ketika Anda melepaskan sesi di Windows juga; atur `CLAUDE_DISABLE_ADOPT=1` untuk menghentikannya sebagai gantinya. Grup `Completed` mengisi ruang vertikal yang tersisa dan header dikompakkan di terminal pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan bidang `state.json` sesi yang lebih baru atau menyembunyikan sesi tersebut dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong selama lima detik. Supervisor yang tidak dapat menerima koneksi keluar dan melepaskan kuncinya sendiri. |823| v2.1.195 | Pekerjaan yang sedang berlangsung dibawa ketika Anda melepaskan sesi di Windows juga; atur `CLAUDE_DISABLE_ADOPT=1` untuk menghentikannya sebagai gantinya. Grup `Completed` mengisi ruang vertikal yang tersisa dan header dikompakkan di terminal pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan bidang `state.json` sesi yang lebih baru atau menyembunyikan sesi tersebut dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong selama lima detik. Supervisor yang tidak dapat menerima koneksi keluar dan melepaskan kuncinya sendiri. |

824| v2.1.174 | {/* min-version: 2.1.174 */}Sesi latar belakang tidak lagi mewarisi variabel titik akhir gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial segar ke worker yang sudah dipanaskan sebelumnya, memperbaiki kesalahan `Could not resolve authentication method` yang palsu. |824| v2.1.174 | Sesi latar belakang tidak lagi mewarisi variabel titik akhir gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial segar ke worker yang sudah dipanaskan sebelumnya, memperbaiki kesalahan `Could not resolve authentication method` yang palsu. |

825| v2.1.172 | {/* min-version: 2.1.172 */}`/model` dalam input pengiriman menetapkan penimpaan model pengiriman yang dibatasi sesi. |825| v2.1.172 | `/model` dalam input pengiriman menetapkan penimpaan model pengiriman yang dibatasi sesi. |

826| v2.1.161 | {/* min-version: 2.1.161 */}Ringkasan baris menampilkan hitungan `done/total` untuk item kerja paralel; panel intip menyebutkan item kerja paralel yang paling lama berjalan. |826| v2.1.161 | Ringkasan baris menampilkan hitungan `done/total` untuk item kerja paralel; panel intip menyebutkan item kerja paralel yang paling lama berjalan. |

827| v2.1.157 | {/* min-version: 2.1.157 */}`claude agents` menerima `--agent`; sesi yang dikirim menghormati pengaturan `agent`. |827| v2.1.157 | `claude agents` menerima `--agent`; sesi yang dikirim menghormati pengaturan `agent`. |

828| v2.1.145 | {/* min-version: 2.1.145 */}Dikte suara didukung dalam input balasan panel intip dan input pengiriman. |828| v2.1.145 | Dikte suara didukung dalam input balasan panel intip dan input pengiriman. |

829| v2.1.143 | {/* min-version: 2.1.143 */}Pengaturan `worktree.bgIsolation` ditambahkan; `claude agents` menerima `--allow-dangerously-skip-permissions`. |829| v2.1.143 | Pengaturan `worktree.bgIsolation` ditambahkan; `claude agents` menerima `--allow-dangerously-skip-permissions`. |

830| v2.1.142 | {/* min-version: 2.1.142 */}`claude agents` menerima `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, dan `--strict-mcp-config`. |830| v2.1.142 | `claude agents` menerima `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, dan `--strict-mcp-config`. |

831| v2.1.141 | {/* min-version: 2.1.141 */}`claude agents` menerima `--cwd` untuk membatasi daftar ke satu proyek. |831| v2.1.141 | `claude agents` menerima `--cwd` untuk membatasi daftar ke satu proyek. |

832| v2.1.139 | {/* min-version: 2.1.139 */}Tampilan agen diperkenalkan sebagai pratinjau penelitian. |832| v2.1.139 | Tampilan agen diperkenalkan sebagai pratinjau penelitian. |

agents.md +24 −24

Details

6 6 

7> Bandingkan cara Claude Code dapat menangani beberapa tugas sekaligus: subagents, agent view, agent teams, dan dynamic workflows.7> Bandingkan cara Claude Code dapat menangani beberapa tugas sekaligus: subagents, agent view, agent teams, dan dynamic workflows.

8 8 

9[Subagents](/id/sub-agents), [agent view](/id/agent-view), [agent teams](/id/agent-teams), dan [dynamic workflows](/id/workflows) masing-masing melakukan paralelisasi pekerjaan dengan cara yang berbeda. Yang tepat tergantung pada apakah Anda ingin tetap berada di setiap percakapan sendiri, menyerahkan tugas dan memeriksa kembali nanti, atau membiarkan Claude mengoordinasikan sekelompok pekerja untuk Anda.9[Subagents](/docs/id/sub-agents), [agent view](/docs/id/agent-view), [agent teams](/docs/id/agent-teams), dan [dynamic workflows](/docs/id/workflows) masing-masing melakukan paralelisasi pekerjaan dengan cara yang berbeda. Yang tepat tergantung pada apakah Anda ingin tetap berada di setiap percakapan sendiri, menyerahkan tugas dan memeriksa kembali nanti, atau membiarkan Claude mengoordinasikan sekelompok pekerja untuk Anda.

10 10 

11| Pendekatan | Apa yang diberikannya | Gunakan ketika |11| Pendekatan | Apa yang diberikannya | Gunakan ketika |

12| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

13| [Subagents](/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |13| [Subagents](/docs/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |

14| [Agent view](/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |14| [Agent view](/docs/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |

15| [Agent teams](/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |15| [Agent teams](/docs/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |

16| [Dynamic workflows](/id/workflows) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |16| [Dynamic workflows](/docs/id/workflows) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |

17 17 

18Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](/id/mcp).18Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](/docs/id/mcp).

19 19 

20Dua alat lagi mendukung pekerjaan ini tanpa menjadi cara untuk menjalankan agen sendiri:20Dua alat lagi mendukung pekerjaan ini tanpa menjadi cara untuk menjalankan agen sendiri:

21 21 

22* [Worktrees](/id/worktrees) memberikan setiap sesi checkout git terpisah, sehingga sesi paralel tidak pernah mengedit file yang sama. Gunakan untuk sesi yang Anda jalankan sendiri. Agent view secara otomatis memindahkan setiap sesi yang dikirim ke worktree-nya sendiri, dan subagents yang Anda hasilkan dapat masing-masing mendapatkan satu juga.22* [Worktrees](/docs/id/worktrees) memberikan setiap sesi checkout git terpisah, sehingga sesi paralel tidak pernah mengedit file yang sama. Gunakan untuk sesi yang Anda jalankan sendiri. Agent view secara otomatis memindahkan setiap sesi yang dikirim ke worktree-nya sendiri, dan subagents yang Anda hasilkan dapat masing-masing mendapatkan satu juga.

23* [`/batch`](/id/commands) adalah [skill](/id/skills) yang membuat Claude membagi satu perubahan besar menjadi 5 hingga 30 subagents terisolasi worktree yang masing-masing membuka pull request. Ini adalah penggunaan subagents dan worktrees yang dikemas, bukan gaya koordinasi terpisah.23* [`/batch`](/docs/id/commands) adalah [skill](/docs/id/skills) yang membuat Claude membagi satu perubahan besar menjadi 5 hingga 30 subagents terisolasi worktree yang masing-masing membuka pull request. Ini adalah penggunaan subagents dan worktrees yang dikemas, bukan gaya koordinasi terpisah.

24 24 

25Beberapa fitur lain menjalankan Claude tanpa Anda menjalankan setiap langkah, tetapi mereka menyelesaikan masalah yang berbeda daripada membagi pekerjaan di seluruh agen:25Beberapa fitur lain menjalankan Claude tanpa Anda menjalankan setiap langkah, tetapi mereka menyelesaikan masalah yang berbeda daripada membagi pekerjaan di seluruh agen:

26 26 

27* Perintah bash latar belakang menjalankan satu perintah shell tanpa memblokir percakapan. Ini tidak menghasilkan agen.27* Perintah bash latar belakang menjalankan satu perintah shell tanpa memblokir percakapan. Ini tidak menghasilkan agen.

28* [Subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) adalah subagent yang mewarisi konteks percakapan lengkap Anda alih-alih memulai dari awal. Ini adalah cara untuk menghasilkan subagent, bukan permukaan terpisah.28* [Subagent yang di-fork](/docs/id/sub-agents#fork-the-current-conversation) adalah subagent yang mewarisi konteks percakapan lengkap Anda alih-alih memulai dari awal. Ini adalah cara untuk menghasilkan subagent, bukan permukaan terpisah.

29* [Routine](/id/routines) menjalankan sesi sesuai jadwal di cloud Anthropic, bukan secara paralel di mesin Anda.29* [Routine](/docs/id/routines) menjalankan sesi sesuai jadwal di cloud Anthropic, bukan secara paralel di mesin Anda.

30 30 

31<Note>31<Note>

32 Menjalankan beberapa sesi atau subagents sekaligus mengalikan penggunaan token. Lihat [Costs](/id/costs) untuk detail penggunaan dan batas laju.32 Menjalankan beberapa sesi atau subagents sekaligus mengalikan penggunaan token. Lihat [Costs](/docs/id/costs) untuk detail penggunaan dan batas laju.

33</Note>33</Note>

34 34 

35<h2 id="choose-an-approach">35<h2 id="choose-an-approach">


39Pendekatan yang tepat tergantung pada siapa yang mengoordinasikan pekerjaan, apakah pekerja perlu berkomunikasi, dan apakah mereka mengedit file yang sama:39Pendekatan yang tepat tergantung pada siapa yang mengoordinasikan pekerjaan, apakah pekerja perlu berkomunikasi, dan apakah mereka mengedit file yang sama:

40 40 

41* **Siapa yang mengoordinasikan pekerjaan?**41* **Siapa yang mengoordinasikan pekerjaan?**

42 * Claude mendelegasikan dan mengumpulkan hasil di dalam satu percakapan: [subagents](/id/sub-agents)42 * Claude mendelegasikan dan mengumpulkan hasil di dalam satu percakapan: [subagents](/docs/id/sub-agents)

43 * Anda menyerahkan tugas independen dan memeriksa kembali nanti: [agent view](/id/agent-view)43 * Anda menyerahkan tugas independen dan memeriksa kembali nanti: [agent view](/docs/id/agent-view)

44 * Claude merencanakan, menugaskan, dan mengawasi sekelompok pekerja: [agent teams](/id/agent-teams), eksperimental dan dinonaktifkan secara default44 * Claude merencanakan, menugaskan, dan mengawasi sekelompok pekerja: [agent teams](/docs/id/agent-teams), eksperimental dan dinonaktifkan secara default

45 * Skrip memegang rencana alih-alih penilaian giliran demi giliran Claude: [dynamic workflows](/id/workflows). Lihat [bagaimana workflows dibandingkan dengan subagents dan skills](/id/workflows#when-to-use-a-workflow)45 * Skrip memegang rencana alih-alih penilaian giliran demi giliran Claude: [dynamic workflows](/docs/id/workflows). Lihat [bagaimana workflows dibandingkan dengan subagents dan skills](/docs/id/workflows#when-to-use-a-workflow)

46* **Apakah pekerja perlu berbicara satu sama lain?** Subagents melaporkan hasil kembali ke percakapan yang menghasilkannya, dan sesi agent view hanya melaporkan kepada Anda. Rekan satu tim dalam agent team berbagi daftar tugas dan saling mengirim pesan secara langsung.46* **Apakah pekerja perlu berbicara satu sama lain?** Subagents melaporkan hasil kembali ke percakapan yang menghasilkannya, dan sesi agent view hanya melaporkan kepada Anda. Rekan satu tim dalam agent team berbagi daftar tugas dan saling mengirim pesan secara langsung.

47* **Apakah tugas menyentuh file yang sama?** Isolasi pekerjaan dengan [worktrees](/id/worktrees). Subagents dan sesi yang Anda jalankan sendiri dapat masing-masing menggunakan worktree terpisah. Agent teams tidak mengisolasi rekan satu tim dalam worktrees, jadi [partisi pekerjaan](/id/agent-teams#avoid-file-conflicts) sehingga setiap rekan satu tim memiliki set file yang berbeda.47* **Apakah tugas menyentuh file yang sama?** Isolasi pekerjaan dengan [worktrees](/docs/id/worktrees). Subagents dan sesi yang Anda jalankan sendiri dapat masing-masing menggunakan worktree terpisah. Agent teams tidak mengisolasi rekan satu tim dalam worktrees, jadi [partisi pekerjaan](/docs/id/agent-teams#avoid-file-conflicts) sehingga setiap rekan satu tim memiliki set file yang berbeda.

48 48 

49<h2 id="check-on-running-work">49<h2 id="check-on-running-work">

50 Periksa pekerjaan yang sedang berjalan50 Periksa pekerjaan yang sedang berjalan


52 52 

53Perintah untuk memeriksa pekerjaan yang sedang berjalan tergantung pada pendekatan mana yang Anda gunakan:53Perintah untuk memeriksa pekerjaan yang sedang berjalan tergantung pada pendekatan mana yang Anda gunakan:

54 54 

55* Untuk sesi latar belakang, `claude agents` membuka [agent view](/id/agent-view): satu layar menampilkan setiap sesi, statusnya, dan mana yang membutuhkan input Anda.55* Untuk sesi latar belakang, `claude agents` membuka [agent view](/docs/id/agent-view): satu layar menampilkan setiap sesi, statusnya, dan mana yang membutuhkan input Anda.

56* Untuk subagents dalam sesi saat ini, subagents latar belakang bernama muncul dalam typeahead @-mention dengan statusnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, `/agents` tidak lagi membuka panel; ini mencetak pemberitahuan yang menunjuk ke lokasi file subagent. Untuk [membuat dan mengedit subagents kustom](/id/sub-agents#configure-subagents), tanyakan kepada Claude atau edit file secara langsung. Meskipun nama serupa, `/agents` terpisah dari `claude agents`.56* Untuk subagents dalam sesi saat ini, subagents latar belakang bernama muncul dalam typeahead @-mention dengan statusnya. Mulai dari v2.1.198, `/agents` tidak lagi membuka panel; ini mencetak pemberitahuan yang menunjuk ke lokasi file subagent. Untuk [membuat dan mengedit subagents kustom](/docs/id/sub-agents#configure-subagents), tanyakan kepada Claude atau edit file secara langsung. Meskipun nama serupa, `/agents` terpisah dari `claude agents`.

57* Untuk apa pun yang berjalan di latar belakang sesi saat ini, `/tasks` mencantumkan setiap item dan memungkinkan Anda memeriksa, melampirkan, atau menghentikannya. Daftar ini juga mencakup subagents yang telah selesai.57* Untuk apa pun yang berjalan di latar belakang sesi saat ini, `/tasks` mencantumkan setiap item dan memungkinkan Anda memeriksa, melampirkan, atau menghentikannya. Daftar ini juga mencakup subagents yang telah selesai.

58* Untuk dynamic workflows, `/workflows` mencantumkan runs yang sedang berjalan dan yang telah selesai, fase yang masing-masing berada di dalamnya, dan berapa banyak agents yang telah selesai.58* Untuk dynamic workflows, `/workflows` mencantumkan runs yang sedang berjalan dan yang telah selesai, fase yang masing-masing berada di dalamnya, dan berapa banyak agents yang telah selesai.

59 59 

60Untuk tampilan desktop dari semua sesi Anda, lihat [sesi paralel di aplikasi desktop](/id/desktop#work-in-parallel-with-sessions).60Untuk tampilan desktop dari semua sesi Anda, lihat [sesi paralel di aplikasi desktop](/docs/id/desktop#work-in-parallel-with-sessions).

61 61 

62<h2 id="learn-more">62<h2 id="learn-more">

63 Pelajari lebih lanjut63 Pelajari lebih lanjut


65 65 

66Setiap panduan di bawah mencakup pengaturan dan konfigurasi untuk satu pendekatan:66Setiap panduan di bawah mencakup pengaturan dan konfigurasi untuk satu pendekatan:

67 67 

68* [Buat subagents kustom](/id/sub-agents): tentukan spesialis yang dapat digunakan kembali dan kontrol alat mana yang dapat mereka gunakan.68* [Buat subagents kustom](/docs/id/sub-agents): tentukan spesialis yang dapat digunakan kembali dan kontrol alat mana yang dapat mereka gunakan.

69* [Kelola agen dengan agent view](/id/agent-view): kirim sesi, pantau statusnya, dan lampirkan ketika salah satunya membutuhkan Anda.69* [Kelola agen dengan agent view](/docs/id/agent-view): kirim sesi, pantau statusnya, dan lampirkan ketika salah satunya membutuhkan Anda.

70* [Orkestrasi agent teams](/id/agent-teams): atur pemimpin dan rekan satu tim, tugaskan tugas, dan tinjau pekerjaan mereka.70* [Orkestrasi agent teams](/docs/id/agent-teams): atur pemimpin dan rekan satu tim, tugaskan tugas, dan tinjau pekerjaan mereka.

71* [Orkestrasi alur kerja dinamis](/id/workflows): jalankan alur kerja bundel atau biarkan Claude menulis satu yang menjalankan banyak subagents dan memverifikasi temuan mereka satu sama lain.71* [Orkestrasi alur kerja dinamis](/docs/id/workflows): jalankan alur kerja bundel atau biarkan Claude menulis satu yang menjalankan banyak subagents dan memverifikasi temuan mereka satu sama lain.

72* [Jalankan sesi paralel dengan worktrees](/id/worktrees): mulai Claude dalam checkout terisolasi, kontrol apa yang disalin, dan bersihkan setelahnya.72* [Jalankan sesi paralel dengan worktrees](/docs/id/worktrees): mulai Claude dalam checkout terisolasi, kontrol apa yang disalin, dan bersihkan setelahnya.

amazon-bedrock.md +28 −28

Details

107 </Step>107 </Step>

108 108 

109 <Step title="Ikuti prompt wizard">109 <Step title="Ikuti prompt wizard">

110 Pilih cara Anda melakukan autentikasi ke AWS: profil AWS yang terdeteksi dari direktori `~/.aws` Anda, kunci API Amazon Bedrock, kunci akses dan rahasia, atau kredensial yang sudah ada di lingkungan Anda. Wizard mengambil wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan akun Anda, dan memungkinkan Anda untuk meminnya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](/id/settings), jadi Anda tidak perlu mengekspor variabel lingkungan sendiri.110 Pilih cara Anda melakukan autentikasi ke AWS: profil AWS yang terdeteksi dari direktori `~/.aws` Anda, kunci API Amazon Bedrock, kunci akses dan rahasia, atau kredensial yang sudah ada di lingkungan Anda. Wizard mengambil wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan akun Anda, dan memungkinkan Anda untuk meminnya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](/docs/id/settings), jadi Anda tidak perlu mengekspor variabel lingkungan sendiri.

111 </Step>111 </Step>

112</Steps>112</Steps>

113 113 

114Setelah Anda masuk, jalankan `/setup-bedrock` kapan saja untuk membuka kembali wizard dan mengubah kredensial, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/id/env-vars#variables) diatur.114Setelah Anda masuk, jalankan `/setup-bedrock` kapan saja untuk membuka kembali wizard dan mengubah kredensial, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars#variables) diatur.

115 115 

116<h2 id="set-up-manually">116<h2 id="set-up-manually">

117 Pengaturan manual117 Pengaturan manual


162export AWS_PROFILE=your-profile-name162export AWS_PROFILE=your-profile-name

163```163```

164 164 

165Claude Code meminta kredensial peran dari wilayah IAM Identity Center yang dinamai oleh `sso_region` profil, yang tidak perlu cocok dengan wilayah tempat Anda menjalankan Amazon Bedrock. {/* min-version: 2.1.208 */}Dalam v2.1.207, wilayah Amazon Bedrock mengganti `sso_region`, jadi profil yang instance IAM Identity Center-nya berada di wilayah berbeda gagal untuk mengautentikasi dengan kesalahan `Session token not found or invalid`.165Claude Code meminta kredensial peran dari wilayah IAM Identity Center yang dinamai oleh `sso_region` profil, yang tidak perlu cocok dengan wilayah tempat Anda menjalankan Amazon Bedrock. Dalam v2.1.207, wilayah Amazon Bedrock mengganti `sso_region`, jadi profil yang instance IAM Identity Center-nya berada di wilayah berbeda gagal untuk mengautentikasi dengan kesalahan `Session token not found or invalid`.

166 166 

167**Opsi D: Kredensial AWS Management Console**167**Opsi D: Kredensial AWS Management Console**

168 168 


188 188 

189Sebelum v2.1.207, Claude Code menyelesaikan rantai pada setiap permintaan API, jadi profil yang didukung SSO meminta kredensial segar dari IAM Identity Center setiap kali dan dapat dibatasi dalam penerapan besar.189Sebelum v2.1.207, Claude Code menyelesaikan rantai pada setiap permintaan API, jadi profil yang didukung SSO meminta kredensial segar dari IAM Identity Center setiap kali dan dapat dibatasi dalam penerapan besar.

190 190 

191Cache mencakup setiap opsi kredensial di atas kecuali kunci API Amazon Bedrock, yang tidak menggunakan rantai penyedia. Untuk menyelesaikan rantai pada setiap permintaan alih-alih, atur [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/id/env-vars).191Cache mencakup setiap opsi kredensial di atas kecuali kunci API Amazon Bedrock, yang tidak menggunakan rantai penyedia. Untuk menyelesaikan rantai pada setiap permintaan alih-alih, atur [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/id/env-vars).

192 192 

193Setiap resolusi rantai habis waktu setelah 60 detik. Jika langkah dalam rantai macet, misalnya pembantu `credential_process` yang menunggu input yang tidak dapat diterima, permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/id/errors#aws-default-chain-credential-resolve-timed-out). Jika rantai Anda menjalankan sign-in interaktif yang secara sah memerlukan waktu lebih lama, seperti SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/id/env-vars). Sebelum v2.1.207, resolusi kredensial yang macet membiarkan permintaan menunggu tanpa batas.193Setiap resolusi rantai habis waktu setelah 60 detik. Jika langkah dalam rantai macet, misalnya pembantu `credential_process` yang menunggu input yang tidak dapat diterima, permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/docs/id/errors#aws-default-chain-credential-resolve-timed-out). Jika rantai Anda menjalankan sign-in interaktif yang secara sah memerlukan waktu lebih lama, seperti SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars). Sebelum v2.1.207, resolusi kredensial yang macet membiarkan permintaan menunggu tanpa batas.

194 194 

195<h4 id="advanced-credential-configuration">195<h4 id="advanced-credential-configuration">

196 Konfigurasi kredensial lanjutan196 Konfigurasi kredensial lanjutan

197</h4>197</h4>

198 198 

199Claude Code mendukung penyegaran kredensial otomatis untuk AWS SSO dan penyedia identitas perusahaan. Tambahkan pengaturan ini ke file pengaturan Claude Code Anda (lihat [Settings](/id/settings) untuk lokasi file).199Claude Code mendukung penyegaran kredensial otomatis untuk AWS SSO dan penyedia identitas perusahaan. Tambahkan pengaturan ini ke file pengaturan Claude Code Anda (lihat [Settings](/docs/id/settings) untuk lokasi file).

200 200 

201Kedua pengaturan ini memiliki kondisi pemicu yang berbeda:201Kedua pengaturan ini memiliki kondisi pemicu yang berbeda:

202 202 


235}235}

236```236```

237 237 

238{/* min-version: 2.1.181 */}Mulai dari Claude Code v2.1.181, output datar dari `aws configure export-credentials --format process` juga diterima, dengan kunci yang sama di tingkat atas alih-alih bersarang di bawah `Credentials`.238Mulai dari Claude Code v2.1.181, output datar dari `aws configure export-credentials --format process` juga diterima, dengan kunci yang sama di tingkat atas alih-alih bersarang di bawah `Credentials`.

239 239 

240`Expiration` bersifat opsional. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.240`Expiration` bersifat opsional. Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.

241 241 

242Ketika Anda mengonfigurasi `awsCredentialExport` tanpa `awsAuthRefresh`, Claude Code menggunakan kredensial yang diekspor secara langsung dan tidak menyelesaikan kembali rantai penyedia kredensial default AWS saat startup. Sebelum v2.1.206, startup juga menyelesaikan kembali rantai penyedia default, yang membuat panggilan SSO atau STS langsung di luar konfigurasi proxy Anda dan dapat memblokir prompt pertama selama beberapa menit di jaringan dengan egress terbatas.242Ketika Anda mengonfigurasi `awsCredentialExport` tanpa `awsAuthRefresh`, Claude Code menggunakan kredensial yang diekspor secara langsung dan tidak menyelesaikan kembali rantai penyedia kredensial default AWS saat startup. Sebelum v2.1.206, startup juga menyelesaikan kembali rantai penyedia default, yang membuat panggilan SSO atau STS langsung di luar konfigurasi proxy Anda dan dapat memblokir prompt pertama selama beberapa menit di jaringan dengan egress terbatas.

243 243 


263 263 

264Saat mengaktifkan Amazon Bedrock untuk Claude Code, perhatikan hal berikut:264Saat mengaktifkan Amazon Bedrock untuk Claude Code, perhatikan hal berikut:

265 265 

266* {/* min-version: 2.1.172 */}Mulai dari v2.1.172, Anda hanya perlu menetapkan `AWS_REGION` untuk mengganti wilayah profil AWS Anda atau ketika profil Anda tidak memiliki wilayah. Claude Code menyelesaikan wilayah dalam urutan ini:266* Mulai dari v2.1.172, Anda hanya perlu menetapkan `AWS_REGION` untuk mengganti wilayah profil AWS Anda atau ketika profil Anda tidak memiliki wilayah. Claude Code menyelesaikan wilayah dalam urutan ini:

267 267 

268 * `AWS_REGION`268 * `AWS_REGION`

269 * `AWS_DEFAULT_REGION`269 * `AWS_DEFAULT_REGION`


272 272 

273 Profil aktif adalah `AWS_PROFILE` jika diatur, jika tidak `default`. Atur `AWS_SHARED_CREDENTIALS_FILE` atau `AWS_CONFIG_FILE` untuk menunjuk ke jalur file non-default. Jalankan `/status` untuk melihat wilayah yang diselesaikan. Ketika wilayah berasal dari file konfigurasi AWS Anda atau fallback default, `/status` juga mencatat sumbernya. Pada v2.1.171 dan sebelumnya, Claude Code tidak membaca file konfigurasi AWS, jadi atur `AWS_REGION` secara eksplisit.273 Profil aktif adalah `AWS_PROFILE` jika diatur, jika tidak `default`. Atur `AWS_SHARED_CREDENTIALS_FILE` atau `AWS_CONFIG_FILE` untuk menunjuk ke jalur file non-default. Jalankan `/status` untuk melihat wilayah yang diselesaikan. Ketika wilayah berasal dari file konfigurasi AWS Anda atau fallback default, `/status` juga mencatat sumbernya. Pada v2.1.171 dan sebelumnya, Claude Code tidak membaca file konfigurasi AWS, jadi atur `AWS_REGION` secara eksplisit.

274* Saat menggunakan Amazon Bedrock, perintah `/logout` tidak tersedia karena autentikasi ditangani melalui kredensial AWS.274* Saat menggunakan Amazon Bedrock, perintah `/logout` tidak tersedia karena autentikasi ditangani melalui kredensial AWS.

275* Alat WebSearch tidak tersedia di Amazon Bedrock. Lihat [perilaku alat WebSearch](/id/tools-reference#websearch-tool-behavior).275* Alat WebSearch tidak tersedia di Amazon Bedrock. Lihat [perilaku alat WebSearch](/docs/id/tools-reference#websearch-tool-behavior).

276* Anda dapat menggunakan file pengaturan untuk variabel lingkungan seperti `AWS_PROFILE` yang tidak ingin Anda bocorkan ke proses lain. Lihat [Settings](/id/settings) untuk informasi lebih lanjut.276* Anda dapat menggunakan file pengaturan untuk variabel lingkungan seperti `AWS_PROFILE` yang tidak ingin Anda bocorkan ke proses lain. Lihat [Settings](/docs/id/settings) untuk informasi lebih lanjut.

277 277 

278<h3 id="4-pin-model-versions">278<h3 id="4-pin-model-versions">

279 4. Pin versi model279 4. Pin versi model


293export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'293export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

294```294```

295 295 

296Variabel ini menggunakan ID profil inferensi lintas wilayah (dengan awalan `us.`). Jika Anda menggunakan awalan wilayah berbeda atau profil inferensi aplikasi, sesuaikan sesuai kebutuhan. Di wilayah AWS GovCloud, gunakan awalan `us-gov.`. Untuk ID model saat ini dan warisan, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.296Variabel ini menggunakan ID profil inferensi lintas wilayah (dengan awalan `us.`). Jika Anda menggunakan awalan wilayah berbeda atau profil inferensi aplikasi, sesuaikan sesuai kebutuhan. Di wilayah AWS GovCloud, gunakan awalan `us-gov.`. Untuk ID model saat ini dan warisan, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/docs/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.

297 297 

298Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:298Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

299 299 


311 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.311 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.

312</Warning>312</Warning>

313 313 

314{/* min-version: 2.1.207 */}Sebelum v2.1.207, model utama di Amazon Bedrock default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.314Sebelum v2.1.207, model utama di Amazon Bedrock default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.

315 315 

316Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:316Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:

317 317 


330export ENABLE_PROMPT_CACHING_1H=1330export ENABLE_PROMPT_CACHING_1H=1

331```331```

332 332 

333TTL cache 1 jam ditagih dengan tarif lebih tinggi daripada default 5 menit. Lihat [cache lifetime](/id/prompt-caching#cache-lifetime).333TTL cache 1 jam ditagih dengan tarif lebih tinggi daripada default 5 menit. Lihat [cache lifetime](/docs/id/prompt-caching#cache-lifetime).

334 334 

335<Note>Prompt caching mungkin tidak tersedia di semua wilayah Amazon Bedrock. Jika hitungan token cache tetap di nol, periksa [model, wilayah, dan batas yang didukung](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) dalam dokumentasi Amazon Bedrock.</Note>335<Note>Prompt caching mungkin tidak tersedia di semua wilayah Amazon Bedrock. Jika hitungan token cache tetap di nol, periksa [model, wilayah, dan batas yang didukung](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) dalam dokumentasi Amazon Bedrock.</Note>

336 336 


338 Petakan setiap versi model ke profil inferensi338 Petakan setiap versi model ke profil inferensi

339</h4>339</h4>

340 340 

341Variabel lingkungan `ANTHROPIC_DEFAULT_*_MODEL` mengonfigurasi satu profil inferensi per keluarga model. Jika organisasi Anda perlu mengekspos beberapa versi dari keluarga yang sama di pemilih `/model`, masing-masing dirutekan ke ARN profil inferensi aplikasi sendiri, gunakan pengaturan `modelOverrides` di [file pengaturan](/id/settings#settings-files) Anda sebagai gantinya.341Variabel lingkungan `ANTHROPIC_DEFAULT_*_MODEL` mengonfigurasi satu profil inferensi per keluarga model. Jika organisasi Anda perlu mengekspos beberapa versi dari keluarga yang sama di pemilih `/model`, masing-masing dirutekan ke ARN profil inferensi aplikasi sendiri, gunakan pengaturan `modelOverrides` di [file pengaturan](/docs/id/settings#settings-files) Anda sebagai gantinya.

342 342 

343Contoh ini memetakan empat versi Opus ke ARN yang berbeda sehingga pengguna dapat beralih di antara mereka tanpa melewati profil inferensi organisasi Anda:343Contoh ini memetakan empat versi Opus ke ARN yang berbeda sehingga pengguna dapat beralih di antara mereka tanpa melewati profil inferensi organisasi Anda:

344 344 


353}353}

354```354```

355 355 

356Ketika pengguna memilih salah satu versi ini di `/model`, Claude Code memanggil Amazon Bedrock dengan ARN yang dipetakan. {/* min-version: 2.1.200 */}Pemetaan yang sama berlaku ketika Anda meneruskan ID model Anthropic secara langsung melalui `--model` atau `ANTHROPIC_MODEL`. Versi tanpa override kembali ke ID model Amazon Bedrock bawaan atau profil inferensi yang cocok yang ditemukan saat startup. Sebelum v2.1.200, nilai `--model` dan `ANTHROPIC_MODEL` mencapai Amazon Bedrock apa adanya tanpa melewati peta override. Lihat [Override model IDs per version](/id/model-config#override-model-ids-per-version) untuk detail tentang bagaimana override berinteraksi dengan `availableModels` dan pengaturan model lainnya.356Ketika pengguna memilih salah satu versi ini di `/model`, Claude Code memanggil Amazon Bedrock dengan ARN yang dipetakan. Pemetaan yang sama berlaku ketika Anda meneruskan ID model Anthropic secara langsung melalui `--model` atau `ANTHROPIC_MODEL`. Versi tanpa override kembali ke ID model Amazon Bedrock bawaan atau profil inferensi yang cocok yang ditemukan saat startup. Sebelum v2.1.200, nilai `--model` dan `ANTHROPIC_MODEL` mencapai Amazon Bedrock apa adanya tanpa melewati peta override. Lihat [Override model IDs per version](/docs/id/model-config#override-model-ids-per-version) untuk detail tentang bagaimana override berinteraksi dengan `availableModels` dan pengaturan model lainnya.

357 357 

358<h2 id="startup-model-checks">358<h2 id="startup-model-checks">

359 Pemeriksaan model startup359 Pemeriksaan model startup


361 361 

362Ketika Claude Code dimulai dengan Amazon Bedrock dikonfigurasi, Claude Code memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di akun Anda.362Ketika Claude Code dimulai dengan Amazon Bedrock dikonfigurasi, Claude Code memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di akun Anda.

363 363 

364Jika Anda telah mempin versi model yang lebih lama dari default Claude Code saat ini, dan akun Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya. Pin yang menunjuk ke [ARN profil inferensi aplikasi](#map-each-model-version-to-an-inference-profile) dilewati, karena dikelola oleh administrator Anda.364Jika Anda telah mempin versi model yang lebih lama dari default Claude Code saat ini, dan akun Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/docs/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya. Pin yang menunjuk ke [ARN profil inferensi aplikasi](#map-each-model-version-to-an-inference-profile) dilewati, karena dikelola oleh administrator Anda.

365 365 

366Jika Anda belum mempin model dan default saat ini tidak tersedia di akun Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Claude Code mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [pin versi](#4-pin-model-versions) untuk membuat pilihan permanen.366Jika Anda belum mempin model dan default saat ini tidak tersedia di akun Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Claude Code mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [pin versi](#4-pin-model-versions) untuk membuat pilihan permanen.

367 367 


426 426 

427Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Amazon Bedrock. Sonnet 5 disajikan melalui [endpoint Mantle](#use-the-mantle-endpoint) dan selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.427Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Amazon Bedrock. Sonnet 5 disajikan melalui [endpoint Mantle](#use-the-mantle-endpoint) dan selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.

428 428 

429[Wizard pengaturan](#sign-in-with-bedrock) menawarkan opsi konteks 1M ketika mempin model. Untuk mengaktifkannya untuk model yang dipinnya secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.429[Wizard pengaturan](#sign-in-with-bedrock) menawarkan opsi konteks 1M ketika mempin model. Untuk mengaktifkannya untuk model yang dipinnya secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/docs/id/model-config#pin-models-for-third-party-deployments) untuk detail.

430 430 

431<h2 id="service-tiers">431<h2 id="service-tiers">

432 Tingkat layanan432 Tingkat layanan


444 AWS Guardrails444 AWS Guardrails

445</h2>445</h2>

446 446 

447[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) memungkinkan Anda menerapkan penyaringan konten untuk Claude Code. Buat Guardrail di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publikasikan versi, kemudian tambahkan header Guardrail ke [file pengaturan](/id/settings) Anda. Aktifkan inferensi Cross-Region pada Guardrail Anda jika Anda menggunakan profil inferensi lintas wilayah.447[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) memungkinkan Anda menerapkan penyaringan konten untuk Claude Code. Buat Guardrail di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publikasikan versi, kemudian tambahkan header Guardrail ke [file pengaturan](/docs/id/settings) Anda. Aktifkan inferensi Cross-Region pada Guardrail Anda jika Anda menggunakan profil inferensi lintas wilayah.

448 448 

449Contoh konfigurasi:449Contoh konfigurasi:

450 450 


473export AWS_REGION=us-east-1473export AWS_REGION=us-east-1

474```474```

475 475 

476Claude Code membuat URL endpoint dari wilayah AWS. {/* min-version: 2.1.172 */}Mulai dari v2.1.172, wilayah diselesaikan dengan prioritas yang sama seperti [Amazon Bedrock di atas](#3-configure-claude-code); versi sebelumnya hanya menggunakan `AWS_REGION`. Untuk mengganti URL untuk endpoint khusus atau gateway, atur `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.476Claude Code membuat URL endpoint dari wilayah AWS. Mulai dari v2.1.172, wilayah diselesaikan dengan prioritas yang sama seperti [Amazon Bedrock di atas](#3-configure-claude-code); versi sebelumnya hanya menggunakan `AWS_REGION`. Untuk mengganti URL untuk endpoint khusus atau gateway, atur `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.

477 477 

478Jalankan `/status` di dalam Claude Code untuk mengonfirmasi. Baris penyedia menunjukkan `Amazon Bedrock (Mantle)` ketika Mantle aktif.478Jalankan `/status` di dalam Claude Code untuk mengonfirmasi. Baris penyedia menunjukkan `Amazon Bedrock (Mantle)` ketika Mantle aktif.

479 479 


500export CLAUDE_CODE_USE_MANTLE=1500export CLAUDE_CODE_USE_MANTLE=1

501```501```

502 502 

503Untuk menampilkan model Mantle di pemilih `/model`, daftarkan ID-nya di `availableModels` di [file pengaturan](/id/settings) Anda. Pengaturan ini juga membatasi pemilih ke entri yang terdaftar. Mendaftarkan `anthropic.claude-haiku-4-5` menghapus alias `haiku` biasa dari pemilih, jadi juga daftarkan awalan versi atau ID lengkap untuk versi yang ingin Anda tetap dapat dipilih. ID Mantle dan alias `haiku` diselesaikan ke keluarga model yang sama, jadi penggabungan hanya menyimpan entri yang lebih spesifik. Lihat [Merge behavior](/id/model-config#merge-behavior):503Untuk menampilkan model Mantle di pemilih `/model`, daftarkan ID-nya di `availableModels` di [file pengaturan](/docs/id/settings) Anda. Pengaturan ini juga membatasi pemilih ke entri yang terdaftar. Mendaftarkan `anthropic.claude-haiku-4-5` menghapus alias `haiku` biasa dari pemilih, jadi juga daftarkan awalan versi atau ID lengkap untuk versi yang ingin Anda tetap dapat dipilih. ID Mantle dan alias `haiku` diselesaikan ke keluarga model yang sama, jadi penggabungan hanya menyimpan entri yang lebih spesifik. Lihat [Merge behavior](/docs/id/model-config#merge-behavior):

504 504 

505```json theme={null}505```json theme={null}

506{506{


508}508}

509```509```

510 510 

511Entri dengan awalan `anthropic.` ditambahkan sebagai opsi pemilih khusus dan dirutekan ke Mantle. Ganti `anthropic.claude-haiku-4-5` dengan ID model yang telah diberikan akun Anda. Lihat [Restrict model selection](/id/model-config#restrict-model-selection) untuk cara `availableModels` berinteraksi dengan pengaturan model lainnya.511Entri dengan awalan `anthropic.` ditambahkan sebagai opsi pemilih khusus dan dirutekan ke Mantle. Ganti `anthropic.claude-haiku-4-5` dengan ID model yang telah diberikan akun Anda. Lihat [Restrict model selection](/docs/id/model-config#restrict-model-selection) untuk cara `availableModels` berinteraksi dengan pengaturan model lainnya.

512 512 

513Ketika kedua penyedia aktif, `/status` menunjukkan `Amazon Bedrock + Amazon Bedrock (Mantle)`.513Ketika kedua penyedia aktif, `/status` menunjukkan `Amazon Bedrock + Amazon Bedrock (Mantle)`.

514 514 


516 Rutekan Mantle melalui gateway516 Rutekan Mantle melalui gateway

517</h3>517</h3>

518 518 

519Jika organisasi Anda merutekan lalu lintas model melalui [LLM gateway](/id/llm-gateway) terpusat yang menyuntikkan kredensial AWS sisi server, nonaktifkan autentikasi sisi klien sehingga Claude Code mengirim permintaan tanpa tanda tangan SigV4 atau header `x-api-key`:519Jika organisasi Anda merutekan lalu lintas model melalui [LLM gateway](/docs/id/llm-gateway) terpusat yang menyuntikkan kredensial AWS sisi server, nonaktifkan autentikasi sisi klien sehingga Claude Code mengirim permintaan tanpa tanda tangan SigV4 atau header `x-api-key`:

520 520 

521```bash theme={null}521```bash theme={null}

522export CLAUDE_CODE_USE_MANTLE=1522export CLAUDE_CODE_USE_MANTLE=1


528 Variabel lingkungan Mantle528 Variabel lingkungan Mantle

529</h3>529</h3>

530 530 

531Variabel ini khusus untuk endpoint Mantle. Lihat [Environment variables](/id/env-vars) untuk daftar lengkap.531Variabel ini khusus untuk endpoint Mantle. Lihat [Environment variables](/docs/id/env-vars) untuk daftar lengkap.

532 532 

533| Variabel | Tujuan |533| Variabel | Tujuan |

534| :-------------------------------------- | :-------------------------------------------------------------------------- |534| :-------------------------------------- | :-------------------------------------------------------------------------- |


545 Loop autentikasi dengan SSO dan proxy perusahaan545 Loop autentikasi dengan SSO dan proxy perusahaan

546</h3>546</h3>

547 547 

548Jika tab browser muncul berulang kali saat menggunakan AWS SSO, hapus pengaturan `awsAuthRefresh` dari [file pengaturan](/id/settings) Anda. Ini dapat terjadi ketika VPN perusahaan atau proxy inspeksi TLS mengganggu alur browser SSO. Claude Code memperlakukan koneksi yang terputus sebagai kegagalan autentikasi, menjalankan kembali `awsAuthRefresh`, dan loop tanpa batas.548Jika tab browser muncul berulang kali saat menggunakan AWS SSO, hapus pengaturan `awsAuthRefresh` dari [file pengaturan](/docs/id/settings) Anda. Ini dapat terjadi ketika VPN perusahaan atau proxy inspeksi TLS mengganggu alur browser SSO. Claude Code memperlakukan koneksi yang terputus sebagai kegagalan autentikasi, menjalankan kembali `awsAuthRefresh`, dan loop tanpa batas.

549 549 

550Jika lingkungan jaringan Anda mengganggu alur SSO berbasis browser otomatis, gunakan `aws sso login` secara manual sebelum memulai Claude Code alih-alih mengandalkan `awsAuthRefresh`.550Jika lingkungan jaringan Anda mengganggu alur SSO berbasis browser otomatis, gunakan `aws sso login` secara manual sebelum memulai Claude Code alih-alih mengandalkan `awsAuthRefresh`.

551 551 


573 573 

574Sebelum v2.1.208, konfigurasi yang salah yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.574Sebelum v2.1.208, konfigurasi yang salah yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.

575 575 

576Untuk memperbaikinya, konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Jika gateway hanya menulis ulang header dan melewatkan badan biner dengan utuh, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Dengan pemeriksaan dimatikan, badan respons yang diubah gagal dengan `Truncated event message received` lagi.576Untuk memperbaikinya, konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Jika gateway hanya menulis ulang header dan melewatkan badan biner dengan utuh, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/docs/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Dengan pemeriksaan dimatikan, badan respons yang diubah gagal dengan `Truncated event message received` lagi.

577 577 

578<h3 id="zero-token-counts-in-/context">578<h3 id="zero-token-counts-in-/context">

579 Penghitungan token nol dalam /context579 Penghitungan token nol dalam /context

580</h3>580</h3>

581 581 

582Perintah `/context` menghitung token untuk setiap grup alat dengan mengirimkan skema alat ke API count-tokens Amazon Bedrock. {/* min-version: 2.1.196 */}Pada versi Claude Code sebelum v2.1.196, Amazon Bedrock menolak permintaan itu karena skema membawa bidang yang tidak diterima API count-tokens-nya, jadi setiap grup alat menunjukkan 0 token. Baris lain dalam rincian, seperti pesan dan file memori, tidak terpengaruh.582Perintah `/context` menghitung token untuk setiap grup alat dengan mengirimkan skema alat ke API count-tokens Amazon Bedrock. Pada versi Claude Code sebelum v2.1.196, Amazon Bedrock menolak permintaan itu karena skema membawa bidang yang tidak diterima API count-tokens-nya, jadi setiap grup alat menunjukkan 0 token. Baris lain dalam rincian, seperti pesan dan file memori, tidak terpengaruh.

583 583 

584Perbarui ke v2.1.196 atau lebih baru.584Perbarui ke v2.1.196 atau lebih baru.

585 585 


587 Kesalahan endpoint Mantle587 Kesalahan endpoint Mantle

588</h3>588</h3>

589 589 

590Jika `/status` tidak menunjukkan `Amazon Bedrock (Mantle)` setelah Anda menetapkan `CLAUDE_CODE_USE_MANTLE`, variabel tidak mencapai proses. Konfirmasi bahwa variabel diekspor di shell tempat Anda meluncurkan `claude`, atau atur di blok `env` dari [file pengaturan](/id/settings) Anda.590Jika `/status` tidak menunjukkan `Amazon Bedrock (Mantle)` setelah Anda menetapkan `CLAUDE_CODE_USE_MANTLE`, variabel tidak mencapai proses. Konfirmasi bahwa variabel diekspor di shell tempat Anda meluncurkan `claude`, atau atur di blok `env` dari [file pengaturan](/docs/id/settings) Anda.

591 591 

592A `403` dari endpoint Mantle dengan kredensial yang valid berarti akun AWS Anda belum diberikan akses ke model yang Anda minta. Hubungi tim akun AWS Anda untuk meminta akses.592A `403` dari endpoint Mantle dengan kredensial yang valid berarti akun AWS Anda belum diberikan akses ke model yang Anda minta. Hubungi tim akun AWS Anda untuk meminta akses.

593 593 

artifacts.md +15 −19

Details

6 6 

7> Artifacts mengubah pekerjaan Claude Code menjadi halaman interaktif langsung di claude.ai yang dapat Anda simpan secara pribadi, bagikan dengan organisasi Anda, atau terbitkan ke tautan publik.7> Artifacts mengubah pekerjaan Claude Code menjadi halaman interaktif langsung di claude.ai yang dapat Anda simpan secara pribadi, bagikan dengan organisasi Anda, atau terbitkan ke tautan publik.

8 8 

9{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}

10 

11<Note>9<Note>

12 Artifacts tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.10 Artifacts tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](/docs/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.

13</Note>11</Note>

14 12 

15Artifact adalah halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai. Anda membukanya di browser, dan halaman tersebut diperbarui di tempat saat sesi berlanjut. Bagikan dari header halaman ketika Anda ingin orang lain melihatnya juga. Misalnya, gunakan artifact untuk membimbing reviewer melalui pull request dengan diff yang diberi anotasi, membangun dashboard dari data sesi, atau menyimpan timeline investigasi yang terisi saat Claude bekerja.13Artifact adalah halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai. Anda membukanya di browser, dan halaman tersebut diperbarui di tempat saat sesi berlanjut. Bagikan dari header halaman ketika Anda ingin orang lain melihatnya juga. Misalnya, gunakan artifact untuk membimbing reviewer melalui pull request dengan diff yang diberi anotasi, membangun dashboard dari data sesi, atau menyimpan timeline investigasi yang terisi saat Claude bekerja.


22 Kapan menggunakan artifact20 Kapan menggunakan artifact

23</h2>21</h2>

24 22 

25Gunakan artifact ketika teks terminal adalah medium yang salah untuk apa yang Claude hasilkan: output yang lebih mudah dilihat dan berinteraksi daripada dibaca baris demi baris. Claude membangun halaman dari apa pun yang dapat dijangkau sesi Anda, termasuk codebase Anda dan data yang ditariknya melalui [tools yang terhubung](/id/mcp), sehingga halaman dapat menampilkan hal-hal yang memerlukan paragraf untuk dijelaskan. Misalnya, minta Claude untuk:23Gunakan artifact ketika teks terminal adalah medium yang salah untuk apa yang Claude hasilkan: output yang lebih mudah dilihat dan berinteraksi daripada dibaca baris demi baris. Claude membangun halaman dari apa pun yang dapat dijangkau sesi Anda, termasuk codebase Anda dan data yang ditariknya melalui [tools yang terhubung](/docs/id/mcp), sehingga halaman dapat menampilkan hal-hal yang memerlukan paragraf untuk dijelaskan. Misalnya, minta Claude untuk:

26 24 

27* Membimbing reviewer melalui pull request dengan diff yang diberi anotasi25* Membimbing reviewer melalui pull request dengan diff yang diberi anotasi

28* Merender dashboard dari data yang sudah ditarik sesi26* Merender dashboard dari data yang sudah ditarik sesi


104 Tarik data langsung dengan konektor MCP102 Tarik data langsung dengan konektor MCP

105</h2>103</h2>

106 104 

107{/* plan-availability: feature=artifact-mcp plans=pro,max,team,enterprise providers=anthropic */}105Sebuah artifact dapat memanggil [konektor MCP](/docs/id/mcp#use-mcp-servers-from-claude-ai) setiap kali seseorang melihatnya, sehingga halaman menampilkan data terkini daripada snapshot dari sesi yang membangunnya. Panggilan konektor dari artifact tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan Claude Code v2.1.209 atau lebih baru. Pada versi sebelumnya, Claude menerbitkan halaman dengan data apa pun yang dikumpulkan sesi saat membangunnya.

108 

109Sebuah artifact dapat memanggil [konektor MCP](/id/mcp#use-mcp-servers-from-claude-ai) setiap kali seseorang melihatnya, sehingga halaman menampilkan data terkini daripada snapshot dari sesi yang membangunnya. Panggilan konektor dari artifact tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan Claude Code v2.1.209 atau lebih baru. Pada versi sebelumnya, Claude menerbitkan halaman dengan data apa pun yang dikumpulkan sesi saat membangunnya.

110 106 

111Untuk membuat halaman yang didukung konektor, beri nama konektor dan data yang Anda inginkan dalam prompt Anda:107Untuk membuat halaman yang didukung konektor, beri nama konektor dan data yang Anda inginkan dalam prompt Anda:

112 108 


202 Tingkatkan desain visual198 Tingkatkan desain visual

203</h2>199</h2>

204 200 

205Mulai dari Claude Code v2.1.183, Claude menerapkan skill desain bawaan ketika membangun artifact, sehingga halaman mendapatkan palet, tipografi, dan tata letak yang disengaja tanpa prompting tambahan. Skill itu juga mencari sistem desain yang ada di proyek Anda sebelum memilih miliknya sendiri. Untuk menjaga artifacts konsisten dengan branding produk Anda, catat token desain Anda di mana Claude dapat menemukannya, seperti [CLAUDE.md](/id/memory) proyek atau file tema di repositori Anda:201Mulai dari Claude Code v2.1.183, Claude menerapkan skill desain bawaan ketika membangun artifact, sehingga halaman mendapatkan palet, tipografi, dan tata letak yang disengaja tanpa prompting tambahan. Skill itu juga mencari sistem desain yang ada di proyek Anda sebelum memilih miliknya sendiri. Untuk menjaga artifacts konsisten dengan branding produk Anda, catat token desain Anda di mana Claude dapat menemukannya, seperti [CLAUDE.md](/docs/id/memory) proyek atau file tema di repositori Anda:

206 202 

207```markdown theme={null}203```markdown theme={null}

208## Design system204## Design system


243| Persyaratan | Tersedia ketika |239| Persyaratan | Tersedia ketika |

244| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |240| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

245| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |241| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |

246| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag masuk melalui identitas agen, jadi tidak ada langkah yang diperlukan di sana. Sesi menggunakan kunci API, [gateway token](/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |242| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag masuk melalui identitas agen, jadi tidak ada langkah yang diperlukan di sana. Sesi menggunakan kunci API, [gateway token](/docs/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |

247| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry). |243| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry). |

248| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](/id/zero-data-retention) tidak diaktifkan untuk organisasi. |244| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](/docs/id/zero-data-retention) tidak diaktifkan untuk organisasi. |

249| Permukaan | Claude Code CLI versi 2.1.183 atau lebih baru, atau aplikasi desktop Claude versi 1.13576.0 atau lebih baru. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) juga dapat menerbitkan artifacts ketika Claude Tag dan artifacts keduanya diaktifkan untuk organisasi. Dimatikan secara default di konteks [Agent SDK](/id/agent-sdk/overview), GitHub Action, dan MCP-server, dan ketika [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) diatur. |245| Permukaan | Claude Code CLI versi 2.1.183 atau lebih baru, atau aplikasi desktop Claude versi 1.13576.0 atau lebih baru. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) juga dapat menerbitkan artifacts ketika Claude Tag dan artifacts keduanya diaktifkan untuk organisasi. Dimatikan secara default di konteks [Agent SDK](/docs/id/agent-sdk/overview), GitHub Action, dan MCP-server, dan ketika [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/id/env-vars) diatur. |

250 246 

251<h2 id="disable-artifacts">247<h2 id="disable-artifacts">

252 Nonaktifkan artifacts248 Nonaktifkan artifacts


256 252 

257| Metode | Pengaturan |253| Metode | Pengaturan |

258| :---------------------------------- | :----------------------------------------- |254| :---------------------------------- | :----------------------------------------- |

259| [File pengaturan](/id/settings) | `"disableArtifact": true` |255| [File pengaturan](/docs/id/settings) | `"disableArtifact": true` |

260| [Variabel lingkungan](/id/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1` |256| [Variabel lingkungan](/docs/id/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1` |

261| [Aturan izin](/id/permissions) | Tambahkan `Artifact` ke `permissions.deny` |257| [Aturan izin](/docs/id/permissions) | Tambahkan `Artifact` ke `permissions.deny` |

262 258 

263<h2 id="manage-artifacts-for-your-organization">259<h2 id="manage-artifacts-for-your-organization">

264 Kelola artifacts untuk organisasi Anda260 Kelola artifacts untuk organisasi Anda


300 Daftar putih domain viewer296 Daftar putih domain viewer

301</h3>297</h3>

302 298 

303Viewer di claude.ai memuat setiap artifact dari asal `*.claudeusercontent.com` yang disandboxkan. Jika organisasi Anda membatasi akses jaringan keluar, tambahkan domain itu ke daftar putih Anda bersama `claude.ai`. Lihat [Network access requirements](/id/network-config#network-access-requirements) untuk daftar lengkap.299Viewer di claude.ai memuat setiap artifact dari asal `*.claudeusercontent.com` yang disandboxkan. Jika organisasi Anda membatasi akses jaringan keluar, tambahkan domain itu ke daftar putih Anda bersama `claude.ai`. Lihat [Network access requirements](/docs/id/network-config#network-access-requirements) untuk daftar lengkap.

304 300 

305<h3 id="list-and-delete-artifacts-with-the-compliance-api">301<h3 id="list-and-delete-artifacts-with-the-compliance-api">

306 Daftar dan hapus artifacts dengan Compliance API302 Daftar dan hapus artifacts dengan Compliance API


320 Sumber daya terkait316 Sumber daya terkait

321</h2>317</h2>

322 318 

323* Jelajahi [pola prompting dan alur kerja](/id/prompt-library) yang berpasangan dengan artifacts319* Jelajahi [pola prompting dan alur kerja](/docs/id/prompt-library) yang berpasangan dengan artifacts

324* Ubah prompt artifact yang Anda gunakan kembali menjadi [skill](/id/skills) sehingga Anda dapat memanggilnya sebagai perintah320* Ubah prompt artifact yang Anda gunakan kembali menjadi [skill](/docs/id/skills) sehingga Anda dapat memanggilnya sebagai perintah

325* [Hubungkan server MCP](/id/mcp) sehingga Claude dapat menarik data langsung ke artifact saat membangun halaman321* [Hubungkan server MCP](/docs/id/mcp) sehingga Claude dapat menarik data langsung ke artifact saat membangun halaman

authentication.md +28 −28

Details

12 Masuk ke Claude Code12 Masuk ke Claude Code

13</h2>13</h2>

14 14 

15Setelah [memasang Claude Code](/id/setup#install-claude-code), jalankan `claude` di terminal Anda. Pada peluncuran pertama, Claude Code membuka jendela browser untuk Anda masuk.15Setelah [memasang Claude Code](/docs/id/setup#install-claude-code), jalankan `claude` di terminal Anda. Pada peluncuran pertama, Claude Code membuka jendela browser untuk Anda masuk.

16 16 

17Jika browser tidak terbuka secara otomatis, tekan `c` untuk menyalin URL login ke clipboard Anda, kemudian tempel ke browser Anda.17Jika browser tidak terbuka secara otomatis, tekan `c` untuk menyalin URL login ke clipboard Anda, kemudian tempel ke browser Anda.

18 18 


25* **Langganan Claude Pro atau Max**: masuk dengan akun Claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Langganan Claude Pro atau Max**: masuk dengan akun Claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

26* **Claude for Teams atau Enterprise**: masuk dengan akun Claude.ai yang diundang oleh admin tim Anda.26* **Claude for Teams atau Enterprise**: masuk dengan akun Claude.ai yang diundang oleh admin tim Anda.

27* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu.27* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu.

28* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`, atau pilih **3rd-party platform** di prompt login, yang meluncurkan wizard pengaturan interaktif untuk Bedrock dan Vertex AI. Tidak diperlukan login browser.28* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`, atau pilih **3rd-party platform** di prompt login, yang meluncurkan wizard pengaturan interaktif untuk Bedrock dan Vertex AI. Tidak diperlukan login browser.

29* **Gateway cloud**: jika organisasi Anda menjalankan [gateway aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri, masuk dengan SSO perusahaan melalui `/login`. Token yang dikeluarkan gateway adalah satu-satunya kredensial sesi.29* **Gateway cloud**: jika organisasi Anda menjalankan [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri, masuk dengan SSO perusahaan melalui `/login`. Token yang dikeluarkan gateway adalah satu-satunya kredensial sesi.

30 30 

31Admin dapat membatasi login interaktif dengan pengaturan terkelola [`forceLoginMethod` dan `forceLoginOrgUUID`](/id/settings#available-settings). Ketika salah satu diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh.31Admin dapat membatasi login interaktif dengan pengaturan terkelola [`forceLoginMethod` dan `forceLoginOrgUUID`](/docs/id/settings#available-settings). Ketika salah satu diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh.

32 32 

33Untuk keluar dan melakukan autentikasi ulang, ketik `/logout` di prompt Claude Code. Keluar juga mengatur ulang status pengaturan peluncuran pertama Anda, jadi lain kali Anda menjalankan `claude` akan memandu Anda melalui login dan pengaturan lagi.33Untuk keluar dan melakukan autentikasi ulang, ketik `/logout` di prompt Claude Code. Keluar juga mengatur ulang status pengaturan peluncuran pertama Anda, jadi lain kali Anda menjalankan `claude` akan memandu Anda melalui login dan pengaturan lagi.

34 34 

35Jika Anda mengalami kesulitan masuk, lihat [pemecahan masalah autentikasi](/id/troubleshoot-install#login-and-authentication).35Jika Anda mengalami kesulitan masuk, lihat [pemecahan masalah autentikasi](/docs/id/troubleshoot-install#login-and-authentication).

36 36 

37<h2 id="set-up-team-authentication">37<h2 id="set-up-team-authentication">

38 Atur autentikasi tim38 Atur autentikasi tim


42 42 

43* [Claude for Teams atau Enterprise](#claude-for-teams-or-enterprise), direkomendasikan untuk sebagian besar tim43* [Claude for Teams atau Enterprise](#claude-for-teams-or-enterprise), direkomendasikan untuk sebagian besar tim

44* [Claude Console](#claude-console-authentication)44* [Claude Console](#claude-console-authentication)

45* [Claude apps gateway](/id/claude-apps-gateway), gateway yang di-host sendiri yang menandatangani pengembang dengan IdP Anda dan merutekan inferensi ke penyedia cloud yang Anda konfigurasi45* [Claude apps gateway](/docs/id/claude-apps-gateway), gateway yang di-host sendiri yang menandatangani pengembang dengan IdP Anda dan merutekan inferensi ke penyedia cloud yang Anda konfigurasi

46* [Amazon Bedrock](/id/amazon-bedrock)46* [Amazon Bedrock](/docs/id/amazon-bedrock)

47* [Google Cloud's Agent Platform](/id/google-vertex-ai)47* [Google Cloud's Agent Platform](/docs/id/google-vertex-ai)

48* [Microsoft Foundry](/id/microsoft-foundry)48* [Microsoft Foundry](/docs/id/microsoft-foundry)

49 49 

50<h3 id="claude-for-teams-or-enterprise">50<h3 id="claude-for-teams-or-enterprise">

51 Claude for Teams atau Enterprise51 Claude for Teams atau Enterprise


99 Setiap pengguna yang diundang perlu:99 Setiap pengguna yang diundang perlu:

100 100 

101 * Menerima undangan Console101 * Menerima undangan Console

102 * [Periksa persyaratan sistem](/id/setup#system-requirements)102 * [Periksa persyaratan sistem](/docs/id/setup#system-requirements)

103 * [Pasang Claude Code](/id/setup#install-claude-code)103 * [Pasang Claude Code](/docs/id/setup#install-claude-code)

104 * Masuk dengan kredensial akun Console104 * Masuk dengan kredensial akun Console

105 </Step>105 </Step>

106</Steps>106</Steps>


113 113 

114<Steps>114<Steps>

115 <Step title="Ikuti pengaturan penyedia">115 <Step title="Ikuti pengaturan penyedia">

116 Ikuti [dokumen Amazon Bedrock](/id/amazon-bedrock), [dokumen Google Cloud's Agent Platform](/id/google-vertex-ai), atau [dokumen Microsoft Foundry](/id/microsoft-foundry).116 Ikuti [dokumen Amazon Bedrock](/docs/id/amazon-bedrock), [dokumen Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [dokumen Microsoft Foundry](/docs/id/microsoft-foundry).

117 </Step>117 </Step>

118 118 

119 <Step title="Distribusikan konfigurasi">119 <Step title="Distribusikan konfigurasi">

120 Distribusikan variabel lingkungan dan instruksi untuk menghasilkan kredensial cloud kepada pengguna Anda. Baca lebih lanjut tentang cara [mengelola konfigurasi di sini](/id/settings).120 Distribusikan variabel lingkungan dan instruksi untuk menghasilkan kredensial cloud kepada pengguna Anda. Baca lebih lanjut tentang cara [mengelola konfigurasi di sini](/docs/id/settings).

121 </Step>121 </Step>

122 122 

123 <Step title="Pasang Claude Code">123 <Step title="Pasang Claude Code">

124 Pengguna dapat [memasang Claude Code](/id/setup#install-claude-code).124 Pengguna dapat [memasang Claude Code](/docs/id/setup#install-claude-code).

125 </Step>125 </Step>

126</Steps>126</Steps>

127 127 


136 * Di Linux, kredensial disimpan di `~/.claude/.credentials.json` dengan mode file `0600`.136 * Di Linux, kredensial disimpan di `~/.claude/.credentials.json` dengan mode file `0600`.

137 * Di Windows, kredensial disimpan di `%USERPROFILE%\.claude\.credentials.json` dan mewarisi kontrol akses dari direktori profil pengguna Anda, yang membatasi file ke akun pengguna Anda secara default.137 * Di Windows, kredensial disimpan di `%USERPROFILE%\.claude\.credentials.json` dan mewarisi kontrol akses dari direktori profil pengguna Anda, yang membatasi file ke akun pengguna Anda secara default.

138 * Jika Anda telah menetapkan variabel lingkungan `CLAUDE_CONFIG_DIR` di Linux atau Windows, file `.credentials.json` berada di bawah direktori tersebut.138 * Jika Anda telah menetapkan variabel lingkungan `CLAUDE_CONFIG_DIR` di Linux atau Windows, file `.credentials.json` berada di bawah direktori tersebut.

139 * Claude Code mengelola `.credentials.json` melalui `/login` dan `/logout`. Untuk merutekan permintaan melalui titik akhir API kustom, atur variabel lingkungan [`ANTHROPIC_BASE_URL`](/id/env-vars) sebagai gantinya.139 * Claude Code mengelola `.credentials.json` melalui `/login` dan `/logout`. Untuk merutekan permintaan melalui titik akhir API kustom, atur variabel lingkungan [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) sebagai gantinya.

140* **Jenis autentikasi yang didukung**: kredensial Claude.ai, kredensial API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, dan token sesi [gateway aplikasi Claude](/id/claude-apps-gateway).140* **Jenis autentikasi yang didukung**: kredensial Claude.ai, kredensial API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, dan token sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway).

141* **Skrip kredensial kustom**: pengaturan [`apiKeyHelper`](/id/settings#available-settings) dapat dikonfigurasi untuk menjalankan skrip shell yang mengembalikan kunci API.141* **Skrip kredensial kustom**: pengaturan [`apiKeyHelper`](/docs/id/settings#available-settings) dapat dikonfigurasi untuk menjalankan skrip shell yang mengembalikan kunci API.

142* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.142* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.

143* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.143* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.

144* **Kegagalan helper**: {/* min-version: 2.1.208 */}ketika skrip keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, permintaan gagal dengan [`Your apiKeyHelper script is failing`](/id/errors#your-apikeyhelper-script-is-failing) dalam tiga upaya. Sebelum v2.1.208, kegagalan helper muncul sebagai 401 generik setelah sekitar sepuluh upaya ulang diam.144* **Kegagalan helper**: ketika skrip keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, permintaan gagal dengan [`Your apiKeyHelper script is failing`](/docs/id/errors#your-apikeyhelper-script-is-failing) dalam tiga upaya. Sebelum v2.1.208, kegagalan helper muncul sebagai 401 generik setelah sekitar sepuluh upaya ulang diam.

145 145 

146`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` berlaku untuk CLI dan permukaan yang membungkusnya, termasuk ekstensi VS Code, Agent SDK, dan GitHub Actions. Claude Desktop dan sesi cloud tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan ini: mereka menggunakan OAuth, kecuali sesi desktop yang menjalankan [konfigurasi inferensi pihak ketiga](/id/llm-gateway-connect#desktop-app), yang melakukan autentikasi dengan kredensial konfigurasi tersebut.146`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` berlaku untuk CLI dan permukaan yang membungkusnya, termasuk ekstensi VS Code, Agent SDK, dan GitHub Actions. Claude Desktop dan sesi cloud tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan ini: mereka menggunakan OAuth, kecuali sesi desktop yang menjalankan [konfigurasi inferensi pihak ketiga](/docs/id/llm-gateway-connect#desktop-app), yang melakukan autentikasi dengan kredensial konfigurasi tersebut.

147 147 

148<h3 id="renew-an-expiring-login">148<h3 id="renew-an-expiring-login">

149 Perbarui login yang akan kedaluwarsa149 Perbarui login yang akan kedaluwarsa


153 153 

154Jalankan `/login` untuk memperbarui. Peringatan bersifat informatif dan tidak pernah memblokir permintaan: autentikasi terus bekerja sampai login benar-benar kedaluwarsa. Masa hidup login itu sendiri tidak berubah; peringatan awal adalah apa yang ditambahkan v2.1.203.154Jalankan `/login` untuk memperbarui. Peringatan bersifat informatif dan tidak pernah memblokir permintaan: autentikasi terus bekerja sampai login benar-benar kedaluwarsa. Masa hidup login itu sendiri tidak berubah; peringatan awal adalah apa yang ditambahkan v2.1.203.

155 155 

156{/* min-version: 2.1.206 */}Setelah login yang disimpan kedaluwarsa dan tidak dapat disegarkan, setiap permintaan gagal dengan [`Login expired · Please run /login`](/id/errors#login-expired) sampai Anda masuk lagi. Sebelum v2.1.206, login yang kedaluwarsa muncul sebagai kesalahan model sebagai gantinya.156Setelah login yang disimpan kedaluwarsa dan tidak dapat disegarkan, setiap permintaan gagal dengan [`Login expired · Please run /login`](/docs/id/errors#login-expired) sampai Anda masuk lagi. Sebelum v2.1.206, login yang kedaluwarsa muncul sebagai kesalahan model sebagai gantinya.

157 157 

158Peringatan muncul hanya ketika login claude.ai atau Claude Console adalah kredensial aktif, dan bukan ketika penyedia cloud, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` menyediakan kredensial.158Peringatan muncul hanya ketika login claude.ai atau Claude Console adalah kredensial aktif, dan bukan ketika penyedia cloud, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` menyediakan kredensial.

159 159 

160Memperbarui lebih awal paling penting untuk sesi yang berjalan tanpa pengawasan. Sesi [background session in agent view](/id/agent-view) atau sesi [Remote Control](/id/remote-control) yang melampaui login berhenti membuat kemajuan setelah kredensial kedaluwarsa dan tidak dapat pulih sampai Anda masuk lagi.160Memperbarui lebih awal paling penting untuk sesi yang berjalan tanpa pengawasan. Sesi [background session in agent view](/docs/id/agent-view) atau sesi [Remote Control](/docs/id/remote-control) yang melampaui login berhenti membuat kemajuan setelah kredensial kedaluwarsa dan tidak dapat pulih sampai Anda masuk lagi.

161 161 

162<h3 id="authentication-precedence">162<h3 id="authentication-precedence">

163 Urutan prioritas autentikasi163 Urutan prioritas autentikasi


165 165 

166Ketika beberapa kredensial ada, Claude Code memilih salah satu dalam urutan ini:166Ketika beberapa kredensial ada, Claude Code memilih salah satu dalam urutan ini:

167 167 

1681. Kredensial penyedia cloud, ketika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur. Lihat [integrasi pihak ketiga](/id/third-party-integrations) untuk pengaturan.1681. Kredensial penyedia cloud, ketika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur. Lihat [integrasi pihak ketiga](/docs/id/third-party-integrations) untuk pengaturan.

1692. Variabel lingkungan `ANTHROPIC_AUTH_TOKEN`. Dikirim sebagai header `Authorization: Bearer`. Gunakan ini saat merutekan melalui [gateway LLM atau proxy](/id/llm-gateway) yang melakukan autentikasi dengan token bearer daripada kunci API Anthropic.1692. Variabel lingkungan `ANTHROPIC_AUTH_TOKEN`. Dikirim sebagai header `Authorization: Bearer`. Gunakan ini saat merutekan melalui [gateway LLM atau proxy](/docs/id/llm-gateway) yang melakukan autentikasi dengan token bearer daripada kunci API Anthropic.

1703. Variabel lingkungan `ANTHROPIC_API_KEY`. Dikirim sebagai header `X-Api-Key`. Gunakan ini untuk akses API Anthropic langsung dengan kunci dari [Claude Console](https://platform.claude.com). Dalam mode interaktif, Anda diminta sekali untuk menyetujui atau menolak kunci, dan pilihan Anda diingat. Untuk mengubahnya nanti, gunakan toggle "Use custom API key" di `/config`. Toggle hanya muncul saat `ANTHROPIC_API_KEY` diatur di lingkungan Anda. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada.1703. Variabel lingkungan `ANTHROPIC_API_KEY`. Dikirim sebagai header `X-Api-Key`. Gunakan ini untuk akses API Anthropic langsung dengan kunci dari [Claude Console](https://platform.claude.com). Dalam mode interaktif, Anda diminta sekali untuk menyetujui atau menolak kunci, dan pilihan Anda diingat. Untuk mengubahnya nanti, gunakan toggle "Use custom API key" di `/config`. Toggle hanya muncul saat `ANTHROPIC_API_KEY` diatur di lingkungan Anda. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada.

1714. Output skrip [`apiKeyHelper`](/id/settings#available-settings). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.1714. Output skrip [`apiKeyHelper`](/docs/id/settings#available-settings). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.

1725. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia.1725. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia.

1736. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Team, dan Enterprise.1736. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Team, dan Enterprise.

174 174 

175Sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan entri token bearer, kunci API, dan `apiKeyHelper` di atas tidak digunakan.175Sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan entri token bearer, kunci API, dan `apiKeyHelper` di atas tidak digunakan.

176 176 

177Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, kunci API memiliki prioritas setelah disetujui. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa. Jalankan `unset ANTHROPIC_API_KEY` untuk kembali ke langganan Anda, dan periksa `/status` untuk mengonfirmasi metode mana yang aktif. Baris `Login method` menunjukkan akun langganan Anda, dan baris `API key` muncul saat kunci API sedang digunakan.177Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, kunci API memiliki prioritas setelah disetujui. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa. Jalankan `unset ANTHROPIC_API_KEY` untuk kembali ke langganan Anda, dan periksa `/status` untuk mengonfirmasi metode mana yang aktif. Baris `Login method` menunjukkan akun langganan Anda, dan baris `API key` muncul saat kunci API sedang digunakan.

178 178 

179[Claude Code di Web](/id/claude-code-on-the-web) selalu menggunakan kredensial langganan Anda. Jika Anda menetapkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` di lingkungan sandbox, itu tidak menimpa kredensial langganan Anda.179[Claude Code di Web](/docs/id/claude-code-on-the-web) selalu menggunakan kredensial langganan Anda. Jika Anda menetapkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` di lingkungan sandbox, itu tidak menimpa kredensial langganan Anda.

180 180 

181<h3 id="generate-a-long-lived-token">181<h3 id="generate-a-long-lived-token">

182 Hasilkan token berumur panjang182 Hasilkan token berumur panjang


194export CLAUDE_CODE_OAUTH_TOKEN=your-token194export CLAUDE_CODE_OAUTH_TOKEN=your-token

195```195```

196 196 

197Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Team, atau Enterprise. Token ini dibatasi untuk inferensi saja dan tidak dapat membuat sesi [Remote Control](/id/remote-control).197Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Team, atau Enterprise. Token ini dibatasi untuk inferensi saja dan tidak dapat membuat sesi [Remote Control](/docs/id/remote-control).

198 198 

199[Mode bare](/id/headless#start-faster-with-bare-mode) tidak membaca `CLAUDE_CODE_OAUTH_TOKEN`. Jika skrip Anda melewatkan `--bare`, lakukan autentikasi dengan `ANTHROPIC_API_KEY` atau `apiKeyHelper` sebagai gantinya.199[Mode bare](/docs/id/headless#start-faster-with-bare-mode) tidak membaca `CLAUDE_CODE_OAUTH_TOKEN`. Jika skrip Anda melewatkan `--bare`, lakukan autentikasi dengan `ANTHROPIC_API_KEY` atau `apiKeyHelper` sebagai gantinya.

Details

6 6 

7> Beri tahu pengklasifikasi mode otomatis repositori, bucket, dan domain mana yang dipercaya organisasi Anda. Atur konteks lingkungan, ganti aturan blokir dan izin default, dan periksa konfigurasi efektif Anda dengan subperintah CLI mode otomatis.7> Beri tahu pengklasifikasi mode otomatis repositori, bucket, dan domain mana yang dipercaya organisasi Anda. Atur konteks lingkungan, ganti aturan blokir dan izin default, dan periksa konfigurasi efektif Anda dengan subperintah CLI mode otomatis.

8 8 

9[Mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) memungkinkan Claude Code berjalan tanpa permintaan izin rutin dengan merutekan panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Aturan penolakan dan permintaan eksplisit dievaluasi sebelum pengklasifikasi dan masih memblokir atau meminta. Gunakan blok pengaturan `autoMode` untuk memberi tahu pengklasifikasi tersebut repositori, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin.9[Mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) memungkinkan Claude Code berjalan tanpa permintaan izin rutin dengan merutekan panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Aturan penolakan dan permintaan eksplisit dievaluasi sebelum pengklasifikasi dan masih memblokir atau meminta. Gunakan blok pengaturan `autoMode` untuk memberi tahu pengklasifikasi tersebut repositori, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin.

10 10 

11<Note>11<Note>

12 Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan pengaktifan Pemilik pada paket Tim dan Enterprise. {/* min-version: 2.1.207 */}Dalam v2.1.158 hingga v2.1.206, mode otomatis di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.12 Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan pengaktifan Pemilik pada paket Tim dan Enterprise. Dalam v2.1.158 hingga v2.1.206, mode otomatis di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.

13</Note>13</Note>

14 14 

15Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repositori saat ini. Tindakan seperti mendorong ke organisasi kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke `autoMode.environment`.15Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repositori saat ini. Tindakan seperti mendorong ke organisasi kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke `autoMode.environment`.

16 16 

17Untuk cara mengaktifkan mode otomatis dan apa yang diblokir secara default, lihat [Mode izin](/id/permission-modes#eliminate-prompts-with-auto-mode). Halaman ini adalah referensi konfigurasi.17Untuk cara mengaktifkan mode otomatis dan apa yang diblokir secara default, lihat [Mode izin](/docs/id/permission-modes#eliminate-prompts-with-auto-mode). Halaman ini adalah referensi konfigurasi.

18 18 

19Halaman ini mencakup cara:19Halaman ini mencakup cara:

20 20 


32 32 

33Mode otomatis memungkinkan push ke cabang kerja Anda, push rutin ke cabang default repositori, dan pembuatan pull request secara default. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang menghindari review yang Anda atur. Jika Anda ingin checkpoint manusia sebelum setiap push atau pull request, tambahkan aturan izin: resep di bawah ini menjaga mode otomatis tetap aktif untuk segalanya.33Mode otomatis memungkinkan push ke cabang kerja Anda, push rutin ke cabang default repositori, dan pembuatan pull request secara default. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang menghindari review yang Anda atur. Jika Anda ingin checkpoint manusia sebelum setiap push atau pull request, tambahkan aturan izin: resep di bawah ini menjaga mode otomatis tetap aktif untuk segalanya.

34 34 

35Mekanisme paling langsung adalah [`permissions.ask`](/id/permissions#permission-rule-syntax). Aturan ask yang dibatasi konten seperti yang di bawah ini dievaluasi sebelum pengklasifikasi dan selalu memaksa prompt izin, bahkan dalam mode otomatis, karena aturan ask eksplisit adalah niat yang dinyatakan untuk diminta untuk tindakan tersebut. Tambahkan aturan di [settings](/id/settings#settings-files) Anda:35Mekanisme paling langsung adalah [`permissions.ask`](/docs/id/permissions#permission-rule-syntax). Aturan ask yang dibatasi konten seperti yang di bawah ini dievaluasi sebelum pengklasifikasi dan selalu memaksa prompt izin, bahkan dalam mode otomatis, karena aturan ask eksplisit adalah niat yang dinyatakan untuk diminta untuk tindakan tersebut. Tambahkan aturan di [settings](/docs/id/settings#settings-files) Anda:

36 36 

37```json theme={null}37```json theme={null}

38{38{


51| :------------------------------ | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |51| :------------------------------ | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

52| Prompt sebelum tindakan | `permissions.ask` | Selalu meminta untuk aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |52| Prompt sebelum tindakan | `permissions.ask` | Selalu meminta untuk aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |

53| Jangan pernah jalankan tindakan | `permissions.deny` | Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |53| Jangan pernah jalankan tindakan | `permissions.deny` | Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |

54| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika [context compaction](/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |54| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika [context compaction](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |

55 55 

56<h2 id="where-the-classifier-reads-configuration">56<h2 id="where-the-classifier-reads-configuration">

57 Tempat pengklasifikasi membaca konfigurasi57 Tempat pengklasifikasi membaca konfigurasi

58</h2>58</h2>

59 59 

60Pengklasifikasi membaca konten [CLAUDE.md](/id/memory) yang sama yang dimuat Claude sendiri, jadi instruksi seperti "jangan pernah force push" di CLAUDE.md proyek Anda mengarahkan Claude dan pengklasifikasi secara bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku.60Pengklasifikasi membaca konten [CLAUDE.md](/docs/id/memory) yang sama yang dimuat Claude sendiri, jadi instruksi seperti "jangan pernah force push" di CLAUDE.md proyek Anda mengarahkan Claude dan pengklasifikasi secara bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku.

61 61 

62Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:62Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:

63 63 

64| Cakupan | File | Gunakan untuk |64| Cakupan | File | Gunakan untuk |

65| :---------------------------------- | :-------------------------------------------------- | :---------------------------------------------------------------- |65| :---------------------------------- | :-------------------------------------------------- | :---------------------------------------------------------------- |

66| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |66| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |

67| Di seluruh organisasi | [Pengaturan terkelola](/id/server-managed-settings) | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |67| Di seluruh organisasi | [Pengaturan terkelola](/docs/id/server-managed-settings) | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |

68| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |68| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |

69 69 

70Pengklasifikasi tidak membaca `autoMode` dari pengaturan proyek di `.claude/settings.json` atau `.claude/settings.local.json`. Kedua file berada di direktori repo, jadi repo yang diperiksa atau langkah build dapat sebaliknya menyuntikkan aturan izinnya sendiri. Sebelum v2.1.207, pengklasifikasi juga membaca `.claude/settings.local.json`; pindahkan blok `autoMode` apa pun di file tersebut ke `~/.claude/settings.json`. Mengecualikan `.claude/settings.local.json` juga menutup kasus di mana repositori melakukan commit file atau alat lokal atau langkah build menulisnya.70Pengklasifikasi tidak membaca `autoMode` dari pengaturan proyek di `.claude/settings.json` atau `.claude/settings.local.json`. Kedua file berada di direktori repo, jadi repo yang diperiksa atau langkah build dapat sebaliknya menyuntikkan aturan izinnya sendiri. Sebelum v2.1.207, pengklasifikasi juga membaca `.claude/settings.local.json`; pindahkan blok `autoMode` apa pun di file tersebut ke `~/.claude/settings.json`. Mengecualikan `.claude/settings.local.json` juga menutup kasus di mana repositori melakukan commit file atau alat lokal atau langkah build menulisnya.


72Entri dari setiap cakupan digabungkan. Pengembang dapat memperluas `environment`, `allow`, `soft_deny`, dan `hard_deny` dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blok lunak di dalam pengklasifikasi, entri `allow` yang ditambahkan pengembang dapat mengganti entri `soft_deny` organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.72Entri dari setiap cakupan digabungkan. Pengembang dapat memperluas `environment`, `allow`, `soft_deny`, dan `hard_deny` dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blok lunak di dalam pengklasifikasi, entri `allow` yang ditambahkan pengembang dapat mengganti entri `soft_deny` organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.

73 73 

74<Note>74<Note>

75 Pengklasifikasi adalah gerbang kedua yang berjalan setelah [sistem izin](/id/permissions). Untuk tindakan yang tidak boleh pernah berjalan terlepas dari niat pengguna atau konfigurasi pengklasifikasi, gunakan `permissions.deny` dalam pengaturan terkelola, yang memblokir tindakan sebelum pengklasifikasi dikonsultasikan dan tidak dapat ditimpa.75 Pengklasifikasi adalah gerbang kedua yang berjalan setelah [sistem izin](/docs/id/permissions). Untuk tindakan yang tidak boleh pernah berjalan terlepas dari niat pengguna atau konfigurasi pengklasifikasi, gunakan `permissions.deny` dalam pengaturan terkelola, yang memblokir tindakan sebelum pengklasifikasi dikonsultasikan dan tidak dapat ditimpa.

76</Note>76</Note>

77 77 

78<h2 id="define-trusted-infrastructure">78<h2 id="define-trusted-infrastructure">


87 * **Organization**87 * **Organization**

88 * **Primary use of Claude Code**: default ke pengembangan perangkat lunak88 * **Primary use of Claude Code**: default ke pengembangan perangkat lunak

89 * **Cloud provider(s)**89 * **Cloud provider(s)**

90 * **Repository visibility**: repositori diasumsikan pribadi kecuali host remote dan namanya menunjukkan sebaliknya, {/* min-version: 2.1.200 */}atau pemeriksaan visibilitas sebelumnya dalam percakapan yang dibaca pengklasifikasi menunjukkan bahwa itu publik. Pengklasifikasi membaca pesan Anda dan perintah yang dijalankan Claude, bukan output mereka, jadi bukti harus berupa sesuatu yang dapat dibacanya, seperti pesan Anda sendiri yang menyebutkan repositori sebagai publik; output dari `gh repo view` sendirian tidak mencapainya. Pemeriksaan bukti transkrip memerlukan Claude Code v2.1.200 atau lebih baru90 * **Repository visibility**: repositori diasumsikan pribadi kecuali host remote dan namanya menunjukkan sebaliknya, atau pemeriksaan visibilitas sebelumnya dalam percakapan yang dibaca pengklasifikasi menunjukkan bahwa itu publik. Pengklasifikasi membaca pesan Anda dan perintah yang dijalankan Claude, bukan output mereka, jadi bukti harus berupa sesuatu yang dapat dibacanya, seperti pesan Anda sendiri yang menyebutkan repositori sebagai publik; output dari `gh repo view` sendirian tidak mencapainya. Pemeriksaan bukti transkrip memerlukan Claude Code v2.1.200 atau lebih baru

91 * **Internal sharing / snippet hosting**: layanan paste dan gist publik diperlakukan sebagai di luar batas kepercayaan sampai Anda menyebutkan satu91 * **Internal sharing / snippet hosting**: layanan paste dan gist publik diperlakukan sebagai di luar batas kepercayaan sampai Anda menyebutkan satu

92 * **Org-specific CLIs**92 * **Org-specific CLIs**

93 * **Secrets management**93 * **Secrets management**


96 * **Network posture**96 * **Network posture**

97 * **Protected deployment namespaces / environments**: kembali ke heuristik Sensitive remote targets sampai Anda menyebutkan mereka97 * **Protected deployment namespaces / environments**: kembali ke heuristik Sensitive remote targets sampai Anda menyebutkan mereka

98 * **Data retention / declassification**98 * **Data retention / declassification**

99* **Trust slots**: nama apa yang diperlakukan pengklasifikasi sebagai di dalam batas Anda. Slot tersebut adalah Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, dan Internal package registry. Entri repo dan source-control default ke repositori kerja dan remote yang dikonfigurasinya. Setiap trust slot lainnya default ke `None configured`, jadi tidak ada yang lain dipercaya sampai Anda menambahkannya. {/* min-version: 2.1.203 */}Visibilitas repositori hanya mencakup materi rahasia: repositori pribadi adalah tujuan yang dapat diterima untuk materi rahasia, tetapi membuat repositori pribadi tidak pernah menghapus rahasia atau data pribadi atau data terpercaya ke dalamnya, dan pengklasifikasi memperlakukan konten yang diport, diubah arah, atau pertama kali dibaca dari luar repositori kerja sebagai bukan pekerjaan repositori itu sendiri. Scoping ini memerlukan Claude Code v2.1.203 atau lebih baru.99* **Trust slots**: nama apa yang diperlakukan pengklasifikasi sebagai di dalam batas Anda. Slot tersebut adalah Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, dan Internal package registry. Entri repo dan source-control default ke repositori kerja dan remote yang dikonfigurasinya. Setiap trust slot lainnya default ke `None configured`, jadi tidak ada yang lain dipercaya sampai Anda menambahkannya. Visibilitas repositori hanya mencakup materi rahasia: repositori pribadi adalah tujuan yang dapat diterima untuk materi rahasia, tetapi membuat repositori pribadi tidak pernah menghapus rahasia atau data pribadi atau data terpercaya ke dalamnya, dan pengklasifikasi memperlakukan konten yang diport, diubah arah, atau pertama kali dibaca dari luar repositori kerja sebagai bukan pekerjaan repositori itu sendiri. Scoping ini memerlukan Claude Code v2.1.203 atau lebih baru.

100* **Sensitivity slots**: nama apa yang diperlakukan aturan perlindungan sebagai berisiko tinggi. Slot tersebut adalah Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes. Masing-masing default ke heuristik luas, seperti memperlakukan host atau namespace apa pun yang namanya membawa `prod` atau `production` sebagai target remote sensitif, jadi aturan perlindungan aktif sebelum Anda mengonfigurasi apa pun. Penamaan target konkret dalam sensitivity slot membuat aturan tersebut berlaku untuk target bernama daripada heuristik.100* **Sensitivity slots**: nama apa yang diperlakukan aturan perlindungan sebagai berisiko tinggi. Slot tersebut adalah Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes. Masing-masing default ke heuristik luas, seperti memperlakukan host atau namespace apa pun yang namanya membawa `prod` atau `production` sebagai target remote sensitif, jadi aturan perlindungan aktif sebelum Anda mengonfigurasi apa pun. Penamaan target konkret dalam sensitivity slot membuat aturan tersebut berlaku untuk target bernama daripada heuristik.

101 101 

102Untuk menambahkan entri Anda sendiri bersama default tersebut, sertakan string literal `"$defaults"` dalam array. Entri default disisipi pada posisi tersebut, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.102Untuk menambahkan entri Anda sendiri bersama default tersebut, sertakan string literal `"$defaults"` dalam array. Entri default disisipi pada posisi tersebut, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.


125* **Domain internal terpercaya**: nama host untuk API, dasbor, dan layanan di dalam jaringan Anda, seperti `*.internal.example.com`125* **Domain internal terpercaya**: nama host untuk API, dasbor, dan layanan di dalam jaringan Anda, seperti `*.internal.example.com`

126* **Layanan internal utama**: CI, registri artefak, indeks paket internal, tooling insiden126* **Layanan internal utama**: CI, registri artefak, indeks paket internal, tooling insiden

127* **Registri paket internal**: registri npm, PyPI, atau lainnya yang pribadi yang instalasi harus dirutekan melalui, sehingga instalasi yang melewatinya untuk registri publik diblokir127* **Registri paket internal**: registri npm, PyPI, atau lainnya yang pribadi yang instalasi harus dirutekan melalui, sehingga instalasi yang melewatinya untuk registri publik diblokir

128* **Sensitive data locations & audiences**: bucket, database, atau path yang menyimpan data pribadi, data bisnis rahasia, kredensial, data yang diatur, atau materi sensitif serupa, dan audiens yang data di setiap lokasi dapat dibagikan dengannya, sehingga pengklasifikasi melindungi lokasi tersebut daripada menebak dari konten. {/* min-version: 2.1.195 */}{/* max-version: 2.1.197 */}Claude Code v2.1.195 hingga v2.1.197 menyebutkan entri ini sebagai lokasi PII / regulated-data dan hanya mencakup lokasi yang menyimpan data pribadi atau yang diatur, tanpa dimensi audiens128* **Sensitive data locations & audiences**: bucket, database, atau path yang menyimpan data pribadi, data bisnis rahasia, kredensial, data yang diatur, atau materi sensitif serupa, dan audiens yang data di setiap lokasi dapat dibagikan dengannya, sehingga pengklasifikasi melindungi lokasi tersebut daripada menebak dari konten. Claude Code v2.1.195 hingga v2.1.197 menyebutkan entri ini sebagai lokasi PII / regulated-data dan hanya mencakup lokasi yang menyimpan data pribadi atau yang diatur, tanpa dimensi audiens

129* **Target remote sensitif**: namespace, host, atau container yang dihitung sebagai production, sehingga remote shell dan port-forward ke dalamnya memerlukan persetujuan eksplisit Anda129* **Target remote sensitif**: namespace, host, atau container yang dihitung sebagai production, sehingga remote shell dan port-forward ke dalamnya memerlukan persetujuan eksplisit Anda

130* **Protected IaC scopes**: sumber daya infrastruktur yang apply atau destroy harus selalu memerlukan Anda untuk menyebutkan perubahan130* **Protected IaC scopes**: sumber daya infrastruktur yang apply atau destroy harus selalu memerlukan Anda untuk menyebutkan perubahan

131* **Konteks tambahan**: batasan industri yang diatur, infrastruktur multi-tenant, atau persyaratan kepatuhan yang mempengaruhi apa yang harus diperlakukan pengklasifikasi sebagai berisiko131* **Konteks tambahan**: batasan industri yang diatur, infrastruktur multi-tenant, atau persyaratan kepatuhan yang mempengaruhi apa yang harus diperlakukan pengklasifikasi sebagai berisiko


165* `autoMode.soft_deny`: tindakan destruktif yang niat pengguna dapat menghapus165* `autoMode.soft_deny`: tindakan destruktif yang niat pengguna dapat menghapus

166* `autoMode.allow`: pengecualian untuk aturan blokir soft166* `autoMode.allow`: pengecualian untuk aturan blokir soft

167 167 

168Masing-masing adalah array deskripsi prosa, dibaca sebagai aturan bahasa alami. Untuk hard block berbasis pola alat yang berjalan sebelum pengklasifikasi, gunakan [`permissions.deny`](/id/permissions).168Masing-masing adalah array deskripsi prosa, dibaca sebagai aturan bahasa alami. Untuk hard block berbasis pola alat yang berjalan sebelum pengklasifikasi, gunakan [`permissions.deny`](/docs/id/permissions).

169 169 

170Di dalam pengklasifikasi, prioritas bekerja dalam empat tingkat:170Di dalam pengklasifikasi, prioritas bekerja dalam empat tingkat:

171 171 


254claude auto-mode defaults254claude auto-mode defaults

255```255```

256 256 

257{/* min-version: 2.1.208 */}Untuk membaca kata-kata lengkap satu aturan tanpa melalui pipa `jq`, berikan `--label` dengan awal label aturan, seperti `claude auto-mode defaults --label 'Git Destructive'`. Pencocokan adalah awalan yang tidak peka huruf besar-kecil pada label setiap aturan, dan bagian tanpa kecocokan dicetak sebagai daftar kosong. Memerlukan Claude Code v2.1.208 atau lebih baru.257Untuk membaca kata-kata lengkap satu aturan tanpa melalui pipa `jq`, berikan `--label` dengan awal label aturan, seperti `claude auto-mode defaults --label 'Git Destructive'`. Pencocokan adalah awalan yang tidak peka huruf besar-kecil pada label setiap aturan, dan bagian tanpa kecocokan dicetak sebagai daftar kosong. Memerlukan Claude Code v2.1.208 atau lebih baru.

258 258 

259Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:259Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:

260 260 


282 282 

283Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke `autoMode.environment`, kemudian jalankan `claude auto-mode config` untuk mengonfirmasi itu berlaku.283Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke `autoMode.environment`, kemudian jalankan `claude auto-mode config` untuk mengonfirmasi itu berlaku.

284 284 

285Untuk bereaksi terhadap penolakan secara terprogram, gunakan hook [`PermissionDenied`](/id/hooks#permissiondenied).285Untuk bereaksi terhadap penolakan secara terprogram, gunakan hook [`PermissionDenied`](/docs/id/hooks#permissiondenied).

286 286 

287<h2 id="see-also">287<h2 id="see-also">

288 Lihat juga288 Lihat juga

289</h2>289</h2>

290 290 

291* [Permission modes](/id/permission-modes#eliminate-prompts-with-auto-mode): apa itu auto mode, apa yang diblokir secara default, dan cara mengaktifkannya291* [Permission modes](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): apa itu auto mode, apa yang diblokir secara default, dan cara mengaktifkannya

292* [Pengaturan terkelola](/id/server-managed-settings): sebarkan konfigurasi `autoMode` di seluruh organisasi Anda292* [Pengaturan terkelola](/docs/id/server-managed-settings): sebarkan konfigurasi `autoMode` di seluruh organisasi Anda

293* [Permissions](/id/permissions): aturan izin, tanya, dan tolak yang berlaku sebelum pengklasifikasi berjalan293* [Permissions](/docs/id/permissions): aturan izin, tanya, dan tolak yang berlaku sebelum pengklasifikasi berjalan

294* [Settings](/id/settings): referensi pengaturan lengkap, termasuk kunci `autoMode`294* [Settings](/docs/id/settings): referensi pengaturan lengkap, termasuk kunci `autoMode`

Details

21Claude Code melacak semua perubahan yang dibuat oleh alat pengeditan filenya:21Claude Code melacak semua perubahan yang dibuat oleh alat pengeditan filenya:

22 22 

23* Setiap prompt pengguna membuat checkpoint baru23* Setiap prompt pengguna membuat checkpoint baru

24* Claude Code menyimpan snapshot file untuk 100 checkpoint paling terbaru dalam sesi. Membuang checkpoint yang lebih lama menghapus file snapshot yang tidak direferensikan oleh checkpoint yang tersisa, kecuali snapshot pertama setiap file, yang digunakan oleh ekstensi VS Code sebagai baseline untuk diffs sesi-nya. {/* min-version: 2.1.208 */}Sebelum v2.1.208, file snapshot yang digantikan tersebut tetap berada di disk hingga sesi dibersihkan.24* Claude Code menyimpan snapshot file untuk 100 checkpoint paling terbaru dalam sesi. Membuang checkpoint yang lebih lama menghapus file snapshot yang tidak direferensikan oleh checkpoint yang tersisa, kecuali snapshot pertama setiap file, yang digunakan oleh ekstensi VS Code sebagai baseline untuk diffs sesi-nya. Sebelum v2.1.208, file snapshot yang digantikan tersebut tetap berada di disk hingga sesi dibersihkan.

25* Checkpoints disimpan dengan percakapan, sehingga sesi yang dilanjutkan masih dapat `/rewind` ke dalamnya25* Checkpoints disimpan dengan percakapan, sehingga sesi yang dilanjutkan masih dapat `/rewind` ke dalamnya

26* Dibersihkan secara otomatis bersama dengan sesi setelah 30 hari (dapat dikonfigurasi)26* Dibersihkan secara otomatis bersama dengan sesi setelah 30 hari (dapat dikonfigurasi)

27 27 


66Dalam kedua kasus, pesan asli disimpan dalam transkrip sesi, sehingga Claude dapat mereferensikan detail jika diperlukan. Anda dapat mengetik instruksi opsional untuk memandu fokus ringkasan. Ini mirip dengan `/compact`, tetapi ditargetkan: alih-alih meringkas seluruh percakapan, Anda memilih sisi mana dari pesan yang dipilih untuk dikompres.66Dalam kedua kasus, pesan asli disimpan dalam transkrip sesi, sehingga Claude dapat mereferensikan detail jika diperlukan. Anda dapat mengetik instruksi opsional untuk memandu fokus ringkasan. Ini mirip dengan `/compact`, tetapi ditargetkan: alih-alih meringkas seluruh percakapan, Anda memilih sisi mana dari pesan yang dipilih untuk dikompres.

67 67 

68<Note>68<Note>

69 Ringkas membuat Anda tetap berada di sesi yang sama dan mengompres konteks. Jika Anda ingin bercabang dan mencoba pendekatan berbeda sambil mempertahankan sesi asli tetap utuh, gunakan [fork](/id/sessions#branch-a-session) sebagai gantinya (`claude --continue --fork-session`).69 Ringkas membuat Anda tetap berada di sesi yang sama dan mengompres konteks. Jika Anda ingin bercabang dan mencoba pendekatan berbeda sambil mempertahankan sesi asli tetap utuh, gunakan [fork](/docs/id/sessions#branch-a-session) sebagai gantinya (`claude --continue --fork-session`).

70</Note>70</Note>

71 71 

72<h2 id="common-use-cases">72<h2 id="common-use-cases">


118 Lihat juga118 Lihat juga

119</h2>119</h2>

120 120 

121* [Mode interaktif](/id/interactive-mode) - Pintasan keyboard dan kontrol sesi121* [Mode interaktif](/docs/id/interactive-mode) - Pintasan keyboard dan kontrol sesi

122* [Commands](/id/commands) - Mengakses checkpoints menggunakan `/rewind`122* [Commands](/docs/id/commands) - Mengakses checkpoints menggunakan `/rewind`

123* [CLI reference](/id/cli-reference) - Opsi baris perintah123* [CLI reference](/docs/id/cli-reference) - Opsi baris perintah

Details

62<Note>62<Note>

63 **Terapkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway di balik load balancer internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.63 **Terapkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway di balik load balancer internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.

64 64 

65 Titik akhir gateway publik yang dioperasikan Anthropic adalah pengecualian: `/login` menerimanya melalui `https://`. Ini adalah kumpulan tetap kecil dari gateway yang dioperasikan Anthropic sendiri; mereka bukan opsi penyebaran yang dapat Anda pilih atau konfigurasi. Daftar dikompilasi ke dalam Claude Code, jadi tidak ada konfigurasi yang dapat menambahkan nama host ke dalamnya dan tidak ada gateway yang Anda hosting yang memenuhi syarat untuk pengecualian. {/* min-version: 2.1.206 */}Sebelum v2.1.206, `/login` menolak titik akhir tersebut seperti alamat publik lainnya.65 Titik akhir gateway publik yang dioperasikan Anthropic adalah pengecualian: `/login` menerimanya melalui `https://`. Ini adalah kumpulan tetap kecil dari gateway yang dioperasikan Anthropic sendiri; mereka bukan opsi penyebaran yang dapat Anda pilih atau konfigurasi. Daftar dikompilasi ke dalam Claude Code, jadi tidak ada konfigurasi yang dapat menambahkan nama host ke dalamnya dan tidak ada gateway yang Anda hosting yang memenuhi syarat untuk pengecualian. Sebelum v2.1.206, `/login` menolak titik akhir tersebut seperti alamat publik lainnya.

66</Note>66</Note>

67 67 

68<h3 id="prerequisites">68<h3 id="prerequisites">


72Miliki ini sebelum Anda mulai:72Miliki ini sebelum Anda mulai:

73 73 

74| Anda membutuhkan | Detail |74| Anda membutuhkan | Detail |

75| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |75| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

76| Claude Code v2.1.195 atau lebih baru | Subperintah `claude gateway` dan alur sign-in gateway dikirim di v2.1.195. Build publik sebelumnya tidak menyertakannya. Baik mesin yang menjalankan server gateway maupun mesin setiap pengembang harus pada v2.1.195 atau lebih baru; jalankan `claude update` untuk mendapatkan rilis terbaru. {/* min-version: 2.1.198 */}Upstream [Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |76| Claude Code v2.1.195 atau lebih baru | Subperintah `claude gateway` dan alur sign-in gateway dikirim di v2.1.195. Build publik sebelumnya tidak menyertakannya. Baik mesin yang menjalankan server gateway maupun mesin setiap pengembang harus pada v2.1.195 atau lebih baru; jalankan `claude update` untuk mendapatkan rilis terbaru. Upstream [Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |

77| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |77| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |

78| PostgreSQL 14 atau lebih baru | Mendukung alur sign-in perangkat, di mana callback browser menulis dan CLI polling membaca, ditambah penghitung batas laju. Postgres yang dikelola apa pun berfungsi, termasuk tingkat terkecil. Tanpa batas pengeluaran yang dikonfigurasi, gateway menyimpan beberapa KB status auth berumur pendek; dengan [batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. |78| PostgreSQL 14 atau lebih baru | Mendukung alur sign-in perangkat, di mana callback browser menulis dan CLI polling membaca, ditambah penghitung batas laju. Postgres yang dikelola apa pun berfungsi, termasuk tingkat terkecil. Tanpa batas pengeluaran yang dikonfigurasi, gateway menyimpan beberapa KB status auth berumur pendek; dengan [batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. |

79| Model upstream | Kredensial Amazon Bedrock, kredensial Claude Platform on AWS, kredensial Google Cloud, sumber daya Microsoft Foundry, atau kunci API Anthropic. Beberapa upstream didukung dengan failover. |79| Model upstream | Kredensial Amazon Bedrock, kredensial Claude Platform on AWS, kredensial Google Cloud, sumber daya Microsoft Foundry, atau kunci API Anthropic. Beberapa upstream didukung dengan failover. |

80| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop pengembang dan dari browser apa pun yang digunakan untuk sign-in; gateway melayani halaman verifikasi perangkat pada pendengar yang sama. Berikan sertifikat TLS melalui `listen.tls`, atau jalankan di balik ingress yang menghentikan TLS dan atur `listen.public_url`. Asal `http://` biasa hanya diterima di loopback, untuk pengembangan lokal. |80| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop pengembang dan dari browser apa pun yang digunakan untuk sign-in; gateway melayani halaman verifikasi perangkat pada pendengar yang sama. Berikan sertifikat TLS melalui `listen.tls`, atau jalankan di balik ingress yang menghentikan TLS dan atur `listen.public_url`. Asal `http://` biasa hanya diterima di loopback, untuk pengembangan lokal. |

81| Alamat jaringan pribadi | Di `/login`, Claude Code memerlukan nama host atau alamat IP gateway untuk diselesaikan hanya ke alamat pribadi: RFC 1918, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, atau loopback untuk pengembangan lokal. Pemeriksaan berjalan pada setiap IP yang diselesaikan, jadi jika alamat apa pun yang diselesaikan nama adalah publik, `/login` menolak URL. Jika mesin pengembang merutekan HTTPS melalui proxy perusahaan, sign-in juga memerlukan host proxy untuk diselesaikan ke alamat pribadi; jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung. {/* min-version: 2.1.206 */}Titik akhir gateway publik yang dioperasikan Anthropic dikecualikan dari pemeriksaan alamat pribadi dan proxy: `/login` menerimanya melalui `https://` dengan pencocokan nama host yang tepat, jadi persyaratan jaringan pribadi hanya berlaku untuk gateway yang Anda hosting sendiri. Sebelum v2.1.206, `/login` menolak titik akhir yang dioperasikan Anthropic seperti alamat publik lainnya. |81| Alamat jaringan pribadi | Di `/login`, Claude Code memerlukan nama host atau alamat IP gateway untuk diselesaikan hanya ke alamat pribadi: RFC 1918, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, atau loopback untuk pengembangan lokal. Pemeriksaan berjalan pada setiap IP yang diselesaikan, jadi jika alamat apa pun yang diselesaikan nama adalah publik, `/login` menolak URL. Jika mesin pengembang merutekan HTTPS melalui proxy perusahaan, sign-in juga memerlukan host proxy untuk diselesaikan ke alamat pribadi; jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung. Titik akhir gateway publik yang dioperasikan Anthropic dikecualikan dari pemeriksaan alamat pribadi dan proxy: `/login` menerimanya melalui `https://` dengan pencocokan nama host yang tepat, jadi persyaratan jaringan pribadi hanya berlaku untuk gateway yang Anda hosting sendiri. Sebelum v2.1.206, `/login` menolak titik akhir yang dioperasikan Anthropic seperti alamat publik lainnya. |

82| Runtime Linux | Server gateway hanya berjalan pada biner Linux asli. macOS berfungsi untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |82| Runtime Linux | Server gateway hanya berjalan pada biner Linux asli. macOS berfungsi untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |

83 83 

84Server gateway memerlukan biner `claude` asli; unduh rilis yang disematkan seperti yang dijelaskan dalam [Install Claude Code](/docs/id/setup). Server menggunakan fitur runtime yang tidak tersedia ketika Claude Code berjalan di bawah Node. Jika Anda melihat `requires the native binary` saat boot, beralih ke salah satu metode instalasi standalone.84Server gateway memerlukan biner `claude` asli; unduh rilis yang disematkan seperti yang dijelaskan dalam [Install Claude Code](/docs/id/setup). Server menggunakan fitur runtime yang tidak tersedia ketika Claude Code berjalan di bawah Node. Jika Anda melihat `requires the native binary` saat boot, beralih ke salah satu metode instalasi standalone.


330| Pencarian web sisi server | Tidak tersedia | CLI tidak dapat melihat penyedia upstream mana yang dirutekan gateway, jadi tidak dapat memverifikasi dukungan pencarian web dan menonaktifkan WebSearch pada sesi gateway |330| Pencarian web sisi server | Tidak tersedia | CLI tidak dapat melihat penyedia upstream mana yang dirutekan gateway, jadi tidak dapat memverifikasi dukungan pencarian web dan menonaktifkan WebSearch pada sesi gateway |

331| Prompt caching standar | Tersedia | Breakpoint `cache_control` diteruskan ke setiap upstream |331| Prompt caching standar | Tersedia | Breakpoint `cache_control` diteruskan ke setiap upstream |

332| TTL cache 1 jam | Tidak tersedia | CLI menghilangkan beta extended-cache-ttl pada sesi gateway, karena tidak setiap upstream yang dapat dirutekan gateway mendukung TTL 1 jam, jadi prompt caching melalui gateway menggunakan TTL 5 menit; lihat catatan header beta di atas |332| TTL cache 1 jam | Tidak tersedia | CLI menghilangkan beta extended-cache-ttl pada sesi gateway, karena tidak setiap upstream yang dapat dirutekan gateway mendukung TTL 1 jam, jadi prompt caching melalui gateway menggunakan TTL 5 menit; lihat catatan header beta di atas |

333| Mode Auto | Tersedia | Mengikuti [aturan penyedia pihak ketiga](/docs/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry): hanya model yang memenuhi syarat di penyedia pihak ketiga yang dapat menggunakannya. {/* min-version: 2.1.207 */}Sebelum v2.1.207, mode auto pada sesi gateway memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dapat dikirimkan melalui blok `env` kebijakan terkelola |333| Mode Auto | Tersedia | Mengikuti [aturan penyedia pihak ketiga](/docs/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry): hanya model yang memenuhi syarat di penyedia pihak ketiga yang dapat menggunakannya. Sebelum v2.1.207, mode auto pada sesi gateway memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dapat dikirimkan melalui blok `env` kebijakan terkelola |

334| Optimasi khusus pihak pertama seperti cakupan cache global dan alat yang efisien token | Tidak tersedia | CLI tidak mengaktifkannya pada sesi gateway; lihat catatan header beta di atas |334| Optimasi khusus pihak pertama seperti cakupan cache global dan alat yang efisien token | Tidak tersedia | CLI tidak mengaktifkannya pada sesi gateway; lihat catatan header beta di atas |

335| OTLP/gRPC | Tidak didukung | OTLP melalui HTTP saja |335| OTLP/gRPC | Tidak didukung | OTLP melalui HTTP saja |

336| SAML, LDAP, dan auth non-OIDC lainnya | Tidak didukung | OIDC saja. Depan dengan jembatan OIDC jika diperlukan |336| SAML, LDAP, dan auth non-OIDC lainnya | Tidak didukung | OIDC saja. Depan dengan jembatan OIDC jika diperlukan |

Details

20<Note>20<Note>

21 **Sebarkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway yang Anda sebarkan di belakang penyeimbang beban internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.21 **Sebarkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway yang Anda sebarkan di belakang penyeimbang beban internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.

22 22 

23 Titik akhir gateway publik yang dioperasikan Anthropic adalah pengecualian: `/login` menerimanya melalui `https://`. Ini adalah kumpulan tetap kecil dari gateway yang dioperasikan Anthropic sendiri; mereka bukan opsi penyebaran yang dapat Anda pilih atau konfigurasi. Daftar dikompilasi ke dalam Claude Code, jadi tidak ada konfigurasi yang dapat menambahkan nama host ke dalamnya dan tidak ada gateway yang Anda hosting yang memenuhi syarat untuk pengecualian. {/* min-version: 2.1.206 */}Sebelum v2.1.206, `/login` menolak titik akhir tersebut seperti alamat publik lainnya.23 Titik akhir gateway publik yang dioperasikan Anthropic adalah pengecualian: `/login` menerimanya melalui `https://`. Ini adalah kumpulan tetap kecil dari gateway yang dioperasikan Anthropic sendiri; mereka bukan opsi penyebaran yang dapat Anda pilih atau konfigurasi. Daftar dikompilasi ke dalam Claude Code, jadi tidak ada konfigurasi yang dapat menambahkan nama host ke dalamnya dan tidak ada gateway yang Anda hosting yang memenuhi syarat untuk pengecualian. Sebelum v2.1.206, `/login` menolak titik akhir tersebut seperti alamat publik lainnya.

24</Note>24</Note>

25 25 

26<h2 id="identity-provider-setup">26<h2 id="identity-provider-setup">

Details

140 140 

141Setiap sesi cloud memiliki URL transkrip di claude.ai, dan sesi dapat membaca ID-nya sendiri dari variabel lingkungan `CLAUDE_CODE_REMOTE_SESSION_ID`. Gunakan ini untuk menempatkan tautan yang dapat dilacak di badan PR, pesan komit, posting Slack, atau laporan yang dihasilkan sehingga pengulas dapat membuka jalannya yang menghasilkannya.141Setiap sesi cloud memiliki URL transkrip di claude.ai, dan sesi dapat membaca ID-nya sendiri dari variabel lingkungan `CLAUDE_CODE_REMOTE_SESSION_ID`. Gunakan ini untuk menempatkan tautan yang dapat dilacak di badan PR, pesan komit, posting Slack, atau laporan yang dihasilkan sehingga pengulas dapat membuka jalannya yang menghasilkannya.

142 142 

143Mulai dari v2.1.179, komit yang dibuat Claude di sesi web menyertakan trailer git `Claude-Session: <url>`, dan badan PR menyertakan URL sesi di barisnya sendiri. {/* min-version: 2.1.182 */}Dari v2.1.182, atur [`attribution.sessionUrl`](/docs/id/settings#attribution-settings) ke `false` untuk menghilangkan trailer dan tautan badan PR.143Mulai dari v2.1.179, komit yang dibuat Claude di sesi web menyertakan trailer git `Claude-Session: <url>`, dan badan PR menyertakan URL sesi di barisnya sendiri. Dari v2.1.182, atur [`attribution.sessionUrl`](/docs/id/settings#attribution-settings) ke `false` untuk menghilangkan trailer dan tautan badan PR.

144 144 

145Untuk menyertakan tautan sesi dalam sesuatu selain komit atau PR, seperti pesan Slack yang diposting Claude atau file laporan yang ditulisnya, minta Claude menjalankan perintah berikut dan gunakan outputnya. Perintah mengonversi awalan `cse_` dalam nilai variabel lingkungan ke awalan `session_` yang diharapkan URL transkrip:145Untuk menyertakan tautan sesi dalam sesuatu selain komit atau PR, seperti pesan Slack yang diposting Claude atau file laporan yang ditulisnya, minta Claude menjalankan perintah berikut dan gunakan outputnya. Perintah mengonversi awalan `cse_` dalam nilai variabel lingkungan ke awalan `session_` yang diharapkan URL transkrip:

146 146 


669 669 

670Ini membuat sesi cloud baru di claude.ai. Sesi mengkloning remote GitHub direktori saat ini Anda di cabang saat ini Anda, jadi dorong terlebih dahulu jika Anda memiliki komit lokal, karena VM mengkloning dari GitHub daripada mesin Anda. `--cloud` bekerja dengan satu repositori pada satu waktu. Tugas berjalan di cloud sementara Anda terus bekerja secara lokal. Ejaan `--remote` yang lebih lama masih berfungsi sebagai alias yang sudah usang untuk `--cloud`.670Ini membuat sesi cloud baru di claude.ai. Sesi mengkloning remote GitHub direktori saat ini Anda di cabang saat ini Anda, jadi dorong terlebih dahulu jika Anda memiliki komit lokal, karena VM mengkloning dari GitHub daripada mesin Anda. `--cloud` bekerja dengan satu repositori pada satu waktu. Tugas berjalan di cloud sementara Anda terus bekerja secara lokal. Ejaan `--remote` yang lebih lama masih berfungsi sebagai alias yang sudah usang untuk `--cloud`.

671 671 

672{/* min-version: 2.1.195 */}Mulai dari v2.1.195, CLI menampilkan daftar periksa langsung dari langkah-langkah penyiapan, seperti mengkloning repositori dan menjalankan [skrip penyiapan Anda](#setup-scripts), sementara kontainer cloud dimulai. Pesan yang Anda ketik saat kontainer sedang disediakan antri dan dikirim setelah sesi siap.672Mulai dari v2.1.195, CLI menampilkan daftar periksa langsung dari langkah-langkah penyiapan, seperti mengkloning repositori dan menjalankan [skrip penyiapan Anda](#setup-scripts), sementara kontainer cloud dimulai. Pesan yang Anda ketik saat kontainer sedang disediakan antri dan dikirim setelah sesi siap.

673 673 

674<Note>674<Note>

675 `--cloud` membuat sesi cloud. `--remote-control` tidak terkait: itu mengekspos sesi CLI lokal untuk pemantauan dari web. Lihat [Remote Control](/docs/id/remote-control).675 `--cloud` membuat sesi cloud. `--remote-control` tidak terkait: itu mengekspos sesi CLI lokal untuk pemantauan dari web. Lihat [Remote Control](/docs/id/remote-control).


772 772 

773Sesi cloud mendukung [perintah bawaan](/docs/id/commands) yang menghasilkan output teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. Perintah yang membuka pemilih atau panel di terminal berperilaku berbeda di sesi cloud:773Sesi cloud mendukung [perintah bawaan](/docs/id/commands) yang menghasilkan output teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. Perintah yang membuka pemilih atau panel di terminal berperilaku berbeda di sesi cloud:

774 774 

775* {/* min-version: 2.1.205 */}**`/model`, `/effort`, `/fast`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah: `/effort` melaporkan `Not applied` sementara [launch-default effort hold](/docs/id/model-config#adjust-effort-level) model sedang berlaku, dan `/fast` hanya bekerja di sesi yang dimulai dengan mode cepat diaktifkan.775* **`/model`, `/effort`, `/fast`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah: `/effort` melaporkan `Not applied` sementara [launch-default effort hold](/docs/id/model-config#adjust-effort-level) model sedang berlaku, dan `/fast` hanya bekerja di sesi yang dimulai dengan mode cepat diaktifkan.

776* **`/config`**: di web, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, gunakan [variabel lingkungan](#configure-your-environment) atau komit [file pengaturan](/docs/id/settings) ke repositori.776* **`/config`**: di web, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, gunakan [variabel lingkungan](#configure-your-environment) atau komit [file pengaturan](/docs/id/settings) ke repositori.

777 777 

778Untuk manajemen konteks khususnya:778Untuk manajemen konteks khususnya:

Details

188 188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 190 

191Claude Platform on AWS adalah Claude API yang dioperasikan Anthropic dengan autentikasi AWS, kontrol akses IAM, dan penagihan AWS Marketplace. Permintaan mencapai API Anthropic secara langsung, sehingga Anda mendapatkan model dan fitur API yang sama seperti [Claude API](https://platform.claude.com/docs) dengan jadwal rilis yang sama. Fitur sisi klien yang Claude Code aktifkan melalui layanan feature-flag Anthropic, seperti [`/loop` pacing mandiri](/id/scheduled-tasks#let-claude-choose-the-interval), dimatikan secara default, dan [alat advisor](/id/advisor) tidak tersedia. Lihat [matriks ketersediaan fitur](/id/feature-availability#summary-by-provider) untuk daftar lengkapnya. Anda melakukan autentikasi dengan kredensial AWS atau kunci API workspace, dan Anda membayar melalui AWS Marketplace.191Claude Platform on AWS adalah Claude API yang dioperasikan Anthropic dengan autentikasi AWS, kontrol akses IAM, dan penagihan AWS Marketplace. Permintaan mencapai API Anthropic secara langsung, sehingga Anda mendapatkan model dan fitur API yang sama seperti [Claude API](https://platform.claude.com/docs) dengan jadwal rilis yang sama. Fitur sisi klien yang Claude Code aktifkan melalui layanan feature-flag Anthropic, seperti [`/loop` pacing mandiri](/docs/id/scheduled-tasks#let-claude-choose-the-interval), dimatikan secara default, dan [alat advisor](/docs/id/advisor) tidak tersedia. Lihat [matriks ketersediaan fitur](/docs/id/feature-availability#summary-by-provider) untuk daftar lengkapnya. Anda melakukan autentikasi dengan kredensial AWS atau kunci API workspace, dan Anda membayar melalui AWS Marketplace.

192 192 

193Gunakan panduan ini untuk mengarahkan Claude Code ke workspace yang telah Anda sediakan melalui Claude Platform on AWS. Untuk langganan AWS dan penyiapan workspace yang dilakukan sebelumnya, lihat [dokumentasi Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).193Gunakan panduan ini untuk mengarahkan Claude Code ke workspace yang telah Anda sediakan melalui Claude Platform on AWS. Untuk langganan AWS dan penyiapan workspace yang dilakukan sebelumnya, lihat [dokumentasi Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).

194 194 


230 230 

231Untuk CI dan otomasi, berikan runner peran IAM dengan izin untuk memanggil layanan Anthropic dan atur `AWS_REGION`. Rantai kredensial mengambil peran secara otomatis.231Untuk CI dan otomasi, berikan runner peran IAM dengan izin untuk memanggil layanan Anthropic dan atur `AWS_REGION`. Rantai kredensial mengambil peran secara otomatis.

232 232 

233Jika kredensial SSO Anda kedaluwarsa di tengah sesi, konfigurasi [`awsAuthRefresh`](/id/amazon-bedrock#advanced-credential-configuration) sehingga Claude Code menjalankan kembali perintah login Anda dan mencoba lagi alih-alih gagal. Penyegaran otomatis pada Claude Platform on AWS memerlukan Claude Code v2.1.198 atau lebih baru; versi sebelumnya berhenti dengan prompt untuk menjalankan `/login`, yang tidak dapat menyegarkan kredensial AWS. Tambahkan perintah ke `settings.json` Anda:233Jika kredensial SSO Anda kedaluwarsa di tengah sesi, konfigurasi [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) sehingga Claude Code menjalankan kembali perintah login Anda dan mencoba lagi alih-alih gagal. Penyegaran otomatis pada Claude Platform on AWS memerlukan Claude Code v2.1.198 atau lebih baru; versi sebelumnya berhenti dengan prompt untuk menjalankan `/login`, yang tidak dapat menyegarkan kredensial AWS. Tambahkan perintah ke `settings.json` Anda:

234 234 

235```json theme={null}235```json theme={null}

236{236{


250 250 

251Kunci dikirim sebagai `x-api-key` dan mengambil prioritas atas SigV4, sehingga kredensial AWS apa pun di lingkungan Anda diabaikan. Kunci API dari organisasi Claude Console terpisah tidak akan berfungsi di sini.251Kunci dikirim sebagai `x-api-key` dan mengambil prioritas atas SigV4, sehingga kredensial AWS apa pun di lingkungan Anda diabaikan. Kunci API dari organisasi Claude Console terpisah tidak akan berfungsi di sini.

252 252 

253Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` [file pengaturan pengguna](/id/settings) adalah cara yang nyaman untuk membatasi kunci ke mesin Anda tanpa mengekspornya secara global.253Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` [file pengaturan pengguna](/docs/id/settings) adalah cara yang nyaman untuk membatasi kunci ke mesin Anda tanpa mengekspornya secara global.

254 254 

255<Note>255<Note>

256 Perintah `/login` dan `/logout` tidak menandatangani Anda ke langganan Claude.ai untuk Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS Anda atau kunci API workspace. Pengecualiannya adalah opsi **refresh credentials** yang ditampilkan `/login` ketika `awsAuthRefresh` dikonfigurasi, yang membaca ulang kredensial AWS Anda seperti yang dijelaskan di atas.256 Perintah `/login` dan `/logout` tidak menandatangani Anda ke langganan Claude.ai untuk Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS Anda atau kunci API workspace. Pengecualiannya adalah opsi **refresh credentials** yang ditampilkan `/login` ketika `awsAuthRefresh` dikonfigurasi, yang membaca ulang kredensial AWS Anda seperti yang dijelaskan di atas.


278 278 

279Claude Platform on AWS menggunakan ID model yang sama seperti Claude API langsung.279Claude Platform on AWS menggunakan ID model yang sama seperti Claude API langsung.

280 280 

281Alias default `fable`, `opus`, `sonnet`, dan `haiku` diselesaikan ke default bawaan Claude Code untuk Claude Platform on AWS, yang dapat tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` diselesaikan ke Opus 4.8. {/* min-version: 2.1.207 */}Sebelum v2.1.207, alias tersebut diselesaikan ke Opus 4.7.281Alias default `fable`, `opus`, `sonnet`, dan `haiku` diselesaikan ke default bawaan Claude Code untuk Claude Platform on AWS, yang dapat tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` diselesaikan ke Opus 4.8. Sebelum v2.1.207, alias tersebut diselesaikan ke Opus 4.7.

282 282 

283Jika Anda menerapkan Claude Code ke tim, sematkan ID model secara eksplisit sehingga rilis baru tidak memindahkan semua orang sekaligus:283Jika Anda menerapkan Claude Code ke tim, sematkan ID model secara eksplisit sehingga rilis baru tidak memindahkan semua orang sekaligus:

284 284 


289export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5289export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

290```290```

291 291 

292Untuk daftar lengkap ID model dan alias, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Untuk variabel terkait model lainnya, lihat [Model configuration](/id/model-config).292Untuk daftar lengkap ID model dan alias, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Untuk variabel terkait model lainnya, lihat [Model configuration](/docs/id/model-config).

293 293 

294[Prompt caching](/id/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`. API menagih penulisan cache 1 jam dengan tarif lebih tinggi. Lihat [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) untuk tarifnya.294[Prompt caching](/docs/id/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`. API menagih penulisan cache 1 jam dengan tarif lebih tinggi. Lihat [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) untuk tarifnya.

295 295 

296<h2 id="use-the-agent-sdk">296<h2 id="use-the-agent-sdk">

297 Gunakan Agent SDK297 Gunakan Agent SDK

298</h2>298</h2>

299 299 

300[Agent SDK](/id/agent-sdk/overview) membaca variabel lingkungan yang sama dengan CLI, sehingga program apa pun yang menjalankan subprocess Claude Code dapat menargetkan Claude Platform on AWS dengan mengekspor `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID`, dan baik `ANTHROPIC_AWS_API_KEY` atau kredensial AWS sebelum panggilan.300[Agent SDK](/docs/id/agent-sdk/overview) membaca variabel lingkungan yang sama dengan CLI, sehingga program apa pun yang menjalankan subprocess Claude Code dapat menargetkan Claude Platform on AWS dengan mengekspor `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID`, dan baik `ANTHROPIC_AWS_API_KEY` atau kredensial AWS sebelum panggilan.

301 301 

302```typescript theme={null}302```typescript theme={null}

303import { query } from "@anthropic-ai/claude-agent-sdk";303import { query } from "@anthropic-ai/claude-agent-sdk";


311}311}

312```312```

313 313 

314Contoh ini bergantung pada rantai kredensial AWS ambient untuk SigV4. Untuk melakukan autentikasi dengan kunci API workspace sebagai gantinya, atur `ANTHROPIC_AWS_API_KEY` dengan cara yang sama. Untuk permukaan Agent SDK yang lebih luas, lihat [Agent SDK overview](/id/agent-sdk/overview).314Contoh ini bergantung pada rantai kredensial AWS ambient untuk SigV4. Untuk melakukan autentikasi dengan kunci API workspace sebagai gantinya, atur `ANTHROPIC_AWS_API_KEY` dengan cara yang sama. Untuk permukaan Agent SDK yang lebih luas, lihat [Agent SDK overview](/docs/id/agent-sdk/overview).

315 315 

316<h2 id="route-through-a-corporate-proxy">316<h2 id="route-through-a-corporate-proxy">

317 Rute melalui proxy korporat317 Rute melalui proxy korporat

318</h2>318</h2>

319 319 

320Untuk mengarahkan lalu lintas melalui proxy atau [LLM gateway](/id/llm-gateway), atur `ANTHROPIC_AWS_BASE_URL` ke alamat proxy. Claude Code mengirim permintaan ke URL tersebut dengan header workspace dan autentikasi yang sama, sehingga gateway apa pun yang meneruskannya tanpa perubahan berfungsi.320Untuk mengarahkan lalu lintas melalui proxy atau [LLM gateway](/docs/id/llm-gateway), atur `ANTHROPIC_AWS_BASE_URL` ke alamat proxy. Claude Code mengirim permintaan ke URL tersebut dengan header workspace dan autentikasi yang sama, sehingga gateway apa pun yang meneruskannya tanpa perubahan berfungsi.

321 321 

322```bash theme={null}322```bash theme={null}

323export CLAUDE_CODE_USE_ANTHROPIC_AWS=1323export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

cli-reference.md +68 −68

Details

22| `claude -c -p "query"` | Lanjutkan melalui SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Lanjutkan melalui SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Lanjutkan sesi berdasarkan ID atau nama | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Lanjutkan sesi berdasarkan ID atau nama | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Perbarui ke versi terbaru | `claude update` |24| `claude update` | Perbarui ke versi terbaru | `claude update` |

25| `claude gateway` | Mulai server [gateway aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri, untuk administrator yang menerapkan SSO dan kebijakan di depan Claude Code di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Memerlukan `--config` yang menunjuk ke [`gateway.yaml`](/id/claude-apps-gateway-config). Tersedia di Claude Code v2.1.195 dan lebih baru. | `claude gateway --config gateway.yaml` |25| `claude gateway` | Mulai server [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri, untuk administrator yang menerapkan SSO dan kebijakan di depan Claude Code di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Memerlukan `--config` yang menunjuk ke [`gateway.yaml`](/docs/id/claude-apps-gateway-config). Tersedia di Claude Code v2.1.195 dan lebih baru. | `claude gateway --config gateway.yaml` |

26| `claude install [version]` | Instal atau instal ulang binary asli. Menerima versi seperti `2.1.118`, atau `stable` atau `latest`. Lihat [Instal versi tertentu](/id/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Instal atau instal ulang binary asli. Menerima versi seperti `2.1.118`, atau `stable` atau `latest`. Lihat [Instal versi tertentu](/docs/id/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Masuk ke akun Anthropic Anda. Gunakan `--email` untuk mengisi email Anda sebelumnya, `--sso` untuk memaksa autentikasi SSO, dan `--console` untuk masuk dengan Anthropic Console untuk penagihan penggunaan API alih-alih langganan Claude | `claude auth login --console` |27| `claude auth login` | Masuk ke akun Anthropic Anda. Gunakan `--email` untuk mengisi email Anda sebelumnya, `--sso` untuk memaksa autentikasi SSO, dan `--console` untuk masuk dengan Anthropic Console untuk penagihan penggunaan API alih-alih langganan Claude | `claude auth login --console` |

28| `claude auth logout` | Keluar dari akun Anthropic Anda | `claude auth logout` |28| `claude auth logout` | Keluar dari akun Anthropic Anda | `claude auth logout` |

29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak | `claude auth status` |29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak | `claude auth status` |

30| `claude agents` | Buka [tampilan agen](/id/agent-view) untuk memantau dan mengirim sesi latar belakang paralel. Gunakan `--cwd <path>` untuk menampilkan hanya sesi yang dimulai di bawah direktori tersebut, atau `--json` untuk mencetak sesi langsung sebagai array JSON untuk skrip (`--json --all` juga mencakup sesi latar belakang yang selesai). Lewatkan `--permission-mode`, `--model`, `--effort`, atau `--agent` untuk menetapkan [default untuk sesi yang dikirim](/id/agent-view#permission-mode-model-and-effort). Menerima `--settings`, `--add-dir`, `--plugin-dir`, dan `--mcp-config` seperti perintah `claude` tingkat atas. Membuka tampilan agen memerlukan terminal interaktif | `claude agents --json` |30| `claude agents` | Buka [tampilan agen](/docs/id/agent-view) untuk memantau dan mengirim sesi latar belakang paralel. Gunakan `--cwd <path>` untuk menampilkan hanya sesi yang dimulai di bawah direktori tersebut, atau `--json` untuk mencetak sesi langsung sebagai array JSON untuk skrip (`--json --all` juga mencakup sesi latar belakang yang selesai). Lewatkan `--permission-mode`, `--model`, `--effort`, atau `--agent` untuk menetapkan [default untuk sesi yang dikirim](/docs/id/agent-view#permission-mode-model-and-effort). Menerima `--settings`, `--add-dir`, `--plugin-dir`, dan `--mcp-config` seperti perintah `claude` tingkat atas. Membuka tampilan agen memerlukan terminal interaktif | `claude agents --json` |

31| `claude attach <id>` | Lampirkan ke [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) di terminal ini | `claude attach 7c5dcf5d` |31| `claude attach <id>` | Lampirkan ke [sesi latar belakang](/docs/id/agent-view#manage-sessions-from-the-shell) di terminal ini | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Cetak aturan pengklasifikasi [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) bawaan sebagai JSON. Gunakan `claude auto-mode config` untuk melihat konfigurasi efektif Anda dengan pengaturan yang diterapkan. {/* min-version: 2.1.208 */}}`--label <prefix>` mencetak hanya aturan yang labelnya dimulai dengan awalan tersebut, cocok tanpa memperhatikan huruf besar-kecil. Memerlukan Claude Code v2.1.208 atau lebih baru | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Cetak aturan pengklasifikasi [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) bawaan sebagai JSON. Gunakan `claude auto-mode config` untuk melihat konfigurasi efektif Anda dengan pengaturan yang diterapkan. }`--label <prefix>` mencetak hanya aturan yang labelnya dimulai dengan awalan tersebut, cocok tanpa memperhatikan huruf besar-kecil. Memerlukan Claude Code v2.1.208 atau lebih baru | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude daemon status` | Cetak status [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang, versi, direktori soket, dan jumlah pekerja untuk diagnostik. Keluar dengan 1 jika supervisor tidak berjalan | `claude daemon status` |33| `claude daemon status` | Cetak status [supervisor](/docs/id/agent-view#the-supervisor-process) sesi latar belakang, versi, direktori soket, dan jumlah pekerja untuk diagnostik. Keluar dengan 1 jika supervisor tidak berjalan | `claude daemon status` |

34| `claude daemon stop --any` | Hentikan [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |34| `claude daemon stop --any` | Hentikan [supervisor](/docs/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/docs/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

35| `claude doctor` | Cetak diagnostik instalasi dan pengaturan hanya-baca dari terminal tanpa memulai sesi, termasuk kesehatan instalasi, kesalahan validasi file pengaturan, dan kelayakan Remote Control. Untuk pemeriksaan pengaturan dalam sesi yang juga dapat menerapkan perbaikan, jalankan [`/doctor`](/id/commands#all-commands) | `claude doctor` |35| `claude doctor` | Cetak diagnostik instalasi dan pengaturan hanya-baca dari terminal tanpa memulai sesi, termasuk kesehatan instalasi, kesalahan validasi file pengaturan, dan kelayakan Remote Control. Untuk pemeriksaan pengaturan dalam sesi yang juga dapat menerapkan perbaikan, jalankan [`/doctor`](/docs/id/commands#all-commands) | `claude doctor` |

36| `claude logs <id>` | Cetak output terbaru dari [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |36| `claude logs <id>` | Cetak output terbaru dari [sesi latar belakang](/docs/id/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |

37| `claude mcp` | Konfigurasi server Model Context Protocol (MCP) | Lihat [dokumentasi Claude Code MCP](/id/mcp). |37| `claude mcp` | Konfigurasi server Model Context Protocol (MCP) | Lihat [dokumentasi Claude Code MCP](/docs/id/mcp). |

38| `claude mcp login <name>` | {/* min-version: 2.1.186 */}Jalankan alur OAuth server MCP yang dikonfigurasi tanpa membuka panel `/mcp` interaktif. Bekerja untuk server HTTP, SSE, dan konektor claude.ai. Tambahkan `--no-browser` melalui SSH untuk mencetak URL otorisasi alih-alih membuka browser, kemudian tempel URL pengalihan kembali di prompt. Memerlukan Claude Code v2.1.186 atau lebih baru. Lihat [Autentikasi dari baris perintah](/id/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |38| `claude mcp login <name>` | Jalankan alur OAuth server MCP yang dikonfigurasi tanpa membuka panel `/mcp` interaktif. Bekerja untuk server HTTP, SSE, dan konektor claude.ai. Tambahkan `--no-browser` melalui SSH untuk mencetak URL otorisasi alih-alih membuka browser, kemudian tempel URL pengalihan kembali di prompt. Memerlukan Claude Code v2.1.186 atau lebih baru. Lihat [Autentikasi dari baris perintah](/docs/id/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

39| `claude mcp logout <name>` | {/* min-version: 2.1.186 */}Hapus kredensial OAuth yang disimpan untuk server MCP. Memerlukan Claude Code v2.1.186 atau lebih baru | `claude mcp logout sentry` |39| `claude mcp logout <name>` | Hapus kredensial OAuth yang disimpan untuk server MCP. Memerlukan Claude Code v2.1.186 atau lebih baru | `claude mcp logout sentry` |

40| `claude plugin` | Kelola Claude Code [plugins](/id/plugins). Alias: `claude plugins`. Lihat [referensi plugin](/id/plugins-reference#cli-commands-reference) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |40| `claude plugin` | Kelola Claude Code [plugins](/docs/id/plugins). Alias: `claude plugins`. Lihat [referensi plugin](/docs/id/plugins-reference#cli-commands-reference) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |

41| `claude project purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](/id/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |41| `claude project purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](/docs/id/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |

42| `claude remote-control` | Mulai server [Remote Control](/id/remote-control) untuk mengontrol Claude Code dari Claude.ai atau aplikasi Claude. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](/id/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |42| `claude remote-control` | Mulai server [Remote Control](/docs/id/remote-control) untuk mengontrol Claude Code dari Claude.ai atau aplikasi Claude. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](/docs/id/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |

43| `claude respawn <id>` | Mulai ulang [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell), berjalan atau dihentikan, dengan percakapannya tetap utuh. Gunakan `--all` untuk memulai ulang setiap sesi yang berjalan, misalnya untuk mengambil binary Claude Code yang diperbarui | `claude respawn 7c5dcf5d` |43| `claude respawn <id>` | Mulai ulang [sesi latar belakang](/docs/id/agent-view#manage-sessions-from-the-shell), berjalan atau dihentikan, dengan percakapannya tetap utuh. Gunakan `--all` untuk memulai ulang setiap sesi yang berjalan, misalnya untuk mengambil binary Claude Code yang diperbarui | `claude respawn 7c5dcf5d` |

44| `claude rm <id>` | Hapus [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) dari daftar. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume` | `claude rm 7c5dcf5d` |44| `claude rm <id>` | Hapus [sesi latar belakang](/docs/id/agent-view#manage-sessions-from-the-shell) dari daftar. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume` | `claude rm 7c5dcf5d` |

45| `claude setup-token` | Hasilkan token OAuth yang tahan lama untuk CI dan skrip. Mencetak token ke terminal tanpa menyimpannya. Memerlukan langganan Claude. Lihat [Hasilkan token yang tahan lama](/id/authentication#generate-a-long-lived-token) | `claude setup-token` |45| `claude setup-token` | Hasilkan token OAuth yang tahan lama untuk CI dan skrip. Mencetak token ke terminal tanpa menyimpannya. Memerlukan langganan Claude. Lihat [Hasilkan token yang tahan lama](/docs/id/authentication#generate-a-long-lived-token) | `claude setup-token` |

46| `claude stop <id>` | Hentikan [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell). Juga menerima `claude kill` | `claude stop 7c5dcf5d` |46| `claude stop <id>` | Hentikan [sesi latar belakang](/docs/id/agent-view#manage-sessions-from-the-shell). Juga menerima `claude kill` | `claude stop 7c5dcf5d` |

47| `claude ultrareview [target]` | Jalankan [ultrareview](/id/ultrareview#run-ultrareview-non-interactively) secara non-interaktif. Mencetak temuan ke stdout dan keluar dengan 0 saat berhasil atau 1 saat gagal. Gunakan `--json` untuk payload mentah dan `--timeout <minutes>` untuk mengganti default 30 menit | `claude ultrareview 1234 --json` |47| `claude ultrareview [target]` | Jalankan [ultrareview](/docs/id/ultrareview#run-ultrareview-non-interactively) secara non-interaktif. Mencetak temuan ke stdout dan keluar dengan 0 saat berhasil atau 1 saat gagal. Gunakan `--json` untuk payload mentah dan `--timeout <minutes>` untuk mengganti default 30 menit | `claude ultrareview 1234 --json` |

48 48 

49Jika Anda salah mengetik subperintah, Claude Code menyarankan kecocokan terdekat dan keluar tanpa memulai sesi. Misalnya, `claude udpate` mencetak `Did you mean claude update?`.49Jika Anda salah mengetik subperintah, Claude Code menyarankan kecocokan terdekat dan keluar tanpa memulai sesi. Misalnya, `claude udpate` mencetak `Did you mean claude update?`.

50 50 

51{/* min-version: 2.1.199 */}Mulai dari v2.1.199, `claude --dangerously-skip-permissions daemon <subcommand>` menjalankan subperintah `daemon`. Versi sebelumnya memperlakukan `daemon <subcommand>` sebagai prompt untuk sesi interaktif baru, sehingga subperintah tidak pernah berjalan ketika flag datang terlebih dahulu, setup umum ketika `claude` memiliki alias untuk menyertakan flag. Hanya `--dangerously-skip-permissions` atau `--allow-dangerously-skip-permissions` yang terdepan yang merutekan ke `daemon` dengan cara ini; flag terdepan lainnya masih memulai sesi interaktif.51Mulai dari v2.1.199, `claude --dangerously-skip-permissions daemon <subcommand>` menjalankan subperintah `daemon`. Versi sebelumnya memperlakukan `daemon <subcommand>` sebagai prompt untuk sesi interaktif baru, sehingga subperintah tidak pernah berjalan ketika flag datang terlebih dahulu, setup umum ketika `claude` memiliki alias untuk menyertakan flag. Hanya `--dangerously-skip-permissions` atau `--allow-dangerously-skip-permissions` yang terdepan yang merutekan ke `daemon` dengan cara ini; flag terdepan lainnya masih memulai sesi interaktif.

52 52 

53<h2 id="cli-flags">53<h2 id="cli-flags">

54 Flag CLI54 Flag CLI


57Sesuaikan perilaku Claude Code dengan flag baris perintah ini. `claude --help` tidak mencantumkan setiap flag, jadi ketiadaan flag dari `--help` tidak berarti flag tersebut tidak tersedia.57Sesuaikan perilaku Claude Code dengan flag baris perintah ini. `claude --help` tidak mencantumkan setiap flag, jadi ketiadaan flag dari `--help` tidak berarti flag tersebut tidak tersedia.

58 58 

59| Flag | Deskripsi | Contoh |59| Flag | Deskripsi | Contoh |

60| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |60| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

61| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; sebagian besar konfigurasi `.claude/` [tidak ditemukan](/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori ini. Memvalidasi setiap jalur ada sebagai direktori. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/id/settings#permission-settings) dalam pengaturan | `claude --add-dir ../apps ../lib` |61| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori ini. Memvalidasi setiap jalur ada sebagai direktori. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/docs/id/settings#permission-settings) dalam pengaturan | `claude --add-dir ../apps ../lib` |

62| `--advisor <model>` | Aktifkan [alat advisor](/id/advisor) sisi server untuk sesi ini dengan alias model: `opus`, `sonnet`, atau `fable` ({/* min-version: 2.1.170 */}v2.1.170+), atau ID model lengkap. Mengambil prioritas atas pengaturan `advisorModel` untuk sesi | `claude --advisor opus` |62| `--advisor <model>` | Aktifkan [alat advisor](/docs/id/advisor) sisi server untuk sesi ini dengan alias model: `opus`, `sonnet`, atau `fable` (v2.1.170+), atau ID model lengkap. Mengambil prioritas atas pengaturan `advisorModel` untuk sesi | `claude --advisor opus` |

63| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |63| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |

64| `--agents` | Tentukan subagents kustom secara dinamis melalui JSON. Menggunakan nama field yang sama dengan [frontmatter](/id/sub-agents#supported-frontmatter-fields) subagent, ditambah field `prompt` untuk instruksi agen | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |64| `--agents` | Tentukan subagents kustom secara dinamis melalui JSON. Menggunakan nama field yang sama dengan [frontmatter](/docs/id/sub-agents#supported-frontmatter-fields) subagent, ditambah field `prompt` untuk instruksi agen | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

65| `--allow-dangerously-skip-permissions` | Tambahkan `bypassPermissions` ke siklus mode `Shift+Tab` tanpa memulai di dalamnya. Memungkinkan Anda memulai dalam mode berbeda seperti `plan` dan beralih ke `bypassPermissions` nanti. Lihat [mode izin](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |65| `--allow-dangerously-skip-permissions` | Tambahkan `bypassPermissions` ke siklus mode `Shift+Tab` tanpa memulai di dalamnya. Memungkinkan Anda memulai dalam mode berbeda seperti `plan` dan beralih ke `bypassPermissions` nanti. Lihat [mode izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

66| `--allowedTools`, `--allowed-tools` | Tools yang dieksekusi tanpa meminta izin. Lihat [sintaks aturan izin](/id/settings#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tools mana yang tersedia, gunakan `--tools` sebagai gantinya | `"Bash(git log *)" "Bash(git diff *)" "Read"` |66| `--allowedTools`, `--allowed-tools` | Tools yang dieksekusi tanpa meminta izin. Lihat [sintaks aturan izin](/docs/id/settings#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tools mana yang tersedia, gunakan `--tools` sebagai gantinya | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

67| `--append-subagent-system-prompt` | {/* min-version: 2.1.205 */}Tambahkan teks kustom ke akhir prompt sistem setiap [subagent](/id/sub-agents), termasuk subagents bersarang. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.205 atau lebih baru | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |67| `--append-subagent-system-prompt` | Tambahkan teks kustom ke akhir prompt sistem setiap [subagent](/docs/id/sub-agents), termasuk subagents bersarang. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.205 atau lebih baru | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |

68| `--append-system-prompt` | Tambahkan teks kustom ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |68| `--append-system-prompt` | Tambahkan teks kustom ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |

69| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |69| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |

70| `--ax-screen-reader` | {/* min-version: 2.1.181 */}Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Memaksa renderer klasik, jadi pengaturan [`tui`](/id/settings#available-settings) tidak berpengaruh; sesi [background](/id/agent-view) yang terlampir masih render fullscreen. Mengambil prioritas atas [`CLAUDE_AX_SCREEN_READER`](/id/env-vars) dan pengaturan [`axScreenReader`](/id/settings#available-settings). Memerlukan Claude Code v2.1.181 atau lebih baru | `claude --ax-screen-reader` |70| `--ax-screen-reader` | Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Memaksa renderer klasik, jadi pengaturan [`tui`](/docs/id/settings#available-settings) tidak berpengaruh; sesi [background](/docs/id/agent-view) yang terlampir masih render fullscreen. Mengambil prioritas atas [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars) dan pengaturan [`axScreenReader`](/docs/id/settings#available-settings). Memerlukan Claude Code v2.1.181 atau lebih baru | `claude --ax-screen-reader` |

71| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Claude memiliki akses ke tools Bash, baca file, dan edit file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/id/env-vars). Lihat [bare mode](/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |71| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Claude memiliki akses ke tools Bash, baca file, dan edit file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/docs/id/env-vars). Lihat [bare mode](/docs/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

72| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |72| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |

73| `--bg`, `--background` | Mulai sesi sebagai [agen latar belakang](/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, atau dengan `--agent` untuk menjalankan subagent tertentu. {/* min-version: 2.1.198 */}Tidak dapat dikombinasikan dengan `-p`/`--print`; lihat [referensi kesalahan](/id/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |73| `--bg`, `--background` | Mulai sesi sebagai [agen latar belakang](/docs/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, atau dengan `--agent` untuk menjalankan subagent tertentu. Tidak dapat dikombinasikan dengan `-p`/`--print`; lihat [referensi kesalahan](/docs/id/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

74| `--channels` | (Pratinjau penelitian) Server MCP yang notifikasi [channel](/id/channels) Claude harus dengarkan dalam sesi ini. Daftar yang dipisahkan spasi dari entri `plugin:<name>@<marketplace>`. Memerlukan autentikasi Claude.ai | `claude --channels plugin:my-notifier@my-marketplace` |74| `--channels` | (Pratinjau penelitian) Server MCP yang notifikasi [channel](/docs/id/channels) Claude harus dengarkan dalam sesi ini. Daftar yang dipisahkan spasi dari entri `plugin:<name>@<marketplace>`. Memerlukan autentikasi Claude.ai | `claude --channels plugin:my-notifier@my-marketplace` |

75| `--chrome` | Aktifkan [integrasi browser Chrome](/id/chrome) untuk otomasi web dan pengujian | `claude --chrome` |75| `--chrome` | Aktifkan [integrasi browser Chrome](/docs/id/chrome) untuk otomasi web dan pengujian | `claude --chrome` |

76| `--cloud` | Buat [sesi web](/id/claude-code-on-the-web) baru di claude.ai dengan deskripsi tugas yang disediakan | `claude --cloud "Fix the login bug"` |76| `--cloud` | Buat [sesi web](/docs/id/claude-code-on-the-web) baru di claude.ai dengan deskripsi tugas yang disediakan | `claude --cloud "Fix the login bug"` |

77| `--continue`, `-c` | Muat percakapan terbaru di direktori saat ini. Mencakup sesi yang menambahkan direktori ini dengan `/add-dir` | `claude --continue` |77| `--continue`, `-c` | Muat percakapan terbaru di direktori saat ini. Mencakup sesi yang menambahkan direktori ini dengan `/add-dir` | `claude --continue` |

78| `--dangerously-load-development-channels` | Aktifkan [channels](/id/channels-reference#test-during-the-research-preview) yang tidak ada di daftar persetujuan, untuk pengembangan lokal. Menerima entri `plugin:<name>@<marketplace>` dan `server:<name>`. Meminta konfirmasi | `claude --dangerously-load-development-channels server:webhook` |78| `--dangerously-load-development-channels` | Aktifkan [channels](/docs/id/channels-reference#test-during-the-research-preview) yang tidak ada di daftar persetujuan, untuk pengembangan lokal. Menerima entri `plugin:<name>@<marketplace>` dan `server:<name>`. Meminta konfirmasi | `claude --dangerously-load-development-channels server:webhook` |

79| `--dangerously-skip-permissions` | Lewati prompt izin. Setara dengan `--permission-mode bypassPermissions`. Lihat [mode izin](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk apa yang dilakukan dan tidak dilakukan oleh ini. Untuk sesi yang dimulai dengan `--bg`, mode [bertahan ketika supervisor memulai ulang sesi](/id/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |79| `--dangerously-skip-permissions` | Lewati prompt izin. Setara dengan `--permission-mode bypassPermissions`. Lihat [mode izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk apa yang dilakukan dan tidak dilakukan oleh ini. Untuk sesi yang dimulai dengan `--bg`, mode [bertahan ketika supervisor memulai ulang sesi](/docs/id/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |

80| `--debug` | Aktifkan mode debug dengan penyaringan kategori opsional (misalnya, `"api,hooks"` atau `"!statsig,!file"`) | `claude --debug "api,mcp"` |80| `--debug` | Aktifkan mode debug dengan penyaringan kategori opsional (misalnya, `"api,hooks"` atau `"!statsig,!file"`) | `claude --debug "api,mcp"` |

81| `--debug-file <path>` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug. Mengambil prioritas atas `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |81| `--debug-file <path>` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug. Mengambil prioritas atas `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

82| `--disable-slash-commands` | Nonaktifkan semua skills dan perintah untuk sesi ini | `claude --disable-slash-commands` |82| `--disable-slash-commands` | Nonaktifkan semua skills dan perintah untuk sesi ini | `claude --disable-slash-commands` |

83| `--disallowedTools`, `--disallowed-tools` | Aturan penolakan. Nama tool yang telanjang menghapus tools yang cocok dari konteks model: `"Edit"` menghapus Edit, `"*"` menghapus setiap tool, dan `"mcp__*"` menghapus setiap tool MCP. Aturan yang dibatasi seperti `Bash(rm *)` membiarkan tool tersedia dan menolak hanya panggilan yang cocok | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |83| `--disallowedTools`, `--disallowed-tools` | Aturan penolakan. Nama tool yang telanjang menghapus tools yang cocok dari konteks model: `"Edit"` menghapus Edit, `"*"` menghapus setiap tool, dan `"mcp__*"` menghapus setiap tool MCP. Aturan yang dibatasi seperti `Bash(rm *)` membiarkan tool tersedia dan menolak hanya panggilan yang cocok | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

84| `--effort` | Atur [tingkat upaya](/id/model-config#adjust-effort-level) untuk sesi saat ini. Opsi: `low`, `medium`, `high`, `xhigh`, `max`, atau {/* min-version: 2.1.203 */}}`ultracode`. Tingkat yang tersedia tergantung pada model. `ultracode` memulai sesi pada upaya `xhigh` dengan [ultracode](/id/workflows#let-claude-decide-with-ultracode) diaktifkan, dan memerlukan Claude Code v2.1.203 atau lebih baru. Menimpa pengaturan [`effortLevel`](/id/settings#available-settings) untuk sesi ini dan tidak bertahan | `claude --effort high` |84| `--effort` | Atur [tingkat upaya](/docs/id/model-config#adjust-effort-level) untuk sesi saat ini. Opsi: `low`, `medium`, `high`, `xhigh`, `max`, atau }`ultracode`. Tingkat yang tersedia tergantung pada model. `ultracode` memulai sesi pada upaya `xhigh` dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) diaktifkan, dan memerlukan Claude Code v2.1.203 atau lebih baru. Menimpa pengaturan [`effortLevel`](/docs/id/settings#available-settings) untuk sesi ini dan tidak bertahan | `claude --effort high` |

85| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Dihapus di v2.1.111. Auto mode sekarang dalam siklus `Shift+Tab` secara default; gunakan `--permission-mode auto` untuk memulai di dalamnya | `claude --permission-mode auto` |85| `--enable-auto-mode` | Dihapus di v2.1.111. Auto mode sekarang dalam siklus `Shift+Tab` secara default; gunakan `--permission-mode auto` untuk memulai di dalamnya | `claude --permission-mode auto` |

86| `--exclude-dynamic-system-prompt-sections` | Pindahkan bagian per-mesin dari prompt sistem (direktori kerja, informasi lingkungan, jalur memori, status git-repo) ke pesan pengguna pertama. Meningkatkan reuse prompt-cache di berbagai pengguna dan mesin yang menjalankan tugas yang sama. Hanya berlaku dengan prompt sistem default; diabaikan ketika `--system-prompt` atau `--system-prompt-file` diatur. Gunakan dengan `-p` untuk beban kerja multi-pengguna yang ditulis skrip | `claude -p --exclude-dynamic-system-prompt-sections "query"` |86| `--exclude-dynamic-system-prompt-sections` | Pindahkan bagian per-mesin dari prompt sistem (direktori kerja, informasi lingkungan, jalur memori, status git-repo) ke pesan pengguna pertama. Meningkatkan reuse prompt-cache di berbagai pengguna dan mesin yang menjalankan tugas yang sama. Hanya berlaku dengan prompt sistem default; diabaikan ketika `--system-prompt` atau `--system-prompt-file` diatur. Gunakan dengan `-p` untuk beban kerja multi-pengguna yang ditulis skrip | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

87| `--exec` | Jalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude. Gunakan dengan `--bg` untuk meluncurkan dari shell | `claude --bg --exec 'pytest -x'` |87| `--exec` | Jalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude. Gunakan dengan `--bg` untuk meluncurkan dari shell | `claude --bg --exec 'pytest -x'` |

88| `--fallback-model` | Aktifkan fallback otomatis ke model yang ditentukan ketika model utama kelebihan beban atau tidak tersedia, misalnya model yang sudah pensiun. Menerima daftar yang dipisahkan koma yang dicoba secara berurutan. Lihat [Fallback model chains](/id/model-config#fallback-model-chains). Untuk mempertahankan rantai di seluruh sesi, gunakan pengaturan [`fallbackModel`](/id/settings#available-settings), yang flag ini timpa | `claude --fallback-model sonnet,haiku` |88| `--fallback-model` | Aktifkan fallback otomatis ke model yang ditentukan ketika model utama kelebihan beban atau tidak tersedia, misalnya model yang sudah pensiun. Menerima daftar yang dipisahkan koma yang dicoba secara berurutan. Lihat [Fallback model chains](/docs/id/model-config#fallback-model-chains). Untuk mempertahankan rantai di seluruh sesi, gunakan pengaturan [`fallbackModel`](/docs/id/settings#available-settings), yang flag ini timpa | `claude --fallback-model sonnet,haiku` |

89| `--fork-session` | Saat melanjutkan, buat ID sesi baru alih-alih menggunakan kembali yang asli (gunakan dengan `--resume` atau `--continue`) | `claude --resume abc123 --fork-session` |89| `--fork-session` | Saat melanjutkan, buat ID sesi baru alih-alih menggunakan kembali yang asli (gunakan dengan `--resume` atau `--continue`) | `claude --resume abc123 --fork-session` |

90| `--from-pr` | Lanjutkan sesi yang ditautkan ke pull request tertentu. Menerima nomor PR, URL GitHub atau GitHub Enterprise PR, URL merge request GitLab, atau URL pull request Bitbucket. Sesi secara otomatis ditautkan ketika Claude membuat pull request | `claude --from-pr 123` |90| `--from-pr` | Lanjutkan sesi yang ditautkan ke pull request tertentu. Menerima nomor PR, URL GitHub atau GitHub Enterprise PR, URL merge request GitLab, atau URL pull request Bitbucket. Sesi secara otomatis ditautkan ketika Claude membuat pull request | `claude --from-pr 123` |

91| `--ide` | Secara otomatis terhubung ke IDE saat startup jika tepat satu IDE valid tersedia | `claude --ide` |91| `--ide` | Secara otomatis terhubung ke IDE saat startup jika tepat satu IDE valid tersedia | `claude --ide` |

92| `--init` | Jalankan [Setup hooks](/id/hooks#setup) dengan matcher `init` sebelum sesi (mode cetak saja) | `claude -p --init "query"` |92| `--init` | Jalankan [Setup hooks](/docs/id/hooks#setup) dengan matcher `init` sebelum sesi (mode cetak saja) | `claude -p --init "query"` |

93| `--init-only` | Jalankan hook [Setup](/id/hooks#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |93| `--init-only` | Jalankan hook [Setup](/docs/id/hooks#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |

94| `--include-hook-events` | Sertakan peristiwa siklus hidup hook dari setiap peristiwa hook dalam aliran output. Peristiwa hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan flag ini. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |94| `--include-hook-events` | Sertakan peristiwa siklus hidup hook dari setiap peristiwa hook dalam aliran output. Peristiwa hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan flag ini. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

95| `--include-partial-messages` | Sertakan peristiwa streaming parsial dalam output. Memerlukan `--print` dan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |95| `--include-partial-messages` | Sertakan peristiwa streaming parsial dalam output. Memerlukan `--print` dan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

96| `--input-format` | Tentukan format input untuk mode cetak (opsi: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |96| `--input-format` | Tentukan format input untuk mode cetak (opsi: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

97| `--json-schema` | Dapatkan output JSON yang divalidasi sesuai dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [structured outputs](/id/agent-sdk/structured-outputs). {/* min-version: 2.1.205 */}Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema menggunakan `format` diperlakukan sebagai tidak valid | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |97| `--json-schema` | Dapatkan output JSON yang divalidasi sesuai dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [structured outputs](/docs/id/agent-sdk/structured-outputs). Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema menggunakan `format` diperlakukan sebagai tidak valid | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

98| `--maintenance` | Jalankan [Setup hooks](/id/hooks#setup) dengan matcher `maintenance` sebelum sesi (mode cetak saja) | `claude -p --maintenance "query"` |98| `--maintenance` | Jalankan [Setup hooks](/docs/id/hooks#setup) dengan matcher `maintenance` sebelum sesi (mode cetak saja) | `claude -p --maintenance "query"` |

99| `--max-budget-usd` | Jumlah dolar maksimum untuk dihabiskan pada panggilan API sebelum berhenti (mode cetak saja) | `claude -p --max-budget-usd 5.00 "query"` |99| `--max-budget-usd` | Jumlah dolar maksimum untuk dihabiskan pada panggilan API sebelum berhenti (mode cetak saja) | `claude -p --max-budget-usd 5.00 "query"` |

100| `--max-turns` | Batasi jumlah putaran agentic (mode cetak saja). Keluar dengan kesalahan saat batas tercapai. Tidak ada batas secara default. {/* min-version: 2.1.205 */}Dengan `--input-format stream-json`, pesan yang dikirim saat Claude sedang bekerja tetap antri dan berjalan sebagai putaran tersendiri, dengan batasnya sendiri, ketika batas mengakhiri yang saat ini. Sebelum v2.1.205, Claude Code membuang pesan itu | `claude -p --max-turns 3 "query"` |100| `--max-turns` | Batasi jumlah putaran agentic (mode cetak saja). Keluar dengan kesalahan saat batas tercapai. Tidak ada batas secara default. Dengan `--input-format stream-json`, pesan yang dikirim saat Claude sedang bekerja tetap antri dan berjalan sebagai putaran tersendiri, dengan batasnya sendiri, ketika batas mengakhiri yang saat ini. Sebelum v2.1.205, Claude Code membuang pesan itu | `claude -p --max-turns 3 "query"` |

101| `--mcp-config` | Muat server MCP dari file JSON atau string (dipisahkan spasi) | `claude --mcp-config ./mcp.json` |101| `--mcp-config` | Muat server MCP dari file JSON atau string (dipisahkan spasi) | `claude --mcp-config ./mcp.json` |

102| `--model` | Menetapkan model untuk sesi saat ini dengan alias untuk model terbaru (`sonnet`, `opus`, `haiku`, atau `fable`) atau nama lengkap model. Menimpa pengaturan [`model`](/id/settings#available-settings) dan [`ANTHROPIC_MODEL`](/id/model-config#environment-variables) | `claude --model claude-sonnet-5` |102| `--model` | Menetapkan model untuk sesi saat ini dengan alias untuk model terbaru (`sonnet`, `opus`, `haiku`, atau `fable`) atau nama lengkap model. Menimpa pengaturan [`model`](/docs/id/settings#available-settings) dan [`ANTHROPIC_MODEL`](/docs/id/model-config#environment-variables) | `claude --model claude-sonnet-5` |

103| `--name`, `-n` | Atur nama tampilan untuk sesi, ditampilkan di `/resume` dan judul terminal. Anda dapat melanjutkan sesi bernama dengan `claude --resume <name>`. <br /><br />[`/rename`](/id/commands) mengubah nama di tengah sesi dan juga menampilkannya di bilah prompt | `claude -n "my-feature-work"` |103| `--name`, `-n` | Atur nama tampilan untuk sesi, ditampilkan di `/resume` dan judul terminal. Anda dapat melanjutkan sesi bernama dengan `claude --resume <name>`. <br /><br />[`/rename`](/docs/id/commands) mengubah nama di tengah sesi dan juga menampilkannya di bilah prompt | `claude -n "my-feature-work"` |

104| `--no-chrome` | Nonaktifkan [integrasi browser Chrome](/id/chrome) untuk sesi ini | `claude --no-chrome` |104| `--no-chrome` | Nonaktifkan [integrasi browser Chrome](/docs/id/chrome) untuk sesi ini | `claude --no-chrome` |

105| `--no-session-persistence` | Nonaktifkan persistensi sesi sehingga sesi tidak disimpan ke disk dan tidak dapat dilanjutkan. Mode cetak saja. Variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars) melakukan hal yang sama dalam mode apa pun | `claude -p --no-session-persistence "query"` |105| `--no-session-persistence` | Nonaktifkan persistensi sesi sehingga sesi tidak disimpan ke disk dan tidak dapat dilanjutkan. Mode cetak saja. Variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/id/env-vars) melakukan hal yang sama dalam mode apa pun | `claude -p --no-session-persistence "query"` |

106| `--output-format` | Tentukan format output untuk mode cetak (opsi: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |106| `--output-format` | Tentukan format output untuk mode cetak (opsi: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

107| `--permission-mode` | Mulai dalam [mode izin](/id/permission-modes) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau {/* min-version: 2.1.200 */}}`manual` sebagai alias untuk `default`. Alias `manual` memilih mode yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai bekerja. Menimpa `defaultMode` dari file pengaturan | `claude --permission-mode plan` |107| `--permission-mode` | Mulai dalam [mode izin](/docs/id/permission-modes) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau }`manual` sebagai alias untuk `default`. Alias `manual` memilih mode yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai bekerja. Menimpa `defaultMode` dari file pengaturan | `claude --permission-mode plan` |

108| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani prompt izin dalam mode non-interaktif. {/* min-version: 2.1.206 */}Claude Code menunggu server MCP tool tersebut untuk terhubung sebelum menjalankan putaran pertama, hingga startup timeout [`MCP_TIMEOUT`](/id/env-vars) selama 30 detik. Sebelum v2.1.206, server yang lambat memulai dapat membuat run [keluar dengan kesalahan bahwa tool MCP tidak ditemukan](/id/errors#mcp-permission-prompt-tool-not-found). <br /><br />{/* min-version: 2.1.199 */}Tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](/id/mcp#require-approval-for-a-specific-tool): Claude Code mengonversi hasil `allow` untuk satu menjadi penolakan. Pembatasan ini memerlukan Claude Code v2.1.199 atau lebih baru | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |108| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani prompt izin dalam mode non-interaktif. Claude Code menunggu server MCP tool tersebut untuk terhubung sebelum menjalankan putaran pertama, hingga startup timeout [`MCP_TIMEOUT`](/docs/id/env-vars) selama 30 detik. Sebelum v2.1.206, server yang lambat memulai dapat membuat run [keluar dengan kesalahan bahwa tool MCP tidak ditemukan](/docs/id/errors#mcp-permission-prompt-tool-not-found). <br /><br />Tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](/docs/id/mcp#require-approval-for-a-specific-tool): Claude Code mengonversi hasil `allow` untuk satu menjadi penolakan. Pembatasan ini memerlukan Claude Code v2.1.199 atau lebih baru | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

109| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip` untuk sesi ini saja. Setiap flag mengambil satu jalur. Ulangi flag untuk beberapa plugin: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |109| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip` untuk sesi ini saja. Setiap flag mengambil satu jalur. Ulangi flag untuk beberapa plugin: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

110| `--plugin-url` | Ambil arsip plugin `.zip` dari URL untuk sesi ini saja. Ulangi flag untuk beberapa plugin, atau berikan URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url https://example.com/plugin.zip` |110| `--plugin-url` | Ambil arsip plugin `.zip` dari URL untuk sesi ini saja. Ulangi flag untuk beberapa plugin, atau berikan URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url https://example.com/plugin.zip` |

111| `--print`, `-p` | Cetak respons tanpa mode interaktif (lihat [dokumentasi Agent SDK](/id/agent-sdk/overview) untuk detail penggunaan programatik) | `claude -p "query"` |111| `--print`, `-p` | Cetak respons tanpa mode interaktif (lihat [dokumentasi Agent SDK](/docs/id/agent-sdk/overview) untuk detail penggunaan programatik) | `claude -p "query"` |

112| `--prompt-suggestions` | Emit pesan `prompt_suggestion` setelah setiap putaran dengan prompt pengguna berikutnya yang diprediksi. Memerlukan `--print`, `--output-format stream-json`, dan `--verbose`. Lihat [Prompt suggestions](/id/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |112| `--prompt-suggestions` | Emit pesan `prompt_suggestion` setelah setiap putaran dengan prompt pengguna berikutnya yang diprediksi. Memerlukan `--print`, `--output-format stream-json`, dan `--verbose`. Lihat [Prompt suggestions](/docs/id/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |

113| `--remote` | Alias yang sudah usang untuk `--cloud` | `claude --remote "Fix the login bug"` |113| `--remote` | Alias yang sudah usang untuk `--cloud` | `claude --remote "Fix the login bug"` |

114| `--remote-control`, `--rc` | Mulai sesi interaktif dengan [Remote Control](/id/remote-control#start-a-remote-control-session) diaktifkan sehingga Anda juga dapat mengontrolnya dari claude.ai atau aplikasi Claude. Secara opsional berikan nama untuk sesi | `claude --remote-control "My Project"` |114| `--remote-control`, `--rc` | Mulai sesi interaktif dengan [Remote Control](/docs/id/remote-control#start-a-remote-control-session) diaktifkan sehingga Anda juga dapat mengontrolnya dari claude.ai atau aplikasi Claude. Secara opsional berikan nama untuk sesi | `claude --remote-control "My Project"` |

115| `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi [Remote Control](/id/remote-control) yang dibuat secara otomatis ketika tidak ada nama eksplisit yang diatur. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama | `claude remote-control --remote-control-session-name-prefix dev-box` |115| `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi [Remote Control](/docs/id/remote-control) yang dibuat secara otomatis ketika tidak ada nama eksplisit yang diatur. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama | `claude remote-control --remote-control-session-name-prefix dev-box` |

116| `--replay-user-messages` | Re-emit pesan pengguna dari stdin kembali ke stdout untuk pengakuan. Memerlukan `--input-format stream-json` dan `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |116| `--replay-user-messages` | Re-emit pesan pengguna dari stdin kembali ke stdout untuk pengakuan. Memerlukan `--input-format stream-json` dan `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

117| `--resume`, `-r` | Lanjutkan sesi tertentu berdasarkan ID atau nama, atau tampilkan pemilih interaktif untuk memilih sesi. Pemilih dan pencarian nama mencakup sesi yang menambahkan direktori ini dengan `/add-dir`; melewatkan ID sesi hanya mencari di direktori proyek saat ini dan git worktrees-nya. Mulai dari v2.1.144, [sesi latar belakang](/id/agent-view) muncul di pemilih yang ditandai dengan `bg` | `claude --resume auth-refactor` |117| `--resume`, `-r` | Lanjutkan sesi tertentu berdasarkan ID atau nama, atau tampilkan pemilih interaktif untuk memilih sesi. Pemilih dan pencarian nama mencakup sesi yang menambahkan direktori ini dengan `/add-dir`; melewatkan ID sesi hanya mencari di direktori proyek saat ini dan git worktrees-nya. Mulai dari v2.1.144, [sesi latar belakang](/docs/id/agent-view) muncul di pemilih yang ditandai dengan `bg` | `claude --resume auth-refactor` |

118| `--safe-mode` | {/* min-version: 2.1.169 */}Mulai dengan semua kustomisasi dinonaktifkan untuk memecahkan masalah konfigurasi yang rusak: CLAUDE.md, skills, plugins, hooks, server MCP, perintah dan agen kustom, gaya output, workflows, tema kustom, pintasan keyboard kustom, perintah status line dan file-suggestion, server LSP, dan auto-memory tidak dimuat. Autentikasi, pemilihan model, tools bawaan, dan izin bekerja secara normal, yang berbeda dari [`--bare`](/id/headless#start-faster-with-bare-mode). Kebijakan pengaturan terkelola masih berlaku, termasuk hooks yang dikonfigurasi kebijakan, status line, dan perintah file-suggestion; plugins terkelola, skills terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Berguna untuk memeriksa apakah kustomisasi adalah apa yang memicu [fallback otomatis dari Fable 5](/id/model-config#automatic-model-fallback). Menetapkan [`CLAUDE_CODE_SAFE_MODE`](/id/env-vars) | `claude --safe-mode` |118| `--safe-mode` | Mulai dengan semua kustomisasi dinonaktifkan untuk memecahkan masalah konfigurasi yang rusak: CLAUDE.md, skills, plugins, hooks, server MCP, perintah dan agen kustom, gaya output, workflows, tema kustom, pintasan keyboard kustom, perintah status line dan file-suggestion, server LSP, dan auto-memory tidak dimuat. Autentikasi, pemilihan model, tools bawaan, dan izin bekerja secara normal, yang berbeda dari [`--bare`](/docs/id/headless#start-faster-with-bare-mode). Kebijakan pengaturan terkelola masih berlaku, termasuk hooks yang dikonfigurasi kebijakan, status line, dan perintah file-suggestion; plugins terkelola, skills terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Berguna untuk memeriksa apakah kustomisasi adalah apa yang memicu [fallback otomatis dari Fable 5](/docs/id/model-config#automatic-model-fallback). Menetapkan [`CLAUDE_CODE_SAFE_MODE`](/docs/id/env-vars) | `claude --safe-mode` |

119| `--session-id` | Gunakan ID sesi tertentu untuk percakapan (harus UUID yang valid) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |119| `--session-id` | Gunakan ID sesi tertentu untuk percakapan (harus UUID yang valid) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

120| `--setting-sources` | Daftar sumber pengaturan yang dipisahkan koma untuk dimuat (`user`, `project`, `local`) | `claude --setting-sources user,project` |120| `--setting-sources` | Daftar sumber pengaturan yang dipisahkan koma untuk dimuat (`user`, `project`, `local`) | `claude --setting-sources user,project` |

121| `--settings` | Jalur ke file JSON pengaturan atau string JSON inline. Nilai yang Anda atur di sini menimpa kunci yang sama dalam file `settings.json` Anda untuk sesi ini. Kunci yang Anda lewatkan mempertahankan nilai berbasis file mereka. Lihat [precedence pengaturan](/id/settings#settings-precedence) | `claude --settings ./settings.json` |121| `--settings` | Jalur ke file JSON pengaturan atau string JSON inline. Nilai yang Anda atur di sini menimpa kunci yang sama dalam file `settings.json` Anda untuk sesi ini. Kunci yang Anda lewatkan mempertahankan nilai berbasis file mereka. Lihat [precedence pengaturan](/docs/id/settings#settings-precedence) | `claude --settings ./settings.json` |

122| `--strict-mcp-config` | Hanya gunakan server MCP dari `--mcp-config`, abaikan semua konfigurasi MCP lainnya | `claude --strict-mcp-config --mcp-config ./mcp.json` |122| `--strict-mcp-config` | Hanya gunakan server MCP dari `--mcp-config`, abaikan semua konfigurasi MCP lainnya | `claude --strict-mcp-config --mcp-config ./mcp.json` |

123| `--system-prompt` | Ganti seluruh prompt sistem dengan teks kustom | `claude --system-prompt "You are a Python expert"` |123| `--system-prompt` | Ganti seluruh prompt sistem dengan teks kustom | `claude --system-prompt "You are a Python expert"` |

124| `--system-prompt-file` | Muat prompt sistem dari file, mengganti prompt default | `claude --system-prompt-file ./custom-prompt.txt` |124| `--system-prompt-file` | Muat prompt sistem dari file, mengganti prompt default | `claude --system-prompt-file ./custom-prompt.txt` |

125| `--teleport` | Lanjutkan [sesi web](/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |125| `--teleport` | Lanjutkan [sesi web](/docs/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |

126| `--teammate-mode` | Atur bagaimana [rekan tim agen](/id/agent-teams) ditampilkan: `in-process` (default), `auto`, `tmux`, atau {/* min-version: 2.1.186 */}}`iterm2` (ditambahkan di v2.1.186). Default berubah dari `auto` di v2.1.179. Menimpa pengaturan [`teammateMode`](/id/settings#available-settings) untuk sesi ini. Lihat [Pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |126| `--teammate-mode` | Atur bagaimana [rekan tim agen](/docs/id/agent-teams) ditampilkan: `in-process` (default), `auto`, `tmux`, atau }`iterm2` (ditambahkan di v2.1.186). Default berubah dari `auto` di v2.1.179. Menimpa pengaturan [`teammateMode`](/docs/id/settings#available-settings) untuk sesi ini. Lihat [Pilih mode tampilan](/docs/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

127| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan pane native iTerm2 saat tersedia; berikan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |127| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan pane native iTerm2 saat tersedia; berikan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |

128| `--tools` | Batasi tools bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk semua, atau nama tools seperti `"Bash,Edit,Read"`. Tools MCP tidak terpengaruh; untuk menolak yang juga, gunakan `--disallowedTools "mcp__*"`, atau berikan `--strict-mcp-config` tanpa `--mcp-config` sehingga tidak ada server MCP yang dimuat | `claude --tools "Bash,Edit,Read"` |128| `--tools` | Batasi tools bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk semua, atau nama tools seperti `"Bash,Edit,Read"`. Tools MCP tidak terpengaruh; untuk menolak yang juga, gunakan `--disallowedTools "mcp__*"`, atau berikan `--strict-mcp-config` tanpa `--mcp-config` sehingga tidak ada server MCP yang dimuat | `claude --tools "Bash,Edit,Read"` |

129| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/id/settings#available-settings) untuk sesi ini | `claude --verbose` |129| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/docs/id/settings#available-settings) untuk sesi ini | `claude --verbose` |

130| `--version`, `-v` | Keluarkan nomor versi | `claude -v` |130| `--version`, `-v` | Keluarkan nomor versi | `claude -v` |

131| `--worktree`, `-w` | Mulai Claude dalam [git worktree](/id/worktrees) terisolasi di `<repo>/.claude/worktrees/<name>`. Jika tidak ada nama yang diberikan, satu akan dibuat secara otomatis. Berikan `#<number>` atau URL pull request GitHub untuk mengambil PR itu dari `origin` dan membuat cabang worktree darinya | `claude -w feature-auth` |131| `--worktree`, `-w` | Mulai Claude dalam [git worktree](/docs/id/worktrees) terisolasi di `<repo>/.claude/worktrees/<name>`. Jika tidak ada nama yang diberikan, satu akan dibuat secara otomatis. Berikan `#<number>` atau URL pull request GitHub untuk mengambil PR itu dari `origin` dan membuat cabang worktree darinya | `claude -w feature-auth` |

132 132 

133<h3 id="system-prompt-flags">133<h3 id="system-prompt-flags">

134 Flag prompt sistem134 Flag prompt sistem


147 147 

148Pilih berdasarkan apakah identitas default Claude Code masih sesuai dengan tugas Anda. Gunakan flag append ketika Claude harus tetap menjadi asisten coding yang juga mengikuti aturan tambahan Anda: instruksi per-invocation, pemformatan output, atau konteks domain untuk skrip `-p`. Menambahkan mempertahankan panduan tool default, instruksi keamanan, dan konvensi coding, jadi Anda hanya menyediakan apa yang berbeda. Gunakan flag penggantian ketika permukaan, identitas, atau model izin berbeda dari Claude Code, seperti agen non-coding dalam pipeline yang tidak ada manusia yang menonton. Mengganti menghilangkan seluruh prompt default, termasuk panduan tool dan instruksi keamanan, jadi Anda bertanggung jawab atas apa pun yang masih dibutuhkan tugas Anda.148Pilih berdasarkan apakah identitas default Claude Code masih sesuai dengan tugas Anda. Gunakan flag append ketika Claude harus tetap menjadi asisten coding yang juga mengikuti aturan tambahan Anda: instruksi per-invocation, pemformatan output, atau konteks domain untuk skrip `-p`. Menambahkan mempertahankan panduan tool default, instruksi keamanan, dan konvensi coding, jadi Anda hanya menyediakan apa yang berbeda. Gunakan flag penggantian ketika permukaan, identitas, atau model izin berbeda dari Claude Code, seperti agen non-coding dalam pipeline yang tidak ada manusia yang menonton. Mengganti menghilangkan seluruh prompt default, termasuk panduan tool dan instruksi keamanan, jadi Anda bertanggung jawab atas apa pun yang masih dibutuhkan tugas Anda.

149 149 

150Flag ini hanya berlaku untuk invocation saat ini. Untuk persona persisten yang dapat Anda alihkan dan bagikan di seluruh proyek, gunakan [output styles](/id/output-styles). Untuk konvensi proyek yang harus selalu diikuti Claude, gunakan [CLAUDE.md](/id/memory). [Panduan Agent SDK tentang system prompts](/id/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) mencakup keputusan yang sama dengan lebih mendalam.150Flag ini hanya berlaku untuk invocation saat ini. Untuk persona persisten yang dapat Anda alihkan dan bagikan di seluruh proyek, gunakan [output styles](/docs/id/output-styles). Untuk konvensi proyek yang harus selalu diikuti Claude, gunakan [CLAUDE.md](/docs/id/memory). [Panduan Agent SDK tentang system prompts](/docs/id/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) mencakup keputusan yang sama dengan lebih mendalam.

151 151 

152<h2 id="see-also">152<h2 id="see-also">

153 Lihat juga153 Lihat juga

154</h2>154</h2>

155 155 

156* [Ekstensi Chrome](/id/chrome) - Otomasi browser dan pengujian web156* [Ekstensi Chrome](/docs/id/chrome) - Otomasi browser dan pengujian web

157* [Mode interaktif](/id/interactive-mode) - Pintasan keyboard, mode input, dan fitur interaktif157* [Mode interaktif](/docs/id/interactive-mode) - Pintasan keyboard, mode input, dan fitur interaktif

158* [Panduan quickstart](/id/quickstart) - Memulai dengan Claude Code158* [Panduan quickstart](/docs/id/quickstart) - Memulai dengan Claude Code

159* [Alur kerja umum](/id/common-workflows) - Alur kerja dan pola lanjutan159* [Alur kerja umum](/docs/id/common-workflows) - Alur kerja dan pola lanjutan

160* [Pengaturan](/id/settings) - Opsi konfigurasi160* [Pengaturan](/docs/id/settings) - Opsi konfigurasi

161* [Dokumentasi Agent SDK](/id/agent-sdk/overview) - Penggunaan programatik dan integrasi161* [Dokumentasi Agent SDK](/docs/id/agent-sdk/overview) - Penggunaan programatik dan integrasi

code-review.md +14 −14

Details

7> Siapkan ulasan PR otomatis yang menangkap kesalahan logika, kerentanan keamanan, dan regresi menggunakan analisis multi-agen dari seluruh basis kode Anda7> Siapkan ulasan PR otomatis yang menangkap kesalahan logika, kerentanan keamanan, dan regresi menggunakan analisis multi-agen dari seluruh basis kode Anda

8 8 

9<Note>9<Note>

10 Code Review sedang dalam pratinjau penelitian, tersedia untuk langganan [Team dan Enterprise](https://claude.ai/admin-settings/claude-code). Tidak tersedia untuk organisasi dengan [Zero Data Retention](/id/zero-data-retention) yang diaktifkan.10 Code Review sedang dalam pratinjau penelitian, tersedia untuk langganan [Team dan Enterprise](https://claude.ai/admin-settings/claude-code). Tidak tersedia untuk organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) yang diaktifkan.

11</Note>11</Note>

12 12 

13Code Review menganalisis permintaan tarik GitHub Anda dan memposting temuan sebagai komentar sebaris pada baris kode tempat ditemukannya masalah. Armada agen khusus memeriksa perubahan kode dalam konteks basis kode lengkap Anda, mencari kesalahan logika, kerentanan keamanan, kasus tepi yang rusak, dan regresi halus.13Code Review menganalisis permintaan tarik GitHub Anda dan memposting temuan sebagai komentar sebaris pada baris kode tempat ditemukannya masalah. Armada agen khusus memeriksa perubahan kode dalam konteks basis kode lengkap Anda, mencari kesalahan logika, kerentanan keamanan, kasus tepi yang rusak, dan regresi halus.

14 14 

15Temuan diberi tag berdasarkan tingkat keparahan dan tidak menyetujui atau memblokir PR Anda, sehingga alur kerja ulasan yang ada tetap utuh. Anda dapat menyesuaikan apa yang Claude tandai dengan menambahkan file `CLAUDE.md` atau `REVIEW.md` ke repositori Anda.15Temuan diberi tag berdasarkan tingkat keparahan dan tidak menyetujui atau memblokir PR Anda, sehingga alur kerja ulasan yang ada tetap utuh. Anda dapat menyesuaikan apa yang Claude tandai dengan menambahkan file `CLAUDE.md` atau `REVIEW.md` ke repositori Anda.

16 16 

17Untuk menjalankan Claude di infrastruktur CI Anda sendiri alih-alih layanan terkelola ini, lihat [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd). Untuk repositori pada instans GitHub yang di-host sendiri, lihat [GitHub Enterprise Server](/id/github-enterprise-server).17Untuk menjalankan Claude di infrastruktur CI Anda sendiri alih-alih layanan terkelola ini, lihat [GitHub Actions](/docs/id/github-actions) atau [GitLab CI/CD](/docs/id/gitlab-ci-cd). Untuk repositori pada instans GitHub yang di-host sendiri, lihat [GitHub Enterprise Server](/docs/id/github-enterprise-server).

18 18 

19Halaman ini mencakup:19Halaman ini mencakup:

20 20 


112 * **Issues**: baca dan tulis112 * **Issues**: baca dan tulis

113 * **Pull requests**: baca dan tulis113 * **Pull requests**: baca dan tulis

114 114 

115 Code Review menggunakan akses baca ke konten dan akses tulis ke permintaan tarik. Kumpulan izin yang lebih luas juga mendukung [GitHub Actions](/id/github-actions) jika Anda mengaktifkannya nanti.115 Code Review menggunakan akses baca ke konten dan akses tulis ke permintaan tarik. Kumpulan izin yang lebih luas juga mendukung [GitHub Actions](/docs/id/github-actions) jika Anda mengaktifkannya nanti.

116 </Step>116 </Step>

117 117 

118 <Step title="Pilih repositori">118 <Step title="Pilih repositori">


173 173 

174Code Review membaca file `CLAUDE.md` repositori Anda dan memperlakukan pelanggaran yang baru diperkenalkan sebagai temuan tingkat [nit](#severity-levels). Ini berfungsi dua arah: jika PR Anda mengubah kode dengan cara yang membuat pernyataan `CLAUDE.md` ketinggalan zaman, Claude menandai bahwa dokumen perlu diperbarui juga.174Code Review membaca file `CLAUDE.md` repositori Anda dan memperlakukan pelanggaran yang baru diperkenalkan sebagai temuan tingkat [nit](#severity-levels). Ini berfungsi dua arah: jika PR Anda mengubah kode dengan cara yang membuat pernyataan `CLAUDE.md` ketinggalan zaman, Claude menandai bahwa dokumen perlu diperbarui juga.

175 175 

176Claude membaca file `CLAUDE.md` di setiap tingkat hierarki direktori Anda, jadi aturan di `CLAUDE.md` subdirektori hanya berlaku untuk file di bawah jalur tersebut. Lihat [dokumentasi memori](/id/memory) untuk lebih lanjut tentang cara kerja `CLAUDE.md`.176Claude membaca file `CLAUDE.md` di setiap tingkat hierarki direktori Anda, jadi aturan di `CLAUDE.md` subdirektori hanya berlaku untuk file di bawah jalur tersebut. Lihat [dokumentasi memori](/docs/id/memory) untuk lebih lanjut tentang cara kerja `CLAUDE.md`.

177 177 

178Untuk panduan khusus ulasan yang tidak ingin Anda terapkan pada sesi Claude Code umum, gunakan [`REVIEW.md`](#review-md) sebagai gantinya.178Untuk panduan khusus ulasan yang tidak ingin Anda terapkan pada sesi Claude Code umum, gunakan [`REVIEW.md`](#review-md) sebagai gantinya.

179 179 


183 183 

184`REVIEW.md` adalah file di akar repositori Anda yang mengganti cara Code Review berperilaku di repo Anda. Isinya disuntikkan ke dalam prompt sistem setiap agen dalam saluran ulasan sebagai blok instruksi prioritas tertinggi, mengambil alih dari panduan ulasan default.184`REVIEW.md` adalah file di akar repositori Anda yang mengganti cara Code Review berperilaku di repo Anda. Isinya disuntikkan ke dalam prompt sistem setiap agen dalam saluran ulasan sebagai blok instruksi prioritas tertinggi, mengambil alih dari panduan ulasan default.

185 185 

186Karena ditempel verbatim, `REVIEW.md` adalah instruksi biasa: sintaks [`@` import](/id/memory#import-additional-files) tidak diperluas, dan file yang direferensikan tidak dibaca ke dalam prompt. Letakkan aturan yang ingin Anda terapkan langsung di file.186Karena ditempel verbatim, `REVIEW.md` adalah instruksi biasa: sintaks [`@` import](/docs/id/memory#import-additional-files) tidak diperluas, dan file yang direferensikan tidak dibaca ke dalam prompt. Letakkan aturan yang ingin Anda terapkan langsung di file.

187 187 

188<h4 id="what-you-can-tune">188<h4 id="what-you-can-tune">

189 Apa yang dapat Anda sesuaikan189 Apa yang dapat Anda sesuaikan


316 Meninjau diff secara lokal316 Meninjau diff secara lokal

317</h2>317</h2>

318 318 

319Perintah [`/code-review`](/id/commands) meninjau diff di terminal Anda tanpa memasang GitHub App. Jalankan dalam sesi Claude Code apa pun: ini melaporkan bug kebenaran dan {/* min-version: 2.1.151 */}penggunaan kembali, penyederhanaan, dan pembersihan efisiensi. Secara default, ulasan lokal mencakup komit cabang Anda yang berada di depan upstream-nya ditambah perubahan yang tidak dilakukan dalam pohon kerja. Lewatkan `--comment` untuk memposting temuan sebagai komentar PR sebaris, atau `--fix` untuk menerapkan temuan ke pohon kerja Anda setelah ulasan.319Perintah [`/code-review`](/docs/id/commands) meninjau diff di terminal Anda tanpa memasang GitHub App. Jalankan dalam sesi Claude Code apa pun: ini melaporkan bug kebenaran dan penggunaan kembali, penyederhanaan, dan pembersihan efisiensi. Secara default, ulasan lokal mencakup komit cabang Anda yang berada di depan upstream-nya ditambah perubahan yang tidak dilakukan dalam pohon kerja. Lewatkan `--comment` untuk memposting temuan sebagai komentar PR sebaris, atau `--fix` untuk menerapkan temuan ke pohon kerja Anda setelah ulasan.

320 320 

321[Tingkat upaya](/id/model-config#adjust-effort-level) yang lebih rendah mengembalikan temuan yang lebih sedikit dan lebih percaya diri, sementara `high` hingga `max` memberikan cakupan yang lebih luas dan mungkin mencakup temuan yang tidak pasti. Tanpa argumen upaya, ulasan menggunakan upaya saat ini sesi. Untuk meninjau sesuatu selain diff default, lewatkan target: jalur file, nomor PR, nama cabang, atau rentang ref seperti `main...my-feature`. Bentuk rentang ref meninjau diff yang dilakukan yang akan dimuat pull request dari `my-feature` ke `main`, terlepas dari bagaimana upstream cabang dikonfigurasi.321[Tingkat upaya](/docs/id/model-config#adjust-effort-level) yang lebih rendah mengembalikan temuan yang lebih sedikit dan lebih percaya diri, sementara `high` hingga `max` memberikan cakupan yang lebih luas dan mungkin mencakup temuan yang tidak pasti. Tanpa argumen upaya, ulasan menggunakan upaya saat ini sesi. Untuk meninjau sesuatu selain diff default, lewatkan target: jalur file, nomor PR, nama cabang, atau rentang ref seperti `main...my-feature`. Bentuk rentang ref meninjau diff yang dilakukan yang akan dimuat pull request dari `my-feature` ke `main`, terlepas dari bagaimana upstream cabang dikonfigurasi.

322 322 

323`/code-review ultra --fix` menjalankan [ultrareview](/id/ultrareview) yang lebih dalam di cloud, kemudian menerapkan temuannya ke pohon kerja Anda ketika mereka kembali dalam sesi Anda. Ultrareview menggunakan cakupannya sendiri: cabang saat ini Anda terhadap cabang default repositori, ditambah perubahan yang tidak dilakukan dan staged dalam pohon kerja.323`/code-review ultra --fix` menjalankan [ultrareview](/docs/id/ultrareview) yang lebih dalam di cloud, kemudian menerapkan temuannya ke pohon kerja Anda ketika mereka kembali dalam sesi Anda. Ultrareview menggunakan cakupannya sendiri: cabang saat ini Anda terhadap cabang default repositori, ditambah perubahan yang tidak dilakukan dan staged dalam pohon kerja.

324 324 

325Perintah ini dinamai `/simplify` sebelum v2.1.147, ketika ia menerapkan perbaikan secara default. {/* min-version: 2.1.154 */}Dari v2.1.154, `/simplify` menjalankan ulasan pembersihan terpisah yang menerapkan perbaikan tanpa mencari bug. Jika Anda membuat skrip `/simplify` untuk pencarian bug, beralih ke `/code-review --fix`, yang tidak berubah.325Perintah ini dinamai `/simplify` sebelum v2.1.147, ketika ia menerapkan perbaikan secara default. Dari v2.1.154, `/simplify` menjalankan ulasan pembersihan terpisah yang menerapkan perbaikan tanpa mencari bug. Jika Anda membuat skrip `/simplify` untuk pencarian bug, beralih ke `/code-review --fix`, yang tidak berubah.

326 326 

327<h2 id="related-resources">327<h2 id="related-resources">

328 Sumber daya terkait328 Sumber daya terkait


330 330 

331Code Review dirancang untuk bekerja bersama dengan sisa Claude Code. Jika Anda ingin menjalankan ulasan secara lokal sebelum membuka PR, memerlukan penyiapan yang di-host sendiri, atau ingin mendalami cara `CLAUDE.md` membentuk perilaku Claude di seluruh alat, halaman-halaman ini adalah perhentian berikutnya yang baik:331Code Review dirancang untuk bekerja bersama dengan sisa Claude Code. Jika Anda ingin menjalankan ulasan secara lokal sebelum membuka PR, memerlukan penyiapan yang di-host sendiri, atau ingin mendalami cara `CLAUDE.md` membentuk perilaku Claude di seluruh alat, halaman-halaman ini adalah perhentian berikutnya yang baik:

332 332 

333* [Commands](/id/commands): jalankan `/code-review` dalam sesi Claude Code lokal untuk memeriksa diff sebelum push333* [Commands](/docs/id/commands): jalankan `/code-review` dalam sesi Claude Code lokal untuk memeriksa diff sebelum push

334* [GitHub Actions](/id/github-actions): jalankan Claude dalam alur kerja GitHub Actions Anda sendiri untuk otomasi khusus di luar ulasan kode334* [GitHub Actions](/docs/id/github-actions): jalankan Claude dalam alur kerja GitHub Actions Anda sendiri untuk otomasi khusus di luar ulasan kode

335* [GitLab CI/CD](/id/gitlab-ci-cd): integrasi Claude yang di-host sendiri untuk pipeline GitLab335* [GitLab CI/CD](/docs/id/gitlab-ci-cd): integrasi Claude yang di-host sendiri untuk pipeline GitLab

336* [Memory](/id/memory): cara kerja file `CLAUDE.md` di seluruh Claude Code336* [Memory](/docs/id/memory): cara kerja file `CLAUDE.md` di seluruh Claude Code

337* [Analytics](/id/analytics): lacak penggunaan Claude Code di luar ulasan kode337* [Analytics](/docs/id/analytics): lacak penggunaan Claude Code di luar ulasan kode

commands.md +84 −84

Details

10 10 

11Ketik `/` untuk melihat setiap perintah yang tersedia untuk Anda, atau ketik `/` diikuti dengan huruf untuk memfilter.11Ketik `/` untuk melihat setiap perintah yang tersedia untuk Anda, atau ketik `/` diikuti dengan huruf untuk memfilter.

12 12 

13Sebuah perintah hanya dikenali di awal pesan Anda. Teks yang mengikuti nama perintah diteruskan kepadanya sebagai argumen. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, [skills](/id/skills#pass-arguments-to-skills) adalah pengecualian: invokasi skill diikuti oleh lebih banyak skills, seperti `/skill-a /skill-b do XYZ`, memuat setiap skill yang dinamai di awal dan meneruskan teks yang tertinggal ke masing-masing sebagai argumen. Hingga enam skills dapat dirantai.13Sebuah perintah hanya dikenali di awal pesan Anda. Teks yang mengikuti nama perintah diteruskan kepadanya sebagai argumen. Mulai dari v2.1.199, [skills](/docs/id/skills#pass-arguments-to-skills) adalah pengecualian: invokasi skill diikuti oleh lebih banyak skills, seperti `/skill-a /skill-b do XYZ`, memuat setiap skill yang dinamai di awal dan meneruskan teks yang tertinggal ke masing-masing sebagai argumen. Hingga enam skills dapat dirantai.

14 14 

15Jika Anda mengirim perintah saat Claude sedang merespons, perintah tersebut antri dan berjalan setelah giliran saat ini selesai. Beberapa perintah, seperti `/status`, `/tasks`, dan `/usage`, berjalan segera tanpa mengganggu respons.15Jika Anda mengirim perintah saat Claude sedang merespons, perintah tersebut antri dan berjalan setelah giliran saat ini selesai. Beberapa perintah, seperti `/status`, `/tasks`, dan `/usage`, berjalan segera tanpa mengganggu respons.

16 16 


20 20 

21Sebagian besar perintah berguna pada titik tertentu dalam sesi, dari pengaturan proyek hingga pengiriman perubahan.21Sebagian besar perintah berguna pada titik tertentu dalam sesi, dari pengaturan proyek hingga pengiriman perubahan.

22 22 

23**Sesi pertama di repo.** Jalankan `/init` untuk menghasilkan `CLAUDE.md` pemula, kemudian `/memory` untuk menyempurnakannya. Gunakan `/mcp` untuk mengatur server apa pun yang dibutuhkan proyek, minta Claude untuk membuat [subagent](/id/sub-agents) apa pun yang Anda inginkan, dan jalankan `/permissions` untuk menetapkan aturan persetujuan Anda.23**Sesi pertama di repo.** Jalankan `/init` untuk menghasilkan `CLAUDE.md` pemula, kemudian `/memory` untuk menyempurnakannya. Gunakan `/mcp` untuk mengatur server apa pun yang dibutuhkan proyek, minta Claude untuk membuat [subagent](/docs/id/sub-agents) apa pun yang Anda inginkan, dan jalankan `/permissions` untuk menetapkan aturan persetujuan Anda.

24 24 

25**Selama tugas.** `/plan` beralih ke plan mode sebelum perubahan besar. `/model` dan `/effort` menyesuaikan model mana yang Anda gunakan dan berapa banyak reasoning yang diterapkannya. Ketika percakapan menjadi panjang, `/context` menunjukkan apa yang mengisi jendela dan `/compact` merangkumnya untuk membebaskan ruang. Gunakan `/btw` untuk pertanyaan sampingan cepat yang tidak boleh ditambahkan ke riwayat percakapan.25**Selama tugas.** `/plan` beralih ke plan mode sebelum perubahan besar. `/model` dan `/effort` menyesuaikan model mana yang Anda gunakan dan berapa banyak reasoning yang diterapkannya. Ketika percakapan menjadi panjang, `/context` menunjukkan apa yang mengisi jendela dan `/compact` merangkumnya untuk membebaskan ruang. Gunakan `/btw` untuk pertanyaan sampingan cepat yang tidak boleh ditambahkan ke riwayat percakapan.

26 26 

27**Menjalankan pekerjaan secara paralel.** Claude mendelegasikan tugas sampingan ke [subagent](/id/sub-agents), dan `/tasks` mencantumkan pekerjaan latar belakang sesi saat ini, termasuk subagent yang telah selesai. `/background` melepaskan seluruh sesi untuk terus berjalan sebagai [background agent](/id/agent-view) dan membebaskan terminal Anda. Untuk perubahan besar yang mencakup codebase, `/batch` menguraikannya menjadi unit independen dan menjalankan masing-masing di [worktree](/id/worktrees) miliknya sendiri. Lihat [Run agents in parallel](/id/agents) untuk cara pendekatan ini berhubungan.27**Menjalankan pekerjaan secara paralel.** Claude mendelegasikan tugas sampingan ke [subagent](/docs/id/sub-agents), dan `/tasks` mencantumkan pekerjaan latar belakang sesi saat ini, termasuk subagent yang telah selesai. `/background` melepaskan seluruh sesi untuk terus berjalan sebagai [background agent](/docs/id/agent-view) dan membebaskan terminal Anda. Untuk perubahan besar yang mencakup codebase, `/batch` menguraikannya menjadi unit independen dan menjalankan masing-masing di [worktree](/docs/id/worktrees) miliknya sendiri. Lihat [Run agents in parallel](/docs/id/agents) untuk cara pendekatan ini berhubungan.

28 28 

29**Sebelum Anda mengirim.** `/diff` menampilkan apa yang berubah, `/code-review` memeriksa diff untuk bug kebenaran dan pembersihan serta dapat menerapkan temuan dengan `--fix`, `/review` memberikan tinjauan read-only pass tunggal yang cepat dari permintaan tarik GitHub, `/code-review <level> <pr#>` menjalankan tinjauan multi-agent dari satu, dan `/security-review` memeriksa diff untuk kerentanan keamanan. `/code-review ultra` menjalankan tinjauan multi-agent di cloud.29**Sebelum Anda mengirim.** `/diff` menampilkan apa yang berubah, `/code-review` memeriksa diff untuk bug kebenaran dan pembersihan serta dapat menerapkan temuan dengan `--fix`, `/review` memberikan tinjauan read-only pass tunggal yang cepat dari permintaan tarik GitHub, `/code-review <level> <pr#>` menjalankan tinjauan multi-agent dari satu, dan `/security-review` memeriksa diff untuk kerentanan keamanan. `/code-review ultra` menjalankan tinjauan multi-agent di cloud.

30 30 


38 38 

39Tabel di bawah mencantumkan semua perintah yang disertakan dalam Claude Code. Sebagian besar adalah perintah bawaan yang perilakunya dikodekan ke dalam CLI. Dua jenis entri ditandai:39Tabel di bawah mencantumkan semua perintah yang disertakan dalam Claude Code. Sebagian besar adalah perintah bawaan yang perilakunya dikodekan ke dalam CLI. Dua jenis entri ditandai:

40 40 

41* **[Skill](/id/skills#bundled-skills)**: sebuah skill bundel. Ini bekerja seperti skills yang Anda tulis sendiri: prompt yang diberikan kepada Claude, yang juga dapat Claude panggil secara otomatis ketika relevan.41* **[Skill](/docs/id/skills#bundled-skills)**: sebuah skill bundel. Ini bekerja seperti skills yang Anda tulis sendiri: prompt yang diberikan kepada Claude, yang juga dapat Claude panggil secara otomatis ketika relevan.

42* **[Workflow](/id/workflows#bundled-workflows)**: sebuah [dynamic workflow](/id/workflows) bundel yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.42* **[Workflow](/docs/id/workflows#bundled-workflows)**: sebuah [dynamic workflow](/docs/id/workflows) bundel yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.

43 43 

44Untuk menambahkan perintah Anda sendiri, lihat [skills](/id/skills).44Untuk menambahkan perintah Anda sendiri, lihat [skills](/docs/id/skills).

45 45 

46Dalam tabel di bawah, `<arg>` menunjukkan argumen yang diperlukan dan `[arg]` menunjukkan argumen yang opsional.46Dalam tabel di bawah, `<arg>` menunjukkan argumen yang diperlukan dan `[arg]` menunjukkan argumen yang opsional.

47 47 


50</Note>50</Note>

51 51 

52| Perintah | Tujuan |52| Perintah | Tujuan |

53| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

54| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Mengetik path parsial menampilkan saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda dapat nanti melanjutkan sesi dari direktori yang ditambahkan dengan `--continue` atau `--resume` |54| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Mengetik path parsial menampilkan saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda dapat nanti melanjutkan sesi dari direktori yang ditambahkan dengan `--continue` atau `--resume` |

55| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [advisor tool](/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `opus`, `sonnet`, `fable` ({/* min-version: 2.1.170 */}v2.1.170+), atau ID model lengkap. Tanpa argumen, membuka pemilih |55| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [advisor tool](/docs/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `opus`, `sonnet`, `fable` (v2.1.170+), atau ID model lengkap. Tanpa argumen, membuka pemilih |

56| `/agents` | {/* min-version: 2.1.198 */}Sejak v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagents](/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. {/* max-version: 2.1.197 */}Pada v2.1.197 dan sebelumnya, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |56| `/agents` | Sejak v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagents](/docs/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. Pada v2.1.197 dan sebelumnya, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |

57| `/autofix-pr [prompt]` | Spawn sesi [Claude Code di web](/id/claude-code-on-the-web#auto-fix-pull-requests) yang memantau PR cabang saat ini dan mendorong perbaikan ketika CI gagal atau reviewer meninggalkan komentar. Mendeteksi PR terbuka dari cabang yang Anda checkout dengan `gh pr view`; untuk memantau PR yang berbeda, checkout cabangnya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar review; teruskan prompt untuk memberikan instruksi yang berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [Claude Code di web](/id/claude-code-on-the-web) |57| `/autofix-pr [prompt]` | Spawn sesi [Claude Code di web](/docs/id/claude-code-on-the-web#auto-fix-pull-requests) yang memantau PR cabang saat ini dan mendorong perbaikan ketika CI gagal atau reviewer meninggalkan komentar. Mendeteksi PR terbuka dari cabang yang Anda checkout dengan `gh pr view`; untuk memantau PR yang berbeda, checkout cabangnya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar review; teruskan prompt untuk memberikan instruksi yang berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [Claude Code di web](/docs/id/claude-code-on-the-web) |

58| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [background agent](/id/agent-view) dan bebaskan terminal ini. Teruskan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Alias: `/bg` |58| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [background agent](/docs/id/agent-view) dan bebaskan terminal ini. Teruskan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Alias: `/bg` |

59| `/batch <instruction>` | **[Skill](/id/skills#bundled-skills).** Orkestrasi perubahan skala besar di seluruh codebase secara paralel. Meneliti codebase, menguraikan pekerjaan menjadi 5 hingga 30 unit independen, dan menyajikan rencana. Setelah disetujui, spawn satu [background subagent](/id/sub-agents#run-subagents-in-foreground-or-background) per unit dalam [git worktree](/id/worktrees) yang terisolasi. Setiap subagent mengimplementasikan unitnya, menjalankan tes, dan membuka pull request. Memerlukan repositori git. Contoh: `/batch migrate src/ from Solid to React` |59| `/batch <instruction>` | **[Skill](/docs/id/skills#bundled-skills).** Orkestrasi perubahan skala besar di seluruh codebase secara paralel. Meneliti codebase, menguraikan pekerjaan menjadi 5 hingga 30 unit independen, dan menyajikan rencana. Setelah disetujui, spawn satu [background subagent](/docs/id/sub-agents#run-subagents-in-foreground-or-background) per unit dalam [git worktree](/docs/id/worktrees) yang terisolasi. Setiap subagent mengimplementasikan unitnya, menjalankan tes, dan membuka pull request. Memerlukan repositori git. Contoh: `/batch migrate src/ from Solid to React` |

60| `/branch [name]` | Buat cabang dari percakapan saat ini pada titik ini, sehingga Anda dapat mencoba arah yang berbeda tanpa kehilangan percakapan seperti adanya. Beralih Anda ke cabang dan melestarikan yang asli, yang dapat Anda kembali dengan `/resume`. Untuk menyerahkan tugas sampingan ke subagent latar belakang alih-alih beralih ke salinan sendiri, gunakan `/fork` |60| `/branch [name]` | Buat cabang dari percakapan saat ini pada titik ini, sehingga Anda dapat mencoba arah yang berbeda tanpa kehilangan percakapan seperti adanya. Beralih Anda ke cabang dan melestarikan yang asli, yang dapat Anda kembali dengan `/resume`. Untuk menyerahkan tugas sampingan ke subagent latar belakang alih-alih beralih ke salinan sendiri, gunakan `/fork` |

61| `/btw <question>` | Ajukan [pertanyaan sampingan](/id/interactive-mode#side-questions-with-%2Fbtw) dengan cepat tanpa menambahkan ke percakapan |61| `/btw <question>` | Ajukan [pertanyaan sampingan](/docs/id/interactive-mode#side-questions-with-%2Fbtw) dengan cepat tanpa menambahkan ke percakapan |

62| `/cd <path>` | {/* min-version: 2.1.169 */}Pindahkan sesi ini ke direktori kerja baru. Cache prompt percakapan dipertahankan: [`CLAUDE.md`](/id/memory) direktori baru ditambahkan sebagai pesan alih-alih membangun ulang system prompt. Sesi dipindahkan ke penyimpanan proyek direktori baru, jadi `--resume` dan `--continue` menemukannya dari sana. Meminta Anda untuk mempercayai direktori jika Anda belum pernah bekerja di dalamnya sebelumnya. {/* min-version: 2.1.206 */}Mengetik path parsial menampilkan saran direktori yang cocok; tekan `Tab` untuk menerima satu. Saran memerlukan Claude Code v2.1.206 atau lebih baru. Untuk memberikan akses ke direktori tambahan tanpa memindahkan sesi, gunakan `/add-dir`. Batasi atau nonaktifkan target `/cd` dengan [aturan izin `Cd`](/id/permissions#cd). Memerlukan Claude Code v2.1.169 atau lebih baru; versi sebelumnya melaporkan `Unknown command: /cd` |62| `/cd <path>` | Pindahkan sesi ini ke direktori kerja baru. Cache prompt percakapan dipertahankan: [`CLAUDE.md`](/docs/id/memory) direktori baru ditambahkan sebagai pesan alih-alih membangun ulang system prompt. Sesi dipindahkan ke penyimpanan proyek direktori baru, jadi `--resume` dan `--continue` menemukannya dari sana. Meminta Anda untuk mempercayai direktori jika Anda belum pernah bekerja di dalamnya sebelumnya. Mengetik path parsial menampilkan saran direktori yang cocok; tekan `Tab` untuk menerima satu. Saran memerlukan Claude Code v2.1.206 atau lebih baru. Untuk memberikan akses ke direktori tambahan tanpa memindahkan sesi, gunakan `/add-dir`. Batasi atau nonaktifkan target `/cd` dengan [aturan izin `Cd`](/docs/id/permissions#cd). Memerlukan Claude Code v2.1.169 atau lebih baru; versi sebelumnya melaporkan `Unknown command: /cd` |

63| `/chrome` | Konfigurasi pengaturan [Claude in Chrome](/id/chrome) |63| `/chrome` | Konfigurasi pengaturan [Claude in Chrome](/docs/id/chrome) |

64| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/id/skills#bundled-skills).** Muat materi referensi Claude API untuk bahasa proyek Anda (Python, TypeScript, Java, Go, Ruby, C#, PHP, atau cURL) dan referensi Managed Agents. Mencakup tool use, streaming, batches, structured outputs, dan pitfalls umum. Juga mengaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Jalankan `/claude-api migrate` untuk meningkatkan kode Claude API yang ada ke model yang lebih baru: Claude menanyakan file mana yang akan dipindai dan model mana yang akan ditargetkan, kemudian memperbarui ID model, konfigurasi thinking, dan parameter lain yang berubah antar versi. Jalankan `/claude-api managed-agents-onboard` untuk panduan interaktif yang membuat Managed Agent baru dari awal |64| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/docs/id/skills#bundled-skills).** Muat materi referensi Claude API untuk bahasa proyek Anda (Python, TypeScript, Java, Go, Ruby, C#, PHP, atau cURL) dan referensi Managed Agents. Mencakup tool use, streaming, batches, structured outputs, dan pitfalls umum. Juga mengaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Jalankan `/claude-api migrate` untuk meningkatkan kode Claude API yang ada ke model yang lebih baru: Claude menanyakan file mana yang akan dipindai dan model mana yang akan ditargetkan, kemudian memperbarui ID model, konfigurasi thinking, dan parameter lain yang berubah antar versi. Jalankan `/claude-api managed-agents-onboard` untuk panduan interaktif yang membuat Managed Agent baru dari awal |

65| `/clear [name]` | Mulai percakapan baru dengan konteks kosong. Teruskan nama untuk memberi label percakapan sebelumnya di pemilih `/resume`. Untuk membebaskan konteks sambil melanjutkan percakapan yang sama, gunakan `/compact` sebagai gantinya. Lanjutkan percakapan sebelumnya dengan `/resume`, atau, dalam proses Claude Code yang sama, {/* min-version: 2.1.191 */}pulihkan dari [menu rewind's previous-session entry](/id/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |65| `/clear [name]` | Mulai percakapan baru dengan konteks kosong. Teruskan nama untuk memberi label percakapan sebelumnya di pemilih `/resume`. Untuk membebaskan konteks sambil melanjutkan percakapan yang sama, gunakan `/compact` sebagai gantinya. Lanjutkan percakapan sebelumnya dengan `/resume`, atau, dalam proses Claude Code yang sama, pulihkan dari [menu rewind's previous-session entry](/docs/id/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |

66| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/id/skills#bundled-skills).** Tinjau diff saat ini untuk bug kebenaran dan untuk reuse, simplification, dan efficiency cleanups. Teruskan `--fix` untuk menerapkan temuan ke working tree Anda, `--comment` untuk memposting sebagai komentar inline GitHub PR, atau `ultra` untuk menjalankan deep [cloud review](/id/ultrareview). {/* min-version: 2.1.154 */}Dari v2.1.154, `/simplify` menjalankan review cleanup-only terpisah yang menerapkan perbaikan tanpa mencari bug kebenaran. Lihat [Review a diff locally](/id/code-review#review-a-diff-locally) untuk effort levels dan targeting |66| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau diff saat ini untuk bug kebenaran dan untuk reuse, simplification, dan efficiency cleanups. Teruskan `--fix` untuk menerapkan temuan ke working tree Anda, `--comment` untuk memposting sebagai komentar inline GitHub PR, atau `ultra` untuk menjalankan deep [cloud review](/docs/id/ultrareview). Dari v2.1.154, `/simplify` menjalankan review cleanup-only terpisah yang menerapkan perbaikan tanpa mencari bug kebenaran. Lihat [Review a diff locally](/docs/id/code-review#review-a-diff-locally) untuk effort levels dan targeting |

67| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna yang tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code. {/* min-version: 2.1.205 */}Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |67| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna yang tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/docs/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |

68| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional teruskan instruksi fokus untuk ringkasan. Lihat [bagaimana compaction menangani rules, skills, dan memory files](/id/context-window#what-survives-compaction) |68| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional teruskan instruksi fokus untuk ringkasan. Lihat [bagaimana compaction menangani rules, skills, dan memory files](/docs/id/context-window#what-survives-compaction) |

69| `/config [key=value ...]` | Buka antarmuka [Settings](/id/settings) untuk menyesuaikan tema, model, [output style](/id/output-styles), dan preferensi lainnya. {/* min-version: 2.1.181 */}Dari v2.1.181, teruskan satu atau lebih pasangan `key=value` untuk mengatur pengaturan secara langsung tanpa membuka antarmuka, misalnya `/config thinking=false`. {/* min-version: 2.1.182 */}Dari v2.1.182, kunci shorthand bernama juga diterima, seperti `/config theme=dark` atau `/config model=sonnet`. Bentuk `key=value` juga bekerja dalam mode non-interaktif (`-p`) dan dari aplikasi mobile Claude melalui [Remote Control](/id/remote-control). Jalankan `/config --help` untuk membuat daftar setiap kunci yang dapat diatur dengan opsinya. Alias: `/settings` |69| `/config [key=value ...]` | Buka antarmuka [Settings](/docs/id/settings) untuk menyesuaikan tema, model, [output style](/docs/id/output-styles), dan preferensi lainnya. Dari v2.1.181, teruskan satu atau lebih pasangan `key=value` untuk mengatur pengaturan secara langsung tanpa membuka antarmuka, misalnya `/config thinking=false`. Dari v2.1.182, kunci shorthand bernama juga diterima, seperti `/config theme=dark` atau `/config model=sonnet`. Bentuk `key=value` juga bekerja dalam mode non-interaktif (`-p`) dan dari aplikasi mobile Claude melalui [Remote Control](/docs/id/remote-control). Jalankan `/config --help` untuk membuat daftar setiap kunci yang dapat diatur dengan opsinya. Alias: `/settings` |

70| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menampilkan saran optimasi untuk alat yang berat konteks, memory bloat, dan peringatan kapasitas. Dalam [fullscreen mode](/id/fullscreen) rincian per-item disusutkan untuk menjaga grid tetap terlihat. Teruskan `all` untuk meperluasnya |70| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menampilkan saran optimasi untuk alat yang berat konteks, memory bloat, dan peringatan kapasitas. Dalam [fullscreen mode](/docs/id/fullscreen) rincian per-item disusutkan untuk menjaga grid tetap terlihat. Teruskan `all` untuk meperluasnya |

71| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Teruskan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin respons kedua terakhir. Ketika blok kode ada, menampilkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |71| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Teruskan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin respons kedua terakhir. Ketika blok kode ada, menampilkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |

72| `/cost` | Alias untuk `/usage` |72| `/cost` | Alias untuk `/usage` |

73| `/dataviz [request]` | **[Skill](/id/skills#bundled-skills).** Panduan desain untuk bagan, grafik, dan dashboard. Claude memilih bentuk bagan untuk data, menetapkan warna berdasarkan peran, memvalidasi palet untuk keamanan buta warna dan kontras dengan skrip bundel, dan menerapkan aturan mark, interaction, dan accessibility. Menggunakan palet placeholder netral merek yang Anda ganti dengan milik Anda sendiri. {/* min-version: 2.1.198 */}Memerlukan Claude Code v2.1.198 atau lebih baru |73| `/dataviz [request]` | **[Skill](/docs/id/skills#bundled-skills).** Panduan desain untuk bagan, grafik, dan dashboard. Claude memilih bentuk bagan untuk data, menetapkan warna berdasarkan peran, memvalidasi palet untuk keamanan buta warna dan kontras dengan skrip bundel, dan menerapkan aturan mark, interaction, dan accessibility. Menggunakan palet placeholder netral merek yang Anda ganti dengan milik Anda sendiri. Memerlukan Claude Code v2.1.198 atau lebih baru |

74| `/debug [description]` | **[Skill](/id/skills#bundled-skills).** Aktifkan debug logging untuk sesi saat ini dan troubleshoot masalah dengan membaca session debug log. Debug logging dimatikan secara default kecuali Anda memulai dengan `claude --debug`, jadi menjalankan `/debug` di tengah sesi mulai menangkap log dari titik itu ke depan. Secara opsional jelaskan masalah untuk fokus analisis |74| `/debug [description]` | **[Skill](/docs/id/skills#bundled-skills).** Aktifkan debug logging untuk sesi saat ini dan troubleshoot masalah dengan membaca session debug log. Debug logging dimatikan secara default kecuali Anda memulai dengan `claude --debug`, jadi menjalankan `/debug` di tengah sesi mulai menangkap log dari titik itu ke depan. Secara opsional jelaskan masalah untuk fokus analisis |

75| `/deep-research <question>` | **[Workflow](/id/workflows#bundled-workflows).** Menyebarkan pencarian web pada pertanyaan, mengambil dan cross-check sumber, dan mensintesis laporan yang dikutip |75| `/deep-research <question>` | **[Workflow](/docs/id/workflows#bundled-workflows).** Menyebarkan pencarian web pada pertanyaan, mengambil dan cross-check sumber, dan mensintesis laporan yang dikutip |

76| `/design-login` | Otorisasi akses design-system untuk `/design-sync` dengan akun claude.ai Anda |76| `/design-login` | Otorisasi akses design-system untuk `/design-sync` dengan akun claude.ai Anda |

77| `/design-sync [hint]` | **[Skill](/id/skills#bundled-skills).** Konversi design system React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkannya menggunakan komponen nyata Anda. Secara opsional beri nama design system, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam pada repo besar. Tersedia di Anthropic API; di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Claude Platform on AWS alat yang mendasarinya tidak dapat menjangkau claude.ai, jadi perintah tidak tersedia |77| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi design system React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkannya menggunakan komponen nyata Anda. Secara opsional beri nama design system, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam pada repo besar. Tersedia di Anthropic API; di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Claude Platform on AWS alat yang mendasarinya tidak dapat menjangkau claude.ai, jadi perintah tidak tersedia |

78| `/desktop` | Lanjutkan sesi saat ini di aplikasi Claude Code Desktop. Memerlukan macOS atau Windows dan langganan Claude. Alias: `/app` |78| `/desktop` | Lanjutkan sesi saat ini di aplikasi Claude Code Desktop. Memerlukan macOS atau Windows dan langganan Claude. Alias: `/app` |

79| `/diff` | Buka penampil diff interaktif yang menampilkan perubahan yang belum di-commit dan per-turn diffs. Gunakan panah kiri/kanan untuk beralih antara git diff saat ini dan turn Claude individual, dan atas/bawah untuk menelusuri file. Tekan Enter untuk membuka diff file yang dipilih, gulir dengan atas/bawah atau PageUp/PageDown, dan tekan Esc untuk kembali ke daftar file. {/* min-version: 2.1.198 */}Sejak v2.1.198, penampil terbuka juga menyegarkan secara otomatis ketika status git repositori berubah di luar sesi, seperti switch cabang atau commit di terminal lain |79| `/diff` | Buka penampil diff interaktif yang menampilkan perubahan yang belum di-commit dan per-turn diffs. Gunakan panah kiri/kanan untuk beralih antara git diff saat ini dan turn Claude individual, dan atas/bawah untuk menelusuri file. Tekan Enter untuk membuka diff file yang dipilih, gulir dengan atas/bawah atau PageUp/PageDown, dan tekan Esc untuk kembali ke daftar file. Sejak v2.1.198, penampil terbuka juga menyegarkan secara otomatis ketika status git repositori berubah di luar sesi, seperti switch cabang atau commit di terminal lain |

80| `/doctor` | **[Skill](/id/skills#bundled-skills).** Jalankan checkup setup yang mendiagnosis masalah dan dapat memperbaikinya. Memeriksa kesehatan instalasi, termasuk instalasi duplikat atau sisa, masalah `PATH`, dan file pengaturan yang tidak dapat diuraikan. Menemukan skills, server MCP, dan plugins yang tidak digunakan versus biaya konteksnya, menandai [hooks](/id/hooks) yang lambat, dan memeriksa versi yang lebih baru pada saluran rilis Anda. Menghilangkan duplikat file `CLAUDE.md` lokal terhadap yang diperiksa, memangkas file [`CLAUDE.md`](/id/memory) yang diperiksa dengan memotong konten yang Claude dapat turunkan dari codebase, dan memigrasikan panduan yang selalu dimuat ke [skills](/id/skills) dan file `CLAUDE.md` bersarang yang dimuat sesuai permintaan. Pemangkasan memotong bagian seperti tata letak direktori, daftar dependensi, dan gambaran umum arsitektur, dan menyimpan pitfalls, rationale, dan konvensi yang berbeda dari default alat. Juga menawarkan untuk membuat [auto mode](/id/permissions#permission-modes) default Anda dan untuk [pre-approve](/id/permissions) perintah read-only yang sering ditolak. Melaporkan temuan terlebih dahulu dan meminta konfirmasi sebelum mengubah apa pun. Dari terminal, `claude doctor` mencetak diagnostik instalasi read-only tanpa memulai sesi. Alias: `/checkup`. {/* min-version: 2.1.206 */}Pemeriksaan pemangkasan `CLAUDE.md` memerlukan Claude Code v2.1.206 atau lebih baru. Sebelum v2.1.206, pemeriksaan versi membandingkan instalasi Homebrew terhadap pengaturan `autoUpdatesChannel` daripada [saluran cask yang terpasang](/id/setup#configure-release-channel). {/* min-version: 2.1.205 */}Sebelum v2.1.205, `/doctor` membuka layar diagnostik read-only dan menekan `f` mengirim laporan ke Claude |80| `/doctor` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan checkup setup yang mendiagnosis masalah dan dapat memperbaikinya. Memeriksa kesehatan instalasi, termasuk instalasi duplikat atau sisa, masalah `PATH`, dan file pengaturan yang tidak dapat diuraikan. Menemukan skills, server MCP, dan plugins yang tidak digunakan versus biaya konteksnya, menandai [hooks](/docs/id/hooks) yang lambat, dan memeriksa versi yang lebih baru pada saluran rilis Anda. Menghilangkan duplikat file `CLAUDE.md` lokal terhadap yang diperiksa, memangkas file [`CLAUDE.md`](/docs/id/memory) yang diperiksa dengan memotong konten yang Claude dapat turunkan dari codebase, dan memigrasikan panduan yang selalu dimuat ke [skills](/docs/id/skills) dan file `CLAUDE.md` bersarang yang dimuat sesuai permintaan. Pemangkasan memotong bagian seperti tata letak direktori, daftar dependensi, dan gambaran umum arsitektur, dan menyimpan pitfalls, rationale, dan konvensi yang berbeda dari default alat. Juga menawarkan untuk membuat [auto mode](/docs/id/permissions#permission-modes) default Anda dan untuk [pre-approve](/docs/id/permissions) perintah read-only yang sering ditolak. Melaporkan temuan terlebih dahulu dan meminta konfirmasi sebelum mengubah apa pun. Dari terminal, `claude doctor` mencetak diagnostik instalasi read-only tanpa memulai sesi. Alias: `/checkup`. Pemeriksaan pemangkasan `CLAUDE.md` memerlukan Claude Code v2.1.206 atau lebih baru. Sebelum v2.1.206, pemeriksaan versi membandingkan instalasi Homebrew terhadap pengaturan `autoUpdatesChannel` daripada [saluran cask yang terpasang](/docs/id/setup#configure-release-channel). Sebelum v2.1.205, `/doctor` membuka layar diagnostik read-only dan menekan `f` mengirim laporan ke Claude |

81| `/effort [level\|auto]` | Atur [effort level](/id/model-config#adjust-effort-level) model. Menerima `low`, `medium`, `high`, `xhigh`, `max`, atau `ultracode`; level yang tersedia tergantung pada model, dan `max` dan `ultracode` hanya untuk sesi. `ultracode` adalah pengaturan Claude Code yang menggabungkan reasoning `xhigh` dengan orkestrasi [workflow](/id/workflows#let-claude-decide-with-ultracode) otomatis. `auto` mengatur ulang ke default model. Tanpa argumen, membuka slider interaktif; gunakan panah kiri dan kanan untuk memilih level dan `Enter` untuk menerapkan. Berlaku segera tanpa menunggu respons saat ini selesai. {/* min-version: 2.1.205 */}Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen level, di mana ini berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru. Pada Fable 5, Opus 4.8, dan Opus 4.7, `/effort` non-interaktif melaporkan `Not applied` saat [model-default effort hold](/id/model-config#adjust-effort-level) berlaku, jadi teruskan `--effort` saat peluncuran sebagai gantinya |81| `/effort [level\|auto]` | Atur [effort level](/docs/id/model-config#adjust-effort-level) model. Menerima `low`, `medium`, `high`, `xhigh`, `max`, atau `ultracode`; level yang tersedia tergantung pada model, dan `max` dan `ultracode` hanya untuk sesi. `ultracode` adalah pengaturan Claude Code yang menggabungkan reasoning `xhigh` dengan orkestrasi [workflow](/docs/id/workflows#let-claude-decide-with-ultracode) otomatis. `auto` mengatur ulang ke default model. Tanpa argumen, membuka slider interaktif; gunakan panah kiri dan kanan untuk memilih level dan `Enter` untuk menerapkan. Berlaku segera tanpa menunggu respons saat ini selesai. Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen level, di mana ini berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru. Pada Fable 5, Opus 4.8, dan Opus 4.7, `/effort` non-interaktif melaporkan `Not applied` saat [model-default effort hold](/docs/id/model-config#adjust-effort-level) berlaku, jadi teruskan `--effort` saat peluncuran sebagai gantinya |

82| `/exit` | Keluar dari CLI. Dalam [background session](/id/agent-view#attach-to-a-session) yang terpasang, ini melepaskan dan sesi terus berjalan. Alias: `/quit` |82| `/exit` | Keluar dari CLI. Dalam [background session](/docs/id/agent-view#attach-to-a-session) yang terpasang, ini melepaskan dan sesi terus berjalan. Alias: `/quit` |

83| `/export [filename]` | Ekspor percakapan saat ini sebagai teks biasa. Dengan nama file, menulis langsung ke file tersebut. Tanpa, membuka dialog untuk menyalin ke clipboard atau menyimpan ke file |83| `/export [filename]` | Ekspor percakapan saat ini sebagai teks biasa. Dengan nama file, menulis langsung ke file tersebut. Tanpa, membuka dialog untuk menyalin ke clipboard atau menyimpan ke file |

84| `/fast [on\|off]` | Alihkan [fast mode](/id/fast-mode) aktif atau nonaktif. {/* min-version: 2.1.205 */}Dalam mode non-interaktif (`-p`), `/fast` hanya bekerja dalam sesi yang diluncurkan dengan fast mode dalam nilai [`--settings`](/id/cli-reference#cli-flags)-nya, misalnya `claude -p --settings '{"fastMode": true}'`; toggle kemudian berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda, dan dalam sesi non-interaktif lainnya perintah melaporkan bahwa fast mode tidak tersedia. Memerlukan Claude Code v2.1.205 atau lebih baru |84| `/fast [on\|off]` | Alihkan [fast mode](/docs/id/fast-mode) aktif atau nonaktif. Dalam mode non-interaktif (`-p`), `/fast` hanya bekerja dalam sesi yang diluncurkan dengan fast mode dalam nilai [`--settings`](/docs/id/cli-reference#cli-flags)-nya, misalnya `claude -p --settings '{"fastMode": true}'`; toggle kemudian berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda, dan dalam sesi non-interaktif lainnya perintah melaporkan bahwa fast mode tidak tersedia. Memerlukan Claude Code v2.1.205 atau lebih baru |

85| `/feedback [report]` | Kirimkan umpan balik, laporkan bug, atau bagikan percakapan Anda. Mengirim ke Anthropic memerlukan [authentication](/id/authentication). Alias: `/bug`, `/share` |85| `/feedback [report]` | Kirimkan umpan balik, laporkan bug, atau bagikan percakapan Anda. Mengirim ke Anthropic memerlukan [authentication](/docs/id/authentication). Alias: `/bug`, `/share` |

86| `/fewer-permission-prompts` | **[Skill](/id/skills#bundled-skills).** Pindai transkrip Anda untuk Bash dan MCP tool calls read-only umum, kemudian tambahkan allowlist prioritas ke project `.claude/settings.json` untuk mengurangi permission prompts |86| `/fewer-permission-prompts` | **[Skill](/docs/id/skills#bundled-skills).** Pindai transkrip Anda untuk Bash dan MCP tool calls read-only umum, kemudian tambahkan allowlist prioritas ke project `.claude/settings.json` untuk mengurangi permission prompts |

87| `/focus` | Alihkan focus view, yang menampilkan hanya prompt terakhir Anda, ringkasan tool-call satu baris dengan edit diffstats, dan respons final. {/* min-version: 2.1.198 */}Sejak v2.1.198, ringkasan tool-call juga menghitung subagent yang diluncurkan dalam turn dan menyusutkan notifikasi background-task yang selesai menjadi satu hitungan. Pilihan bertahan di seluruh sesi; atur [`viewMode`](/id/settings#available-settings) dalam pengaturan untuk menggantinya. Hanya tersedia dalam [fullscreen rendering](/id/fullscreen) |87| `/focus` | Alihkan focus view, yang menampilkan hanya prompt terakhir Anda, ringkasan tool-call satu baris dengan edit diffstats, dan respons final. Sejak v2.1.198, ringkasan tool-call juga menghitung subagent yang diluncurkan dalam turn dan menyusutkan notifikasi background-task yang selesai menjadi satu hitungan. Pilihan bertahan di seluruh sesi; atur [`viewMode`](/docs/id/settings#available-settings) dalam pengaturan untuk menggantinya. Hanya tersedia dalam [fullscreen rendering](/docs/id/fullscreen) |

88| `/fork <directive>` | {/* min-version: 2.1.161 */}Spawn [forked subagent](/id/sub-agents#fork-the-current-conversation): sebuah subagent latar belakang yang mewarisi percakapan lengkap dan bekerja pada direktif sementara Anda terus melanjutkan. Hasilnya kembali ke percakapan Anda ketika selesai. Untuk beralih ke salinan percakapan sendiri, gunakan `/branch`. Sebelum v2.1.161, `/fork` adalah alias untuk `/branch` |88| `/fork <directive>` | Spawn [forked subagent](/docs/id/sub-agents#fork-the-current-conversation): sebuah subagent latar belakang yang mewarisi percakapan lengkap dan bekerja pada direktif sementara Anda terus melanjutkan. Hasilnya kembali ke percakapan Anda ketika selesai. Untuk beralih ke salinan percakapan sendiri, gunakan `/branch`. Sebelum v2.1.161, `/fork` adalah alias untuk `/branch` |

89| `/goal [condition\|clear]` | Atur [goal](/id/goal): Claude terus bekerja di seluruh turn sampai kondisi terpenuhi. Tanpa argumen, menampilkan goal saat ini atau yang paling baru dicapai. `clear`, `stop`, `off`, `reset`, `none`, atau `cancel` menghapus goal aktif lebih awal |89| `/goal [condition\|clear]` | Atur [goal](/docs/id/goal): Claude terus bekerja di seluruh turn sampai kondisi terpenuhi. Tanpa argumen, menampilkan goal saat ini atau yang paling baru dicapai. `clear`, `stop`, `off`, `reset`, `none`, atau `cancel` menghapus goal aktif lebih awal |

90| `/heapdump` | Tulis JavaScript heap snapshot dan memory breakdown ke `~/Desktop`, atau direktori home Anda di Linux tanpa folder Desktop, untuk mendiagnosis penggunaan memori tinggi. File `.heapsnapshot` berisi percakapan lengkap Anda dan kredensial, jadi jangan bagikan. Lihat [troubleshooting](/id/troubleshooting#high-cpu-or-memory-usage) |90| `/heapdump` | Tulis JavaScript heap snapshot dan memory breakdown ke `~/Desktop`, atau direktori home Anda di Linux tanpa folder Desktop, untuk mendiagnosis penggunaan memori tinggi. File `.heapsnapshot` berisi percakapan lengkap Anda dan kredensial, jadi jangan bagikan. Lihat [troubleshooting](/docs/id/troubleshooting#high-cpu-or-memory-usage) |

91| `/help` | Tampilkan bantuan dan perintah yang tersedia |91| `/help` | Tampilkan bantuan dan perintah yang tersedia |

92| `/hooks` | Lihat konfigurasi [hook](/id/hooks) untuk peristiwa alat |92| `/hooks` | Lihat konfigurasi [hook](/docs/id/hooks) untuk peristiwa alat |

93| `/ide` | Kelola integrasi IDE dan tampilkan status |93| `/ide` | Kelola integrasi IDE dan tampilkan status |

94| `/init` | Inisialisasi proyek dengan panduan `CLAUDE.md`. Atur `CLAUDE_CODE_NEW_INIT=1` untuk alur interaktif yang juga memandu melalui skills, hooks, dan file memori pribadi |94| `/init` | Inisialisasi proyek dengan panduan `CLAUDE.md`. Atur `CLAUDE_CODE_NEW_INIT=1` untuk alur interaktif yang juga memandu melalui skills, hooks, dan file memori pribadi |

95| `/insights` | Hasilkan laporan yang menganalisis sesi Claude Code Anda, termasuk area proyek, pola interaksi, dan titik gesekan |95| `/insights` | Hasilkan laporan yang menganalisis sesi Claude Code Anda, termasuk area proyek, pola interaksi, dan titik gesekan |

96| `/install-github-app` | Instal aplikasi Claude GitHub untuk repositori, dengan langkah opsional untuk menyiapkan workflow [GitHub Actions](/id/github-actions) dan secrets. Memandu Anda melalui pemilihan repo dan konfigurasi integrasi |96| `/install-github-app` | Instal aplikasi Claude GitHub untuk repositori, dengan langkah opsional untuk menyiapkan workflow [GitHub Actions](/docs/id/github-actions) dan secrets. Memandu Anda melalui pemilihan repo dan konfigurasi integrasi |

97| `/install-slack-app` | Instal aplikasi Claude Slack. Membuka browser untuk menyelesaikan alur OAuth |97| `/install-slack-app` | Instal aplikasi Claude Slack. Membuka browser untuk menyelesaikan alur OAuth |

98| `/keybindings` | Buka file pintasan keyboard Anda |98| `/keybindings` | Buka file pintasan keyboard Anda |

99| `/login` | Masuk ke akun Anthropic Anda |99| `/login` | Masuk ke akun Anthropic Anda |

100| `/logout` | Keluar dari akun Anthropic Anda |100| `/logout` | Keluar dari akun Anthropic Anda |

101| `/loop [interval] [prompt]` | **[Skill](/id/skills#bundled-skills).** Jalankan prompt berulang kali sementara sesi tetap terbuka. Hilangkan interval dan Claude self-paces antara iterasi. Hilangkan prompt dan, [di mana tersedia](/id/scheduled-tasks#run-the-built-in-maintenance-prompt), Claude menjalankan autonomous maintenance check atau prompt di `.claude/loop.md`. Contoh: `/loop 5m check if the deploy finished`. Lihat [Run prompts on a schedule](/id/scheduled-tasks). Alias: `/proactive` |101| `/loop [interval] [prompt]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan prompt berulang kali sementara sesi tetap terbuka. Hilangkan interval dan Claude self-paces antara iterasi. Hilangkan prompt dan, [di mana tersedia](/docs/id/scheduled-tasks#run-the-built-in-maintenance-prompt), Claude menjalankan autonomous maintenance check atau prompt di `.claude/loop.md`. Contoh: `/loop 5m check if the deploy finished`. Lihat [Run prompts on a schedule](/docs/id/scheduled-tasks). Alias: `/proactive` |

102| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Kelola koneksi server MCP dan autentikasi OAuth. Jalankan tanpa argumen untuk membuka daftar interaktif, teruskan `reconnect <server>` untuk menghubungkan kembali satu server yang terputus, atau teruskan `enable`/`disable` dengan nama server atau `all` untuk mengubah status koneksi tanpa membuka dialog. {/* min-version: 2.1.205 */}Juga tersedia dalam mode non-interaktif (`-p`), di mana menjalankannya tanpa argumen mencetak ringkasan teks status server alih-alih membuka daftar; memerlukan Claude Code v2.1.205 atau lebih baru |102| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Kelola koneksi server MCP dan autentikasi OAuth. Jalankan tanpa argumen untuk membuka daftar interaktif, teruskan `reconnect <server>` untuk menghubungkan kembali satu server yang terputus, atau teruskan `enable`/`disable` dengan nama server atau `all` untuk mengubah status koneksi tanpa membuka dialog. Juga tersedia dalam mode non-interaktif (`-p`), di mana menjalankannya tanpa argumen mencetak ringkasan teks status server alih-alih membuka daftar; memerlukan Claude Code v2.1.205 atau lebih baru |

103| `/memory` | Edit file memori `CLAUDE.md`, aktifkan atau nonaktifkan [auto-memory](/id/memory#auto-memory), dan lihat entri auto-memory |103| `/memory` | Edit file memori `CLAUDE.md`, aktifkan atau nonaktifkan [auto-memory](/docs/id/memory#auto-memory), dan lihat entri auto-memory |

104| `/mobile` | Tampilkan kode QR untuk mengunduh aplikasi Claude mobile. Alias: `/ios`, `/android` |104| `/mobile` | Tampilkan kode QR untuk mengunduh aplikasi Claude mobile. Alias: `/ios`, `/android` |

105| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan effort level](/id/model-config#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Pemilih meminta konfirmasi ketika percakapan memiliki output sebelumnya, karena respons berikutnya membaca ulang riwayat lengkap tanpa cached context. Setelah dikonfirmasi, perubahan berlaku tanpa menunggu respons saat ini selesai. {/* min-version: 2.1.205 */}Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen model alih-alih pemilih, di mana ini berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru |105| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan effort level](/docs/id/model-config#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Pemilih meminta konfirmasi ketika percakapan memiliki output sebelumnya, karena respons berikutnya membaca ulang riwayat lengkap tanpa cached context. Setelah dikonfirmasi, perubahan berlaku tanpa menunggu respons saat ini selesai. Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen model alih-alih pemilih, di mana ini berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru |

106| `/passes` | Bagikan minggu gratis Claude Code dengan teman. Hanya terlihat jika akun Anda memenuhi syarat |106| `/passes` | Bagikan minggu gratis Claude Code dengan teman. Hanya terlihat jika akun Anda memenuhi syarat |

107| `/permissions` | Kelola aturan allow, ask, dan deny untuk izin alat. Membuka dialog interaktif di mana Anda dapat melihat aturan berdasarkan scope, menambah atau menghapus aturan, mengelola direktori kerja, dan meninjau [recent auto mode denials](/id/auto-mode-config#review-denials). Alias: `/allowed-tools` |107| `/permissions` | Kelola aturan allow, ask, dan deny untuk izin alat. Membuka dialog interaktif di mana Anda dapat melihat aturan berdasarkan scope, menambah atau menghapus aturan, mengelola direktori kerja, dan meninjau [recent auto mode denials](/docs/id/auto-mode-config#review-denials). Alias: `/allowed-tools` |

108| `/plan [description]` | Masuki plan mode langsung dari prompt. Teruskan deskripsi opsional untuk memasuki plan mode dan segera mulai dengan tugas tersebut, misalnya `/plan fix the auth bug` |108| `/plan [description]` | Masuki plan mode langsung dari prompt. Teruskan deskripsi opsional untuk memasuki plan mode dan segera mulai dengan tugas tersebut, misalnya `/plan fix the auth bug` |

109| `/plugin [subcommand]` | Kelola Claude Code [plugins](/id/plugins). Jalankan tanpa argumen untuk membuka menu plugin, atau teruskan subcommand seperti `list`, `install`, `enable`, atau `disable` untuk bertindak langsung |109| `/plugin [subcommand]` | Kelola Claude Code [plugins](/docs/id/plugins). Jalankan tanpa argumen untuk membuka menu plugin, atau teruskan subcommand seperti `list`, `install`, `enable`, atau `disable` untuk bertindak langsung |

110| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |110| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |

111| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}Dihapus di v2.1.91. Tanyakan Claude secara langsung untuk melihat komentar pull request sebagai gantinya. Pada versi sebelumnya, mengambil dan menampilkan komentar dari pull request GitHub; secara otomatis mendeteksi PR untuk cabang saat ini, atau teruskan URL atau nomor PR. Memerlukan CLI `gh` |111| `/pr-comments [PR]` | Dihapus di v2.1.91. Tanyakan Claude secara langsung untuk melihat komentar pull request sebagai gantinya. Pada versi sebelumnya, mengambil dan menampilkan komentar dari pull request GitHub; secara otomatis mendeteksi PR untuk cabang saat ini, atau teruskan URL atau nomor PR. Memerlukan CLI `gh` |

112| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro dan Max |112| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro dan Max |

113| `/radio` | Buka Claude FM lo-fi radio di browser Anda. Mencetak URL stream ketika tidak ada browser yang tersedia. Tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS |113| `/radio` | Buka Claude FM lo-fi radio di browser Anda. Mencetak URL stream ketika tidak ada browser yang tersedia. Tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS |

114| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Session recap](/id/interactive-mode#session-recap) untuk recap otomatis yang muncul setelah Anda pergi |114| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Session recap](/docs/id/interactive-mode#session-recap) untuk recap otomatis yang muncul setelah Anda pergi |

115| `/release-notes` | Lihat changelog dalam pemilih versi interaktif. Pilih versi spesifik untuk melihat release notes-nya, atau pilih untuk menampilkan semua versi. {/* min-version: 2.1.208 */}Catatan muncul dalam transkrip Anda tanpa memasuki percakapan yang Claude lihat. Sebelum v2.1.208, catatan yang dilihat memasuki percakapan, termasuk seluruh changelog saat menampilkan semua versi |115| `/release-notes` | Lihat changelog dalam pemilih versi interaktif. Pilih versi spesifik untuk melihat release notes-nya, atau pilih untuk menampilkan semua versi. Catatan muncul dalam transkrip Anda tanpa memasuki percakapan yang Claude lihat. Sebelum v2.1.208, catatan yang dilihat memasuki percakapan, termasuk seluruh changelog saat menampilkan semua versi |

116| `/reload-plugins [--force]` | Muat ulang semua [plugins](/id/plugins) aktif untuk menerapkan perubahan yang tertunda tanpa memulai ulang. Melaporkan jumlah untuk setiap komponen yang dimuat ulang dan menandai kesalahan pemuatan apa pun. Ketika reload akan mengubah alat MCP mana yang dimuat dan membatalkan cache prompt, perintah memperingatkan dan melewati kecuali Anda teruskan `--force` |116| `/reload-plugins [--force]` | Muat ulang semua [plugins](/docs/id/plugins) aktif untuk menerapkan perubahan yang tertunda tanpa memulai ulang. Melaporkan jumlah untuk setiap komponen yang dimuat ulang dan menandai kesalahan pemuatan apa pun. Ketika reload akan mengubah alat MCP mana yang dimuat dan membatalkan cache prompt, perintah memperingatkan dan melewati kecuali Anda teruskan `--force` |

117| `/reload-skills` | {/* min-version: 2.1.152 */}Pindai ulang direktori [skill](/id/skills) dan command sehingga skills yang ditambahkan atau diubah di disk selama sesi menjadi tersedia tanpa memulai ulang. Melaporkan berapa banyak skills yang tersedia dan berapa banyak yang ditambahkan atau dihapus. Ditambahkan di v2.1.152 |117| `/reload-skills` | Pindai ulang direktori [skill](/docs/id/skills) dan command sehingga skills yang ditambahkan atau diubah di disk selama sesi menjadi tersedia tanpa memulai ulang. Melaporkan berapa banyak skills yang tersedia dan berapa banyak yang ditambahkan atau dihapus. Ditambahkan di v2.1.152 |

118| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](/id/remote-control) dari claude.ai. {/* min-version: 2.1.206 */}Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk; sebelum v2.1.206 itu melaporkan `Unknown command: /remote-control`. Alias: `/rc` |118| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](/docs/id/remote-control) dari claude.ai. Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk; sebelum v2.1.206 itu melaporkan `Unknown command: /remote-control`. Alias: `/rc` |

119| `/remote-env` | Pilih lingkungan default untuk [cloud agents](/id/claude-code-on-the-web#configure-your-environment) |119| `/remote-env` | Pilih lingkungan default untuk [cloud agents](/docs/id/claude-code-on-the-web#configure-your-environment) |

120| `/rename [name]` | Ubah nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, secara otomatis menghasilkan satu dari riwayat percakapan. {/* min-version: 2.1.205 */}Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |120| `/rename [name]` | Ubah nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, secara otomatis menghasilkan satu dari riwayat percakapan. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |

121| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. Sejak v2.1.144, [background sessions](/id/agent-view) muncul di pemilih yang ditandai dengan `bg`; satu yang masih berjalan tidak dapat dilanjutkan di sini, jadi lampirkan dari `claude agents` atau hentikan di sana terlebih dahulu. Alias: `/continue` |121| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. Sejak v2.1.144, [background sessions](/docs/id/agent-view) muncul di pemilih yang ditandai dengan `bg`; satu yang masih berjalan tidak dapat dilanjutkan di sini, jadi lampirkan dari `claude agents` atau hentikan di sana terlebih dahulu. Alias: `/continue` |

122| `/review [PR]` | {/* min-version: 2.1.202 */}Jalankan review pull request GitHub yang cepat, single-pass, dan read-only berdasarkan nomor. Tanpa argumen, mencantumkan PR terbuka untuk dipilih; teks setelah nomor PR menjadi instruksi review tambahan. Dari v2.1.186 hingga v2.1.201, `/review` malah menjalankan mesin multi-agent yang sama seperti `/code-review medium`. Untuk review multi-agent pada effort level yang dipilih, gunakan [`/code-review <level> <pr#>`](/id/code-review#review-a-diff-locally); untuk review berbasis cloud, lihat [`/code-review ultra`](/id/ultrareview) |122| `/review [PR]` | Jalankan review pull request GitHub yang cepat, single-pass, dan read-only berdasarkan nomor. Tanpa argumen, mencantumkan PR terbuka untuk dipilih; teks setelah nomor PR menjadi instruksi review tambahan. Dari v2.1.186 hingga v2.1.201, `/review` malah menjalankan mesin multi-agent yang sama seperti `/code-review medium`. Untuk review multi-agent pada effort level yang dipilih, gunakan [`/code-review <level> <pr#>`](/docs/id/code-review#review-a-diff-locally); untuk review berbasis cloud, lihat [`/code-review ultra`](/docs/id/ultrareview) |

123| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/id/checkpointing). Alias: `/checkpoint`, `/undo` |123| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/docs/id/checkpointing). Alias: `/checkpoint`, `/undo` |

124| `/run` | **[Skill](/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja di aplikasi yang berjalan, bukan hanya dalam tes. Lihat [Run and verify your app](/id/skills#run-and-verify-your-app). {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |124| `/run` | **[Skill](/docs/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja di aplikasi yang berjalan, bukan hanya dalam tes. Lihat [Run and verify your app](/docs/id/skills#run-and-verify-your-app). Memerlukan Claude Code v2.1.145 atau lebih baru |

125| `/run-skill-generator` | **[Skill](/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/id/skills#run-and-verify-your-app) per-proyek. {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |125| `/run-skill-generator` | **[Skill](/docs/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/docs/id/skills#run-and-verify-your-app) per-proyek. Memerlukan Claude Code v2.1.145 atau lebih baru |

126| `/sandbox` | Alihkan [sandbox mode](/id/sandboxing). Tersedia hanya di platform yang didukung |126| `/sandbox` | Alihkan [sandbox mode](/docs/id/sandboxing). Tersedia hanya di platform yang didukung |

127| `/schedule [description]` | Buat, perbarui, daftar, atau jalankan [routines](/id/routines), yang dijalankan pada infrastruktur cloud yang dikelola Anthropic. Claude memandu Anda melalui pengaturan secara percakapan. Alias: `/routines` |127| `/schedule [description]` | Buat, perbarui, daftar, atau jalankan [routines](/docs/id/routines), yang dijalankan pada infrastruktur cloud yang dikelola Anthropic. Claude memandu Anda melalui pengaturan secara percakapan. Alias: `/routines` |

128| `/scroll-speed` | Sesuaikan [scroll speed](/id/fullscreen#mouse-wheel-scrolling) mouse wheel secara interaktif, dengan penggaris yang dapat Anda gulir saat dialog terbuka untuk melihat pratinjau perubahan. Tersedia dalam [fullscreen rendering](/id/fullscreen) saja dan bukan di terminal IDE JetBrains |128| `/scroll-speed` | Sesuaikan [scroll speed](/docs/id/fullscreen#mouse-wheel-scrolling) mouse wheel secara interaktif, dengan penggaris yang dapat Anda gulir saat dialog terbuka untuk melihat pratinjau perubahan. Tersedia dalam [fullscreen rendering](/docs/id/fullscreen) saja dan bukan di terminal IDE JetBrains |

129| `/security-review` | Analisis perubahan yang tertunda pada cabang saat ini untuk kerentanan keamanan. Meninjau git diff dan mengidentifikasi risiko seperti injeksi, masalah auth, dan paparan data |129| `/security-review` | Analisis perubahan yang tertunda pada cabang saat ini untuk kerentanan keamanan. Meninjau git diff dan mengidentifikasi risiko seperti injeksi, masalah auth, dan paparan data |

130| `/setup-bedrock` | Konfigurasi autentikasi [Amazon Bedrock](/id/amazon-bedrock), region, dan model pins melalui wizard interaktif. Hanya terlihat ketika `CLAUDE_CODE_USE_BEDROCK=1` diatur. Pengguna Bedrock pertama kali juga dapat mengakses wizard ini dari layar login |130| `/setup-bedrock` | Konfigurasi autentikasi [Amazon Bedrock](/docs/id/amazon-bedrock), region, dan model pins melalui wizard interaktif. Hanya terlihat ketika `CLAUDE_CODE_USE_BEDROCK=1` diatur. Pengguna Bedrock pertama kali juga dapat mengakses wizard ini dari layar login |

131| `/setup-vertex` | Konfigurasi autentikasi [Google Cloud's Agent Platform](/id/google-vertex-ai), proyek, region, dan model pins melalui wizard interaktif. Hanya terlihat ketika `CLAUDE_CODE_USE_VERTEX=1` diatur. Pengguna Google Cloud's Agent Platform pertama kali juga dapat mengakses wizard ini dari layar login |131| `/setup-vertex` | Konfigurasi autentikasi [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), proyek, region, dan model pins melalui wizard interaktif. Hanya terlihat ketika `CLAUDE_CODE_USE_VERTEX=1` diatur. Pengguna Google Cloud's Agent Platform pertama kali juga dapat mengakses wizard ini dari layar login |

132| `/simplify [target]` | {/* min-version: 2.1.154 */}**[Skill](/id/skills#bundled-skills).** Tinjau kode yang diubah untuk peluang cleanup dan terapkan perbaikan. Empat review [agents](/id/sub-agents) berjalan secara paralel, mencakup reuse dari helper yang ada, simplification, efficiency, dan apakah perubahan berada pada tingkat abstraksi yang tepat. Dari v2.1.154, review tidak mencari bug kebenaran. Gunakan `/code-review` untuk menemukan bug. Pada versi sebelumnya `/simplify` setara dengan `/code-review --fix`. Teruskan path atau referensi PR untuk meninjau target spesifik |132| `/simplify [target]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau kode yang diubah untuk peluang cleanup dan terapkan perbaikan. Empat review [agents](/docs/id/sub-agents) berjalan secara paralel, mencakup reuse dari helper yang ada, simplification, efficiency, dan apakah perubahan berada pada tingkat abstraksi yang tepat. Dari v2.1.154, review tidak mencari bug kebenaran. Gunakan `/code-review` untuk menemukan bug. Pada versi sebelumnya `/simplify` setara dengan `/code-review --fix`. Teruskan path atau referensi PR untuk meninjau target spesifik |

133| `/skills` | Daftar [skills](/id/skills) yang tersedia. {/* min-version: 2.1.121 */}Sejak v2.1.121, ketik untuk memfilter daftar berdasarkan nama. Tekan `t` untuk mengurutkan berdasarkan token count. Tekan `Space` untuk [menyembunyikan skill dari Claude atau menu `/`](/id/skills#override-skill-visibility-from-settings), kemudian `Enter` untuk menyimpan |133| `/skills` | Daftar [skills](/docs/id/skills) yang tersedia. Sejak v2.1.121, ketik untuk memfilter daftar berdasarkan nama. Tekan `t` untuk mengurutkan berdasarkan token count. Tekan `Space` untuk [menyembunyikan skill dari Claude atau menu `/`](/docs/id/skills#override-skill-visibility-from-settings), kemudian `Enter` untuk menyimpan |

134| `/stats` | Alias untuk `/usage`. Membuka pada tab Stats |134| `/stats` | Alias untuk `/usage`. Membuka pada tab Stats |

135| `/status` | Buka antarmuka Settings pada tab Status, menampilkan versi, model, akun, dan konektivitas. Bekerja saat Claude merespons |135| `/status` | Buka antarmuka Settings pada tab Status, menampilkan versi, model, akun, dan konektivitas. Bekerja saat Claude merespons |

136| `/statusline` | Konfigurasi [status line](/id/statusline) Claude Code. Jelaskan apa yang Anda inginkan, atau jalankan tanpa argumen untuk auto-configure dari prompt shell Anda |136| `/statusline` | Konfigurasi [status line](/docs/id/statusline) Claude Code. Jelaskan apa yang Anda inginkan, atau jalankan tanpa argumen untuk auto-configure dari prompt shell Anda |

137| `/stickers` | Pesan stiker Claude Code |137| `/stickers` | Pesan stiker Claude Code |

138| `/stop` | Hentikan [background session](/id/agent-view) saat ini. Hanya tersedia saat terhubung ke background session; transkrip dan worktree apa pun disimpan. Untuk melepaskan tanpa menghentikan, gunakan `/exit` atau tekan `←` |138| `/stop` | Hentikan [background session](/docs/id/agent-view) saat ini. Hanya tersedia saat terhubung ke background session; transkrip dan worktree apa pun disimpan. Untuk melepaskan tanpa menghentikan, gunakan `/exit` atau tekan `←` |

139| `/tasks` | Lihat dan kelola pekerjaan latar belakang dalam sesi saat ini, termasuk subagent yang telah selesai. Juga tersedia sebagai `/bashes` |139| `/tasks` | Lihat dan kelola pekerjaan latar belakang dalam sesi saat ini, termasuk subagent yang telah selesai. Juga tersedia sebagai `/bashes` |

140| `/team-onboarding` | Hasilkan panduan onboarding tim dari riwayat penggunaan Claude Code Anda. Claude menganalisis sesi, perintah, dan penggunaan server MCP Anda dari 30 hari terakhir dan menghasilkan panduan markdown yang dapat ditempel rekan kerja sebagai pesan pertama untuk setup dengan cepat. Untuk pelanggan claude.ai di paket Pro, Max, Team, dan Enterprise, juga mengembalikan link berbagi yang dapat dibuka rekan kerja langsung di Claude Code |140| `/team-onboarding` | Hasilkan panduan onboarding tim dari riwayat penggunaan Claude Code Anda. Claude menganalisis sesi, perintah, dan penggunaan server MCP Anda dari 30 hari terakhir dan menghasilkan panduan markdown yang dapat ditempel rekan kerja sebagai pesan pertama untuk setup dengan cepat. Untuk pelanggan claude.ai di paket Pro, Max, Team, dan Enterprise, juga mengembalikan link berbagi yang dapat dibuka rekan kerja langsung di Claude Code |

141| `/teleport` | Tarik sesi [Claude Code di web](/id/claude-code-on-the-web#from-web-to-terminal) ke terminal ini: membuka pemilih, kemudian mengambil cabang dan percakapan. Juga tersedia sebagai `/tp`. Memerlukan langganan claude.ai |141| `/teleport` | Tarik sesi [Claude Code di web](/docs/id/claude-code-on-the-web#from-web-to-terminal) ke terminal ini: membuka pemilih, kemudian mengambil cabang dan percakapan. Juga tersedia sebagai `/tp`. Memerlukan langganan claude.ai |

142| `/terminal-setup` | Konfigurasi pintasan keyboard terminal untuk Shift+Enter dan pintasan lainnya. Hanya terlihat di terminal yang membutuhkannya, seperti VS Code, Cursor, Devin Desktop, Alacritty, atau Zed |142| `/terminal-setup` | Konfigurasi pintasan keyboard terminal untuk Shift+Enter dan pintasan lainnya. Hanya terlihat di terminal yang membutuhkannya, seperti VS Code, Cursor, Devin Desktop, Alacritty, atau Zed |

143| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang mengikuti mode gelap atau terang terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [custom themes](/id/terminal-config#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugins. Pilih **New custom theme…** untuk membuat satu |143| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang mengikuti mode gelap atau terang terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [custom themes](/docs/id/terminal-config#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugins. Pilih **New custom theme…** untuk membuat satu |

144| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [flicker-free alt-screen renderer](/id/fullscreen). Tanpa argumen, mencetak renderer aktif |144| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [flicker-free alt-screen renderer](/docs/id/fullscreen). Tanpa argumen, mencetak renderer aktif |

145| `/ultraplan <prompt>` | Buat draf rencana dalam sesi [ultraplan](/id/ultraplan), tinjau di browser Anda, kemudian jalankan secara jarak jauh atau kirim kembali ke terminal Anda |145| `/ultraplan <prompt>` | Buat draf rencana dalam sesi [ultraplan](/docs/id/ultraplan), tinjau di browser Anda, kemudian jalankan secara jarak jauh atau kirim kembali ke terminal Anda |

146| `/ultrareview [PR]` | Jalankan review kode multi-agent yang mendalam dalam sandbox cloud dengan [ultrareview](/id/ultrareview). Invokasi yang lebih disukai sekarang adalah `/code-review ultra`, dan `/ultrareview` tetap sebagai alias. Mencakup 3 run gratis di Pro dan Max, kemudian memerlukan [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |146| `/ultrareview [PR]` | Jalankan review kode multi-agent yang mendalam dalam sandbox cloud dengan [ultrareview](/docs/id/ultrareview). Invokasi yang lebih disukai sekarang adalah `/code-review ultra`, dan `/ultrareview` tetap sebagai alias. Mencakup 3 run gratis di Pro dan Max, kemudian memerlukan [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

147| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt sign-in tanpa mencetak URL |147| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt sign-in tanpa mencetak URL |

148| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Team, atau Enterprise, mencakup rincian penggunaan berdasarkan skill, subagent, plugin, dan server MCP. Lihat [cost tracking guide](/id/costs#using-the-%2Fusage-command) untuk detail. `/cost` dan `/stats` adalah alias |148| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Team, atau Enterprise, mencakup rincian penggunaan berdasarkan skill, subagent, plugin, dan server MCP. Lihat [cost tracking guide](/docs/id/costs#using-the-%2Fusage-command) untuk detail. `/cost` dan `/stats` adalah alias |

149| `/usage-credits` | Konfigurasi usage credits untuk terus bekerja ketika Anda mencapai batas. Pada paket Pro dan Max, membuka [in-CLI dialog](/id/costs#set-a-spend-limit-on-pro-and-max) untuk membeli usage credits, menetapkan batas pengeluaran bulanan, dan mengonfigurasi auto-reload; pada versi Claude Code sebelum v2.1.207 dan pada paket lain, membuka halaman billing usage-credits di browser Anda, kecuali anggota Team dan Enterprise tanpa akses billing malah mengirim permintaan usage-credits ke admin mereka dari CLI. {/* min-version: 2.1.205 */}Ketika tidak ada browser yang dapat membuka halaman billing, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menampilkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |149| `/usage-credits` | Konfigurasi usage credits untuk terus bekerja ketika Anda mencapai batas. Pada paket Pro dan Max, membuka [in-CLI dialog](/docs/id/costs#set-a-spend-limit-on-pro-and-max) untuk membeli usage credits, menetapkan batas pengeluaran bulanan, dan mengonfigurasi auto-reload; pada versi Claude Code sebelum v2.1.207 dan pada paket lain, membuka halaman billing usage-credits di browser Anda, kecuali anggota Team dan Enterprise tanpa akses billing malah mengirim permintaan usage-credits ke admin mereka dari CLI. Ketika tidak ada browser yang dapat membuka halaman billing, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menampilkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |

150| `/verify` | **[Skill](/id/skills#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan membangun aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau type checks. Lihat [Run and verify your app](/id/skills#run-and-verify-your-app). {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |150| `/verify` | **[Skill](/docs/id/skills#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan membangun aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau type checks. Lihat [Run and verify your app](/docs/id/skills#run-and-verify-your-app). Memerlukan Claude Code v2.1.145 atau lebih baru |

151| `/vim` | {/* max-version: 2.1.91 */}Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Editor mode |151| `/vim` | Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Editor mode |

152| `/voice [hold\|tap\|off]` | Alihkan [voice dictation](/id/voice-dictation), atau aktifkan dalam mode spesifik. Memerlukan akun Claude.ai |152| `/voice [hold\|tap\|off]` | Alihkan [voice dictation](/docs/id/voice-dictation), atau aktifkan dalam mode spesifik. Memerlukan akun Claude.ai |

153| `/web-setup` | Hubungkan akun GitHub Anda ke [Claude Code di web](/id/web-quickstart#connect-from-your-terminal) menggunakan kredensial CLI `gh` lokal Anda. `/schedule` meminta ini secara otomatis jika GitHub tidak terhubung |153| `/web-setup` | Hubungkan akun GitHub Anda ke [Claude Code di web](/docs/id/web-quickstart#connect-from-your-terminal) menggunakan kredensial CLI `gh` lokal Anda. `/schedule` meminta ini secara otomatis jika GitHub tidak terhubung |

154| `/workflows` | Buka [workflow](/id/workflows#watch-the-run) progress view untuk menonton, menjeda, melanjutkan, atau menyimpan workflows yang sedang berjalan dan selesai |154| `/workflows` | Buka [workflow](/docs/id/workflows#watch-the-run) progress view untuk menonton, menjeda, melanjutkan, atau menyimpan workflows yang sedang berjalan dan selesai |

155 155 

156<h2 id="mcp-prompts">156<h2 id="mcp-prompts">

157 MCP prompts157 MCP prompts

158</h2>158</h2>

159 159 

160Server MCP dapat mengekspos prompt yang muncul sebagai perintah. Ini menggunakan format `/mcp__<server>__<prompt>` dan secara dinamis ditemukan dari server yang terhubung. Lihat [MCP prompts](/id/mcp#use-mcp-prompts-as-commands) untuk detail.160Server MCP dapat mengekspos prompt yang muncul sebagai perintah. Ini menggunakan format `/mcp__<server>__<prompt>` dan secara dinamis ditemukan dari server yang terhubung. Lihat [MCP prompts](/docs/id/mcp#use-mcp-prompts-as-commands) untuk detail.

161 161 

162<h2 id="see-also">162<h2 id="see-also">

163 Lihat juga163 Lihat juga

164</h2>164</h2>

165 165 

166* [Skills](/id/skills): buat perintah Anda sendiri166* [Skills](/docs/id/skills): buat perintah Anda sendiri

167* [Interactive mode](/id/interactive-mode): pintasan keyboard, Vim mode, dan command history167* [Interactive mode](/docs/id/interactive-mode): pintasan keyboard, Vim mode, dan command history

168* [CLI reference](/id/cli-reference): launch-time flags168* [CLI reference](/docs/id/cli-reference): launch-time flags

computer-use.md +11 −11

Details

12 12 

13Computer use memungkinkan Claude membuka aplikasi, mengontrol layar Anda, dan bekerja di mesin Anda seperti yang Anda lakukan. Dari CLI, Claude dapat mengompilasi aplikasi Swift, meluncurkannya, mengklik setiap tombol, dan mengambil screenshot hasilnya, semuanya dalam percakapan yang sama di mana Claude menulis kodenya.13Computer use memungkinkan Claude membuka aplikasi, mengontrol layar Anda, dan bekerja di mesin Anda seperti yang Anda lakukan. Dari CLI, Claude dapat mengompilasi aplikasi Swift, meluncurkannya, mengklik setiap tombol, dan mengambil screenshot hasilnya, semuanya dalam percakapan yang sama di mana Claude menulis kodenya.

14 14 

15Halaman ini mencakup cara kerja computer use di CLI. Untuk aplikasi Desktop di macOS atau Windows, lihat [computer use di Desktop](/id/desktop#let-claude-use-your-computer).15Halaman ini mencakup cara kerja computer use di CLI. Untuk aplikasi Desktop di macOS atau Windows, lihat [computer use di Desktop](/docs/id/desktop#let-claude-use-your-computer).

16 16 

17<h2 id="what-you-can-do-with-computer-use">17<h2 id="what-you-can-do-with-computer-use">

18 Apa yang dapat Anda lakukan dengan computer use18 Apa yang dapat Anda lakukan dengan computer use


31 31 

32Claude memiliki beberapa cara untuk berinteraksi dengan aplikasi atau layanan. Computer use adalah yang paling luas dan paling lambat, jadi Claude mencoba alat yang paling presisi terlebih dahulu:32Claude memiliki beberapa cara untuk berinteraksi dengan aplikasi atau layanan. Computer use adalah yang paling luas dan paling lambat, jadi Claude mencoba alat yang paling presisi terlebih dahulu:

33 33 

34* Jika Anda memiliki [MCP server](/id/mcp) untuk layanan tersebut, Claude menggunakannya.34* Jika Anda memiliki [MCP server](/docs/id/mcp) untuk layanan tersebut, Claude menggunakannya.

35* Jika tugasnya adalah perintah shell, Claude menggunakan Bash.35* Jika tugasnya adalah perintah shell, Claude menggunakan Bash.

36* Jika tugasnya adalah pekerjaan browser dan Anda memiliki [Claude di Chrome](/id/chrome) yang diatur, Claude menggunakannya.36* Jika tugasnya adalah pekerjaan browser dan Anda memiliki [Claude di Chrome](/docs/id/chrome) yang diatur, Claude menggunakannya.

37* Jika tidak ada yang berlaku, Claude menggunakan computer use.37* Jika tidak ada yang berlaku, Claude menggunakan computer use.

38 38 

39Kontrol layar dicadangkan untuk hal-hal yang tidak dapat dijangkau oleh yang lain: aplikasi native, simulator, dan alat tanpa API.39Kontrol layar dicadangkan untuk hal-hal yang tidak dapat dijangkau oleh yang lain: aplikasi native, simulator, dan alat tanpa API.


98 98 

99Aplikasi ini tidak diblokir. Peringatan memungkinkan Anda memutuskan apakah tugas tersebut memerlukan tingkat akses itu.99Aplikasi ini tidak diblokir. Peringatan memungkinkan Anda memutuskan apakah tugas tersebut memerlukan tingkat akses itu.

100 100 

101Tingkat kontrol Claude juga bervariasi menurut kategori aplikasi: browser dan platform perdagangan adalah view-only, terminal dan IDE adalah click-only, dan semuanya mendapatkan kontrol penuh. Lihat [app permissions di Desktop](/id/desktop#app-permissions) untuk rincian tier lengkap.101Tingkat kontrol Claude juga bervariasi menurut kategori aplikasi: browser dan platform perdagangan adalah view-only, terminal dan IDE adalah click-only, dan semuanya mendapatkan kontrol penuh. Lihat [app permissions di Desktop](/docs/id/desktop#app-permissions) untuk rincian tier lengkap.

102 102 

103<h2 id="how-claude-works-on-your-screen">103<h2 id="how-claude-works-on-your-screen">

104 Bagaimana Claude bekerja di layar Anda104 Bagaimana Claude bekerja di layar Anda


110 Satu sesi pada satu waktu110 Satu sesi pada satu waktu

111</h3>111</h3>

112 112 

113Computer use menahan kunci machine-wide dari tindakan computer use pertama hingga sesi yang mengambilnya keluar. {/* min-version: 2.1.195 */}Mulai dari v2.1.195, menyelesaikan tugas tidak melepaskan kunci; hanya keluar dari sesi yang melakukannya. Jika sesi Claude Code lain sudah menggunakan komputer Anda, upaya baru gagal dengan pesan yang memberi tahu Anda sesi mana yang menahan kunci. Keluar dari sesi itu terlebih dahulu.113Computer use menahan kunci machine-wide dari tindakan computer use pertama hingga sesi yang mengambilnya keluar. Mulai dari v2.1.195, menyelesaikan tugas tidak melepaskan kunci; hanya keluar dari sesi yang melakukannya. Jika sesi Claude Code lain sudah menggunakan komputer Anda, upaya baru gagal dengan pesan yang memberi tahu Anda sesi mana yang menahan kunci. Keluar dari sesi itu terlebih dahulu.

114 114 

115<h3 id="apps-are-hidden-while-claude-works">115<h3 id="apps-are-hidden-while-claude-works">

116 Aplikasi disembunyikan saat Claude bekerja116 Aplikasi disembunyikan saat Claude bekerja


141</h2>141</h2>

142 142 

143<Warning>143<Warning>

144 Tidak seperti [alat Bash yang di-sandbox](/id/sandboxing), computer use berjalan di desktop aktual Anda dengan akses ke aplikasi yang Anda setujui. Claude memeriksa setiap tindakan dan menandai potensi prompt injection dari konten on-screen, tetapi batas kepercayaan berbeda. Lihat [panduan keamanan computer use](https://support.claude.com/en/articles/14128542) untuk praktik terbaik.144 Tidak seperti [alat Bash yang di-sandbox](/docs/id/sandboxing), computer use berjalan di desktop aktual Anda dengan akses ke aplikasi yang Anda setujui. Claude memeriksa setiap tindakan dan menandai potensi prompt injection dari konten on-screen, tetapi batas kepercayaan berbeda. Lihat [panduan keamanan computer use](https://support.claude.com/en/articles/14128542) untuk praktik terbaik.

145</Warning>145</Warning>

146 146 

147Guardrail bawaan mengurangi risiko tanpa memerlukan konfigurasi:147Guardrail bawaan mengurangi risiko tanpa memerlukan konfigurasi:


235 235 

236Server hanya muncul pada setup yang memenuhi syarat. Periksa bahwa:236Server hanya muncul pada setup yang memenuhi syarat. Periksa bahwa:

237 237 

238* Anda berada di macOS. Computer use di CLI tidak tersedia di Linux atau Windows. Di Windows, gunakan [computer use di Desktop](/id/desktop#let-claude-use-your-computer) sebagai gantinya.238* Anda berada di macOS. Computer use di CLI tidak tersedia di Linux atau Windows. Di Windows, gunakan [computer use di Desktop](/docs/id/desktop#let-claude-use-your-computer) sebagai gantinya.

239* Anda berada di paket Pro atau Max. Jalankan `/status` untuk mengonfirmasi langganan Anda.239* Anda berada di paket Pro atau Max. Jalankan `/status` untuk mengonfirmasi langganan Anda.

240* Anda diautentikasi melalui claude.ai. Computer use tidak tersedia dengan penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Jika Anda mengakses Claude secara eksklusif melalui penyedia pihak ketiga, Anda memerlukan akun claude.ai terpisah untuk menggunakan fitur ini.240* Anda diautentikasi melalui claude.ai. Computer use tidak tersedia dengan penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Jika Anda mengakses Claude secara eksklusif melalui penyedia pihak ketiga, Anda memerlukan akun claude.ai terpisah untuk menggunakan fitur ini.

241* Anda berada dalam sesi interaktif. Computer use tidak tersedia dalam mode non-interaktif dengan flag `-p`.241* Anda berada dalam sesi interaktif. Computer use tidak tersedia dalam mode non-interaktif dengan flag `-p`.


244 Lihat juga244 Lihat juga

245</h2>245</h2>

246 246 

247* [Computer use di Desktop](/id/desktop#let-claude-use-your-computer): kemampuan yang sama dengan halaman pengaturan grafis247* [Computer use di Desktop](/docs/id/desktop#let-claude-use-your-computer): kemampuan yang sama dengan halaman pengaturan grafis

248* [Claude di Chrome](/id/chrome): otomasi browser untuk tugas berbasis web248* [Claude di Chrome](/docs/id/chrome): otomasi browser untuk tugas berbasis web

249* [MCP](/id/mcp): hubungkan Claude ke alat dan API terstruktur249* [MCP](/docs/id/mcp): hubungkan Claude ke alat dan API terstruktur

250* [Sandboxing](/id/sandboxing): bagaimana alat Bash Claude mengisolasi akses filesystem dan jaringan250* [Sandboxing](/docs/id/sandboxing): bagaimana alat Bash Claude mengisolasi akses filesystem dan jaringan

251* [Panduan keamanan computer use](https://support.claude.com/en/articles/14128542): praktik terbaik untuk computer use yang aman251* [Panduan keamanan computer use](https://support.claude.com/en/articles/14128542): praktik terbaik untuk computer use yang aman

context-window.md +13 −13

Details

1578 1578 

1579Sesi ini menjelaskan alur kerja yang realistis dengan jumlah token yang representatif:1579Sesi ini menjelaskan alur kerja yang realistis dengan jumlah token yang representatif:

1580 1580 

1581* **Sebelum Anda mengetik apa pun**: CLAUDE.md, memori otomatis, nama alat MCP, dan deskripsi skill semuanya dimuat ke dalam konteks. Pengaturan Anda sendiri mungkin menambahkan lebih banyak di sini, seperti [gaya output](/id/output-styles) atau teks dari [`--append-system-prompt`](/id/cli-reference), yang keduanya masuk ke prompt sistem dengan cara yang sama.1581* **Sebelum Anda mengetik apa pun**: CLAUDE.md, memori otomatis, nama alat MCP, dan deskripsi skill semuanya dimuat ke dalam konteks. Pengaturan Anda sendiri mungkin menambahkan lebih banyak di sini, seperti [gaya output](/docs/id/output-styles) atau teks dari [`--append-system-prompt`](/docs/id/cli-reference), yang keduanya masuk ke prompt sistem dengan cara yang sama.

1582* **Saat Claude bekerja**: setiap pembacaan file menambah konteks, [aturan dengan cakupan jalur](/id/memory#path-specific-rules) dimuat secara otomatis bersama file yang cocok, dan [hook PostToolUse](/id/hooks-guide) dijalankan setelah setiap pengeditan.1582* **Saat Claude bekerja**: setiap pembacaan file menambah konteks, [aturan dengan cakupan jalur](/docs/id/memory#path-specific-rules) dimuat secara otomatis bersama file yang cocok, dan [hook PostToolUse](/docs/id/hooks-guide) dijalankan setelah setiap pengeditan.

1583* **Prompt lanjutan**: [subagent](/id/sub-agents) menangani penelitian dalam jendela konteks terpisahnya sendiri, sehingga pembacaan file besar tetap berada di luar milik Anda. Hanya ringkasan dan trailer metadata kecil yang kembali.1583* **Prompt lanjutan**: [subagent](/docs/id/sub-agents) menangani penelitian dalam jendela konteks terpisahnya sendiri, sehingga pembacaan file besar tetap berada di luar milik Anda. Hanya ringkasan dan trailer metadata kecil yang kembali.

1584* **Di akhir**: `/compact` menggantikan percakapan dengan ringkasan terstruktur. Sebagian besar konten startup dimuat ulang secara otomatis; tabel di bawah menunjukkan apa yang terjadi pada setiap mekanisme.1584* **Di akhir**: `/compact` menggantikan percakapan dengan ringkasan terstruktur. Sebagian besar konten startup dimuat ulang secara otomatis; tabel di bawah menunjukkan apa yang terjadi pada setiap mekanisme.

1585 1585 

1586<h2 id="what-survives-compaction">1586<h2 id="what-survives-compaction">

1587 Apa yang bertahan dari pemadatan1587 Apa yang bertahan dari pemadatan

1588</h2>1588</h2>

1589 1589 

1590Ketika sesi panjang dipadatkan, Claude Code merangkum riwayat percakapan agar sesuai dengan jendela konteks. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, permintaan perangkuman mewarisi konfigurasi [extended thinking](/id/model-config#extended-thinking) sesi Anda, sehingga ia bernalar dengan pemikiran diaktifkan ketika sesi Anda memilikinya diaktifkan dan tetap mati sebaliknya. Pemikiran hanya mempengaruhi cara ringkasan diproduksi; pengaturan sesi Anda tidak berubah setelahnya. Apa yang terjadi pada instruksi Anda tergantung pada cara instruksi tersebut dimuat:1590Ketika sesi panjang dipadatkan, Claude Code merangkum riwayat percakapan agar sesuai dengan jendela konteks. Mulai dari v2.1.198, permintaan perangkuman mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) sesi Anda, sehingga ia bernalar dengan pemikiran diaktifkan ketika sesi Anda memilikinya diaktifkan dan tetap mati sebaliknya. Pemikiran hanya mempengaruhi cara ringkasan diproduksi; pengaturan sesi Anda tidak berubah setelahnya. Apa yang terjadi pada instruksi Anda tergantung pada cara instruksi tersebut dimuat:

1591 1591 

1592| Mekanisme | Setelah pemadatan |1592| Mekanisme | Setelah pemadatan |

1593| :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |1593| :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |


1607 Ketika konteks Anda penuh1607 Ketika konteks Anda penuh

1608</h2>1608</h2>

1609 1609 

1610Claude Code secara otomatis dipadatkan saat Anda mendekati batas, sehingga jendela konteks yang penuh tidak mengakhiri sesi Anda. Lintasan otomatis bekerja dengan cara yang sama seperti langkah `/compact` dalam garis waktu. Lihat [Ketika konteks penuh](/id/how-claude-code-works#when-context-fills-up) untuk apa yang dipertahankannya.1610Claude Code secara otomatis dipadatkan saat Anda mendekati batas, sehingga jendela konteks yang penuh tidak mengakhiri sesi Anda. Lintasan otomatis bekerja dengan cara yang sama seperti langkah `/compact` dalam garis waktu. Lihat [Ketika konteks penuh](/docs/id/how-claude-code-works#when-context-fills-up) untuk apa yang dipertahankannya.

1611 1611 

1612Anda juga dapat bertindak sebelum lintasan otomatis berjalan:1612Anda juga dapat bertindak sebelum lintasan otomatis berjalan:

1613 1613 

1614* **Padatkan dengan fokus**: jalankan `/compact` dengan instruksi, seperti `/compact focus on the auth bug fix`, sebelum memulai tugas baru yang panjang. Ringkasan menjaga apa yang Anda pilih alih-alih apa yang ditebak lintasan otomatis sebagai penting.1614* **Padatkan dengan fokus**: jalankan `/compact` dengan instruksi, seperti `/compact focus on the auth bug fix`, sebelum memulai tugas baru yang panjang. Ringkasan menjaga apa yang Anda pilih alih-alih apa yang ditebak lintasan otomatis sebagai penting.

1615* **Bersihkan antar tugas**: jalankan `/clear` saat beralih ke pekerjaan yang tidak terkait. Percakapan lama mengalahkan file yang Anda butuhkan selanjutnya dan menghabiskan token pada setiap pesan.1615* **Bersihkan antar tugas**: jalankan `/clear` saat beralih ke pekerjaan yang tidak terkait. Percakapan lama mengalahkan file yang Anda butuhkan selanjutnya dan menghabiskan token pada setiap pesan.

1616* **Delegasikan pembacaan besar**: kirim penelitian ke [subagent](/id/sub-agents) sehingga konten file tetap berada di jendela konteksnya, bukan milik Anda.1616* **Delegasikan pembacaan besar**: kirim penelitian ke [subagent](/docs/id/sub-agents) sehingga konten file tetap berada di jendela konteksnya, bukan milik Anda.

1617 1617 

1618Jika Anda membutuhkan jendela yang lebih besar daripada percakapan yang lebih kecil, Fable 5, Sonnet 5, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung jendela konteks 1 juta token. Lihat [Extended context](/id/model-config#extended-context) untuk ketersediaan menurut paket dan cara memilih varian model `[1m]`. Sonnet 5 berjalan pada 1M tanpa varian `[1m]` untuk dipilih; lihat [Sonnet 5 context window](/id/model-config#sonnet-5-context-window) untuk ambang batas auto-compaction-nya dan pengecualian gateway LLM. Pemadatan bekerja dengan cara yang sama pada batas yang lebih besar.1618Jika Anda membutuhkan jendela yang lebih besar daripada percakapan yang lebih kecil, Fable 5, Sonnet 5, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung jendela konteks 1 juta token. Lihat [Extended context](/docs/id/model-config#extended-context) untuk ketersediaan menurut paket dan cara memilih varian model `[1m]`. Sonnet 5 berjalan pada 1M tanpa varian `[1m]` untuk dipilih; lihat [Sonnet 5 context window](/docs/id/model-config#sonnet-5-context-window) untuk ambang batas auto-compaction-nya dan pengecualian gateway LLM. Pemadatan bekerja dengan cara yang sama pada batas yang lebih besar.

1619 1619 

1620<h2 id="check-your-own-session">1620<h2 id="check-your-own-session">

1621 Periksa sesi Anda sendiri1621 Periksa sesi Anda sendiri


1629 1629 

1630Untuk cakupan lebih mendalam tentang fitur yang ditunjukkan dalam garis waktu, lihat halaman-halaman ini:1630Untuk cakupan lebih mendalam tentang fitur yang ditunjukkan dalam garis waktu, lihat halaman-halaman ini:

1631 1631 

1632* [Perluas Claude Code](/id/features-overview): kapan menggunakan CLAUDE.md vs skill vs aturan vs hook vs MCP1632* [Perluas Claude Code](/docs/id/features-overview): kapan menggunakan CLAUDE.md vs skill vs aturan vs hook vs MCP

1633* [Simpan instruksi dan memori](/id/memory): hierarki CLAUDE.md dan memori otomatis1633* [Simpan instruksi dan memori](/docs/id/memory): hierarki CLAUDE.md dan memori otomatis

1634* [Subagent](/id/sub-agents): delegasikan penelitian ke jendela konteks terpisah1634* [Subagent](/docs/id/sub-agents): delegasikan penelitian ke jendela konteks terpisah

1635* [Praktik terbaik](/id/best-practices): mengelola konteks sebagai batasan utama Anda1635* [Praktik terbaik](/docs/id/best-practices): mengelola konteks sebagai batasan utama Anda

1636* [Prompt caching](/id/prompt-caching): tindakan mana yang membatalkan awalan yang di-cache1636* [Prompt caching](/docs/id/prompt-caching): tindakan mana yang membatalkan awalan yang di-cache

1637* [Kurangi penggunaan token](/id/costs#reduce-token-usage): strategi untuk menjaga penggunaan konteks tetap rendah1637* [Kurangi penggunaan token](/docs/id/costs#reduce-token-usage): strategi untuk menjaga penggunaan konteks tetap rendah

Details

8 8 

9Ketika Claude mengabaikan instruksi atau fitur yang Anda konfigurasi tidak muncul, penyebabnya biasanya adalah file tidak dimuat, dimuat dari lokasi berbeda dari yang Anda harapkan, atau file lain menggantinya. Panduan ini menunjukkan cara memeriksa apa yang benar-benar dimuat oleh Claude Code sehingga Anda dapat mempersempit mana yang berlaku.9Ketika Claude mengabaikan instruksi atau fitur yang Anda konfigurasi tidak muncul, penyebabnya biasanya adalah file tidak dimuat, dimuat dari lokasi berbeda dari yang Anda harapkan, atau file lain menggantinya. Panduan ini menunjukkan cara memeriksa apa yang benar-benar dimuat oleh Claude Code sehingga Anda dapat mempersempit mana yang berlaku.

10 10 

11Untuk masalah instalasi, autentikasi, dan konektivitas, lihat [Troubleshoot installation and login](/id/troubleshoot-install) sebagai gantinya.11Untuk masalah instalasi, autentikasi, dan konektivitas, lihat [Troubleshoot installation and login](/docs/id/troubleshoot-install) sebagai gantinya.

12 12 

13<h2 id="see-what-loaded-into-context">13<h2 id="see-what-loaded-into-context">

14 Lihat apa yang dimuat ke dalam context14 Lihat apa yang dimuat ke dalam context


25| `/hooks` | Konfigurasi hook aktif |25| `/hooks` | Konfigurasi hook aktif |

26| `/mcp` | Server MCP yang terhubung dan statusnya |26| `/mcp` | Server MCP yang terhubung dan statusnya |

27| `/permissions` | Aturan allow dan deny yang diselesaikan saat ini berlaku |27| `/permissions` | Aturan allow dan deny yang diselesaikan saat ini berlaku |

28| `/doctor` | Diagnostik konfigurasi: kesehatan instalasi, file pengaturan tidak valid, ekstensi yang tidak digunakan, nama [subagent](/id/sub-agents) duplikat di direktori yang sama, dan konten `CLAUDE.md` yang diperiksa Claude dapat turunkan dari codebase, dengan perbaikan yang diusulkan |28| `/doctor` | Diagnostik konfigurasi: kesehatan instalasi, file pengaturan tidak valid, ekstensi yang tidak digunakan, nama [subagent](/docs/id/sub-agents) duplikat di direktori yang sama, dan konten `CLAUDE.md` yang diperiksa Claude dapat turunkan dari codebase, dengan perbaikan yang diusulkan |

29| `/debug [issue]` | Mengaktifkan debug logging untuk sesi dan meminta Claude untuk mendiagnosis menggunakan output log dan jalur pengaturan |29| `/debug [issue]` | Mengaktifkan debug logging untuk sesi dan meminta Claude untuk mendiagnosis menggunakan output log dan jalur pengaturan |

30| `/status` | Sumber pengaturan aktif, termasuk apakah pengaturan terkelola berlaku |30| `/status` | Sumber pengaturan aktif, termasuk apakah pengaturan terkelola berlaku |

31 31 

32Jika file memory hilang dari `/memory`, periksa lokasinya terhadap [bagaimana file CLAUDE.md dimuat](/id/memory#how-claude-md-files-load). File `CLAUDE.md` subdirektori dimuat sesuai permintaan ketika Claude membaca file di direktori itu dengan alat Read, bukan pada awal sesi.32Jika file memory hilang dari `/memory`, periksa lokasinya terhadap [bagaimana file CLAUDE.md dimuat](/docs/id/memory#how-claude-md-files-load). File `CLAUDE.md` subdirektori dimuat sesuai permintaan ketika Claude membaca file di direktori itu dengan alat Read, bukan pada awal sesi.

33 33 

34Jika `/memory` mengonfirmasi file dimuat tetapi Claude masih tidak mengikuti instruksi tertentu, masalahnya kemungkinan adalah cara instruksi ditulis daripada apakah itu dimuat. CLAUDE.md bekerja dengan baik untuk jenis panduan yang akan Anda berikan kepada rekan kerja baru, seperti konvensi proyek, perintah build, dan di mana file berada.34Jika `/memory` mengonfirmasi file dimuat tetapi Claude masih tidak mengikuti instruksi tertentu, masalahnya kemungkinan adalah cara instruksi ditulis daripada apakah itu dimuat. CLAUDE.md bekerja dengan baik untuk jenis panduan yang akan Anda berikan kepada rekan kerja baru, seperti konvensi proyek, perintah build, dan di mana file berada.

35 35 

36Kepatuhan menurun ketika instruksi cukup samar untuk diinterpretasikan dengan berbagai cara, ketika dua file memberikan arahan yang bertentangan, atau ketika file telah tumbuh cukup panjang sehingga aturan individual mendapat perhatian lebih sedikit. [Tulis instruksi yang efektif](/id/memory#write-effective-instructions) mencakup pola spesifisitas, ukuran, dan struktur yang menjaga kepatuhan tetap tinggi.36Kepatuhan menurun ketika instruksi cukup samar untuk diinterpretasikan dengan berbagai cara, ketika dua file memberikan arahan yang bertentangan, atau ketika file telah tumbuh cukup panjang sehingga aturan individual mendapat perhatian lebih sedikit. [Tulis instruksi yang efektif](/docs/id/memory#write-effective-instructions) mencakup pola spesifisitas, ukuran, dan struktur yang menjaga kepatuhan tetap tinggi.

37 37 

38<Note>38<Note>

39 CLAUDE.md dan permissions menyelesaikan masalah yang berbeda. CLAUDE.md memberi tahu Claude bagaimana proyek Anda bekerja sehingga membuat keputusan yang baik. [Permissions](/id/permissions) dan [hooks](/id/hooks) memberlakukan batas terlepas dari apa yang Claude putuskan. Gunakan CLAUDE.md untuk "kami melakukannya dengan cara ini di sini." Gunakan permissions atau hooks untuk batas keamanan dan apa pun yang tidak boleh terjadi, di mana Anda membutuhkan jaminan daripada panduan.39 CLAUDE.md dan permissions menyelesaikan masalah yang berbeda. CLAUDE.md memberi tahu Claude bagaimana proyek Anda bekerja sehingga membuat keputusan yang baik. [Permissions](/docs/id/permissions) dan [hooks](/docs/id/hooks) memberlakukan batas terlepas dari apa yang Claude putuskan. Gunakan CLAUDE.md untuk "kami melakukannya dengan cara ini di sini." Gunakan permissions atau hooks untuk batas keamanan dan apa pun yang tidak boleh terjadi, di mana Anda membutuhkan jaminan daripada panduan.

40</Note>40</Note>

41 41 

42<h2 id="check-resolved-settings">42<h2 id="check-resolved-settings">

43 Periksa pengaturan yang diselesaikan43 Periksa pengaturan yang diselesaikan

44</h2>44</h2>

45 45 

46Pengaturan menggabungkan di seluruh cakupan terkelola, pengguna, proyek, dan lokal. Pengaturan terkelola selalu menang ketika ada. Di antara sisanya, cakupan yang lebih dekat menggantikan yang lebih luas dalam urutan lokal, kemudian proyek, kemudian pengguna. Beberapa pengaturan juga dapat diatur oleh flag baris perintah atau [variabel lingkungan](/id/env-vars), yang bertindak sebagai lapisan penggantian lain. Ketika pengaturan tidak tampak berlaku, nilai yang Anda atur biasanya ditimpa oleh cakupan lain atau variabel lingkungan.46Pengaturan menggabungkan di seluruh cakupan terkelola, pengguna, proyek, dan lokal. Pengaturan terkelola selalu menang ketika ada. Di antara sisanya, cakupan yang lebih dekat menggantikan yang lebih luas dalam urutan lokal, kemudian proyek, kemudian pengguna. Beberapa pengaturan juga dapat diatur oleh flag baris perintah atau [variabel lingkungan](/docs/id/env-vars), yang bertindak sebagai lapisan penggantian lain. Ketika pengaturan tidak tampak berlaku, nilai yang Anda atur biasanya ditimpa oleh cakupan lain atau variabel lingkungan.

47 47 

48Jalankan `/doctor` untuk memeriksa konfigurasi dan instalasi Anda. Ini melaporkan apa yang ditemukannya, termasuk file pengaturan yang tidak valid, instalasi duplikat, ekstensi yang tidak digunakan, dan {/* min-version: 2.1.206 */}konten `CLAUDE.md` yang diperiksa yang Claude dapat turunkan dari basis kode, kemudian mengusulkan perbaikan yang diterapkannya hanya setelah Anda mengonfirmasi. Pemeriksaan pemangkasan `CLAUDE.md` memerlukan Claude Code v2.1.206 atau lebih baru. Sebelum v2.1.205, `/doctor` membuka layar diagnostik baca-saja dan menekan `f` mengirim laporan ke Claude untuk diperbaiki.48Jalankan `/doctor` untuk memeriksa konfigurasi dan instalasi Anda. Ini melaporkan apa yang ditemukannya, termasuk file pengaturan yang tidak valid, instalasi duplikat, ekstensi yang tidak digunakan, dan konten `CLAUDE.md` yang diperiksa yang Claude dapat turunkan dari basis kode, kemudian mengusulkan perbaikan yang diterapkannya hanya setelah Anda mengonfirmasi. Pemeriksaan pemangkasan `CLAUDE.md` memerlukan Claude Code v2.1.206 atau lebih baru. Sebelum v2.1.205, `/doctor` membuka layar diagnostik baca-saja dan menekan `f` mengirim laporan ke Claude untuk diperbaiki.

49 49 

50Dari terminal, `claude doctor` mencetak diagnostik instalasi dan pengaturan baca-saja tanpa memulai sesi.50Dari terminal, `claude doctor` mencetak diagnostik instalasi dan pengaturan baca-saja tanpa memulai sesi.

51 51 

52Jalankan `/status` untuk melihat sumber pengaturan mana yang aktif, termasuk apakah pengaturan terkelola berlaku. Untuk memahami cakupan mana yang menang untuk kunci tertentu, lihat [Bagaimana cakupan berinteraksi](/id/settings#how-scopes-interact).52Jalankan `/status` untuk melihat sumber pengaturan mana yang aktif, termasuk apakah pengaturan terkelola berlaku. Untuk memahami cakupan mana yang menang untuk kunci tertentu, lihat [Bagaimana cakupan berinteraksi](/docs/id/settings#how-scopes-interact).

53 53 

54<h2 id="check-mcp-servers">54<h2 id="check-mcp-servers">

55 Periksa server MCP55 Periksa server MCP


61* Server yang gagal dimulai ditampilkan sebagai gagal di `/mcp`. Jalur file relatif di `command` atau `args` adalah penyebab yang sering, karena mereka diselesaikan terhadap direktori tempat Anda meluncurkan Claude Code daripada lokasi `.mcp.json`.61* Server yang gagal dimulai ditampilkan sebagai gagal di `/mcp`. Jalur file relatif di `command` atau `args` adalah penyebab yang sering, karena mereka diselesaikan terhadap direktori tempat Anda meluncurkan Claude Code daripada lokasi `.mcp.json`.

62* Server yang menampilkan sebagai terhubung tetapi mencantumkan alat nol telah dimulai dengan sukses tetapi tidak mengembalikan daftar alat. Pilih **Reconnect** dari `/mcp`. Jika hitungan tetap nol, jalankan `claude --debug mcp` untuk melihat output stderr server.62* Server yang menampilkan sebagai terhubung tetapi mencantumkan alat nol telah dimulai dengan sukses tetapi tidak mengembalikan daftar alat. Pilih **Reconnect** dari `/mcp`. Jika hitungan tetap nol, jalankan `claude --debug mcp` untuk melihat output stderr server.

63 63 

64Untuk lokasi konfigurasi dan aturan cakupan, lihat [MCP](/id/mcp).64Untuk lokasi konfigurasi dan aturan cakupan, lihat [MCP](/docs/id/mcp).

65 65 

66<h2 id="check-hooks">66<h2 id="check-hooks">

67 Periksa hooks67 Periksa hooks


71 71 

72Jika hook muncul tetapi tidak aktif, matcher adalah penyebab yang biasa. Periksa matcher untuk kesalahan berikut:72Jika hook muncul tetapi tidak aktif, matcher adalah penyebab yang biasa. Periksa matcher untuk kesalahan berikut:

73 73 

74* Bidang `matcher` adalah string tunggal yang menggunakan `|` untuk mencocokkan beberapa nama alat, misalnya `"Edit|Write"`. {/* min-version: 2.1.191 */}Pemisah `,` setara, jadi `"Edit,Write"` mencocokkan alat yang sama. Sebelum v2.1.191, koma jatuh ke evaluasi regex dan matcher tidak pernah cocok, jadi gunakan `|` jika Anda belum berada di v2.1.191.74* Bidang `matcher` adalah string tunggal yang menggunakan `|` untuk mencocokkan beberapa nama alat, misalnya `"Edit|Write"`. Pemisah `,` setara, jadi `"Edit,Write"` mencocokkan alat yang sama. Sebelum v2.1.191, koma jatuh ke evaluasi regex dan matcher tidak pernah cocok, jadi gunakan `|` jika Anda belum berada di v2.1.191.

75* Nama alat yang salah eja menghasilkan matcher yang tidak mencocokkan apa pun, jadi hook gagal diam-diam.75* Nama alat yang salah eja menghasilkan matcher yang tidak mencocokkan apa pun, jadi hook gagal diam-diam.

76* Nilai array adalah kesalahan schema: Claude Code menampilkan pemberitahuan kesalahan pengaturan dan menolak seluruh file pengaturan pengguna, proyek, atau lokal, `claude doctor` melaporkan kegagalan validasi, dan tidak ada hook dari file tersebut yang muncul di `/hooks`. Dalam [pengaturan terkelola](/id/settings#settings-files), hanya entri yang tidak valid yang dihapus dan hook lain dari file masih berlaku.76* Nilai array adalah kesalahan schema: Claude Code menampilkan pemberitahuan kesalahan pengaturan dan menolak seluruh file pengaturan pengguna, proyek, atau lokal, `claude doctor` melaporkan kegagalan validasi, dan tidak ada hook dari file tersebut yang muncul di `/hooks`. Dalam [pengaturan terkelola](/docs/id/settings#settings-files), hanya entri yang tidak valid yang dihapus dan hook lain dari file masih berlaku.

77 77 

78Edit ke `settings.json` berlaku dalam sesi yang berjalan setelah penundaan stabilitas file singkat. Anda tidak perlu memulai ulang. Jika `/hooks` masih menampilkan definisi lama beberapa detik setelah menyimpan, jalankan `/hooks` lagi untuk menyegarkan tampilan.78Edit ke `settings.json` berlaku dalam sesi yang berjalan setelah penundaan stabilitas file singkat. Anda tidak perlu memulai ulang. Jika `/hooks` masih menampilkan definisi lama beberapa detik setelah menyimpan, jalankan `/hooks` lagi untuk menyegarkan tampilan.

79 79 

80Jika `/hooks` menampilkan hook tetapi masih tidak aktif, langkah berikutnya adalah menonton evaluasi hook secara langsung. Mulai sesi dengan `claude --debug hooks` dan picu panggilan alat. Log debug mencatat setiap acara, matcher mana yang diperiksa, dan kode keluar dan output hook. Lihat [Debug hooks](/id/hooks#debug-hooks) untuk format log dan [troubleshooting hooks](/id/hooks-guide#limitations-and-troubleshooting) untuk pola kegagalan umum.80Jika `/hooks` menampilkan hook tetapi masih tidak aktif, langkah berikutnya adalah menonton evaluasi hook secara langsung. Mulai sesi dengan `claude --debug hooks` dan picu panggilan alat. Log debug mencatat setiap acara, matcher mana yang diperiksa, dan kode keluar dan output hook. Lihat [Debug hooks](/docs/id/hooks#debug-hooks) untuk format log dan [troubleshooting hooks](/docs/id/hooks-guide#limitations-and-troubleshooting) untuk pola kegagalan umum.

81 81 

82<h2 id="test-against-a-clean-configuration">82<h2 id="test-against-a-clean-configuration">

83 Uji terhadap konfigurasi bersih83 Uji terhadap konfigurasi bersih

84</h2>84</h2>

85 85 

86{/* min-version: 2.1.169 */}Mulai dengan [`claude --safe-mode`](/id/cli-reference#cli-flags), yang meluncurkan sesi dengan semua kustomisasi dinonaktifkan, termasuk `CLAUDE.md`, skills, plugins, hooks, server MCP, dan perintah dan agen kustom. Autentikasi, pemilihan model, alat bawaan, dan izin berfungsi secara normal. Jika masalah hilang dalam safe mode, salah satu permukaan tersebut adalah penyebabnya; gunakan pemeriksaan yang ditargetkan di atas untuk menemukan mana. Safe mode masih menerapkan hooks yang dikelola dan kebijakan pengaturan dari organisasi Anda. Plugin yang dikelola, skills, CLAUDE.md, dan server MCP dimatikan.86Mulai dengan [`claude --safe-mode`](/docs/id/cli-reference#cli-flags), yang meluncurkan sesi dengan semua kustomisasi dinonaktifkan, termasuk `CLAUDE.md`, skills, plugins, hooks, server MCP, dan perintah dan agen kustom. Autentikasi, pemilihan model, alat bawaan, dan izin berfungsi secara normal. Jika masalah hilang dalam safe mode, salah satu permukaan tersebut adalah penyebabnya; gunakan pemeriksaan yang ditargetkan di atas untuk menemukan mana. Safe mode masih menerapkan hooks yang dikelola dan kebijakan pengaturan dari organisasi Anda. Plugin yang dikelola, skills, CLAUDE.md, dan server MCP dimatikan.

87 87 

88Jika masalah berlanjut dalam safe mode, atau pengaturan Anda sendiri mencurigakan, bandingkan dengan sesi yang tidak memuat apa pun dari pengaturan biasa Anda. Arahkan [`CLAUDE_CONFIG_DIR`](/id/env-vars) ke direktori kosong untuk melewati semua yang ada di bawah `~/.claude`, dan luncurkan dari direktori yang tidak memiliki folder `.claude`, `.mcp.json`, atau `CLAUDE.md` sehingga konfigurasi proyek juga dilewati.88Jika masalah berlanjut dalam safe mode, atau pengaturan Anda sendiri mencurigakan, bandingkan dengan sesi yang tidak memuat apa pun dari pengaturan biasa Anda. Arahkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) ke direktori kosong untuk melewati semua yang ada di bawah `~/.claude`, dan luncurkan dari direktori yang tidak memiliki folder `.claude`, `.mcp.json`, atau `CLAUDE.md` sehingga konfigurasi proyek juga dilewati.

89 89 

90```bash theme={null}90```bash theme={null}

91cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude91cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude


97* Di Linux dan Windows, Anda akan diminta untuk masuk lagi karena kredensial disimpan di bawah direktori konfigurasi97* Di Linux dan Windows, Anda akan diminta untuk masuk lagi karena kredensial disimpan di bawah direktori konfigurasi

98* Di macOS, kredensial berada di Keychain dan terbawa ke sesi bersih98* Di macOS, kredensial berada di Keychain dan terbawa ke sesi bersih

99 99 

100Jika masalah hilang di sini, penyebabnya ada di suatu tempat di file `~/.claude` atau proyek `.claude` Anda yang sebenarnya. Perkenalkan kembali satu per satu, dengan menyalin file ke direktori sementara atau dengan meluncurkan dari proyek Anda, untuk menemukan mana yang menjadi penyebabnya. Jika itu bertahan dalam sesi bersih, penyebabnya ada di luar konfigurasi pengguna dan proyek Anda. Jalankan `/status` untuk memeriksa apakah pengaturan terkelola berlaku, cari [variabel lingkungan](/id/env-vars) yang mempengaruhi Claude Code, kemudian lihat [Troubleshooting](/id/troubleshooting).100Jika masalah hilang di sini, penyebabnya ada di suatu tempat di file `~/.claude` atau proyek `.claude` Anda yang sebenarnya. Perkenalkan kembali satu per satu, dengan menyalin file ke direktori sementara atau dengan meluncurkan dari proyek Anda, untuk menemukan mana yang menjadi penyebabnya. Jika itu bertahan dalam sesi bersih, penyebabnya ada di luar konfigurasi pengguna dan proyek Anda. Jalankan `/status` untuk memeriksa apakah pengaturan terkelola berlaku, cari [variabel lingkungan](/docs/id/env-vars) yang mempengaruhi Claude Code, kemudian lihat [Troubleshooting](/docs/id/troubleshooting).

101 101 

102<h2 id="check-common-causes">102<h2 id="check-common-causes">

103 Periksa penyebab umum103 Periksa penyebab umum


106Sebagian besar kejutan konfigurasi dapat dilacak kembali ke serangkaian kecil aturan lokasi dan sintaks. Periksa ini sebelum menganggap bug:106Sebagian besar kejutan konfigurasi dapat dilacak kembali ke serangkaian kecil aturan lokasi dan sintaks. Periksa ini sebelum menganggap bug:

107 107 

108| Gejala | Penyebab | Perbaikan |108| Gejala | Penyebab | Perbaikan |

109| :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |109| :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

110| Hook tidak pernah aktif | `matcher` adalah array JSON bukan string | Gunakan string tunggal dengan `\|` untuk mencocokkan beberapa alat, misalnya `"Edit\|Write"`. Lihat [pola matcher](/id/hooks#matcher-patterns). |110| Hook tidak pernah aktif | `matcher` adalah array JSON bukan string | Gunakan string tunggal dengan `\|` untuk mencocokkan beberapa alat, misalnya `"Edit\|Write"`. Lihat [pola matcher](/docs/id/hooks#matcher-patterns). |

111| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | {/* min-version: 2.1.191 */}Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |111| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |

112| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |112| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |

113| Hook tidak pernah aktif | Hook berada dalam file standalone bukan `settings.json` | Tidak ada file hooks standalone untuk konfigurasi proyek atau pengguna. Tentukan hooks di bawah kunci `"hooks"` di `settings.json`. Hanya [plugins](/id/plugins-reference#hooks) yang memuat `hooks/hooks.json` terpisah. Lihat [konfigurasi hook](/id/hooks). |113| Hook tidak pernah aktif | Hook berada dalam file standalone bukan `settings.json` | Tidak ada file hooks standalone untuk konfigurasi proyek atau pengguna. Tentukan hooks di bawah kunci `"hooks"` di `settings.json`. Hanya [plugins](/docs/id/plugins-reference#hooks) yang memuat `hooks/hooks.json` terpisah. Lihat [konfigurasi hook](/docs/id/hooks). |

114| Permissions, hooks, atau env yang diatur secara global diabaikan | Konfigurasi ditambahkan ke `~/.claude.json` | `~/.claude.json` menyimpan status aplikasi dan toggle UI. `permissions`, `hooks`, dan `env` termasuk dalam `~/.claude/settings.json`. Ini adalah dua file berbeda. |114| Permissions, hooks, atau env yang diatur secara global diabaikan | Konfigurasi ditambahkan ke `~/.claude.json` | `~/.claude.json` menyimpan status aplikasi dan toggle UI. `permissions`, `hooks`, dan `env` termasuk dalam `~/.claude/settings.json`. Ini adalah dua file berbeda. |

115| Nilai `settings.json` tampak diabaikan | Kunci yang sama diatur di `settings.local.json` | `settings.local.json` menggantikan `settings.json`, dan keduanya menggantikan `~/.claude/settings.json`. Lihat [preseden pengaturan](/id/settings#how-scopes-interact). |115| Nilai `settings.json` tampak diabaikan | Kunci yang sama diatur di `settings.local.json` | `settings.local.json` menggantikan `settings.json`, dan keduanya menggantikan `~/.claude/settings.json`. Lihat [preseden pengaturan](/docs/id/settings#how-scopes-interact). |

116| Skill tidak muncul di `/skills` | File skill berada di `.claude/skills/name.md` bukan dalam folder | Gunakan folder dengan `SKILL.md` di dalamnya: `.claude/skills/name/SKILL.md`. |116| Skill tidak muncul di `/skills` | File skill berada di `.claude/skills/name.md` bukan dalam folder | Gunakan folder dengan `SKILL.md` di dalamnya: `.claude/skills/name/SKILL.md`. |

117| Skill muncul di `/skills` tetapi Claude tidak pernah menginvokasinya | Skill memiliki `disable-model-invocation: true` di frontmatter-nya, atau deskripsinya tidak cocok dengan cara Anda merumuskan permintaan | Periksa lencana di `/skills`: label "user-only" berarti Claude tidak akan memicunya sendiri. Lihat [skill invocation](/id/skills). |117| Skill muncul di `/skills` tetapi Claude tidak pernah menginvokasinya | Skill memiliki `disable-model-invocation: true` di frontmatter-nya, atau deskripsinya tidak cocok dengan cara Anda merumuskan permintaan | Periksa lencana di `/skills`: label "user-only" berarti Claude tidak akan memicunya sendiri. Lihat [skill invocation](/docs/id/skills). |

118| Instruksi `CLAUDE.md` subdirektori tampak diabaikan | File subdirektori dimuat sesuai permintaan, bukan pada awal sesi | Mereka dimuat ketika Claude membaca file di direktori itu dengan alat Read, bukan saat peluncuran dan bukan saat menulis atau membuat file di sana. Lihat [bagaimana file CLAUDE.md dimuat](/id/memory#how-claude-md-files-load). |118| Instruksi `CLAUDE.md` subdirektori tampak diabaikan | File subdirektori dimuat sesuai permintaan, bukan pada awal sesi | Mereka dimuat ketika Claude membaca file di direktori itu dengan alat Read, bukan saat peluncuran dan bukan saat menulis atau membuat file di sana. Lihat [bagaimana file CLAUDE.md dimuat](/docs/id/memory#how-claude-md-files-load). |

119| Subagent mengabaikan instruksi `CLAUDE.md` | Agen Explore dan Plan bawaan melewati `CLAUDE.md`. Subagent kustom memuatnya dengan cara yang sama seperti percakapan utama | Untuk Explore atau Plan, nyatakan kembali instruksi dalam prompt delegasi Anda. Untuk subagent kustom, letakkan instruksi penting di badan file agen, yang menjadi system prompt agen. Lihat [apa yang dimuat saat startup](/id/sub-agents#what-loads-at-startup). |119| Subagent mengabaikan instruksi `CLAUDE.md` | Agen Explore dan Plan bawaan melewati `CLAUDE.md`. Subagent kustom memuatnya dengan cara yang sama seperti percakapan utama | Untuk Explore atau Plan, nyatakan kembali instruksi dalam prompt delegasi Anda. Untuk subagent kustom, letakkan instruksi penting di badan file agen, yang menjadi system prompt agen. Lihat [apa yang dimuat saat startup](/docs/id/sub-agents#what-loads-at-startup). |

120| Logika pembersihan tidak pernah berjalan di akhir sesi | Tidak ada hook `SessionEnd` yang dikonfigurasi | Tambahkan hook `SessionEnd` di `settings.json`. Lihat [daftar acara hook](/id/hooks#hook-events). |120| Logika pembersihan tidak pernah berjalan di akhir sesi | Tidak ada hook `SessionEnd` yang dikonfigurasi | Tambahkan hook `SessionEnd` di `settings.json`. Lihat [daftar acara hook](/docs/id/hooks#hook-events). |

121| Server MCP di `.mcp.json` tidak pernah dimuat | File berada di bawah `.claude/` atau menggunakan format konfigurasi Claude Desktop | Konfigurasi MCP proyek berada di akar repositori sebagai `.mcp.json`, bukan di dalam `.claude/`. Lihat [konfigurasi MCP](/id/mcp). |121| Server MCP di `.mcp.json` tidak pernah dimuat | File berada di bawah `.claude/` atau menggunakan format konfigurasi Claude Desktop | Konfigurasi MCP proyek berada di akar repositori sebagai `.mcp.json`, bukan di dalam `.claude/`. Lihat [konfigurasi MCP](/docs/id/mcp). |

122| Server MCP ditambahkan di bawah `mcpServers` di `settings.json` tidak pernah muncul | `settings.json` tidak membaca kunci `mcpServers` | Tentukan server proyek di `.mcp.json` di akar repositori, atau jalankan `claude mcp add --scope user` untuk server berscopepengguna. Lihat [konfigurasi MCP](/id/mcp). |122| Server MCP ditambahkan di bawah `mcpServers` di `settings.json` tidak pernah muncul | `settings.json` tidak membaca kunci `mcpServers` | Tentukan server proyek di `.mcp.json` di akar repositori, atau jalankan `claude mcp add --scope user` untuk server berscopepengguna. Lihat [konfigurasi MCP](/docs/id/mcp). |

123| Server MCP proyek ditambahkan tetapi tidak muncul | Prompt persetujuan satu kali ditutup | Server berscopeproyek memerlukan persetujuan. Jalankan `/mcp` untuk melihat status dan setujui. |123| Server MCP proyek ditambahkan tetapi tidak muncul | Prompt persetujuan satu kali ditutup | Server berscopeproyek memerlukan persetujuan. Jalankan `/mcp` untuk melihat status dan setujui. |

124| Server MCP gagal dimulai dari beberapa direktori | `command` atau `args` menggunakan jalur file relatif | Gunakan jalur absolut untuk skrip lokal. Executable di `PATH` Anda seperti `npx` atau `uvx` bekerja apa adanya. |124| Server MCP gagal dimulai dari beberapa direktori | `command` atau `args` menggunakan jalur file relatif | Gunakan jalur absolut untuk skrip lokal. Executable di `PATH` Anda seperti `npx` atau `uvx` bekerja apa adanya. |

125| Server MCP dimulai tanpa variabel lingkungan yang diharapkan | Variabel berada di `settings.json` `env`, yang tidak menyebar ke proses anak MCP | Atur `env` per-server di dalam `.mcp.json` sebagai gantinya. |125| Server MCP dimulai tanpa variabel lingkungan yang diharapkan | Variabel berada di `settings.json` `env`, yang tidak menyebar ke proses anak MCP | Atur `env` per-server di dalam `.mcp.json` sebagai gantinya. |

126| Aturan deny `Bash(rm *)` tidak memblokir `/bin/rm` atau `find -delete` | Aturan awalan mencocokkan string perintah literal, bukan executable yang mendasar | Tambahkan pola eksplisit untuk setiap varian, atau gunakan [hook PreToolUse](/id/hooks-guide) atau [sandbox](/id/sandboxing) untuk jaminan keras. |126| Aturan deny `Bash(rm *)` tidak memblokir `/bin/rm` atau `find -delete` | Aturan awalan mencocokkan string perintah literal, bukan executable yang mendasar | Tambahkan pola eksplisit untuk setiap varian, atau gunakan [hook PreToolUse](/docs/id/hooks-guide) atau [sandbox](/docs/id/sandboxing) untuk jaminan keras. |

127 127 

128<h2 id="related-resources">128<h2 id="related-resources">

129 Sumber daya terkait129 Sumber daya terkait


131 131 

132Untuk referensi lengkap pada setiap permukaan konfigurasi, lihat halaman khusus:132Untuk referensi lengkap pada setiap permukaan konfigurasi, lihat halaman khusus:

133 133 

134* **[Referensi direktori `.claude`](/id/claude-directory)**: setiap lokasi file konfigurasi dan apa yang membacanya134* **[Referensi direktori `.claude`](/docs/id/claude-directory)**: setiap lokasi file konfigurasi dan apa yang membacanya

135* **[Settings](/id/settings)**: urutan preseden dan daftar kunci lengkap135* **[Settings](/docs/id/settings)**: urutan preseden dan daftar kunci lengkap

136* **[Referensi Hooks](/id/hooks)**: nama acara, payload, dan format output `--debug hooks`136* **[Referensi Hooks](/docs/id/hooks)**: nama acara, payload, dan format output `--debug hooks`

137* **[MCP](/id/mcp)**: konfigurasi server, persetujuan, dan output `/mcp`137* **[MCP](/docs/id/mcp)**: konfigurasi server, persetujuan, dan output `/mcp`

138* **[Troubleshoot installation and login](/id/troubleshoot-install)**: `command not found`, PATH, dan masalah autentikasi138* **[Troubleshoot installation and login](/docs/id/troubleshoot-install)**: `command not found`, PATH, dan masalah autentikasi

139* **[Troubleshooting](/id/troubleshooting)**: kinerja, hang, dan masalah pencarian139* **[Troubleshooting](/docs/id/troubleshooting)**: kinerja, hang, dan masalah pencarian

desktop.md +72 −72

Details

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/docs/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian21 apt or .deb for Ubuntu and Debian

22 </Card>22 </Card>

23</CardGroup>23</CardGroup>

24 24 

25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/docs/en/desktop-linux).

26 26 

27Setelah menginstal, luncurkan Claude, masuk, dan klik tab **Code**. Pertama kali Anda membukanya di Windows, Anda perlu menginstal [Git for Windows](https://git-scm.com/downloads/win); mulai ulang aplikasi setelah menginstalnya. Untuk panduan sesi pertama Anda, lihat [panduan Memulai](/id/desktop-quickstart).27Setelah menginstal, luncurkan Claude, masuk, dan klik tab **Code**. Pertama kali Anda membukanya di Windows, Anda perlu menginstal [Git for Windows](https://git-scm.com/downloads/win); mulai ulang aplikasi setelah menginstalnya. Untuk panduan sesi pertama Anda, lihat [panduan Memulai](/docs/id/desktop-quickstart).

28 28 

29Di tab Code, setiap percakapan adalah sebuah **sesi**: ia memiliki riwayat chat sendiri, folder proyek, dan perubahan kode, independen dari sesi lainnya. Bilah sisi mencantumkan sesi Anda dan memungkinkan Anda menjalankan beberapa secara paralel. Dalam sesi Anda dapat:29Di tab Code, setiap percakapan adalah sebuah **sesi**: ia memiliki riwayat chat sendiri, folder proyek, dan perubahan kode, independen dari sesi lainnya. Bilah sisi mencantumkan sesi Anda dan memungkinkan Anda menjalankan beberapa secara paralel. Dalam sesi Anda dapat:

30 30 


36* Biarkan Claude [membuka aplikasi dan mengontrol layar Anda](#let-claude-use-your-computer)36* Biarkan Claude [membuka aplikasi dan mengontrol layar Anda](#let-claude-use-your-computer)

37* Jalankan di mesin Anda, di [cloud](#run-long-running-tasks-remotely), atau melalui [SSH](#ssh-sessions)37* Jalankan di mesin Anda, di [cloud](#run-long-running-tasks-remotely), atau melalui [SSH](#ssh-sessions)

38 38 

39Untuk [pekerjaan berulang terjadwal](/id/desktop-scheduled-tasks), [pintasan keyboard](#keyboard-shortcuts), atau [mengirim tugas dari ponsel Anda](#sessions-from-dispatch), lihat halaman dan bagian yang ditautkan. Jika Anda sudah menggunakan CLI berbasis terminal, lihat [perbandingan CLI](#coming-from-the-cli) untuk apa yang berlanjut.39Untuk [pekerjaan berulang terjadwal](/docs/id/desktop-scheduled-tasks), [pintasan keyboard](#keyboard-shortcuts), atau [mengirim tugas dari ponsel Anda](#sessions-from-dispatch), lihat halaman dan bagian yang ditautkan. Jika Anda sudah menggunakan CLI berbasis terminal, lihat [perbandingan CLI](#coming-from-the-cli) untuk apa yang berlanjut.

40 40 

41<h2 id="start-a-session">41<h2 id="start-a-session">

42 Mulai sesi42 Mulai sesi


44 44 

45Sebelum Anda mengirim pesan pertama, konfigurasikan empat hal di area prompt:45Sebelum Anda mengirim pesan pertama, konfigurasikan empat hal di area prompt:

46 46 

47* **Environment**: pilih di mana Claude berjalan. Pilih **Local** untuk mesin Anda, **Remote** untuk sesi cloud yang dihosting Anthropic, [**koneksi SSH**](#ssh-sessions) untuk mesin jarak jauh yang Anda kelola, atau di Windows [**distribusi WSL**](/id/desktop-wsl). Lihat [konfigurasi lingkungan](#environment-configuration).47* **Environment**: pilih di mana Claude berjalan. Pilih **Local** untuk mesin Anda, **Remote** untuk sesi cloud yang dihosting Anthropic, [**koneksi SSH**](#ssh-sessions) untuk mesin jarak jauh yang Anda kelola, atau di Windows [**distribusi WSL**](/docs/id/desktop-wsl). Lihat [konfigurasi lingkungan](#environment-configuration).

48* **Project folder**: pilih folder atau repositori tempat Claude bekerja. Untuk sesi jarak jauh, Anda dapat menambahkan [beberapa repositori](#run-long-running-tasks-remotely).48* **Project folder**: pilih folder atau repositori tempat Claude bekerja. Untuk sesi jarak jauh, Anda dapat menambahkan [beberapa repositori](#run-long-running-tasks-remotely).

49* **Model**: pilih [model](/id/model-config#available-models) dari dropdown di sebelah tombol kirim. Anda dapat mengubah ini selama sesi.49* **Model**: pilih [model](/docs/id/model-config#available-models) dari dropdown di sebelah tombol kirim. Anda dapat mengubah ini selama sesi.

50* **Permission mode**: pilih berapa banyak otonomi yang dimiliki Claude dari [pemilih mode](#choose-a-permission-mode). Anda dapat mengubah ini selama sesi.50* **Permission mode**: pilih berapa banyak otonomi yang dimiliki Claude dari [pemilih mode](#choose-a-permission-mode). Anda dapat mengubah ini selama sesi.

51 51 

52Ketik tugas Anda dan tekan **Enter** untuk memulai. Setiap sesi melacak konteksnya sendiri dan perubahan secara independen.52Ketik tugas Anda dan tekan **Enter** untuk memulai. Setiap sesi melacak konteksnya sendiri dan perubahan secara independen.


80 80 

81Permission modes mengontrol berapa banyak otonomi yang dimiliki Claude selama sesi: apakah itu meminta izin sebelum mengedit file, menjalankan perintah, atau keduanya. Anda dapat beralih mode kapan saja menggunakan pemilih mode di sebelah tombol kirim. Mulai dengan Manual untuk melihat dengan tepat apa yang dilakukan Claude, kemudian pindah ke Accept edits atau Plan saat Anda merasa nyaman.81Permission modes mengontrol berapa banyak otonomi yang dimiliki Claude selama sesi: apakah itu meminta izin sebelum mengedit file, menjalankan perintah, atau keduanya. Anda dapat beralih mode kapan saja menggunakan pemilih mode di sebelah tombol kirim. Mulai dengan Manual untuk melihat dengan tepat apa yang dilakukan Claude, kemudian pindah ke Accept edits atau Plan saat Anda merasa nyaman.

82 82 

83Untuk menetapkan mode default untuk sesi lokal baru, tambahkan `permissions.defaultMode` ke [file pengaturan](/id/settings#settings-files) Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan mengambil alih `defaultMode` untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.83Untuk menetapkan mode default untuk sesi lokal baru, tambahkan `permissions.defaultMode` ke [file pengaturan](/docs/id/settings#settings-files) Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan mengambil alih `defaultMode` untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.

84 84 

85| Mode | Settings key | Behavior |85| Mode | Settings key | Behavior |

86| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |86| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


88| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |88| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |

89| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |89| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |

90| **Auto** | `auto` | Claude mengeksekusi semua tindakan dengan pemeriksaan keamanan latar belakang yang memverifikasi keselarasan dengan permintaan Anda. Mengurangi prompt izin sambil mempertahankan pengawasan. Muncul ketika akun Anda memenuhi [availability requirements](#auto-mode-availability) di bawah; tidak ada toggle Settings terpisah untuk itu. |90| **Auto** | `auto` | Claude mengeksekusi semua tindakan dengan pemeriksaan keamanan latar belakang yang memverifikasi keselarasan dengan permintaan Anda. Mengurangi prompt izin sambil mempertahankan pengawasan. Muncul ketika akun Anda memenuhi [availability requirements](#auto-mode-availability) di bawah; tidak ada toggle Settings terpisah untuk itu. |

91| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin apa pun, kecuali yang dipaksa oleh [ask rules](/id/permissions#manage-permissions) eksplisit, connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), atau safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites); setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |91| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin apa pun, kecuali yang dipaksa oleh [ask rules](/docs/id/permissions#manage-permissions) eksplisit, connector tools [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), atau safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites); setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |

92 92 

93Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.93Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.

94 94 

95Permission mode `dontAsk` hanya tersedia di [CLI](/id/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).95Permission mode `dontAsk` hanya tersedia di [CLI](/docs/id/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).

96 96 

97<span id="auto-mode-availability" />97<span id="auto-mode-availability" />

98 98 

99Auto mode tersedia untuk semua pengguna di Anthropic API dan memerlukan Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Administrator organisasi dapat menonaktifkan auto mode dengan kunci `disableAutoMode` di [managed settings](#managed-settings).99Auto mode tersedia untuk semua pengguna di Anthropic API dan memerlukan Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Administrator organisasi dapat menonaktifkan auto mode dengan kunci `disableAutoMode` di [managed settings](#managed-settings).

100 100 

101Dalam penyebaran Enterprise yang merutekan Desktop ke Google Cloud's Agent Platform, auto mode [tersedia secara default](/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), dan hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di sana. {/* min-version: 2.1.207 */}Sebelum Claude Code v2.1.207, penyebaran Enterprise di Google Cloud's Agent Platform harus menetapkan `CLAUDE_CODE_ENABLE_AUTO_MODE` untuk mengaktifkan auto mode.101Dalam penyebaran Enterprise yang merutekan Desktop ke Google Cloud's Agent Platform, auto mode [tersedia secara default](/docs/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), dan hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di sana. Sebelum Claude Code v2.1.207, penyebaran Enterprise di Google Cloud's Agent Platform harus menetapkan `CLAUDE_CODE_ENABLE_AUTO_MODE` untuk mengaktifkan auto mode.

102 102 

103<Tip title="Best practice">103<Tip title="Best practice">

104 Mulai tugas kompleks di Plan sehingga Claude memetakan pendekatan sebelum membuat perubahan. Setelah Anda menyetujui rencana, beralih ke Accept edits atau Manual untuk menjalankannya. Lihat [explore first, then plan, then code](/id/best-practices#explore-first-then-plan-then-code) untuk informasi lebih lanjut tentang alur kerja ini.104 Mulai tugas kompleks di Plan sehingga Claude memetakan pendekatan sebelum membuat perubahan. Setelah Anda menyetujui rencana, beralih ke Accept edits atau Manual untuk menjalankannya. Lihat [explore first, then plan, then code](/docs/id/best-practices#explore-first-then-plan-then-code) untuk informasi lebih lanjut tentang alur kerja ini.

105</Tip>105</Tip>

106 106 

107Sesi cloud mendukung Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud secara otomatis menyetujui edit file, jadi pemilih menampilkan Accept edits alih-alih Manual. Bypass permissions tidak tersedia karena lingkungan cloud sudah disandbox.107Sesi cloud mendukung Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud secara otomatis menyetujui edit file, jadi pemilih menampilkan Accept edits alih-alih Manual. Bypass permissions tidak tersedia karena lingkungan cloud sudah disandbox.


145 145 

146Pertama kali Claude bertindak di situs eksternal, kartu izin muncul dan Claude menunggu pilihan Anda: **Allow once**, **Always allow**, atau **Deny**. **Allow once** menyetujui tindakan tanpa menyimpan apa pun. **Always allow** menyimpan persetujuan untuk situs itu di perangkat Anda, dan Anda dapat mencabut di Settings. Setiap situs memerlukan persetujuannya sendiri, termasuk subdomain. Server dev lokal Anda dan file proyek tidak memerlukan persetujuan, jadi [auto-verify](#auto-verify-changes) terus bekerja tanpa prompt.146Pertama kali Claude bertindak di situs eksternal, kartu izin muncul dan Claude menunggu pilihan Anda: **Allow once**, **Always allow**, atau **Deny**. **Allow once** menyetujui tindakan tanpa menyimpan apa pun. **Always allow** menyimpan persetujuan untuk situs itu di perangkat Anda, dan Anda dapat mencabut di Settings. Setiap situs memerlukan persetujuannya sendiri, termasuk subdomain. Server dev lokal Anda dan file proyek tidak memerlukan persetujuan, jadi [auto-verify](#auto-verify-changes) terus bekerja tanpa prompt.

147 147 

148Bahkan di situs yang disetujui, Claude tidak akan membeli item, membuat akun, atau melewati CAPTCHA tanpa input Anda. Browsing di pane Browser menggunakan model keamanan yang sama dengan [Claude in Chrome extension](/id/chrome). Lihat [Using Claude in Chrome safely](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely) untuk cara Claude menangani situs sensitif dan tindakan berisiko.148Bahkan di situs yang disetujui, Claude tidak akan membeli item, membuat akun, atau melewati CAPTCHA tanpa input Anda. Browsing di pane Browser menggunakan model keamanan yang sama dengan [Claude in Chrome extension](/docs/id/chrome). Lihat [Using Claude in Chrome safely](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely) untuk cara Claude menangani situs sensitif dan tindakan berisiko.

149 149 

150<h4 id="choose-between-the-browser-and-the-chrome-extension">150<h4 id="choose-between-the-browser-and-the-chrome-extension">

151 Pilih antara Browser dan Chrome extension151 Pilih antara Browser dan Chrome extension

152</h4>152</h4>

153 153 

154Pane Browser menggunakan profil browser yang bersih, terpisah dari browser pribadi Anda, tanpa login atau riwayat yang disimpan. Gunakan untuk membangun dan menguji aplikasi Anda dan untuk situs yang tidak memerlukan identitas Anda. Ketika Anda ingin Claude bertindak sebagai Anda dalam sesi login Anda, gunakan [Claude in Chrome extension](/id/chrome) sebagai gantinya, yang berbagi status login browser Anda.154Pane Browser menggunakan profil browser yang bersih, terpisah dari browser pribadi Anda, tanpa login atau riwayat yang disimpan. Gunakan untuk membangun dan menguji aplikasi Anda dan untuk situs yang tidak memerlukan identitas Anda. Ketika Anda ingin Claude bertindak sebagai Anda dalam sesi login Anda, gunakan [Claude in Chrome extension](/docs/id/chrome) sebagai gantinya, yang berbagi status login browser Anda.

155 155 

156<h4 id="restrict-external-browsing-for-your-organization">156<h4 id="restrict-external-browsing-for-your-organization">

157 Batasi browsing eksternal untuk organisasi Anda157 Batasi browsing eksternal untuk organisasi Anda


274| `Cmd` `Shift` `E` | Buka menu effort |274| `Cmd` `Shift` `E` | Buka menu effort |

275| `1`–`9` | Pilih item di menu terbuka |275| `1`–`9` | Pilih item di menu terbuka |

276 276 

277Pintasan ini hanya berlaku untuk tab Code. Pintasan [interactive mode](/id/interactive-mode#keyboard-shortcuts) berbasis terminal, seperti `Shift+Tab` untuk siklus mode, tidak berlaku di Desktop.277Pintasan ini hanya berlaku untuk tab Code. Pintasan [interactive mode](/docs/id/interactive-mode#keyboard-shortcuts) berbasis terminal, seperti `Shift+Tab` untuk siklus mode, tidak berlaku di Desktop.

278 278 

279<h3 id="check-usage">279<h3 id="check-usage">

280 Periksa penggunaan280 Periksa penggunaan


295Computer use dimatikan secara default. [Aktifkan di Settings](#enable-computer-use) sebelum Claude dapat mengontrol layar Anda. Di macOS, Anda juga perlu memberikan izin Accessibility dan Screen Recording.295Computer use dimatikan secara default. [Aktifkan di Settings](#enable-computer-use) sebelum Claude dapat mengontrol layar Anda. Di macOS, Anda juga perlu memberikan izin Accessibility dan Screen Recording.

296 296 

297<Warning>297<Warning>

298 Tidak seperti [alat Bash yang disandbox](/id/sandboxing), computer use berjalan di desktop aktual Anda dengan akses ke apa pun yang Anda setujui. Claude memeriksa setiap tindakan dan menandai potensi prompt injection dari konten di layar, tetapi batas kepercayaan berbeda. Lihat [panduan keamanan computer use](https://support.claude.com/en/articles/14128542) untuk praktik terbaik.298 Tidak seperti [alat Bash yang disandbox](/docs/id/sandboxing), computer use berjalan di desktop aktual Anda dengan akses ke apa pun yang Anda setujui. Claude memeriksa setiap tindakan dan menandai potensi prompt injection dari konten di layar, tetapi batas kepercayaan berbeda. Lihat [panduan keamanan computer use](https://support.claude.com/en/articles/14128542) untuk praktik terbaik.

299</Warning>299</Warning>

300 300 

301<h3 id="when-computer-use-applies">301<h3 id="when-computer-use-applies">


306 306 

307* Jika Anda memiliki [konektor](#connect-external-tools) untuk layanan, Claude menggunakan konektor.307* Jika Anda memiliki [konektor](#connect-external-tools) untuk layanan, Claude menggunakan konektor.

308* Jika tugas adalah perintah shell, Claude menggunakan Bash.308* Jika tugas adalah perintah shell, Claude menggunakan Bash.

309* Jika tugas adalah pekerjaan browser dan Anda memiliki [Claude di Chrome](/id/chrome) yang disiapkan, Claude menggunakan itu.309* Jika tugas adalah pekerjaan browser dan Anda memiliki [Claude di Chrome](/docs/id/chrome) yang disiapkan, Claude menggunakan itu.

310* Jika tidak ada yang berlaku, Claude menggunakan computer use.310* Jika tidak ada yang berlaku, Claude menggunakan computer use.

311 311 

312[Per-app access tiers](#app-permissions) memperkuat ini: browser dibatasi hanya tampilan, dan terminal serta IDE dibatasi hanya klik, mengarahkan Claude ke alat khusus bahkan ketika computer use aktif. Kontrol layar dicadangkan untuk hal-hal yang tidak dapat dijangkau oleh yang lain, seperti aplikasi native, panel kontrol perangkat keras, mobile simulator, atau alat proprietary tanpa API.312[Per-app access tiers](#app-permissions) memperkuat ini: browser dibatasi hanya tampilan, dan terminal serta IDE dibatasi hanya klik, mengarahkan Claude ke alat khusus bahkan ketika computer use aktif. Kontrol layar dicadangkan untuk hal-hal yang tidak dapat dijangkau oleh yang lain, seperti aplikasi native, panel kontrol perangkat keras, mobile simulator, atau alat proprietary tanpa API.


319 319 

320<Steps>320<Steps>

321 <Step title="Perbarui aplikasi desktop">321 <Step title="Perbarui aplikasi desktop">

322 Pastikan Anda memiliki versi terbaru Claude Desktop. Pada macOS dan Windows, unduh atau perbarui di [claude.com/download](https://claude.com/download); di Linux, perbarui melalui manajer paket Anda ([instruksi](/id/desktop-linux)). Kemudian mulai ulang aplikasi.322 Pastikan Anda memiliki versi terbaru Claude Desktop. Pada macOS dan Windows, unduh atau perbarui di [claude.com/download](https://claude.com/download); di Linux, perbarui melalui manajer paket Anda ([instruksi](/docs/id/desktop-linux)). Kemudian mulai ulang aplikasi.

323 </Step>323 </Step>

324 324 

325 <Step title="Aktifkan toggle">325 <Step title="Aktifkan toggle">


369 Bekerja secara paralel dengan sesi369 Bekerja secara paralel dengan sesi

370</h3>370</h3>

371 371 

372Klik **+ New session** di sidebar, atau tekan **Cmd+N** di macOS atau **Ctrl+N** di Windows, untuk bekerja pada beberapa tugas secara paralel. Tekan **Ctrl+Tab** dan **Ctrl+Shift+Tab** untuk bersiklus melalui sesi di sidebar. Untuk repositori Git, setiap sesi mendapatkan salinan proyek Anda yang terisolasi menggunakan [Git worktrees](/id/worktrees), sehingga perubahan dalam satu sesi tidak mempengaruhi sesi lain sampai Anda melakukan commit.372Klik **+ New session** di sidebar, atau tekan **Cmd+N** di macOS atau **Ctrl+N** di Windows, untuk bekerja pada beberapa tugas secara paralel. Tekan **Ctrl+Tab** dan **Ctrl+Shift+Tab** untuk bersiklus melalui sesi di sidebar. Untuk repositori Git, setiap sesi mendapatkan salinan proyek Anda yang terisolasi menggunakan [Git worktrees](/docs/id/worktrees), sehingga perubahan dalam satu sesi tidak mempengaruhi sesi lain sampai Anda melakukan commit.

373 373 

374Untuk melihat dua sesi sekaligus, tahan **Cmd** di macOS atau **Ctrl** di Windows dan klik sesi di sidebar. Sesi terbuka di pane kedua di samping yang sudah Anda buka. Saat split aktif, mengklik sesi sidebar lain mengganti pane mana pun yang memiliki fokus. Tekan **Cmd+\\** di macOS atau **Ctrl+\\** di Windows untuk menutup pane yang difokuskan dan kembali ke sesi tunggal.374Untuk melihat dua sesi sekaligus, tahan **Cmd** di macOS atau **Ctrl** di Windows dan klik sesi di sidebar. Sesi terbuka di pane kedua di samping yang sudah Anda buka. Saat split aktif, mengklik sesi sidebar lain mengganti pane mana pun yang memiliki fokus. Tekan **Cmd+\\** di macOS atau **Ctrl+\\** di Windows untuk menutup pane yang difokuskan dan kembali ke sesi tunggal.

375 375 

376Worktrees disimpan di `<project-root>/.claude/worktrees/` secara default. Anda dapat mengubah ini ke direktori kustom di Settings → Claude Code di bawah "Worktree location". Anda juga dapat mengatur awalan cabang yang ditambahkan ke setiap nama cabang worktree, yang berguna untuk menjaga cabang yang dibuat Claude tetap terorganisir. Untuk menghapus worktree ketika selesai, arahkan ke sesi di sidebar dan klik ikon archive. Untuk memiliki sesi mengarsipkan diri mereka sendiri ketika pull request mereka digabungkan atau ditutup, aktifkan **Auto-archive after PR merge or close** di Settings → Claude Code. Auto-archive hanya berlaku untuk sesi lokal yang telah selesai berjalan.376Worktrees disimpan di `<project-root>/.claude/worktrees/` secara default. Anda dapat mengubah ini ke direktori kustom di Settings → Claude Code di bawah "Worktree location". Anda juga dapat mengatur awalan cabang yang ditambahkan ke setiap nama cabang worktree, yang berguna untuk menjaga cabang yang dibuat Claude tetap terorganisir. Untuk menghapus worktree ketika selesai, arahkan ke sesi di sidebar dan klik ikon archive. Untuk memiliki sesi mengarsipkan diri mereka sendiri ketika pull request mereka digabungkan atau ditutup, aktifkan **Auto-archive after PR merge or close** di Settings → Claude Code. Auto-archive hanya berlaku untuk sesi lokal yang telah selesai berjalan.

377 377 

378Untuk menyertakan file yang diabaikan git seperti `.env` di worktree baru, buat file [`.worktreeinclude`](/id/worktrees#copy-gitignored-files-into-worktrees) di root proyek Anda.378Untuk menyertakan file yang diabaikan git seperti `.env` di worktree baru, buat file [`.worktreeinclude`](/docs/id/worktrees#copy-gitignored-files-into-worktrees) di root proyek Anda.

379 379 

380<Note>380<Note>

381 Isolasi sesi memerlukan [Git](https://git-scm.com/downloads). Sebagian besar Mac menyertakan Git secara default. Jalankan `git --version` di Terminal untuk memeriksa. Di Windows, Git diperlukan agar tab Code berfungsi: [unduh Git untuk Windows](https://git-scm.com/downloads/win), pasang, dan mulai ulang aplikasi. Jika Anda mengalami kesalahan Git, tanyakan Claude di tab [Cowork](https://claude.com/product/cowork) untuk membantu memecahkan masalah setup Anda.381 Isolasi sesi memerlukan [Git](https://git-scm.com/downloads). Sebagian besar Mac menyertakan Git secara default. Jalankan `git --version` di Terminal untuk memeriksa. Di Windows, Git diperlukan agar tab Code berfungsi: [unduh Git untuk Windows](https://git-scm.com/downloads/win), pasang, dan mulai ulang aplikasi. Jika Anda mengalami kesalahan Git, tanyakan Claude di tab [Cowork](https://claude.com/product/cowork) untuk membantu memecahkan masalah setup Anda.

382</Note>382</Note>

383 383 

384Gunakan kontrol di bagian atas sidebar untuk memfilter sesi berdasarkan status, proyek, atau lingkungan, dan untuk mengelompokkan sesi berdasarkan proyek. Untuk mengganti nama sesi, klik judul sesi di toolbar di bagian atas sesi aktif. Untuk memeriksa penggunaan konteks, lihat [Check usage](#check-usage). Ketika konteks penuh, Claude secara otomatis merangkum percakapan dan terus bekerja. Anda juga dapat mengetik `/compact` untuk memicu perangkuman lebih awal dan membebaskan ruang konteks. Lihat [jendela konteks](/id/how-claude-code-works#the-context-window) untuk detail tentang cara pemadatan bekerja.384Gunakan kontrol di bagian atas sidebar untuk memfilter sesi berdasarkan status, proyek, atau lingkungan, dan untuk mengelompokkan sesi berdasarkan proyek. Untuk mengganti nama sesi, klik judul sesi di toolbar di bagian atas sesi aktif. Untuk memeriksa penggunaan konteks, lihat [Check usage](#check-usage). Ketika konteks penuh, Claude secara otomatis merangkum percakapan dan terus bekerja. Anda juga dapat mengetik `/compact` untuk memicu perangkuman lebih awal dan membebaskan ruang konteks. Lihat [jendela konteks](/docs/id/how-claude-code-works#the-context-window) untuk detail tentang cara pemadatan bekerja.

385 385 

386Aplikasi desktop mengirimkan notifikasi OS ketika sesi Code menyelesaikan tugas dan Anda tidak sedang melihat sesi tersebut.386Aplikasi desktop mengirimkan notifikasi OS ketika sesi Code menyelesaikan tugas dan Anda tidak sedang melihat sesi tersebut.

387 387 


397 Tonton background tasks397 Tonton background tasks

398</h3>398</h3>

399 399 

400Pane tasks menunjukkan pekerjaan latar belakang yang berjalan di dalam sesi saat ini: subagent, perintah shell latar belakang, dan [dynamic workflows](/id/workflows). Buka dari menu **Views** atau seret ke dalam tata letak Anda.400Pane tasks menunjukkan pekerjaan latar belakang yang berjalan di dalam sesi saat ini: subagent, perintah shell latar belakang, dan [dynamic workflows](/docs/id/workflows). Buka dari menu **Views** atau seret ke dalam tata letak Anda.

401 401 

402Klik entri apa pun untuk melihat outputnya di pane subagent atau hentikan. Untuk melihat apa yang dilakukan sesi lain, gunakan [sidebar](#work-in-parallel-with-sessions).402Klik entri apa pun untuk melihat outputnya di pane subagent atau hentikan. Untuk melihat apa yang dilakukan sesi lain, gunakan [sidebar](#work-in-parallel-with-sessions).

403 403 


409 409 

410Sesi jarak jauh juga mendukung beberapa repositori. Setelah memilih lingkungan cloud, klik tombol **+** di sebelah pil repo untuk menambahkan repositori tambahan ke sesi. Setiap repo mendapatkan pemilih cabang sendiri. Ini berguna untuk tugas yang mencakup beberapa basis kode, seperti memperbarui perpustakaan bersama dan konsumennya.410Sesi jarak jauh juga mendukung beberapa repositori. Setelah memilih lingkungan cloud, klik tombol **+** di sebelah pil repo untuk menambahkan repositori tambahan ke sesi. Setiap repo mendapatkan pemilih cabang sendiri. Ini berguna untuk tugas yang mencakup beberapa basis kode, seperti memperbarui perpustakaan bersama dan konsumennya.

411 411 

412Lihat [Claude Code di web](/id/claude-code-on-the-web) untuk informasi lebih lanjut tentang cara kerja sesi jarak jauh.412Lihat [Claude Code di web](/docs/id/claude-code-on-the-web) untuk informasi lebih lanjut tentang cara kerja sesi jarak jauh.

413 413 

414<h3 id="continue-in-another-surface">414<h3 id="continue-in-another-surface">

415 Lanjutkan di permukaan lain415 Lanjutkan di permukaan lain


434 434 

435Untuk setup, pairing, dan pengaturan Dispatch, lihat [artikel bantuan Dispatch](https://support.claude.com/en/articles/13947068). Dispatch memerlukan rencana Pro atau Max dan tidak tersedia di rencana Team atau Enterprise.435Untuk setup, pairing, dan pengaturan Dispatch, lihat [artikel bantuan Dispatch](https://support.claude.com/en/articles/13947068). Dispatch memerlukan rencana Pro atau Max dan tidak tersedia di rencana Team atau Enterprise.

436 436 

437Dispatch adalah salah satu dari beberapa cara untuk bekerja dengan Claude ketika Anda jauh dari terminal Anda. Lihat [Platforms and integrations](/id/platforms#work-when-you-are-away-from-your-terminal) untuk membandingkannya dengan Remote Control, Channels, Slack, dan tugas terjadwal.437Dispatch adalah salah satu dari beberapa cara untuk bekerja dengan Claude ketika Anda jauh dari terminal Anda. Lihat [Platforms and integrations](/docs/id/platforms#work-when-you-are-away-from-your-terminal) untuk membandingkannya dengan Remote Control, Channels, Slack, dan tugas terjadwal.

438 438 

439<h2 id="extend-claude-code">439<h2 id="extend-claude-code">

440 Perluas Claude Code440 Perluas Claude Code


446 Hubungkan alat eksternal446 Hubungkan alat eksternal

447</h3>447</h3>

448 448 

449Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Connectors** untuk menambahkan integrasi seperti Google Calendar, Slack, GitHub, Linear, Notion, dan lainnya. Anda dapat menambahkan connectors sebelum atau selama sesi. Tombol **+** tidak tersedia di sesi cloud atau WSL, tetapi [routines](/id/routines) mengonfigurasi connectors pada waktu pembuatan routine.449Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Connectors** untuk menambahkan integrasi seperti Google Calendar, Slack, GitHub, Linear, Notion, dan lainnya. Anda dapat menambahkan connectors sebelum atau selama sesi. Tombol **+** tidak tersedia di sesi cloud atau WSL, tetapi [routines](/docs/id/routines) mengonfigurasi connectors pada waktu pembuatan routine.

450 450 

451Untuk mengelola atau memutuskan connectors, buka Settings → Connectors di aplikasi desktop, atau pilih **Manage connectors** dari menu Connectors di kotak prompt.451Untuk mengelola atau memutuskan connectors, buka Settings → Connectors di aplikasi desktop, atau pilih **Manage connectors** dari menu Connectors di kotak prompt.

452 452 

453Setelah terhubung, Claude dapat membaca kalender Anda, mengirim pesan, membuat masalah, dan berinteraksi dengan alat Anda secara langsung. Anda dapat meminta Claude konektor apa yang dikonfigurasi di sesi Anda.453Setelah terhubung, Claude dapat membaca kalender Anda, mengirim pesan, membuat masalah, dan berinteraksi dengan alat Anda secara langsung. Anda dapat meminta Claude konektor apa yang dikonfigurasi di sesi Anda.

454 454 

455Connectors adalah [MCP servers](/id/mcp) dengan alur pengaturan grafis. Gunakan untuk integrasi cepat dengan layanan yang didukung. Untuk integrasi yang tidak tercantum di Connectors, tambahkan MCP servers secara manual melalui [file pengaturan](/id/mcp#installing-mcp-servers). Anda juga dapat [membuat custom connectors](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).455Connectors adalah [MCP servers](/docs/id/mcp) dengan alur pengaturan grafis. Gunakan untuk integrasi cepat dengan layanan yang didukung. Untuk integrasi yang tidak tercantum di Connectors, tambahkan MCP servers secara manual melalui [file pengaturan](/docs/id/mcp#installing-mcp-servers). Anda juga dapat [membuat custom connectors](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

456 456 

457<h3 id="use-skills">457<h3 id="use-skills">

458 Gunakan skills458 Gunakan skills

459</h3>459</h3>

460 460 

461[Skills](/id/skills) memperluas apa yang dapat dilakukan Claude. Claude memuatnya secara otomatis ketika relevan, atau Anda dapat menginvokan satu secara langsung: ketik `/` di kotak prompt atau klik tombol **+** dan pilih **Slash commands** untuk melihat apa yang tersedia. Ini mencakup [built-in commands](/id/commands), [custom skills](/id/skills#create-your-first-skill) Anda, project skills dari basis kode Anda, dan skills dari [installed plugins](/id/plugins) apa pun. Pilih satu dan itu muncul disorot di bidang input. Ketik tugas Anda setelahnya dan kirim seperti biasa.461[Skills](/docs/id/skills) memperluas apa yang dapat dilakukan Claude. Claude memuatnya secara otomatis ketika relevan, atau Anda dapat menginvokan satu secara langsung: ketik `/` di kotak prompt atau klik tombol **+** dan pilih **Slash commands** untuk melihat apa yang tersedia. Ini mencakup [built-in commands](/docs/id/commands), [custom skills](/docs/id/skills#create-your-first-skill) Anda, project skills dari basis kode Anda, dan skills dari [installed plugins](/docs/id/plugins) apa pun. Pilih satu dan itu muncul disorot di bidang input. Ketik tugas Anda setelahnya dan kirim seperti biasa.

462 462 

463Anda dapat mengirim perintah saat Claude sedang bekerja, sama seperti pesan lainnya, dan sesi kembali ke idle setelah giliran selesai. Sebelum v2.1.206, perintah yang dikirim di tengah giliran dapat membuat sesi tetap menampilkan sebagai berjalan dan pesan yang Anda kirim setelahnya tidak terkirim.463Anda dapat mengirim perintah saat Claude sedang bekerja, sama seperti pesan lainnya, dan sesi kembali ke idle setelah giliran selesai. Sebelum v2.1.206, perintah yang dikirim di tengah giliran dapat membuat sesi tetap menampilkan sebagai berjalan dan pesan yang Anda kirim setelahnya tidak terkirim.

464 464 


466 Instal plugins466 Instal plugins

467</h3>467</h3>

468 468 

469[Plugins](/id/plugins) adalah paket yang dapat digunakan kembali yang menambahkan skills, agents, hooks, MCP servers, dan konfigurasi LSP ke Claude Code. Anda dapat memasang plugins dari aplikasi desktop tanpa menggunakan terminal.469[Plugins](/docs/id/plugins) adalah paket yang dapat digunakan kembali yang menambahkan skills, agents, hooks, MCP servers, dan konfigurasi LSP ke Claude Code. Anda dapat memasang plugins dari aplikasi desktop tanpa menggunakan terminal.

470 470 

471Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Plugins** untuk melihat plugins yang diinstal dan skills mereka. Untuk menambahkan plugin, pilih **Add plugin** dari submenu untuk membuka plugin browser, yang menampilkan plugins yang tersedia dari [marketplaces](/id/plugin-marketplaces) yang dikonfigurasi termasuk marketplace Anthropic resmi. Pilih **Manage plugins** untuk mengaktifkan, menonaktifkan, atau mencopot plugins.471Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Plugins** untuk melihat plugins yang diinstal dan skills mereka. Untuk menambahkan plugin, pilih **Add plugin** dari submenu untuk membuka plugin browser, yang menampilkan plugins yang tersedia dari [marketplaces](/docs/id/plugin-marketplaces) yang dikonfigurasi termasuk marketplace Anthropic resmi. Pilih **Manage plugins** untuk mengaktifkan, menonaktifkan, atau mencopot plugins.

472 472 

473Plugins dapat dibatasi pada akun pengguna Anda, proyek tertentu, atau lokal saja. Jika organisasi Anda mengelola plugins secara terpusat, plugins tersebut tersedia di sesi desktop dengan cara yang sama seperti di CLI. Plugins tidak tersedia untuk sesi cloud atau WSL. Untuk referensi plugin lengkap termasuk membuat plugins Anda sendiri, lihat [plugins](/id/plugins).473Plugins dapat dibatasi pada akun pengguna Anda, proyek tertentu, atau lokal saja. Jika organisasi Anda mengelola plugins secara terpusat, plugins tersebut tersedia di sesi desktop dengan cara yang sama seperti di CLI. Plugins tidak tersedia untuk sesi cloud atau WSL. Untuk referensi plugin lengkap termasuk membuat plugins Anda sendiri, lihat [plugins](/docs/id/plugins).

474 474 

475<h3 id="configure-preview-servers">475<h3 id="configure-preview-servers">

476 Konfigurasikan server pratinjau476 Konfigurasikan server pratinjau


636* **Local**: berjalan di mesin Anda dengan akses langsung ke file Anda636* **Local**: berjalan di mesin Anda dengan akses langsung ke file Anda

637* **Remote**: berjalan pada infrastruktur cloud Anthropic. Sesi terus berlanjut bahkan jika Anda menutup aplikasi.637* **Remote**: berjalan pada infrastruktur cloud Anthropic. Sesi terus berlanjut bahkan jika Anda menutup aplikasi.

638* **SSH**: berjalan di mesin jarak jauh yang Anda hubungkan melalui SSH, seperti server Anda sendiri, cloud VM, atau dev container638* **SSH**: berjalan di mesin jarak jauh yang Anda hubungkan melalui SSH, seperti server Anda sendiri, cloud VM, atau dev container

639* **WSL** (Windows): berjalan di dalam [distribusi WSL 2](/id/desktop-wsl) di mesin Anda, menggunakan toolchain Linux dan path aslinya639* **WSL** (Windows): berjalan di dalam [distribusi WSL 2](/docs/id/desktop-wsl) di mesin Anda, menggunakan toolchain Linux dan path aslinya

640 640 

641<h3 id="local-sessions">641<h3 id="local-sessions">

642 Local sessions642 Local sessions


644 644 

645Aplikasi desktop tidak selalu mewarisi lingkungan shell lengkap Anda. Di macOS, ketika Anda meluncurkan aplikasi dari Dock atau Finder, itu membaca profil shell Anda, seperti `~/.zshrc` atau `~/.bashrc`, untuk mengekstrak `PATH` dan set tetap variabel Claude Code, tetapi variabel lain yang Anda ekspor di sana tidak diambil. Di Windows, aplikasi mewarisi variabel lingkungan pengguna dan sistem tetapi tidak membaca profil PowerShell.645Aplikasi desktop tidak selalu mewarisi lingkungan shell lengkap Anda. Di macOS, ketika Anda meluncurkan aplikasi dari Dock atau Finder, itu membaca profil shell Anda, seperti `~/.zshrc` atau `~/.bashrc`, untuk mengekstrak `PATH` dan set tetap variabel Claude Code, tetapi variabel lain yang Anda ekspor di sana tidak diambil. Di Windows, aplikasi mewarisi variabel lingkungan pengguna dan sistem tetapi tidak membaca profil PowerShell.

646 646 

647Untuk mengatur variabel lingkungan untuk sesi lokal dan dev server di platform apa pun, buka dropdown lingkungan di kotak prompt, arahkan ke **Local**, dan klik ikon gear untuk membuka editor lingkungan lokal. Variabel yang Anda simpan di sini disimpan terenkripsi di mesin Anda dan berlaku untuk setiap sesi lokal dan server pratinjau yang Anda mulai. Anda juga dapat menambahkan variabel ke kunci `env` di file `~/.claude/settings.json` Anda, meskipun ini hanya mencapai sesi Claude dan bukan dev server. Lihat [environment variables](/id/env-vars) untuk daftar lengkap variabel yang didukung.647Untuk mengatur variabel lingkungan untuk sesi lokal dan dev server di platform apa pun, buka dropdown lingkungan di kotak prompt, arahkan ke **Local**, dan klik ikon gear untuk membuka editor lingkungan lokal. Variabel yang Anda simpan di sini disimpan terenkripsi di mesin Anda dan berlaku untuk setiap sesi lokal dan server pratinjau yang Anda mulai. Anda juga dapat menambahkan variabel ke kunci `env` di file `~/.claude/settings.json` Anda, meskipun ini hanya mencapai sesi Claude dan bukan dev server. Lihat [environment variables](/docs/id/env-vars) untuk daftar lengkap variabel yang didukung.

648 648 

649[Extended thinking](/id/model-config#extended-thinking) diaktifkan secara default, yang meningkatkan kinerja pada tugas penalaran kompleks tetapi menggunakan token tambahan. Untuk menonaktifkan pemikiran, atur `MAX_THINKING_TOKENS` ke `0` di editor lingkungan lokal; ini tidak berpengaruh pada Fable 5, yang selalu menggunakan extended thinking. Pada [penyedia pihak ketiga](/id/third-party-integrations), `0` menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir. Pada model dengan [adaptive reasoning](/id/model-config#adjust-effort-level), nilai `MAX_THINKING_TOKENS` apa pun yang lain diabaikan karena adaptive reasoning mengontrol kedalaman pemikiran sebagai gantinya. Pada Opus 4.6 dan Sonnet 4.6, atur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ke `1` untuk menggunakan anggaran pemikiran tetap; Fable 5, Sonnet 5, dan Opus 4.7 dan yang lebih baru selalu menggunakan adaptive reasoning dan tidak memiliki mode anggaran tetap.649[Extended thinking](/docs/id/model-config#extended-thinking) diaktifkan secara default, yang meningkatkan kinerja pada tugas penalaran kompleks tetapi menggunakan token tambahan. Untuk menonaktifkan pemikiran, atur `MAX_THINKING_TOKENS` ke `0` di editor lingkungan lokal; ini tidak berpengaruh pada Fable 5, yang selalu menggunakan extended thinking. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), `0` menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir. Pada model dengan [adaptive reasoning](/docs/id/model-config#adjust-effort-level), nilai `MAX_THINKING_TOKENS` apa pun yang lain diabaikan karena adaptive reasoning mengontrol kedalaman pemikiran sebagai gantinya. Pada Opus 4.6 dan Sonnet 4.6, atur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ke `1` untuk menggunakan anggaran pemikiran tetap; Fable 5, Sonnet 5, dan Opus 4.7 dan yang lebih baru selalu menggunakan adaptive reasoning dan tidak memiliki mode anggaran tetap.

650 650 

651<h3 id="cloud-sessions">651<h3 id="cloud-sessions">

652 Cloud sessions652 Cloud sessions

653</h3>653</h3>

654 654 

655Sesi cloud terus berlanjut di latar belakang bahkan jika Anda menutup aplikasi. Penggunaan dihitung terhadap [batas rencana langganan](/id/costs) Anda tanpa biaya komputasi terpisah.655Sesi cloud terus berlanjut di latar belakang bahkan jika Anda menutup aplikasi. Penggunaan dihitung terhadap [batas rencana langganan](/docs/id/costs) Anda tanpa biaya komputasi terpisah.

656 656 

657Anda dapat membuat lingkungan cloud kustom dengan tingkat akses jaringan dan variabel lingkungan yang berbeda. Pilih dropdown lingkungan saat memulai sesi cloud dan pilih **Add environment**. Lihat [cloud environment](/id/claude-code-on-the-web#the-cloud-environment) untuk detail tentang mengonfigurasi akses jaringan dan variabel lingkungan.657Anda dapat membuat lingkungan cloud kustom dengan tingkat akses jaringan dan variabel lingkungan yang berbeda. Pilih dropdown lingkungan saat memulai sesi cloud dan pilih **Add environment**. Lihat [cloud environment](/docs/id/claude-code-on-the-web#the-cloud-environment) untuk detail tentang mengonfigurasi akses jaringan dan variabel lingkungan.

658 658 

659<h3 id="ssh-sessions">659<h3 id="ssh-sessions">

660 SSH sessions660 SSH sessions


677 Pre-configure SSH connections for your team677 Pre-configure SSH connections for your team

678</h4>678</h4>

679 679 

680Administrator dapat mendistribusikan koneksi SSH kepada anggota tim dengan menambahkan `sshConfigs` ke file [managed settings](/id/settings#settings-precedence). Koneksi yang ditentukan dengan cara ini muncul di dropdown lingkungan setiap pengguna secara otomatis dan ditampilkan sebagai terkelola, sehingga pengguna dapat memilihnya tetapi tidak dapat mengedit atau menghapusnya di aplikasi.680Administrator dapat mendistribusikan koneksi SSH kepada anggota tim dengan menambahkan `sshConfigs` ke file [managed settings](/docs/id/settings#settings-precedence). Koneksi yang ditentukan dengan cara ini muncul di dropdown lingkungan setiap pengguna secara otomatis dan ditampilkan sebagai terkelola, sehingga pengguna dapat memilihnya tetapi tidak dapat mengedit atau menghapusnya di aplikasi.

681 681 

682Contoh berikut pre-configure satu koneksi yang terbuka di `~/projects` pada host jarak jauh:682Contoh berikut pre-configure satu koneksi yang terbuka di `~/projects` pada host jarak jauh:

683 683 


702 Restrict which SSH hosts users can connect to702 Restrict which SSH hosts users can connect to

703</h4>703</h4>

704 704 

705Administrator dapat membatasi sesi SSH Desktop ke set host yang disetujui dengan menambahkan `sshHostAllowlist` ke file [managed settings](/id/settings#settings-precedence). Ketika diatur, pengguna hanya dapat terhubung ke host yang nama hostname terselesaikannya cocok dengan salah satu pola. Atur ke array kosong untuk menonaktifkan sesi SSH sepenuhnya.705Administrator dapat membatasi sesi SSH Desktop ke set host yang disetujui dengan menambahkan `sshHostAllowlist` ke file [managed settings](/docs/id/settings#settings-precedence). Ketika diatur, pengguna hanya dapat terhubung ke host yang nama hostname terselesaikannya cocok dengan salah satu pola. Atur ke array kosong untuk menonaktifkan sesi SSH sepenuhnya.

706 706 

707Contoh berikut memungkinkan koneksi ke host apa pun di bawah `devboxes.example.com` dan ke satu host bastion bernama:707Contoh berikut memungkinkan koneksi ke host apa pun di bawah `devboxes.example.com` dan ke satu host bastion bernama:

708 708 


729Pengaturan ini dikonfigurasi melalui [konsol pengaturan admin](https://claude.ai/admin-settings/claude-code):729Pengaturan ini dikonfigurasi melalui [konsol pengaturan admin](https://claude.ai/admin-settings/claude-code):

730 730 

731* **Code in the desktop**: kontrol apakah pengguna di organisasi Anda dapat mengakses Claude Code di aplikasi desktop731* **Code in the desktop**: kontrol apakah pengguna di organisasi Anda dapat mengakses Claude Code di aplikasi desktop

732* **Code in the web**: aktifkan atau nonaktifkan [web sessions](/id/claude-code-on-the-web) untuk organisasi Anda732* **Code in the web**: aktifkan atau nonaktifkan [web sessions](/docs/id/claude-code-on-the-web) untuk organisasi Anda

733* **Remote Control**: aktifkan atau nonaktifkan [Remote Control](/id/remote-control) untuk organisasi Anda733* **Remote Control**: aktifkan atau nonaktifkan [Remote Control](/docs/id/remote-control) untuk organisasi Anda

734* **Disable Bypass permissions mode**: cegah pengguna di organisasi Anda dari mengaktifkan bypass permissions mode734* **Disable Bypass permissions mode**: cegah pengguna di organisasi Anda dari mengaktifkan bypass permissions mode

735 735 

736<h3 id="managed-settings">736<h3 id="managed-settings">

737 Pengaturan yang dikelola737 Pengaturan yang dikelola

738</h3>738</h3>

739 739 

740Pengaturan yang dikelola menimpa pengaturan proyek dan pengguna dan berlaku untuk sesi Claude Code di Desktop. Anda dapat mengatur kunci ini di file [managed settings](/id/settings#settings-precedence) organisasi Anda atau mendorongnya dari jarak jauh melalui konsol admin.740Pengaturan yang dikelola menimpa pengaturan proyek dan pengguna dan berlaku untuk sesi Claude Code di Desktop. Anda dapat mengatur kunci ini di file [managed settings](/docs/id/settings#settings-precedence) organisasi Anda atau mendorongnya dari jarak jauh melalui konsol admin.

741 741 

742| Key | Description |742| Key | Description |

743| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |743| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

744| `permissions.disableBypassPermissionsMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan Bypass permissions mode. |744| `permissions.disableBypassPermissionsMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan Bypass permissions mode. |

745| `disableAutoMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan [Auto](/id/permission-modes#eliminate-prompts-with-auto-mode) mode. Menghapus Auto dari pemilih mode. Juga diterima di bawah `permissions`. |745| `disableAutoMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan [Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) mode. Menghapus Auto dari pemilih mode. Juga diterima di bawah `permissions`. |

746| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/id/auto-mode-config). |746| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/docs/id/auto-mode-config). |

747| `browserExternalPageTools` | atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](#browse-external-sites). Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan pratinjau server dev lokal tidak terpengaruh. |747| `browserExternalPageTools` | atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](#browse-external-sites). Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan pratinjau server dev lokal tidak terpengaruh. |

748| `disableBrowserExternalNavigation` | atur ke `true` untuk mematikan penjelajahan eksternal di [Browser pane](#browse-external-sites) sepenuhnya. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan pratinjau server dev localhost tidak terpengaruh. Nilainya harus berupa boolean JSON `true`; string `"true"` diabaikan. |748| `disableBrowserExternalNavigation` | atur ke `true` untuk mematikan penjelajahan eksternal di [Browser pane](#browse-external-sites) sepenuhnya. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan pratinjau server dev localhost tidak terpengaruh. Nilainya harus berupa boolean JSON `true`; string `"true"` diabaikan. |

749| `sshConfigs` | pre-configure [SSH connections](#pre-configure-ssh-connections-for-your-team) yang muncul di dropdown lingkungan. Pengguna tidak dapat mengedit atau menghapus koneksi yang dikelola. |749| `sshConfigs` | pre-configure [SSH connections](#pre-configure-ssh-connections-for-your-team) yang muncul di dropdown lingkungan. Pengguna tidak dapat mengedit atau menghapus koneksi yang dikelola. |

750| `sshHostAllowlist` | batasi [SSH sessions](#restrict-which-ssh-hosts-users-can-connect-to) ke host yang nama hostname yang diselesaikannya cocok dengan salah satu pola ini. Array kosong menonaktifkan sesi SSH. Dibaca dari pengaturan yang dikelola saja. |750| `sshHostAllowlist` | batasi [SSH sessions](#restrict-which-ssh-hosts-users-can-connect-to) ke host yang nama hostname yang diselesaikannya cocok dengan salah satu pola ini. Array kosong menonaktifkan sesi SSH. Dibaca dari pengaturan yang dikelola saja. |

751| `managedMcpServers` | dorong konfigurasi server MCP ke semua pengguna dalam penyebaran pihak ketiga. Setiap entri menentukan transport `"http"`, `"sse"`, atau `"stdio"`, detail koneksi, dan secara opsional peta `toolPolicy` yang membatasi alat mana dalam server tersebut yang dapat dipanggil pengguna. Tersedia dalam penyebaran Desktop pihak ketiga (3P) saja. Berikan kunci ini melalui file pengaturan yang dikelola atau MDM, karena penyebaran pihak ketiga tidak menerima pengaturan konsol admin. |751| `managedMcpServers` | dorong konfigurasi server MCP ke semua pengguna dalam penyebaran pihak ketiga. Setiap entri menentukan transport `"http"`, `"sse"`, atau `"stdio"`, detail koneksi, dan secara opsional peta `toolPolicy` yang membatasi alat mana dalam server tersebut yang dapat dipanggil pengguna. Tersedia dalam penyebaran Desktop pihak ketiga (3P) saja. Berikan kunci ini melalui file pengaturan yang dikelola atau MDM, karena penyebaran pihak ketiga tidak menerima pengaturan konsol admin. |

752 752 

753Pengaturan yang dikelola mana yang mencapai sesi Desktop tergantung pada tempat sesi tersebut berjalan. Pembatasan model seperti [`availableModels`](/id/model-config#restrict-model-selection) diberlakukan dalam sesi Claude Code Desktop dengan cara yang sama seperti di CLI terminal; lihat [surface coverage](/id/model-config#surface-coverage).753Pengaturan yang dikelola mana yang mencapai sesi Desktop tergantung pada tempat sesi tersebut berjalan. Pembatasan model seperti [`availableModels`](/docs/id/model-config#restrict-model-selection) diberlakukan dalam sesi Claude Code Desktop dengan cara yang sama seperti di CLI terminal; lihat [surface coverage](/docs/id/model-config#surface-coverage).

754 754 

755* **Sesi lokal di mesin ini**: file pengaturan yang dikelola yang disebarkan ke disk berlaku. Pengaturan yang dikelola yang didorong dari jarak jauh melalui konsol admin juga mencapai sesi ini di API Anthropic ketika sesi mengautentikasi dengan login organisasi atau kunci API yang dikonfigurasi secara langsung, mengikuti [settings precedence](/id/settings#settings-precedence) yang sama seperti CLI terminal.755* **Sesi lokal di mesin ini**: file pengaturan yang dikelola yang disebarkan ke disk berlaku. Pengaturan yang dikelola yang didorong dari jarak jauh melalui konsol admin juga mencapai sesi ini di API Anthropic ketika sesi mengautentikasi dengan login organisasi atau kunci API yang dikonfigurasi secara langsung, mengikuti [settings precedence](/docs/id/settings#settings-precedence) yang sama seperti CLI terminal.

756* **[Sesi cloud](#cloud-sessions)**: berjalan pada VM yang dikelola Anthropic dan menerima [server-managed settings](/id/server-managed-settings) saja.756* **[Sesi cloud](#cloud-sessions)**: berjalan pada VM yang dikelola Anthropic dan menerima [server-managed settings](/docs/id/server-managed-settings) saja.

757* **[Sesi SSH](#ssh-sessions)**: sesi membaca file pengaturan yang dikelola dari host jarak jauh. Desktop itu sendiri membaca `sshConfigs` dan `sshHostAllowlist` dari pengaturan yang dikelola mesin lokal ketika membuat koneksi.757* **[Sesi SSH](#ssh-sessions)**: sesi membaca file pengaturan yang dikelola dari host jarak jauh. Desktop itu sendiri membaca `sshConfigs` dan `sshHostAllowlist` dari pengaturan yang dikelola mesin lokal ketika membuat koneksi.

758 758 

759`permissions.disableBypassPermissionsMode` dan `disableAutoMode` juga bekerja di pengaturan pengguna dan proyek, tetapi menempatkannya di pengaturan yang dikelola mencegah pengguna dari menimpanya.759`permissions.disableBypassPermissionsMode` dan `disableAutoMode` juga bekerja di pengaturan pengguna dan proyek, tetapi menempatkannya di pengaturan yang dikelola mencegah pengguna dari menimpanya.

760 760 

761{/* min-version: 2.1.207 */}Claude Code membaca `autoMode` dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola, tetapi bukan dari `.claude/settings.json` atau `.claude/settings.local.json`: kedua file berada di direktori repo, jadi repo yang diklon atau langkah build tidak dapat menyuntikkan aturan pengklasifikasinya sendiri. Sebelum v2.1.207, Claude Code juga membaca `.claude/settings.local.json`.761Claude Code membaca `autoMode` dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola, tetapi bukan dari `.claude/settings.json` atau `.claude/settings.local.json`: kedua file berada di direktori repo, jadi repo yang diklon atau langkah build tidak dapat menyuntikkan aturan pengklasifikasinya sendiri. Sebelum v2.1.207, Claude Code juga membaca `.claude/settings.local.json`.

762 762 

763Untuk daftar lengkap pengaturan khusus yang dikelola termasuk `allowManagedPermissionRulesOnly` dan `allowManagedHooksOnly`, lihat [managed-only settings](/id/permissions#managed-only-settings).763Untuk daftar lengkap pengaturan khusus yang dikelola termasuk `allowManagedPermissionRulesOnly` dan `allowManagedHooksOnly`, lihat [managed-only settings](/docs/id/permissions#managed-only-settings).

764 764 

765<h3 id="device-management-policies">765<h3 id="device-management-policies">

766 Kebijakan manajemen perangkat766 Kebijakan manajemen perangkat


790*.claudemcpcontent.com790*.claudemcpcontent.com

791```791```

792 792 

793Lalu lintas adalah HTTPS pada port 443 kecuali Anda mengonfigurasi port kustom untuk [OTLP](/id/monitoring-usage), gateway LLM, atau server MCP.793Lalu lintas adalah HTTPS pada port 443 kecuali Anda mengonfigurasi port kustom untuk [OTLP](/docs/id/monitoring-usage), gateway LLM, atau server MCP.

794 794 

795Untuk server proxy, otoritas sertifikat kustom, mTLS, dan domain yang dibutuhkan CLI standalone, lihat [network configuration](/id/network-config).795Untuk server proxy, otoritas sertifikat kustom, mTLS, dan domain yang dibutuhkan CLI standalone, lihat [network configuration](/docs/id/network-config).

796 796 

797Untuk mengurangi jumlah wildcard firewall, izinkan host Anthropic ini sebagai gantinya. Subdomain tertentu dihasilkan secara dinamis dan harus tetap sebagai wildcard.797Untuk mengurangi jumlah wildcard firewall, izinkan host Anthropic ini sebagai gantinya. Subdomain tertentu dihasilkan secara dinamis dan harus tetap sebagai wildcard.

798 798 


820 Autentikasi dan SSO820 Autentikasi dan SSO

821</h3>821</h3>

822 822 

823Organisasi enterprise dapat memerlukan SSO untuk semua pengguna. Lihat [authentication](/id/authentication) untuk detail tingkat rencana dan [Setting up SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso) untuk konfigurasi SAML; setup OIDC tercakup dalam [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide).823Organisasi enterprise dapat memerlukan SSO untuk semua pengguna. Lihat [authentication](/docs/id/authentication) untuk detail tingkat rencana dan [Setting up SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso) untuk konfigurasi SAML; setup OIDC tercakup dalam [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide).

824 824 

825<h3 id="data-handling">825<h3 id="data-handling">

826 Penanganan data826 Penanganan data

827</h3>827</h3>

828 828 

829Claude Code memproses kode Anda secara lokal dalam sesi lokal atau pada infrastruktur cloud Anthropic dalam sesi cloud. Percakapan dan konteks kode dikirim ke API Anthropic untuk diproses. Lihat [data handling](/id/data-usage) untuk detail tentang retensi data, privasi, dan kepatuhan.829Claude Code memproses kode Anda secara lokal dalam sesi lokal atau pada infrastruktur cloud Anthropic dalam sesi cloud. Percakapan dan konteks kode dikirim ke API Anthropic untuk diproses. Lihat [data handling](/docs/id/data-usage) untuk detail tentang retensi data, privasi, dan kepatuhan.

830 830 

831<h3 id="deployment">831<h3 id="deployment">

832 Penyebaran832 Penyebaran


837* **macOS**: distribusikan melalui MDM seperti Jamf atau Kandji menggunakan installer `.dmg`837* **macOS**: distribusikan melalui MDM seperti Jamf atau Kandji menggunakan installer `.dmg`

838* **Windows**: sebarkan melalui paket MSIX. Lihat [Deploy Claude Desktop for Windows](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows) untuk opsi penyebaran enterprise termasuk instalasi senyap838* **Windows**: sebarkan melalui paket MSIX. Lihat [Deploy Claude Desktop for Windows](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows) untuk opsi penyebaran enterprise termasuk instalasi senyap

839 839 

840Untuk domain yang akan diizinkan dalam firewall Anda, lihat [network access requirements](#network-access-requirements) di atas. Untuk pengaturan proxy, otoritas sertifikat kustom, dan gateway LLM, lihat [network configuration](/id/network-config).840Untuk domain yang akan diizinkan dalam firewall Anda, lihat [network access requirements](#network-access-requirements) di atas. Untuk pengaturan proxy, otoritas sertifikat kustom, dan gateway LLM, lihat [network configuration](/docs/id/network-config).

841 841 

842Untuk referensi konfigurasi enterprise lengkap, lihat [enterprise configuration guide](https://support.claude.com/en/articles/12622667-enterprise-configuration).842Untuk referensi konfigurasi enterprise lengkap, lihat [enterprise configuration guide](https://support.claude.com/en/articles/12622667-enterprise-configuration).

843 843 


866| `--permission-mode` | Pemilih mode di sebelah tombol kirim |866| `--permission-mode` | Pemilih mode di sebelah tombol kirim |

867| `--dangerously-skip-permissions` | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |867| `--dangerously-skip-permissions` | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |

868| `--add-dir` | Tambahkan beberapa repo dengan tombol **+** di sesi cloud |868| `--add-dir` | Tambahkan beberapa repo dengan tombol **+** di sesi cloud |

869| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](/id/settings) masih berlaku. |869| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](/docs/id/settings) masih berlaku. |

870| `--verbose` | [Mode tampilan verbose](#switch-view-modes) di dropdown tampilan Transcript |870| `--verbose` | [Mode tampilan verbose](#switch-view-modes) di dropdown tampilan Transcript |

871| `--print`, `--output-format` | Tidak tersedia. Desktop hanya interaktif. |871| `--print`, `--output-format` | Tidak tersedia. Desktop hanya interaktif. |

872| `ANTHROPIC_MODEL` env var | Dropdown model di sebelah tombol kirim |872| `ANTHROPIC_MODEL` env var | Dropdown model di sebelah tombol kirim |


878 878 

879Desktop dan CLI membaca file konfigurasi yang sama, jadi setup Anda terbawa:879Desktop dan CLI membaca file konfigurasi yang sama, jadi setup Anda terbawa:

880 880 

881* **[CLAUDE.md](/id/memory)** dan file `CLAUDE.local.md` di proyek Anda digunakan oleh keduanya881* **[CLAUDE.md](/docs/id/memory)** dan file `CLAUDE.local.md` di proyek Anda digunakan oleh keduanya

882* **[MCP servers](/id/mcp)** yang dikonfigurasi di `~/.claude.json` atau `.mcp.json` bekerja di keduanya882* **[MCP servers](/docs/id/mcp)** yang dikonfigurasi di `~/.claude.json` atau `.mcp.json` bekerja di keduanya

883* **[Hooks](/id/hooks)** dan **[skills](/id/skills)** yang ditentukan dalam pengaturan berlaku untuk keduanya883* **[Hooks](/docs/id/hooks)** dan **[skills](/docs/id/skills)** yang ditentukan dalam pengaturan berlaku untuk keduanya

884* **[Settings](/id/settings)** di `~/.claude.json` dan `~/.claude/settings.json` dibagikan. Aturan izin, alat yang diizinkan, dan pengaturan lainnya di `settings.json` berlaku untuk sesi Desktop.884* **[Settings](/docs/id/settings)** di `~/.claude.json` dan `~/.claude/settings.json` dibagikan. Aturan izin, alat yang diizinkan, dan pengaturan lainnya di `settings.json` berlaku untuk sesi Desktop.

885* **Models**: model yang sama [models](/id/model-config#available-models) tersedia di keduanya. Di Desktop, pilih model dari dropdown di sebelah tombol kirim. Anda dapat mengubah model selama sesi dari dropdown yang sama.885* **Models**: model yang sama [models](/docs/id/model-config#available-models) tersedia di keduanya. Di Desktop, pilih model dari dropdown di sebelah tombol kirim. Anda dapat mengubah model selama sesi dari dropdown yang sama.

886 886 

887<Note>887<Note>

888 **MCP servers dari aplikasi chat Claude Desktop**: aplikasi Desktop memuat MCP servers dari `claude_desktop_config.json` ke dalam sesi tab Code, bersama dengan servers dari `~/.claude.json` dan `.mcp.json`. Server yang ditentukan di `claude_desktop_config.json` tersedia di permukaan chat Desktop dan tab Code.888 **MCP servers dari aplikasi chat Claude Desktop**: aplikasi Desktop memuat MCP servers dari `claude_desktop_config.json` ke dalam sesi tab Code, bersama dengan servers dari `~/.claude.json` dan `.mcp.json`. Server yang ditentukan di `claude_desktop_config.json` tersedia di permukaan chat Desktop dan tab Code.

889 889 

890 CLI mandiri tidak membaca `claude_desktop_config.json`. Di macOS dan WSL, jalankan `claude mcp add-from-claude-desktop` untuk menyalin servers tersebut ke dalam `~/.claude.json`. Lihat [Impor MCP servers dari Claude Desktop](/id/mcp#import-mcp-servers-from-claude-desktop) untuk alur impor dan opsi cakupan.890 CLI mandiri tidak membaca `claude_desktop_config.json`. Di macOS dan WSL, jalankan `claude mcp add-from-claude-desktop` untuk menyalin servers tersebut ke dalam `~/.claude.json`. Lihat [Impor MCP servers dari Claude Desktop](/docs/id/mcp#import-mcp-servers-from-claude-desktop) untuk alur impor dan opsi cakupan.

891</Note>891</Note>

892 892 

893<h3 id="feature-comparison">893<h3 id="feature-comparison">

894 Perbandingan fitur894 Perbandingan fitur

895</h3>895</h3>

896 896 

897Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/id/cli-reference).897Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/docs/id/cli-reference).

898 898 

899| Fitur | CLI | Desktop |899| Fitur | CLI | Desktop |

900| ----------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |900| ----------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

901| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |901| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |

902| `--dangerously-skip-permissions` | Flag CLI | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |902| `--dangerously-skip-permissions` | Flag CLI | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |

903| [Penyedia pihak ketiga](/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](/id/llm-gateway-connect#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |903| [Penyedia pihak ketiga](/docs/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](/docs/id/llm-gateway-connect#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

904| [MCP servers](/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |904| [MCP servers](/docs/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |

905| [Plugins](/id/plugins) | Perintah `/plugin` | UI plugin manager |905| [Plugins](/docs/id/plugins) | Perintah `/plugin` | UI plugin manager |

906| File @mention | Berbasis teks | Dengan autocomplete; hanya sesi lokal dan SSH |906| File @mention | Berbasis teks | Dengan autocomplete; hanya sesi lokal dan SSH |

907| Lampiran file | Tidak tersedia | Gambar, PDF |907| Lampiran file | Tidak tersedia | Gambar, PDF |

908| Isolasi sesi | Flag [`--worktree`](/id/cli-reference) | Worktrees otomatis |908| Isolasi sesi | Flag [`--worktree`](/docs/id/cli-reference) | Worktrees otomatis |

909| Sesi ganda | Terminal terpisah | Tab sidebar |909| Sesi ganda | Terminal terpisah | Tab sidebar |

910| Tugas berulang | Cron jobs, CI pipelines | [Tugas terjadwal](/id/desktop-scheduled-tasks) |910| Tugas berulang | Cron jobs, CI pipelines | [Tugas terjadwal](/docs/id/desktop-scheduled-tasks) |

911| Penggunaan komputer | [Aktifkan via `/mcp`](/id/computer-use) di macOS | [Kontrol aplikasi dan layar](#let-claude-use-your-computer) di macOS dan Windows |911| Penggunaan komputer | [Aktifkan via `/mcp`](/docs/id/computer-use) di macOS | [Kontrol aplikasi dan layar](#let-claude-use-your-computer) di macOS dan Windows |

912| Integrasi Dispatch | Tidak tersedia | [Sesi Dispatch](#sessions-from-dispatch) di sidebar |912| Integrasi Dispatch | Tidak tersedia | [Sesi Dispatch](#sessions-from-dispatch) di sidebar |

913| Scripting dan otomasi | [`--print`](/id/cli-reference), [Agent SDK](/id/headless) | Tidak tersedia |913| Scripting dan otomasi | [`--print`](/docs/id/cli-reference), [Agent SDK](/docs/id/headless) | Tidak tersedia |

914 914 

915<h3 id="what’s-not-available-in-desktop">915<h3 id="what’s-not-available-in-desktop">

916 Apa yang tidak tersedia di Desktop916 Apa yang tidak tersedia di Desktop


918 918 

919Fitur berikut hanya tersedia di CLI atau ekstensi VS Code, kecuali jika dicatat:919Fitur berikut hanya tersedia di CLI atau ekstensi VS Code, kecuali jika dicatat:

920 920 

921* **Penyedia pihak ketiga**: Desktop terhubung ke API Anthropic secara default. Untuk merutekan Desktop melalui gateway, lihat [hubungkan aplikasi desktop ke gateway](/id/llm-gateway-connect#desktop-app). Penerapan enterprise dapat mengonfigurasi Google Cloud's Agent Platform dan penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration). Untuk Amazon Bedrock atau Microsoft Foundry di CLI, lihat [quickstart](/id/quickstart). Sebagai pengecualian terhadap bagian di atas, [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri.921* **Penyedia pihak ketiga**: Desktop terhubung ke API Anthropic secara default. Untuk merutekan Desktop melalui gateway, lihat [hubungkan aplikasi desktop ke gateway](/docs/id/llm-gateway-connect#desktop-app). Penerapan enterprise dapat mengonfigurasi Google Cloud's Agent Platform dan penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration). Untuk Amazon Bedrock atau Microsoft Foundry di CLI, lihat [quickstart](/docs/id/quickstart). Sebagai pengecualian terhadap bagian di atas, [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri.

922* **Linux (beta)**: Computer Use belum tersedia di aplikasi desktop Linux. Lihat [Claude Desktop on Linux](/id/desktop-linux).922* **Linux (beta)**: Computer Use belum tersedia di aplikasi desktop Linux. Lihat [Claude Desktop on Linux](/docs/id/desktop-linux).

923* **Saran kode inline**: Desktop tidak menyediakan saran gaya autocomplete. Ini bekerja melalui prompt percakapan dan perubahan kode eksplisit.923* **Saran kode inline**: Desktop tidak menyediakan saran gaya autocomplete. Ini bekerja melalui prompt percakapan dan perubahan kode eksplisit.

924* **Tim agent**: sesi Claude Code paralel yang saling berkirim pesan tersedia di [CLI](/id/agent-teams), bukan di Desktop. Untuk pekerjaan multi-agent di dalam satu sesi, gunakan [dynamic workflows](/id/workflows), yang berjalan di Desktop.924* **Tim agent**: sesi Claude Code paralel yang saling berkirim pesan tersedia di [CLI](/docs/id/agent-teams), bukan di Desktop. Untuk pekerjaan multi-agent di dalam satu sesi, gunakan [dynamic workflows](/docs/id/workflows), yang berjalan di Desktop.

925* **Perintah terminal-dialog**: perintah bawaan yang membuka panel interaktif di terminal berperilaku berbeda di tab Code. Edit [file pengaturan](/id/settings) secara langsung untuk mengelola aturan izin dan konfigurasi, atau jalankan perintah dari CLI mandiri.925* **Perintah terminal-dialog**: perintah bawaan yang membuka panel interaktif di terminal berperilaku berbeda di tab Code. Edit [file pengaturan](/docs/id/settings) secara langsung untuk mengelola aturan izin dan konfigurasi, atau jalankan perintah dari CLI mandiri.

926 * Perintah tanpa bentuk argumen, seperti `/permissions`, membalas dengan `isn't available in this environment`.926 * Perintah tanpa bentuk argumen, seperti `/permissions`, membalas dengan `isn't available in this environment`.

927 * `/config` membuka Settings → Claude Code. Teks setelah perintah diabaikan, jadi `/config theme=dark` tidak mengatur tema.927 * `/config` membuka Settings → Claude Code. Teks setelah perintah diabaikan, jadi `/config theme=dark` tidak mengatur tema.

928 928 


930 Troubleshooting930 Troubleshooting

931</h2>931</h2>

932 932 

933Bagian di bawah mencakup masalah khusus untuk aplikasi desktop. Untuk kesalahan API runtime yang muncul di chat seperti `API Error: 500`, `529 Overloaded`, `429`, atau `Prompt is too long`, lihat [Error reference](/id/errors). Kesalahan tersebut dan perbaikannya sama di CLI, desktop, dan web.933Bagian di bawah mencakup masalah khusus untuk aplikasi desktop. Untuk kesalahan API runtime yang muncul di chat seperti `API Error: 500`, `529 Overloaded`, `429`, atau `Prompt is too long`, lihat [Error reference](/docs/id/errors). Kesalahan tersebut dan perbaikannya sama di CLI, desktop, dan web.

934 934 

935<h3 id="check-your-version">935<h3 id="check-your-version">

936 Check your version936 Check your version


961Jika aplikasi terbuka tetapi menampilkan layar kosong atau tidak responsif:961Jika aplikasi terbuka tetapi menampilkan layar kosong atau tidak responsif:

962 962 

9631. Mulai ulang aplikasi.9631. Mulai ulang aplikasi.

9642. Periksa pembaruan yang tertunda. Pada macOS dan Windows, aplikasi secara otomatis memperbarui saat peluncuran; di Linux, perbarui melalui apt seperti yang dijelaskan dalam [Claude Desktop on Linux](/id/desktop-linux).9642. Periksa pembaruan yang tertunda. Pada macOS dan Windows, aplikasi secara otomatis memperbarui saat peluncuran; di Linux, perbarui melalui apt seperti yang dijelaskan dalam [Claude Desktop on Linux](/docs/id/desktop-linux).

9653. Di jaringan yang dikelola, konfirmkan firewall Anda memungkinkan host CDN dalam [network access requirements](#network-access-requirements).9653. Di jaringan yang dikelola, konfirmkan firewall Anda memungkinkan host CDN dalam [network access requirements](#network-access-requirements).

9664. Di Windows, periksa Event Viewer untuk log crash di bawah **Windows Logs → Application**.9664. Di Windows, periksa Event Viewer untuk log crash di bawah **Windows Logs → Application**.

967 967 

Details

8 8 

9Plugin memperluas Claude Code dengan skills, agen, hooks, dan MCP servers. Plugin marketplace adalah katalog yang membantu Anda menemukan dan menginstal ekstensi ini tanpa membuatnya sendiri.9Plugin memperluas Claude Code dengan skills, agen, hooks, dan MCP servers. Plugin marketplace adalah katalog yang membantu Anda menemukan dan menginstal ekstensi ini tanpa membuatnya sendiri.

10 10 

11Mencari cara membuat dan mendistribusikan marketplace Anda sendiri? Lihat [Buat dan distribusikan plugin marketplace](/id/plugin-marketplaces).11Mencari cara membuat dan mendistribusikan marketplace Anda sendiri? Lihat [Buat dan distribusikan plugin marketplace](/docs/id/plugin-marketplaces).

12 12 

13<h2 id="how-marketplaces-work">13<h2 id="how-marketplaces-work">

14 Cara kerja marketplace14 Cara kerja marketplace


43Jika Claude Code melaporkan bahwa plugin tidak ditemukan di marketplace mana pun, marketplace Anda mungkin hilang atau ketinggalan zaman. Jalankan `/plugin marketplace update claude-plugins-official` untuk menyegarkannya, atau `/plugin marketplace add anthropics/claude-plugins-official` jika Anda belum menambahkannya sebelumnya. Kemudian coba instal lagi.43Jika Claude Code melaporkan bahwa plugin tidak ditemukan di marketplace mana pun, marketplace Anda mungkin hilang atau ketinggalan zaman. Jalankan `/plugin marketplace update claude-plugins-official` untuk menyegarkannya, atau `/plugin marketplace add anthropics/claude-plugins-official` jika Anda belum menambahkannya sebelumnya. Kemudian coba instal lagi.

44 44 

45<Note>45<Note>

46 Official marketplace dikurasi oleh Anthropic, dan penyertaan adalah atas kebijakan Anthropic. Formulir pengajuan dalam aplikasi menambahkan plugin ke [community marketplace](#community-marketplace), bukan yang resmi. Untuk mendistribusikan plugin secara independen, [buat marketplace Anda sendiri](/id/plugin-marketplaces) dan bagikan dengan pengguna.46 Official marketplace dikurasi oleh Anthropic, dan penyertaan adalah atas kebijakan Anthropic. Formulir pengajuan dalam aplikasi menambahkan plugin ke [community marketplace](#community-marketplace), bukan yang resmi. Untuk mendistribusikan plugin secara independen, [buat marketplace Anda sendiri](/docs/id/plugin-marketplaces) dan bagikan dengan pengguna.

47</Note>47</Note>

48 48 

49Official marketplace mencakup beberapa kategori plugin:49Official marketplace mencakup beberapa kategori plugin:


70| Swift | `swift-lsp` | `sourcekit-lsp` |70| Swift | `swift-lsp` | `sourcekit-lsp` |

71| TypeScript | `typescript-lsp` | `typescript-language-server` |71| TypeScript | `typescript-lsp` | `typescript-language-server` |

72 72 

73Anda juga dapat [membuat plugin LSP Anda sendiri](/id/plugins-reference#lsp-servers) untuk bahasa lain.73Anda juga dapat [membuat plugin LSP Anda sendiri](/docs/id/plugins-reference#lsp-servers) untuk bahasa lain.

74 74 

75<Note>75<Note>

76 Jika Anda melihat `Executable not found in $PATH` di tab `/plugin` Errors setelah menginstal plugin, instal binary yang diperlukan dari tabel di atas.76 Jika Anda melihat `Executable not found in $PATH` di tab `/plugin` Errors setelah menginstal plugin, instal binary yang diperlukan dari tabel di atas.


91 External integrations91 External integrations

92</h3>92</h3>

93 93 

94Plugin ini menggabungkan [MCP servers](/id/mcp) yang sudah dikonfigurasi sebelumnya sehingga Anda dapat menghubungkan Claude ke layanan eksternal tanpa setup manual:94Plugin ini menggabungkan [MCP servers](/docs/id/mcp) yang sudah dikonfigurasi sebelumnya sehingga Anda dapat menghubungkan Claude ke layanan eksternal tanpa setup manual:

95 95 

96* **Source control**: `github`, `gitlab`96* **Source control**: `github`, `gitlab`

97* **Project management**: `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`97* **Project management**: `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`


104 Automatic security review104 Automatic security review

105</h3>105</h3>

106 106 

107Plugin `security-guidance` meninjau setiap perubahan yang dilakukan Claude untuk kerentanan umum dan menginstruksikan Claude untuk memperbaiki apa yang ditemukannya dalam sesi yang sama. Lihat [Catch security issues as Claude writes code](/id/security-guidance) untuk apa yang diperiksa dan cara menambahkan aturan khusus proyek.107Plugin `security-guidance` meninjau setiap perubahan yang dilakukan Claude untuk kerentanan umum dan menginstruksikan Claude untuk memperbaiki apa yang ditemukannya dalam sesi yang sama. Lihat [Catch security issues as Claude writes code](/docs/id/security-guidance) untuk apa yang diperiksa dan cara menambahkan aturan khusus proyek.

108 108 

109<h3 id="development-workflows">109<h3 id="development-workflows">

110 Development workflows110 Development workflows


142/plugin install <plugin-name>@claude-community142/plugin install <plugin-name>@claude-community

143```143```

144 144 

145Untuk mengirimkan plugin Anda sendiri ke community marketplace, lihat [Kirimkan plugin Anda ke community marketplace](/id/plugins#submit-your-plugin-to-the-community-marketplace) dalam panduan create-plugins.145Untuk mengirimkan plugin Anda sendiri ke community marketplace, lihat [Kirimkan plugin Anda ke community marketplace](/docs/id/plugins#submit-your-plugin-to-the-community-marketplace) dalam panduan create-plugins.

146 146 

147<h2 id="try-it-add-the-demo-marketplace">147<h2 id="try-it-add-the-demo-marketplace">

148 Coba: tambahkan demo marketplace148 Coba: tambahkan demo marketplace


169 * **Marketplaces**: tambah, hapus, atau perbarui marketplace yang ditambahkan169 * **Marketplaces**: tambah, hapus, atau perbarui marketplace yang ditambahkan

170 * **Errors**: lihat kesalahan pemuatan plugin apa pun170 * **Errors**: lihat kesalahan pemuatan plugin apa pun

171 171 

172 Buka tab **Discover** untuk melihat plugin dari marketplace yang baru saja Anda tambahkan. {/* min-version: 2.1.154 */}Ketika administrator Anda telah memasukkan marketplace ke dalam daftar putih melalui pengaturan terkelola [`pluginSuggestionMarketplaces`](/id/settings#available-settings), plugin yang ditandai sebagai relevan dengan direktori kerja Anda saat ini disematkan di bagian atas dengan label **suggested for this directory**.172 Buka tab **Discover** untuk melihat plugin dari marketplace yang baru saja Anda tambahkan. Ketika administrator Anda telah memasukkan marketplace ke dalam daftar putih melalui pengaturan terkelola [`pluginSuggestionMarketplaces`](/docs/id/settings#available-settings), plugin yang ditandai sebagai relevan dengan direktori kerja Anda saat ini disematkan di bagian atas dengan label **suggested for this directory**.

173 </Step>173 </Step>

174 174 

175 <Step title="Instal plugin">175 <Step title="Instal plugin">

176 Pilih plugin untuk melihat detailnya. Pane detail menunjukkan apa yang berisi plugin dan biayanya:176 Pilih plugin untuk melihat detailnya. Pane detail menunjukkan apa yang berisi plugin dan biayanya:

177 177 

178 * {/* min-version: 2.1.143 */}Estimasi **Context cost** sehingga Anda dapat melihat berapa banyak token yang akan ditambahkan plugin ke [context window](/id/features-overview#understand-context-costs) Anda setiap putaran (Claude Code v2.1.143 dan yang lebih baru)178 * Estimasi **Context cost** sehingga Anda dapat melihat berapa banyak token yang akan ditambahkan plugin ke [context window](/docs/id/features-overview#understand-context-costs) Anda setiap putaran (Claude Code v2.1.143 dan yang lebih baru)

179 * {/* min-version: 2.1.144 */}Tanggal **Last updated** plugin (v2.1.144 dan yang lebih baru)179 * Tanggal **Last updated** plugin (v2.1.144 dan yang lebih baru)

180 * {/* min-version: 2.1.145 */}Bagian **Will install** yang mencantumkan perintah, agen, skills, hooks, dan server MCP dan LSP plugin, sehingga Anda dapat meninjau dengan tepat apa yang ditambahkan sebelum menginstal (v2.1.145 dan yang lebih baru)180 * Bagian **Will install** yang mencantumkan perintah, agen, skills, hooks, dan server MCP dan LSP plugin, sehingga Anda dapat meninjau dengan tepat apa yang ditambahkan sebelum menginstal (v2.1.145 dan yang lebih baru)

181 181 

182 Pilih cakupan instalasi:182 Pilih cakupan instalasi:

183 183 


193 /plugin install commit-commands@claude-code-plugins193 /plugin install commit-commands@claude-code-plugins

194 ```194 ```

195 195 

196 Lihat [Configuration scopes](/id/settings#configuration-scopes) untuk mempelajari lebih lanjut tentang cakupan.196 Lihat [Configuration scopes](/docs/id/settings#configuration-scopes) untuk mempelajari lebih lanjut tentang cakupan.

197 </Step>197 </Step>

198 198 

199 <Step title="Gunakan plugin baru Anda">199 <Step title="Gunakan plugin baru Anda">


293```293```

294 294 

295<Note>295<Note>

296 Marketplace berbasis URL memiliki beberapa keterbatasan dibandingkan dengan marketplace berbasis Git. Jika Anda mengalami kesalahan "path not found" saat menginstal plugin, lihat [Troubleshooting](/id/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).296 Marketplace berbasis URL memiliki beberapa keterbatasan dibandingkan dengan marketplace berbasis Git. Jika Anda mengalami kesalahan "path not found" saat menginstal plugin, lihat [Troubleshooting](/docs/id/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).

297</Note>297</Note>

298 298 

299<h2 id="install-plugins">299<h2 id="install-plugins">


306/plugin install plugin-name@marketplace-name306/plugin install plugin-name@marketplace-name

307```307```

308 308 

309Perintah membuka detail plugin tersebut, di mana Anda memilih [cakupan instalasi](/id/settings#configuration-scopes). Anda melihat pilihan yang sama ketika Anda menjalankan `/plugin`, pergi ke tab **Discover**, dan menekan **Enter** pada plugin:309Perintah membuka detail plugin tersebut, di mana Anda memilih [cakupan instalasi](/docs/id/settings#configuration-scopes). Anda melihat pilihan yang sama ketika Anda menjalankan `/plugin`, pergi ke tab **Discover**, dan menekan **Enter** pada plugin:

310 310 

311* **User scope** (default): instal untuk diri sendiri di semua proyek311* **User scope** (default): instal untuk diri sendiri di semua proyek

312* **Project scope**: instal untuk semua kolaborator di repositori ini, yang menambahkan plugin ke `.claude/settings.json`312* **Project scope**: instal untuk semua kolaborator di repositori ini, yang menambahkan plugin ke `.claude/settings.json`

313* **Local scope**: instal untuk diri sendiri di repositori ini saja, tidak dibagikan dengan kolaborator313* **Local scope**: instal untuk diri sendiri di repositori ini saja, tidak dibagikan dengan kolaborator

314 314 

315Untuk menginstal tanpa langkah interaktif, gunakan perintah shell [`claude plugin install`](/id/plugins-reference#plugin-install), yang menginstal ke cakupan pengguna kecuali Anda melewatkan `--scope`.315Untuk menginstal tanpa langkah interaktif, gunakan perintah shell [`claude plugin install`](/docs/id/plugins-reference#plugin-install), yang menginstal ke cakupan pengguna kecuali Anda melewatkan `--scope`.

316 316 

317Anda juga dapat melihat plugin dengan cakupan **managed**. Ini diinstal oleh administrator melalui [managed settings](/id/settings#settings-files) dan tidak dapat dimodifikasi.317Anda juga dapat melihat plugin dengan cakupan **managed**. Ini diinstal oleh administrator melalui [managed settings](/docs/id/settings#settings-files) dan tidak dapat dimodifikasi.

318 318 

319<Warning>319<Warning>

320 Pastikan Anda mempercayai plugin sebelum menginstalnya. Anthropic tidak mengontrol apa yang MCP servers, file, atau perangkat lunak lain yang disertakan dalam plugin dan tidak dapat memverifikasi bahwa mereka bekerja seperti yang dimaksudkan. Periksa homepage setiap plugin untuk informasi lebih lanjut.320 Pastikan Anda mempercayai plugin sebelum menginstalnya. Anthropic tidak mengontrol apa yang MCP servers, file, atau perangkat lunak lain yang disertakan dalam plugin dan tidak dapat memverifikasi bahwa mereka bekerja seperti yang dimaksudkan. Periksa homepage setiap plugin untuk informasi lebih lanjut.


343* plugin yang organisasi Anda kelola atau yang Anda muat dengan `--plugin-dir`343* plugin yang organisasi Anda kelola atau yang Anda muat dengan `--plugin-dir`

344* plugin yang menyumbangkan tema, gaya output, monitor, atau workflow, karena mereka memberikan nilai tanpa invokasi untuk dilacak344* plugin yang menyumbangkan tema, gaya output, monitor, atau workflow, karena mereka memberikan nilai tanpa invokasi untuk dilacak

345 345 

346Header **Not used recently** dan baris **Last used** keduanya disembunyikan ketika organisasi Anda membatasi marketplace dengan [`strictKnownMarketplaces`](/id/settings#strictknownmarketplaces).346Header **Not used recently** dan baris **Last used** keduanya disembunyikan ketika organisasi Anda membatasi marketplace dengan [`strictKnownMarketplaces`](/docs/id/settings#strictknownmarketplaces).

347 347 

348[Language server](/id/plugins#add-lsp-servers-to-your-plugin) plugin dihitung sebagai digunakan ketika ia memberikan diagnostik atau menjawab permintaan navigasi kode, jadi plugin LSP yang servernya aktif dalam sesi Anda tidak dicantumkan sebagai tidak digunakan. Sebelum v2.1.203, aktivitas language server tidak dapat dihitung sebagai penggunaan, jadi plugin yang menyumbangkan server LSP dikecualikan dari grup sepenuhnya, dengan cara yang sama seperti plugin tema dan gaya output masih.348[Language server](/docs/id/plugins#add-lsp-servers-to-your-plugin) plugin dihitung sebagai digunakan ketika ia memberikan diagnostik atau menjawab permintaan navigasi kode, jadi plugin LSP yang servernya aktif dalam sesi Anda tidak dicantumkan sebagai tidak digunakan. Sebelum v2.1.203, aktivitas language server tidak dapat dihitung sebagai penggunaan, jadi plugin yang menyumbangkan server LSP dikecualikan dari grup sepenuhnya, dengan cara yang sama seperti plugin tema dan gaya output masih.

349 349 

350Sesi pertama pada versi yang menghitung aktivitas language server juga mengatur ulang catatan penggunaan setiap plugin LSP yang belum mencatat penggunaan apa pun, jadi Claude Code tidak menilai plugin yang Anda instal sebelumnya sebagai tidak digunakan berdasarkan data yang dicatat sebelum aktivitas servernya dilacak. Sebelum v2.1.206, sesi pertama itu dapat mencantumkan plugin LSP yang digunakan secara aktif di bawah **Not used recently** dan menyarankan untuk meninjau.350Sesi pertama pada versi yang menghitung aktivitas language server juga mengatur ulang catatan penggunaan setiap plugin LSP yang belum mencatat penggunaan apa pun, jadi Claude Code tidak menilai plugin yang Anda instal sebelumnya sebagai tidak digunakan berdasarkan data yang dicatat sebelum aktivitas servernya dilacak. Sebelum v2.1.206, sesi pertama itu dapat mencantumkan plugin LSP yang digunakan secara aktif di bawah **Not used recently** dan menyarankan untuk meninjau.

351 351 


373/plugin enable plugin-name@marketplace-name373/plugin enable plugin-name@marketplace-name

374```374```

375 375 

376Dalam pengenal ini, `plugin-name` adalah `name` plugin dalam [entri marketplace](/id/plugin-marketplaces#plugin-entries), yang dapat berbeda dari `name` dalam `plugin.json` plugin itu sendiri.376Dalam pengenal ini, `plugin-name` adalah `name` plugin dalam [entri marketplace](/docs/id/plugin-marketplaces#plugin-entries), yang dapat berbeda dari `name` dalam `plugin.json` plugin itu sendiri.

377 377 

378Mulai dari Claude Code v2.1.195, **Enable** dan **Disable** dalam antarmuka `/plugin` bekerja untuk plugin yang dua namanya berbeda, dan `/plugin enable` serta `/plugin disable` menerima nama apa pun. Ketika Anda menonaktifkan plugin seperti itu dalam versi sebelumnya, Claude Code melaporkan `already disabled` dan membiarkannya tetap diaktifkan.378Mulai dari Claude Code v2.1.195, **Enable** dan **Disable** dalam antarmuka `/plugin` bekerja untuk plugin yang dua namanya berbeda, dan `/plugin enable` serta `/plugin disable` menerima nama apa pun. Ketika Anda menonaktifkan plugin seperti itu dalam versi sebelumnya, Claude Code melaporkan `already disabled` dan membiarkannya tetap diaktifkan.

379 379 


402 402 

403Claude Code memuat ulang semua plugin aktif dan menampilkan hitungan untuk plugin, skills, agen, hooks, server MCP plugin, dan server LSP plugin.403Claude Code memuat ulang semua plugin aktif dan menampilkan hitungan untuk plugin, skills, agen, hooks, server MCP plugin, dan server LSP plugin.

404 404 

405Memuat ulang memiliki biaya token pada permintaan berikutnya: komponen yang baru dimuat mengumumkan diri mereka dalam konten yang ditambahkan ke percakapan, sementara riwayat yang ada masih membaca dari prompt cache. Plugin yang menyediakan server MCP memerlukan biaya lebih ketika alatnya tidak ditangguhkan oleh [pencarian alat](/id/mcp#scale-with-mcp-tool-search): perubahan membatalkan cache dan permintaan berikutnya membaca ulang seluruh percakapan. {/* min-version: 2.1.163 */}Dalam hal itu `/reload-plugins` menampilkan peringatan dan tidak menerapkan reload; lewatkan `--force` untuk menerapkan bagaimanapun. Lihat [mengaktifkan atau menonaktifkan plugin](/id/prompt-caching#enabling-or-disabling-a-plugin) untuk detail.405Memuat ulang memiliki biaya token pada permintaan berikutnya: komponen yang baru dimuat mengumumkan diri mereka dalam konten yang ditambahkan ke percakapan, sementara riwayat yang ada masih membaca dari prompt cache. Plugin yang menyediakan server MCP memerlukan biaya lebih ketika alatnya tidak ditangguhkan oleh [pencarian alat](/docs/id/mcp#scale-with-mcp-tool-search): perubahan membatalkan cache dan permintaan berikutnya membaca ulang seluruh percakapan. Dalam hal itu `/reload-plugins` menampilkan peringatan dan tidak menerapkan reload; lewatkan `--force` untuk menerapkan bagaimanapun. Lihat [mengaktifkan atau menonaktifkan plugin](/docs/id/prompt-caching#enabling-or-disabling-a-plugin) untuk detail.

406 406 

407<h2 id="manage-marketplaces">407<h2 id="manage-marketplaces">

408 Kelola marketplace408 Kelola marketplace


466 466 

467Marketplace resmi Anthropic memiliki auto-update diaktifkan secara default. Marketplace pihak ketiga dan pengembangan lokal memiliki auto-update dinonaktifkan secara default.467Marketplace resmi Anthropic memiliki auto-update diaktifkan secara default. Marketplace pihak ketiga dan pengembangan lokal memiliki auto-update dinonaktifkan secara default.

468 468 

469Administrator juga dapat mengatur `"autoUpdate": true` pada setiap entri [`extraKnownMarketplaces`](/id/settings#extraknownmarketplaces) dalam pengaturan terkelola untuk mengaktifkan auto-update untuk marketplace organisasi tanpa memerlukan setiap pengguna untuk mengalihkannya.469Administrator juga dapat mengatur `"autoUpdate": true` pada setiap entri [`extraKnownMarketplaces`](/docs/id/settings#extraknownmarketplaces) dalam pengaturan terkelola untuk mengaktifkan auto-update untuk marketplace organisasi tanpa memerlukan setiap pengguna untuk mengalihkannya.

470 470 

471Untuk menonaktifkan semua pembaruan otomatis sepenuhnya untuk Claude Code dan semua plugin, atur variabel lingkungan `DISABLE_AUTOUPDATER`. Lihat [Auto updates](/id/setup#auto-updates) untuk detail.471Untuk menonaktifkan semua pembaruan otomatis sepenuhnya untuk Claude Code dan semua plugin, atur variabel lingkungan `DISABLE_AUTOUPDATER`. Lihat [Auto updates](/docs/id/setup#auto-updates) untuk detail.

472 472 

473Untuk menjaga plugin auto-updates tetap diaktifkan sambil menonaktifkan Claude Code auto-updates, atur `FORCE_AUTOUPDATE_PLUGINS=1` bersama dengan `DISABLE_AUTOUPDATER`:473Untuk menjaga plugin auto-updates tetap diaktifkan sambil menonaktifkan Claude Code auto-updates, atur `FORCE_AUTOUPDATE_PLUGINS=1` bersama dengan `DISABLE_AUTOUPDATER`:

474 474 


502}502}

503```503```

504 504 

505Untuk opsi konfigurasi lengkap termasuk `extraKnownMarketplaces` dan `enabledPlugins`, lihat [Plugin settings](/id/settings#plugin-settings).505Untuk opsi konfigurasi lengkap termasuk `extraKnownMarketplaces` dan `enabledPlugins`, lihat [Plugin settings](/docs/id/settings#plugin-settings).

506 506 

507<h2 id="security">507<h2 id="security">

508 Security508 Security

509</h2>509</h2>

510 510 

511Plugin dan marketplace adalah komponen yang sangat dipercaya yang dapat menjalankan kode arbitrer di mesin Anda dengan hak istimewa pengguna Anda. Hanya instal plugin dan tambahkan marketplace dari sumber yang Anda percayai. Organisasi dapat membatasi marketplace mana yang diizinkan pengguna untuk ditambahkan menggunakan [managed marketplace restrictions](/id/plugin-marketplaces#managed-marketplace-restrictions).511Plugin dan marketplace adalah komponen yang sangat dipercaya yang dapat menjalankan kode arbitrer di mesin Anda dengan hak istimewa pengguna Anda. Hanya instal plugin dan tambahkan marketplace dari sumber yang Anda percayai. Organisasi dapat membatasi marketplace mana yang diizinkan pengguna untuk ditambahkan menggunakan [managed marketplace restrictions](/docs/id/plugin-marketplaces#managed-marketplace-restrictions).

512 512 

513<h2 id="troubleshooting">513<h2 id="troubleshooting">

514 Troubleshooting514 Troubleshooting


5242. **Perbarui Claude Code**:5242. **Perbarui Claude Code**:

525 * **Homebrew**: `brew upgrade claude-code`, atau `brew upgrade claude-code@latest` jika Anda menginstal cask itu525 * **Homebrew**: `brew upgrade claude-code`, atau `brew upgrade claude-code@latest` jika Anda menginstal cask itu

526 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`526 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

527 * **Native installer**: Jalankan kembali perintah install dari [Setup](/id/setup)527 * **Native installer**: Jalankan kembali perintah install dari [Setup](/docs/id/setup)

5283. **Restart Claude Code**: Setelah memperbarui, restart terminal Anda dan jalankan `claude` lagi.5283. **Restart Claude Code**: Setelah memperbarui, restart terminal Anda dan jalankan `claude` lagi.

529 529 

530<h3 id="common-issues">530<h3 id="common-issues">


536* **Files not found after installation**: Plugin disalin ke cache, jadi jalur yang mereferensikan file di luar direktori plugin tidak akan berfungsi536* **Files not found after installation**: Plugin disalin ke cache, jadi jalur yang mereferensikan file di luar direktori plugin tidak akan berfungsi

537* **Plugin skills not appearing**: Hapus cache dengan `rm -rf ~/.claude/plugins/cache`, restart Claude Code, dan instal ulang plugin.537* **Plugin skills not appearing**: Hapus cache dengan `rm -rf ~/.claude/plugins/cache`, restart Claude Code, dan instal ulang plugin.

538 538 

539Untuk troubleshooting terperinci dengan solusi, lihat [Troubleshooting](/id/plugin-marketplaces#troubleshooting) dalam panduan marketplace. Untuk tools debugging, lihat [Debugging and development tools](/id/plugins-reference#debugging-and-development-tools).539Untuk troubleshooting terperinci dengan solusi, lihat [Troubleshooting](/docs/id/plugin-marketplaces#troubleshooting) dalam panduan marketplace. Untuk tools debugging, lihat [Debugging and development tools](/docs/id/plugins-reference#debugging-and-development-tools).

540 540 

541<h3 id="code-intelligence-issues">541<h3 id="code-intelligence-issues">

542 Code intelligence issues542 Code intelligence issues


550 Langkah selanjutnya550 Langkah selanjutnya

551</h2>551</h2>

552 552 

553* **Buat plugin Anda sendiri**: lihat [Plugins](/id/plugins) untuk membuat skills, agen, dan hooks553* **Buat plugin Anda sendiri**: lihat [Plugins](/docs/id/plugins) untuk membuat skills, agen, dan hooks

554* **Buat marketplace**: lihat [Create a plugin marketplace](/id/plugin-marketplaces) untuk mendistribusikan plugin ke tim atau komunitas Anda554* **Buat marketplace**: lihat [Create a plugin marketplace](/docs/id/plugin-marketplaces) untuk mendistribusikan plugin ke tim atau komunitas Anda

555* **Referensi teknis**: lihat [Plugins reference](/id/plugins-reference) untuk spesifikasi lengkap555* **Referensi teknis**: lihat [Plugins reference](/docs/id/plugins-reference) untuk spesifikasi lengkap

env-vars.md +196 −196

Details

6 6 

7> Referensi untuk variabel lingkungan yang mengontrol perilaku Claude Code.7> Referensi untuk variabel lingkungan yang mengontrol perilaku Claude Code.

8 8 

9Variabel lingkungan dapat mengontrol perilaku Claude Code seperti pemilihan model, autentikasi, perutean permintaan, dan toggle fitur. Banyak perilaku yang sama juga dapat dikonfigurasi melalui [file pengaturan](/id/settings), [flag CLI](/id/cli-reference), atau perintah dalam sesi seperti `/model`.9Variabel lingkungan dapat mengontrol perilaku Claude Code seperti pemilihan model, autentikasi, perutean permintaan, dan toggle fitur. Banyak perilaku yang sama juga dapat dikonfigurasi melalui [file pengaturan](/docs/id/settings), [flag CLI](/docs/id/cli-reference), atau perintah dalam sesi seperti `/model`.

10 10 

11Halaman ini mencakup cara:11Halaman ini mencakup cara:

12 12 


79| `.claude/settings.local.json` | Anda, di proyek ini saja (tambahkan ke gitignore Anda jika Anda membuatnya dengan tangan) |79| `.claude/settings.local.json` | Anda, di proyek ini saja (tambahkan ke gitignore Anda jika Anda membuatnya dengan tangan) |

80| Pengaturan terkelola | Semua orang di organisasi Anda, digunakan oleh admin |80| Pengaturan terkelola | Semua orang di organisasi Anda, digunakan oleh admin |

81 81 

82Lihat [File pengaturan](/id/settings#settings-files) untuk mengetahui di mana setiap file berada dan [Prioritas pengaturan](/id/settings#settings-precedence) untuk mengetahui bagaimana mereka bergabung saat lebih dari satu mengatur variabel yang sama.82Lihat [File pengaturan](/docs/id/settings#settings-files) untuk mengetahui di mana setiap file berada dan [Prioritas pengaturan](/docs/id/settings#settings-precedence) untuk mengetahui bagaimana mereka bergabung saat lebih dari satu mengatur variabel yang sama.

83 83 

84<h2 id="precedence">84<h2 id="precedence">

85 Prioritas85 Prioritas


87 87 

88Saat perilaku yang sama memiliki variabel lingkungan dan bidang pengaturan, variabel lingkungan mengambil prioritas. Misalnya, `ANTHROPIC_MODEL` mengganti pengaturan `model`, dan `CLAUDE_CODE_AUTO_CONNECT_IDE` mengganti `autoConnectIde`. Bidang pengaturan berlaku saat variabel lingkungan tidak diatur.88Saat perilaku yang sama memiliki variabel lingkungan dan bidang pengaturan, variabel lingkungan mengambil prioritas. Misalnya, `ANTHROPIC_MODEL` mengganti pengaturan `model`, dan `CLAUDE_CODE_AUTO_CONNECT_IDE` mengganti `autoConnectIde`. Bidang pengaturan berlaku saat variabel lingkungan tidak diatur.

89 89 

90Ketika variabel yang sama diatur di shell Anda dan file pengaturan blok `env`, nilai file pengaturan berlaku. Claude Code menulis setiap entri `env` ke dalam lingkungan proses saat startup, mengganti nilai yang diwarisi dari shell. Beberapa variabel adalah kasus khusus; [pengaturan `env`](/id/settings#available-settings) mencantumkan pengecualiannya.90Ketika variabel yang sama diatur di shell Anda dan file pengaturan blok `env`, nilai file pengaturan berlaku. Claude Code menulis setiap entri `env` ke dalam lingkungan proses saat startup, mengganti nilai yang diwarisi dari shell. Beberapa variabel adalah kasus khusus; [pengaturan `env`](/docs/id/settings#available-settings) mencantumkan pengecualiannya.

91 91 

92Di antara file pengaturan, nilai `env` mengikuti [prioritas pengaturan](/id/settings#settings-precedence), jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek.92Di antara file pengaturan, nilai `env` mengikuti [prioritas pengaturan](/docs/id/settings#settings-precedence), jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek.

93 93 

94Bagaimana variabel lingkungan berinteraksi dengan flag CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `/effort`. Saat variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan prioritas atau menautkan ke halaman yang mendokumentasikannya.94Bagaimana variabel lingkungan berinteraksi dengan flag CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `/effort`. Saat variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan prioritas atau menautkan ke halaman yang mendokumentasikannya.

95 95 


103| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |103| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

104| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Saat diatur, kunci ini digunakan alih-alih langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |104| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Saat diatur, kunci ini digunakan alih-alih langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |

105| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |105| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |

106| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas atas AWS SigV4 |106| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas atas AWS SigV4 |

107| `ANTHROPIC_AWS_BASE_URL` | Ganti URL titik akhir [Claude Platform on AWS](/id/claude-platform-on-aws). Gunakan untuk wilayah kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Default ke `https://aws-external-anthropic.{AWS_REGION}.api.aws` |107| `ANTHROPIC_AWS_BASE_URL` | Ganti URL titik akhir [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Gunakan untuk wilayah kustom atau saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Default ke `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

108| `ANTHROPIC_AWS_WORKSPACE_ID` | Diperlukan untuk [Claude Platform on AWS](/id/claude-platform-on-aws). Dikirim pada setiap permintaan sebagai header `anthropic-workspace-id` |108| `ANTHROPIC_AWS_WORKSPACE_ID` | Diperlukan untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Dikirim pada setiap permintaan sebagai header `anthropic-workspace-id` |

109| `ANTHROPIC_BASE_URL` | Ganti titik akhir API untuk merutekan permintaan melalui proxy atau gateway. Saat diatur ke host non-pihak pertama, [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) dinonaktifkan secara default. Atur `ENABLE_TOOL_SEARCH=true` jika proxy Anda meneruskan blok `tool_reference`. {/* min-version: 2.1.196 */}Sejak v2.1.196, [Remote Control](/id/remote-control#requirements) dinonaktifkan saat ini menunjuk ke host selain `api.anthropic.com`, sesuai dengan perilakunya pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry |109| `ANTHROPIC_BASE_URL` | Ganti titik akhir API untuk merutekan permintaan melalui proxy atau gateway. Saat diatur ke host non-pihak pertama, [pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan secara default. Atur `ENABLE_TOOL_SEARCH=true` jika proxy Anda meneruskan blok `tool_reference`. Sejak v2.1.196, [Remote Control](/docs/id/remote-control#requirements) dinonaktifkan saat ini menunjuk ke host selain `api.anthropic.com`, sesuai dengan perilakunya pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry |

110| `ANTHROPIC_BEDROCK_BASE_URL` | Ganti URL titik akhir Amazon Bedrock. Gunakan untuk titik akhir Amazon Bedrock kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Amazon Bedrock](/id/amazon-bedrock) |110| `ANTHROPIC_BEDROCK_BASE_URL` | Ganti URL titik akhir Amazon Bedrock. Gunakan untuk titik akhir Amazon Bedrock kustom atau saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Lihat [Amazon Bedrock](/docs/id/amazon-bedrock) |

111| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Ganti URL titik akhir Amazon Bedrock Mantle. Lihat [titik akhir Mantle](/id/amazon-bedrock#use-the-mantle-endpoint) |111| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Ganti URL titik akhir Amazon Bedrock Mantle. Lihat [titik akhir Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) |

112| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [service tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex`, atau `priority`). Dikirim sebagai header `X-Amzn-Bedrock-Service-Tier`. Lihat [Amazon Bedrock](/id/amazon-bedrock#service-tiers) |112| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [service tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex`, atau `priority`). Dikirim sebagai header `X-Amzn-Bedrock-Service-Tier`. Lihat [Amazon Bedrock](/docs/id/amazon-bedrock#service-tiers) |

113| `ANTHROPIC_BETAS` | Daftar nilai header `anthropic-beta` tambahan yang dipisahkan koma untuk disertakan dalam permintaan API. Claude Code sudah mengirim header beta yang dibutuhkannya; gunakan ini untuk memilih [beta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) sebelum Claude Code menambahkan dukungan asli. Tidak seperti [flag `--betas`](/id/cli-reference#cli-flags), yang memerlukan autentikasi kunci API, variabel ini bekerja dengan semua metode auth termasuk langganan Claude.ai |113| `ANTHROPIC_BETAS` | Daftar nilai header `anthropic-beta` tambahan yang dipisahkan koma untuk disertakan dalam permintaan API. Claude Code sudah mengirim header beta yang dibutuhkannya; gunakan ini untuk memilih [beta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) sebelum Claude Code menambahkan dukungan asli. Tidak seperti [flag `--betas`](/docs/id/cli-reference#cli-flags), yang memerlukan autentikasi kunci API, variabel ini bekerja dengan semua metode auth termasuk langganan Claude.ai |

114| `ANTHROPIC_CUSTOM_HEADERS` | Header kustom untuk ditambahkan ke permintaan (format `Name: Value`, dipisahkan baris baru untuk beberapa header) |114| `ANTHROPIC_CUSTOM_HEADERS` | Header kustom untuk ditambahkan ke permintaan (format `Name: Value`, dipisahkan baris baru untuk beberapa header) |

115| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID model untuk ditambahkan sebagai entri kustom di pemilih `/model`. Gunakan ini untuk membuat model non-standar atau spesifik gateway dapat dipilih tanpa mengganti alias bawaan. Lihat [Konfigurasi Model](/id/model-config#add-a-custom-model-option) |115| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID model untuk ditambahkan sebagai entri kustom di pemilih `/model`. Gunakan ini untuk membuat model non-standar atau spesifik gateway dapat dipilih tanpa mengganti alias bawaan. Lihat [Konfigurasi Model](/docs/id/model-config#add-a-custom-model-option) |

116| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Deskripsi tampilan untuk entri model kustom di pemilih `/model`. Default ke `Custom model (<model-id>)` saat tidak diatur |116| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Deskripsi tampilan untuk entri model kustom di pemilih `/model`. Default ke `Custom model (<model-id>)` saat tidak diatur |

117| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nama tampilan untuk entri model kustom di pemilih `/model`. Default ke ID model saat tidak diatur |117| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nama tampilan untuk entri model kustom di pemilih `/model`. Default ke ID model saat tidak diatur |

118| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |118| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

119| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Lihat [Konfigurasi Model](/id/model-config#environment-variables) |119| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Lihat [Konfigurasi Model](/docs/id/model-config#environment-variables) |

120| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |120| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

121| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |121| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

122| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |122| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

123| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Lihat [Konfigurasi Model](/id/model-config#environment-variables) |123| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Lihat [Konfigurasi Model](/docs/id/model-config#environment-variables) |

124| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |124| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

125| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |125| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

126| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |126| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

127| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Lihat [Konfigurasi Model](/id/model-config#environment-variables) |127| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Lihat [Konfigurasi Model](/docs/id/model-config#environment-variables) |

128| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |128| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

129| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |129| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

130| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |130| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

131| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Lihat [Konfigurasi Model](/id/model-config#environment-variables) |131| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Lihat [Konfigurasi Model](/docs/id/model-config#environment-variables) |

132| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |132| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

133| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |133| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

134| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/id/model-config#customize-pinned-model-display-and-capabilities) |134| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lihat [Konfigurasi Model](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

135| `ANTHROPIC_FOUNDRY_API_KEY` | Kunci API untuk autentikasi Microsoft Foundry (lihat [Microsoft Foundry](/id/microsoft-foundry)) |135| `ANTHROPIC_FOUNDRY_API_KEY` | Kunci API untuk autentikasi Microsoft Foundry (lihat [Microsoft Foundry](/docs/id/microsoft-foundry)) |

136| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | {/* min-version: 2.1.203 */}Token pembawa untuk autentikasi Microsoft Foundry, seperti token akses Microsoft Entra. Claude Code mengirimnya sebagai header `Authorization: Bearer`. Mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` dan rantai kredensial default Azure. Lihat [Microsoft Foundry](/id/microsoft-foundry). Memerlukan Claude Code v2.1.203 atau lebih baru |136| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token pembawa untuk autentikasi Microsoft Foundry, seperti token akses Microsoft Entra. Claude Code mengirimnya sebagai header `Authorization: Bearer`. Mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` dan rantai kredensial default Azure. Lihat [Microsoft Foundry](/docs/id/microsoft-foundry). Memerlukan Claude Code v2.1.203 atau lebih baru |

137| `ANTHROPIC_FOUNDRY_BASE_URL` | URL dasar lengkap untuk sumber daya Foundry (misalnya, `https://my-resource.services.ai.azure.com/anthropic`). Alternatif untuk `ANTHROPIC_FOUNDRY_RESOURCE` (lihat [Microsoft Foundry](/id/microsoft-foundry)) |137| `ANTHROPIC_FOUNDRY_BASE_URL` | URL dasar lengkap untuk sumber daya Foundry (misalnya, `https://my-resource.services.ai.azure.com/anthropic`). Alternatif untuk `ANTHROPIC_FOUNDRY_RESOURCE` (lihat [Microsoft Foundry](/docs/id/microsoft-foundry)) |

138| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/id/microsoft-foundry)) |138| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/docs/id/microsoft-foundry)) |

139| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/id/model-config#environment-variables)) |139| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/docs/id/model-config#environment-variables)) |

140| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/id/costs) |140| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/docs/id/costs) |

141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Amazon Bedrock atau Amazon Bedrock Mantle. Pada Amazon Bedrock, ini hanya berlaku saat `ANTHROPIC_DEFAULT_HAIKU_MODEL` atau `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang juga diatur, karena Amazon Bedrock sebaliknya menjalankan tugas latar belakang pada [model Sonnet default atau model utama](/id/amazon-bedrock#4-pin-model-versions) di wilayah sesi |141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Amazon Bedrock atau Amazon Bedrock Mantle. Pada Amazon Bedrock, ini hanya berlaku saat `ANTHROPIC_DEFAULT_HAIKU_MODEL` atau `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang juga diatur, karena Amazon Bedrock sebaliknya menjalankan tugas latar belakang pada [model Sonnet default atau model utama](/docs/id/amazon-bedrock#4-pin-model-versions) di wilayah sesi |

142| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Google Cloud's Agent Platform. Gunakan untuk titik akhir Google Cloud's Agent Platform kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |142| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Google Cloud's Agent Platform. Gunakan untuk titik akhir Google Cloud's Agent Platform kustom atau saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |

143| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Google Cloud's Agent Platform. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |143| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Google Cloud's Agent Platform. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |

144| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |144| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |

145| `API_FORCE_IDLE_TIMEOUT` | {/* min-version: 2.1.169 */}Ganti waktu tunggu idle 5 menit yang membatalkan respons model streaming saat tidak ada byte yang tiba. Atur ke `0` untuk menonaktifkan waktu tunggu, misalnya saat [gateway](/id/llm-gateway) lambat atau model lokal berhenti lebih lama dari 5 menit di antara chunk. Atur ke `1` untuk menjaga waktu tunggu pada setiap penyedia. Saat tidak diatur, waktu tunggu tidak aktif pada koneksi API Anthropic langsung dan [Claude Platform on AWS](/id/claude-platform-on-aws), di mana watchdog aliran byte tingkat Claude Code sendiri berjalan, dan aktif pada setiap penyedia lain, termasuk [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), [Mantle](/id/amazon-bedrock#use-the-mantle-endpoint), [Amazon Bedrock](/id/amazon-bedrock), dan koneksi gateway, sehingga aliran yang macet membatalkan alih-alih hang. Sejak v2.1.169 |145| `API_FORCE_IDLE_TIMEOUT` | Ganti waktu tunggu idle 5 menit yang membatalkan respons model streaming saat tidak ada byte yang tiba. Atur ke `0` untuk menonaktifkan waktu tunggu, misalnya saat [gateway](/docs/id/llm-gateway) lambat atau model lokal berhenti lebih lama dari 5 menit di antara chunk. Atur ke `1` untuk menjaga waktu tunggu pada setiap penyedia. Saat tidak diatur, waktu tunggu tidak aktif pada koneksi API Anthropic langsung dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), di mana watchdog aliran byte tingkat Claude Code sendiri berjalan, dan aktif pada setiap penyedia lain, termasuk [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), [Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint), [Amazon Bedrock](/docs/id/amazon-bedrock), dan koneksi gateway, sehingga aliran yang macet membatalkan alih-alih hang. Sejak v2.1.169 |

146| `API_TIMEOUT_MS` | Waktu tunggu untuk permintaan API dalam milidetik (default: 600000, atau 10 menit; maksimum: 2147483647). Tingkatkan ini saat permintaan habis waktu pada jaringan lambat atau saat merutekan melalui proxy. Nilai di atas maksimum akan meluap timer yang mendasar dan menyebabkan permintaan gagal segera |146| `API_TIMEOUT_MS` | Waktu tunggu untuk permintaan API dalam milidetik (default: 600000, atau 10 menit; maksimum: 2147483647). Tingkatkan ini saat permintaan habis waktu pada jaringan lambat atau saat merutekan melalui proxy. Nilai di atas maksimum akan meluap timer yang mendasar dan menyebabkan permintaan gagal segera |

147| `AWS_BEARER_TOKEN_BEDROCK` | Kunci API Amazon Bedrock untuk autentikasi (lihat [Kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |147| `AWS_BEARER_TOKEN_BEDROCK` | Kunci API Amazon Bedrock untuk autentikasi (lihat [Kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

148| `BASH_DEFAULT_TIMEOUT_MS` | Waktu tunggu default untuk perintah bash yang berjalan lama (default: 120000, atau 2 menit) |148| `BASH_DEFAULT_TIMEOUT_MS` | Waktu tunggu default untuk perintah bash yang berjalan lama (default: 120000, atau 2 menit) |

149| `BASH_MAX_OUTPUT_LENGTH` | Jumlah maksimal karakter dalam keluaran bash sebelum keluaran lengkap disimpan ke file dan Claude menerima jalur ditambah pratinjau singkat. Lihat [Perilaku alat Bash](/id/tools-reference#bash-tool-behavior) |149| `BASH_MAX_OUTPUT_LENGTH` | Jumlah maksimal karakter dalam keluaran bash sebelum keluaran lengkap disimpan ke file dan Claude menerima jalur ditambah pratinjau singkat. Lihat [Perilaku alat Bash](/docs/id/tools-reference#bash-tool-behavior) |

150| `BASH_MAX_TIMEOUT_MS` | Waktu tunggu maksimal yang dapat diatur model untuk perintah bash yang berjalan lama (default: 600000, atau 10 menit) |150| `BASH_MAX_TIMEOUT_MS` | Waktu tunggu maksimal yang dapat diatur model untuk perintah bash yang berjalan lama (default: 600000, atau 10 menit) |

151| `CCR_FORCE_BUNDLE` | Atur ke `1` untuk memaksa [`claude --cloud`](/id/claude-code-on-the-web#send-local-repositories-without-github) untuk menggabungkan dan mengunggah repositori lokal Anda bahkan saat akses GitHub tersedia |151| `CCR_FORCE_BUNDLE` | Atur ke `1` untuk memaksa [`claude --cloud`](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) untuk menggabungkan dan mengunggah repositori lokal Anda bahkan saat akses GitHub tersedia |

152| `CLAUDECODE` | Atur ke `1` di subprocess yang Claude Code luncurkan (alat Bash dan PowerShell, sesi tmux, perintah [hook](/id/hooks), perintah [baris status](/id/statusline), subprocess server [MCP](/id/mcp) stdio). Ekstensi IDE juga mengatur ini di terminal terintegrasi mereka. Gunakan untuk mendeteksi saat skrip berjalan di dalam subprocess yang diluncurkan oleh Claude Code. Untuk memeriksa apakah proses saat ini diluncurkan langsung oleh panggilan alat atau hook, daripada di dalam server MCP stdio yang Claude Code mulai, gunakan `CLAUDE_CODE_CHILD_SESSION` sebagai gantinya |152| `CLAUDECODE` | Atur ke `1` di subprocess yang Claude Code luncurkan (alat Bash dan PowerShell, sesi tmux, perintah [hook](/docs/id/hooks), perintah [baris status](/docs/id/statusline), subprocess server [MCP](/docs/id/mcp) stdio). Ekstensi IDE juga mengatur ini di terminal terintegrasi mereka. Gunakan untuk mendeteksi saat skrip berjalan di dalam subprocess yang diluncurkan oleh Claude Code. Untuk memeriksa apakah proses saat ini diluncurkan langsung oleh panggilan alat atau hook, daripada di dalam server MCP stdio yang Claude Code mulai, gunakan `CLAUDE_CODE_CHILD_SESSION` sebagai gantinya |

153| `CLAUDE_AFK_COUNTDOWN_MS` | {/* min-version: 2.1.198 */}Berapa banyak milidetik sebelum auto-continue penghitungan mundur di layar muncul pada dialog [`AskUserQuestion`](/id/tools-reference) yang belum dijawab. Default `20000` (20 detik), dibatasi pada waktu tunggu auto-continue. Tidak berpengaruh kecuali auto-continue aktif; lihat pengaturan [`askUserQuestionTimeout`](/id/settings#available-settings) dan `CLAUDE_AFK_TIMEOUT_MS`. Memerlukan Claude Code v2.1.198 atau lebih baru |153| `CLAUDE_AFK_COUNTDOWN_MS` | Berapa banyak milidetik sebelum auto-continue penghitungan mundur di layar muncul pada dialog [`AskUserQuestion`](/docs/id/tools-reference) yang belum dijawab. Default `20000` (20 detik), dibatasi pada waktu tunggu auto-continue. Tidak berpengaruh kecuali auto-continue aktif; lihat pengaturan [`askUserQuestionTimeout`](/docs/id/settings#available-settings) dan `CLAUDE_AFK_TIMEOUT_MS`. Memerlukan Claude Code v2.1.198 atau lebih baru |

154| `CLAUDE_AFK_TIMEOUT_MS` | {/* min-version: 2.1.198 */}Berapa banyak milidetik waktu idle sebelum dialog [`AskUserQuestion`](/id/tools-reference) yang belum dijawab auto-continues tanpa Anda. {/* min-version: 2.1.200 */}Auto-continue dimatikan secara default; pilih dengan pengaturan [`askUserQuestionTimeout`](/id/settings#available-settings). Variabel ini adalah override untuk demo dan tes otomatis: saat diatur, mengambil alih pengaturan itu dan mengaktifkan auto-continue bahkan saat pengaturan tidak diatur atau `never`. Mengatur `0` tidak mematikan waktu tunggu; itu menutup dialog segera. Di v2.1.198 dan v2.1.199, auto-continue aktif secara default dengan waktu tunggu `60000` (60 detik). Memerlukan Claude Code v2.1.198 atau lebih baru |154| `CLAUDE_AFK_TIMEOUT_MS` | Berapa banyak milidetik waktu idle sebelum dialog [`AskUserQuestion`](/docs/id/tools-reference) yang belum dijawab auto-continues tanpa Anda. Auto-continue dimatikan secara default; pilih dengan pengaturan [`askUserQuestionTimeout`](/docs/id/settings#available-settings). Variabel ini adalah override untuk demo dan tes otomatis: saat diatur, mengambil alih pengaturan itu dan mengaktifkan auto-continue bahkan saat pengaturan tidak diatur atau `never`. Mengatur `0` tidak mematikan waktu tunggu; itu menutup dialog segera. Di v2.1.198 dan v2.1.199, auto-continue aktif secara default dengan waktu tunggu `60000` (60 detik). Memerlukan Claude Code v2.1.198 atau lebih baru |

155| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Atur ke `1` untuk menonaktifkan semua tipe [subagent](/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna untuk pengguna SDK yang menginginkan slate kosong |155| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Atur ke `1` untuk menonaktifkan semua tipe [subagent](/docs/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna untuk pengguna SDK yang menginginkan slate kosong |

156| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Atur ke `1` untuk melewati awalan `mcp__<server>__` pada nama alat dari server MCP yang dibuat SDK. Alat menggunakan nama asli mereka. Penggunaan SDK saja |156| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Atur ke `1` untuk melewati awalan `mcp__<server>__` pada nama alat dari server MCP yang dibuat SDK. Alat menggunakan nama asli mereka. Penggunaan SDK saja |

157| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Waktu tunggu stall dalam milidetik untuk subagent latar belakang. Default `600000` (10 menit). Timer disetel ulang pada setiap peristiwa kemajuan streaming; jika tidak ada kemajuan yang tiba dalam jendela, subagent dibatalkan dan tugas ditandai gagal, menampilkan hasil parsial apa pun ke induk |157| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Waktu tunggu stall dalam milidetik untuk subagent latar belakang. Default `600000` (10 menit). Timer disetel ulang pada setiap peristiwa kemajuan streaming; jika tidak ada kemajuan yang tiba dalam jendela, subagent dibatalkan dan tugas ditandai gagal, menampilkan hasil parsial apa pun ke induk |

158| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Atur persentase (1-100) dari jendela pemadatan otomatis di mana pemadatan otomatis dipicu. Gunakan nilai yang lebih rendah seperti `50` untuk memadatkan lebih awal. Variabel ini hanya menyebabkan pemadatan lebih awal saat Claude Code memadatkan secara proaktif: saat `CLAUDE_CODE_AUTO_COMPACT_WINDOW` diatur, dalam [sesi cloud](/id/claude-code-on-the-web), dan pada Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](/id/model-config#extended-context), yang memadatkan pada batas 200K secara default. Pada Sonnet 5, pemadatan proaktif berlaku pada [ambang batas default](/id/model-config#sonnet-5-context-window) model. Dalam kasus lain, seperti sesi lokal pada Opus 4.8, pemadatan otomatis dipicu saat percakapan mencapai batas konteks model. Override hanya dapat menurunkan ambang batas, jadi nilai di atas default tidak berpengaruh. Berlaku untuk percakapan utama dan subagent |158| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Atur persentase (1-100) dari jendela pemadatan otomatis di mana pemadatan otomatis dipicu. Gunakan nilai yang lebih rendah seperti `50` untuk memadatkan lebih awal. Variabel ini hanya menyebabkan pemadatan lebih awal saat Claude Code memadatkan secara proaktif: saat `CLAUDE_CODE_AUTO_COMPACT_WINDOW` diatur, dalam [sesi cloud](/docs/id/claude-code-on-the-web), dan pada Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](/docs/id/model-config#extended-context), yang memadatkan pada batas 200K secara default. Pada Sonnet 5, pemadatan proaktif berlaku pada [ambang batas default](/docs/id/model-config#sonnet-5-context-window) model. Dalam kasus lain, seperti sesi lokal pada Opus 4.8, pemadatan otomatis dipicu saat percakapan mencapai batas konteks model. Override hanya dapat menurunkan ambang batas, jadi nilai di atas default tidak berpengaruh. Berlaku untuk percakapan utama dan subagent |

159| `CLAUDE_AUTO_BACKGROUND_TASKS` | Atur ke `1` untuk memaksa pengaktifan backgrounding otomatis tugas agent yang berjalan lama. Saat diaktifkan, subagent dipindahkan ke latar belakang setelah berjalan selama sekitar dua menit |159| `CLAUDE_AUTO_BACKGROUND_TASKS` | Atur ke `1` untuk memaksa pengaktifan backgrounding otomatis tugas agent yang berjalan lama. Saat diaktifkan, subagent dipindahkan ke latar belakang setelah berjalan selama sekitar dua menit |

160| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Atur ke `1` untuk merender keluaran ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Atur ke `0` untuk memaksa mode pembaca layar mati bahkan saat [`axScreenReader`](/id/settings#available-settings) adalah `true`. Flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) mengambil prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru |160| `CLAUDE_AX_SCREEN_READER` | Atur ke `1` untuk merender keluaran ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Atur ke `0` untuk memaksa mode pembaca layar mati bahkan saat [`axScreenReader`](/docs/id/settings#available-settings) adalah `true`. Flag [`--ax-screen-reader`](/docs/id/cli-reference#cli-flags) mengambil prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru |

161| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kembali ke direktori kerja asli setelah setiap perintah Bash atau PowerShell dalam sesi utama |161| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kembali ke direktori kerja asli setelah setiap perintah Bash atau PowerShell dalam sesi utama |

162| `CLAUDE_CLIENT_PRESENCE_FILE` | {/* min-version: 2.1.181 */}Jalur ke file yang alat eksternal, seperti pendengar kunci layar, buat saat Anda membuka kunci layar dan hapus saat Anda menguncinya. Saat file ada, Claude Code melewati [notifikasi push mobile Remote Control](/id/remote-control#mobile-push-notifications), sehingga Anda berhenti menerima push saat Anda secara aktif menggunakan komputer. Saat file tidak ada atau tidak dapat dibaca, notifikasi dikirim seperti biasa. Claude Code memeriksa file sekali per peristiwa pemicu push daripada menyelidikinya. Memerlukan Claude Code v2.1.181 atau lebih baru |162| `CLAUDE_CLIENT_PRESENCE_FILE` | Jalur ke file yang alat eksternal, seperti pendengar kunci layar, buat saat Anda membuka kunci layar dan hapus saat Anda menguncinya. Saat file ada, Claude Code melewati [notifikasi push mobile Remote Control](/docs/id/remote-control#mobile-push-notifications), sehingga Anda berhenti menerima push saat Anda secara aktif menggunakan komputer. Saat file tidak ada atau tidak dapat dibaca, notifikasi dikirim seperti biasa. Claude Code memeriksa file sekali per peristiwa pemicu push daripada menyelidikinya. Memerlukan Claude Code v2.1.181 atau lebih baru |

163| `CLAUDE_CODE_ACCESSIBILITY` | Atur ke `1` untuk menjaga kursor terminal asli tetap terlihat dan menonaktifkan indikator kursor teks terbalik. Memungkinkan pembesar layar seperti macOS Zoom untuk melacak posisi kursor |163| `CLAUDE_CODE_ACCESSIBILITY` | Atur ke `1` untuk menjaga kursor terminal asli tetap terlihat dan menonaktifkan indikator kursor teks terbalik. Memungkinkan pembesar layar seperti macOS Zoom untuk melacak posisi kursor |

164| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Atur ke `1` untuk memuat file memori dari direktori yang ditentukan dengan `--add-dir`. Memuat `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, dan `CLAUDE.local.md`. Secara default, direktori tambahan tidak memuat file memori |164| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Atur ke `1` untuk memuat file memori dari direktori yang ditentukan dengan `--add-dir`. Memuat `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, dan `CLAUDE.local.md`. Secara default, direktori tambahan tidak memuat file memori |

165| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Atur ke `1` untuk mengecat ulang seluruh layar pada setiap frame dalam [rendering layar penuh](/id/fullscreen) alih-alih mengirim pembaruan inkremental. Gunakan ini jika mode layar penuh menunjukkan fragmen teks basi atau salah tempat. Claude Code mengaktifkan ini secara otomatis untuk sesi latar belakang dan [tampilan agent](/id/agent-view) di Windows |165| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Atur ke `1` untuk mengecat ulang seluruh layar pada setiap frame dalam [rendering layar penuh](/docs/id/fullscreen) alih-alih mengirim pembaruan inkremental. Gunakan ini jika mode layar penuh menunjukkan fragmen teks basi atau salah tempat. Claude Code mengaktifkan ini secara otomatis untuk sesi latar belakang dan [tampilan agent](/docs/id/agent-view) di Windows |

166| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Atur ke `1` untuk mengirim parameter [effort](/id/model-config#adjust-effort-level) dengan setiap permintaan, bahkan saat Claude Code tidak mengenali ID model sebagai mampu effort. Gunakan ini saat merutekan melalui [gateway LLM](/id/llm-gateway) atau penyedia pihak ketiga yang melayani model di bawah pengidentifikasi kustom. Model yang menolak parameter effort di API, termasuk model Claude 3, Sonnet 4.0 dan 4.5, Opus 4.0 dan 4.1, dan Haiku 4.5, masih dikecualikan sehingga permintaan tidak gagal |166| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Atur ke `1` untuk mengirim parameter [effort](/docs/id/model-config#adjust-effort-level) dengan setiap permintaan, bahkan saat Claude Code tidak mengenali ID model sebagai mampu effort. Gunakan ini saat merutekan melalui [gateway LLM](/docs/id/llm-gateway) atau penyedia pihak ketiga yang melayani model di bawah pengidentifikasi kustom. Model yang menolak parameter effort di API, termasuk model Claude 3, Sonnet 4.0 dan 4.5, Opus 4.0 dan 4.1, dan Haiku 4.5, masih dikecualikan sehingga permintaan tidak gagal |

167| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Interval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan [`apiKeyHelper`](/id/settings#available-settings)) |167| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Interval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan [`apiKeyHelper`](/docs/id/settings#available-settings)) |

168| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Atur ke `0` untuk menghentikan Claude Code dari membuka browser secara otomatis saat [artifact](/id/artifacts) baru dipublikasikan. Menerbitkan ulang artifact yang ada tidak membuka browser terlepas dari pengaturan ini |168| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Atur ke `0` untuk menghentikan Claude Code dari membuka browser secara otomatis saat [artifact](/docs/id/artifacts) baru dipublikasikan. Menerbitkan ulang artifact yang ada tidak membuka browser terlepas dari pengaturan ini |

169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/id/llm-gateway). Caching pada koneksi langsung ke API Anthropic tidak terpengaruh |169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Caching pada koneksi langsung ke API Anthropic tidak terpengaruh |

170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/id/model-config#extended-context), kecuali pada Sonnet 5, yang memiliki [ambang batas default](/id/model-config#sonnet-5-context-window) sendiri. Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/docs/id/model-config#extended-context), kecuali pada Sonnet 5, yang memiliki [ambang batas default](/docs/id/model-config#sonnet-5-context-window) sendiri. Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |

171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/id/settings#global-config-settings) |171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/docs/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/docs/id/settings#global-config-settings) |

172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | {/* min-version: 2.1.207 */}Waktu dalam milidetik Claude Code menunggu rantai penyedia kredensial default AWS menghasilkan kredensial sebelum permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/id/errors#aws-default-chain-credential-resolve-timed-out) (default: `60000`). Naikkan saat langkah dalam rantai Anda secara sah memerlukan waktu lebih lama, seperti sign-in SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`. Berlaku di mana pun Claude Code menandatangani dengan rantai default: [Amazon Bedrock](/id/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/id/claude-platform-on-aws), dan [titik akhir Mantle](/id/amazon-bedrock#use-the-mantle-endpoint). Memerlukan Claude Code v2.1.207 atau lebih baru |172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Waktu dalam milidetik Claude Code menunggu rantai penyedia kredensial default AWS menghasilkan kredensial sebelum permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/docs/id/errors#aws-default-chain-credential-resolve-timed-out) (default: `60000`). Naikkan saat langkah dalam rantai Anda secara sah memerlukan waktu lebih lama, seperti sign-in SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`. Berlaku di mana pun Claude Code menandatangani dengan rantai default: [Amazon Bedrock](/docs/id/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan [titik akhir Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint). Memerlukan Claude Code v2.1.207 atau lebih baru |

173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | {/* min-version: 2.1.199 */}Atur secara otomatis dalam subprocess alat Bash dan perintah [hook](/id/hooks) saat sesi memiliki koneksi [Remote Control](/id/remote-control) aktif, dan dihapus saat koneksi berakhir. Nilainya adalah ID sesi dalam bentuk `session_`, pengidentifikasi yang sama yang muncul di URL `claude.ai/code` sesi, sehingga skrip dapat menghubungkan kembali ke sesi yang menjalankannya. Memerlukan Claude Code v2.1.199 atau lebih baru. Dalam [sesi cloud](/id/claude-code-on-the-web), baca `CLAUDE_CODE_REMOTE_SESSION_ID` sebagai gantinya |173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Atur secara otomatis dalam subprocess alat Bash dan perintah [hook](/docs/id/hooks) saat sesi memiliki koneksi [Remote Control](/docs/id/remote-control) aktif, dan dihapus saat koneksi berakhir. Nilainya adalah ID sesi dalam bentuk `session_`, pengidentifikasi yang sama yang muncul di URL `claude.ai/code` sesi, sehingga skrip dapat menghubungkan kembali ke sesi yang menjalankannya. Memerlukan Claude Code v2.1.199 atau lebih baru. Dalam [sesi cloud](/docs/id/claude-code-on-the-web), baca `CLAUDE_CODE_REMOTE_SESSION_ID` sebagai gantinya |

174| `CLAUDE_CODE_CERT_STORE` | Daftar sumber sertifikat CA yang dipisahkan koma untuk koneksi TLS. `bundled` adalah set Mozilla CA yang dikirim dengan Claude Code. `system` adalah penyimpanan kepercayaan sistem operasi, baca saja pada runtime dengan `tls.getCACertificates`: biner asli, atau Node 22.15 atau lebih baru untuk instalasi npm. Lihat [Penyimpanan sertifikat CA](/id/network-config#ca-certificate-store). Default adalah `bundled,system` |174| `CLAUDE_CODE_CERT_STORE` | Daftar sumber sertifikat CA yang dipisahkan koma untuk koneksi TLS. `bundled` adalah set Mozilla CA yang dikirim dengan Claude Code. `system` adalah penyimpanan kepercayaan sistem operasi, baca saja pada runtime dengan `tls.getCACertificates`: biner asli, atau Node 22.15 atau lebih baru untuk instalasi npm. Lihat [Penyimpanan sertifikat CA](/docs/id/network-config#ca-certificate-store). Default adalah `bundled,system` |

175| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Atur ke `1` di subprocess yang Claude Code luncurkan melalui alat Bash, PowerShell, dan Monitor, perintah [hook](/id/hooks), dan perintah [baris status](/id/statusline). Tidak diatur untuk subprocess server [MCP](/id/mcp) stdio, yang bersifat long-lived dan melampaui sesi yang meluncurkannya. Tidak seperti `CLAUDECODE`, ini hanya diatur oleh Claude Code sendiri saat meluncurkan subprocess dan bukan oleh ekstensi IDE, sehingga dapat diandalkan membedakan sesi bersarang dari `claude` tingkat atas yang diluncurkan di terminal terintegrasi IDE. Sesi `claude` TUI interaktif bersarang yang dimulai dengan cara ini secara otomatis dikecualikan dari `--resume`, `--continue`, riwayat panah-atas, dan daftar `claude agents`. Sesi `claude -p` non-interaktif masih bertahan. Atur `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` untuk mengganti pengecualian ini. Memerlukan Claude Code v2.1.172 atau lebih baru |175| `CLAUDE_CODE_CHILD_SESSION` | Atur ke `1` di subprocess yang Claude Code luncurkan melalui alat Bash, PowerShell, dan Monitor, perintah [hook](/docs/id/hooks), dan perintah [baris status](/docs/id/statusline). Tidak diatur untuk subprocess server [MCP](/docs/id/mcp) stdio, yang bersifat long-lived dan melampaui sesi yang meluncurkannya. Tidak seperti `CLAUDECODE`, ini hanya diatur oleh Claude Code sendiri saat meluncurkan subprocess dan bukan oleh ekstensi IDE, sehingga dapat diandalkan membedakan sesi bersarang dari `claude` tingkat atas yang diluncurkan di terminal terintegrasi IDE. Sesi `claude` TUI interaktif bersarang yang dimulai dengan cara ini secara otomatis dikecualikan dari `--resume`, `--continue`, riwayat panah-atas, dan daftar `claude agents`. Sesi `claude -p` non-interaktif masih bertahan. Atur `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` untuk mengganti pengecualian ini. Memerlukan Claude Code v2.1.172 atau lebih baru |

176| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |176| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |

177| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |177| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |

178| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |178| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |

179| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Dihapus di v2.1.186 dan sekarang tidak beroperasi. Sebelumnya mengatur waktu tunggu terpisah untuk fase connect, TLS, dan response-header dari permintaan API streaming. Gunakan `API_TIMEOUT_MS` untuk waktu tunggu per-permintaan |179| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Dihapus di v2.1.186 dan sekarang tidak beroperasi. Sebelumnya mengatur waktu tunggu terpisah untuk fase connect, TLS, dan response-header dari permintaan API streaming. Gunakan `API_TIMEOUT_MS` untuk waktu tunggu per-permintaan |

180| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |180| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/docs/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |

181| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |181| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |

182| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model, dan sesi [Sonnet 5](/id/model-config#sonnet-5-context-window) diperlakukan sebagai memiliki jendela 200K. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |182| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/docs/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model, dan sesi [Sonnet 5](/docs/id/model-config#sonnet-5-context-window) diperlakukan sebagai memiliki jendela 200K. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |

183| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Dari v2.1.111, tidak berpengaruh pada Fable 5, Sonnet 5, atau Opus 4.7 dan yang lebih baru, yang selalu menggunakan penalaran adaptif |183| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. Dari v2.1.111, tidak berpengaruh pada Fable 5, Sonnet 5, atau Opus 4.7 dan yang lebih baru, yang selalu menggunakan penalaran adaptif |

184| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Atur ke `1` untuk menonaktifkan [alat advisor](/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi apa pun diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, sehingga skrip yang ada yang meneruskannya terus bekerja tanpa kesalahan |184| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Atur ke `1` untuk menonaktifkan [alat advisor](/docs/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi apa pun diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, sehingga skrip yang ada yang meneruskannya terus bekerja tanpa kesalahan |

185| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Atur ke `1` untuk mematikan [agent latar belakang dan tampilan agent](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Setara dengan pengaturan [`disableAgentView`](/id/settings#available-settings) |185| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Atur ke `1` untuk mematikan [agent latar belakang dan tampilan agent](/docs/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Setara dengan pengaturan [`disableAgentView`](/docs/id/settings#available-settings) |

186| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Atur ke `1` untuk menonaktifkan [rendering layar penuh](/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux bekerja seperti biasanya. Mengambil alih `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/id/settings#available-settings). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [tampilan agent](/id/agent-view), yang selalu menggunakan rendering layar penuh |186| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Atur ke `1` untuk menonaktifkan [rendering layar penuh](/docs/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux bekerja seperti biasanya. Mengambil alih `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/docs/id/settings#available-settings). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [tampilan agent](/docs/id/agent-view), yang selalu menggunakan rendering layar penuh |

187| `CLAUDE_CODE_DISABLE_ARTIFACT` | Atur ke `1` untuk menonaktifkan alat [Artifact](/id/artifacts), yang menerbitkan keluaran sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan [`disableArtifact`](/id/settings#available-settings) |187| `CLAUDE_CODE_DISABLE_ARTIFACT` | Atur ke `1` untuk menonaktifkan alat [Artifact](/docs/id/artifacts), yang menerbitkan keluaran sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan [`disableArtifact`](/docs/id/settings#available-settings) |

188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |

189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/docs/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/docs/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |

190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |

191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | {/* min-version: 2.1.208 */}Atur ke `1` untuk melewati pemeriksaan bahwa respons streaming [Amazon Bedrock](/id/amazon-bedrock) membawa tipe konten `application/vnd.amazon.eventstream`. Tanpa variabel ini, respons dengan tipe konten berbeda gagal dengan kesalahan yang menyebutkan tipe konten itu, yang berarti [gateway atau proxy mengubah respons](/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Atur hanya saat gateway menulis ulang header `Content-Type` tetapi melewatkan badan event-stream biner tanpa modifikasi; jika badan itu sendiri diubah, permintaan gagal dengan `Truncated event message received` sebagai gantinya. Memerlukan Claude Code v2.1.208 atau lebih baru |191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Atur ke `1` untuk melewati pemeriksaan bahwa respons streaming [Amazon Bedrock](/docs/id/amazon-bedrock) membawa tipe konten `application/vnd.amazon.eventstream`. Tanpa variabel ini, respons dengan tipe konten berbeda gagal dengan kesalahan yang menyebutkan tipe konten itu, yang berarti [gateway atau proxy mengubah respons](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Atur hanya saat gateway menulis ulang header `Content-Type` tetapi melewatkan badan event-stream biner tanpa modifikasi; jika badan itu sendiri diubah, permintaan gagal dengan `Truncated event message received` sebagai gantinya. Memerlukan Claude Code v2.1.208 atau lebih baru |

192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Atur ke `1` untuk menghentikan perintah shell latar belakang yang berjalan, alur kerja dinamis, {/* min-version: 2.1.198 */}dan, sejak v2.1.198, subagent latar belakang [sesi latar belakang](/id/agent-view) saat [supervisor](/id/agent-view#the-supervisor-process) berhenti, dimulai ulang, atau memperbarui proses sesi itu, alih-alih menyerahkannya ke proses berikutnya sesi. Mempengaruhi hanya handoff itu: backgrounding sesi dengan `←` atau [`/background`](/id/agent-view#from-inside-a-session) masih membawa pekerjaan yang sedang berlangsung, dan `CLAUDE_DISABLE_ADOPT` mematikan keduanya. Memerlukan Claude Code v2.1.196 atau lebih baru |192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Atur ke `1` untuk menghentikan perintah shell latar belakang yang berjalan, alur kerja dinamis, dan, sejak v2.1.198, subagent latar belakang [sesi latar belakang](/docs/id/agent-view) saat [supervisor](/docs/id/agent-view#the-supervisor-process) berhenti, dimulai ulang, atau memperbarui proses sesi itu, alih-alih menyerahkannya ke proses berikutnya sesi. Mempengaruhi hanya handoff itu: backgrounding sesi dengan `←` atau [`/background`](/docs/id/agent-view#from-inside-a-session) masih membawa pekerjaan yang sedang berlangsung, dan `CLAUDE_DISABLE_ADOPT` mematikan keduanya. Memerlukan Claude Code v2.1.196 atau lebih baru |

193| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menghentikan Claude Code dari menghentikan [perintah shell latar belakang](/id/interactive-mode#background-bash-commands) saat sistem operasi melaporkan tekanan memori. Secara default, pada macOS dan Linux, Claude Code menghentikan shell latar belakang yang dimulai dalam sesi utama pada sinyal tekanan memori setelah sesi telah idle selama 30 menit dan tidak ada giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, jadi variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau lebih baru |193| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Atur ke `1` untuk menghentikan Claude Code dari menghentikan [perintah shell latar belakang](/docs/id/interactive-mode#background-bash-commands) saat sistem operasi melaporkan tekanan memori. Secara default, pada macOS dan Linux, Claude Code menghentikan shell latar belakang yang dimulai dalam sesi utama pada sinyal tekanan memori setelah sesi telah idle selama 30 menit dan tidak ada giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, jadi variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau lebih baru |

194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Atur ke `1` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirim dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skills dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](/id/settings#available-settings); `0` tidak mengganti itu |194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Atur ke `1` untuk menonaktifkan [skills](/docs/id/skills) dan workflows yang dikirim dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skills dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](/docs/id/settings#available-settings); `0` tidak mengganti itu |

195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file pengguna, proyek, dan memori otomatis |195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file pengguna, proyek, dan memori otomatis |

196| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan berhenti berfungsi, termasuk tugas yang sudah berjalan di tengah sesi |196| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/docs/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan berhenti berfungsi, termasuk tugas yang sudah berjalan di tengah sesi |

197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Atur ke `1` untuk menghapus header permintaan `anthropic-beta` spesifik Anthropic dan bidang skema alat beta (seperti `defer_loading` dan `eager_input_streaming`) dari permintaan API. Gunakan ini saat proxy gateway menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan. [Pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) dinonaktifkan dan semua alat MCP dimuat di muka, bahkan saat `ENABLE_TOOL_SEARCH` diatur |197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Atur ke `1` untuk menghapus header permintaan `anthropic-beta` spesifik Anthropic dan bidang skema alat beta (seperti `defer_loading` dan `eager_input_streaming`) dari permintaan API. Gunakan ini saat proxy gateway menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan. [Pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan dan semua alat MCP dimuat di muka, bahkan saat `ENABLE_TOOL_SEARCH` diatur |

198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | {/* min-version: 2.1.198 */}Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan bawaan](/id/sub-agents#built-in-subagents). Claude menjelajahi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agent Explore dan Plan. Subagent kustom bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap tipe subagent bawaan dalam Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan bawaan](/docs/id/sub-agents#built-in-subagents). Claude menjelajahi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agent Explore dan Plan. Subagent kustom bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap tipe subagent bawaan dalam Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |

199| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/id/fast-mode) |199| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/docs/id/fast-mode) |

200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Atur ke `1` untuk menonaktifkan survei kualitas sesi "How is Claude doing?". Survei juga dinonaktifkan saat `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, kecuali `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` memilih kembali. Untuk mengatur tingkat sampel alih-alih menonaktifkan sepenuhnya, gunakan pengaturan [`feedbackSurveyRate`](/id/settings#available-settings). Lihat [Survei kualitas sesi](/id/data-usage#session-quality-surveys) |200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Atur ke `1` untuk menonaktifkan survei kualitas sesi "How is Claude doing?". Survei juga dinonaktifkan saat `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, kecuali `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` memilih kembali. Untuk mengatur tingkat sampel alih-alih menonaktifkan sepenuhnya, gunakan pengaturan [`feedbackSurveyRate`](/docs/id/settings#available-settings). Lihat [Survei kualitas sesi](/docs/id/data-usage#session-quality-surveys) |

201| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Atur ke `1` untuk menonaktifkan file [checkpointing](/id/checkpointing). Perintah `/rewind` tidak akan dapat mengembalikan perubahan kode |201| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Atur ke `1` untuk menonaktifkan file [checkpointing](/docs/id/checkpointing). Perintah `/rewind` tidak akan dapat mengembalikan perubahan kode |

202| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Atur ke `1` untuk menghapus instruksi alur kerja commit dan PR bawaan dan snapshot status git dari prompt sistem Claude. Berguna saat menggunakan skill alur kerja git Anda sendiri. Mengambil alih pengaturan [`includeGitInstructions`](/id/settings#available-settings) saat diatur |202| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Atur ke `1` untuk menghapus instruksi alur kerja commit dan PR bawaan dan snapshot status git dari prompt sistem Claude. Berguna saat menggunakan skill alur kerja git Anda sendiri. Mengambil alih pengaturan [`includeGitInstructions`](/docs/id/settings#available-settings) saat diatur |

203| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Atur ke `1` untuk mencegah pemetaan ulang otomatis Opus 4.0 dan 4.1 ke versi Opus saat ini di API Anthropic. Gunakan saat Anda ingin secara sengaja menyematkan model yang lebih lama. Pemetaan ulang tidak berjalan pada Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry |203| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Atur ke `1` untuk mencegah pemetaan ulang otomatis Opus 4.0 dan 4.1 ke versi Opus saat ini di API Anthropic. Gunakan saat Anda ingin secara sengaja menyematkan model yang lebih lama. Pemetaan ulang tidak berjalan pada Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry |

204| `CLAUDE_CODE_DISABLE_MOUSE` | Atur ke `1` untuk menonaktifkan pelacakan mouse dalam [rendering layar penuh](/id/fullscreen). Pengguliran keyboard dengan `PgUp` dan `PgDn` masih berfungsi. Gunakan ini untuk mempertahankan perilaku copy-on-select asli terminal Anda |204| `CLAUDE_CODE_DISABLE_MOUSE` | Atur ke `1` untuk menonaktifkan pelacakan mouse dalam [rendering layar penuh](/docs/id/fullscreen). Pengguliran keyboard dengan `PgUp` dan `PgDn` masih berfungsi. Gunakan ini untuk mempertahankan perilaku copy-on-select asli terminal Anda |

205| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | {/* min-version: 2.1.195 */}Atur ke `1` untuk menonaktifkan penanganan klik, drag, dan hover dalam [rendering layar penuh](/id/fullscreen) sambil menjaga pengguliran roda mouse. Gunakan ini saat Anda menginginkan scroll roda untuk bekerja di dalam Claude Code tetapi tidak menginginkan klik untuk memposisikan kursor, memperluas keluaran alat, atau membuka tautan. `CLAUDE_CODE_DISABLE_MOUSE` mengambil prioritas saat keduanya diatur. Memerlukan Claude Code v2.1.195 atau lebih baru |205| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Atur ke `1` untuk menonaktifkan penanganan klik, drag, dan hover dalam [rendering layar penuh](/docs/id/fullscreen) sambil menjaga pengguliran roda mouse. Gunakan ini saat Anda menginginkan scroll roda untuk bekerja di dalam Claude Code tetapi tidak menginginkan klik untuk memposisikan kursor, memperluas keluaran alat, atau membuka tautan. `CLAUDE_CODE_DISABLE_MOUSE` mengambil prioritas saat keduanya diatur. Memerlukan Claude Code v2.1.195 atau lebih baru |

206| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setara dengan pengaturan `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING`, dan `DISABLE_TELEMETRY` |206| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setara dengan pengaturan `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING`, dan `DISABLE_TELEMETRY` |

207| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Atur ke `1` untuk menonaktifkan fallback non-streaming saat permintaan streaming gagal di tengah aliran. Kesalahan streaming menyebar ke lapisan retry sebagai gantinya. Berguna saat proxy atau gateway menyebabkan fallback menghasilkan eksekusi alat duplikat |207| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Atur ke `1` untuk menonaktifkan fallback non-streaming saat permintaan streaming gagal di tengah aliran. Kesalahan streaming menyebar ke lapisan retry sebagai gantinya. Berguna saat proxy atau gateway menyebabkan fallback menghasilkan eksekusi alat duplikat |

208| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | {/* min-version: 2.1.193 */}Atur ke `1` untuk mengirim notifikasi desktop alat `PushNotification` bahkan saat Anda mengetik atau fokus pada terminal. Secara default alat melewati notifikasi desktop dan [push mobile](/id/remote-control#mobile-push-notifications) saat mendeteksi aktivitas keyboard atau fokus terminal baru-baru ini. Variabel ini hanya menonaktifkan pemeriksaan lokal itu, sehingga server masih dapat menekan push mobile saat mendeteksi bahwa Anda aktif. Memerlukan Claude Code v2.1.193 atau lebih baru |208| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Atur ke `1` untuk mengirim notifikasi desktop alat `PushNotification` bahkan saat Anda mengetik atau fokus pada terminal. Secara default alat melewati notifikasi desktop dan [push mobile](/docs/id/remote-control#mobile-push-notifications) saat mendeteksi aktivitas keyboard atau fokus terminal baru-baru ini. Variabel ini hanya menonaktifkan pemeriksaan lokal itu, sehingga server masih dapat menekan push mobile saat mendeteksi bahwa Anda aktif. Memerlukan Claude Code v2.1.193 atau lebih baru |

209| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Atur ke `1` untuk melewati penambahan otomatis marketplace plugin resmi pada run pertama |209| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Atur ke `1` untuk melewati penambahan otomatis marketplace plugin resmi pada run pertama |

210| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Atur ke `1` untuk melewati pemuatan skill dari direktori skill terkelola di seluruh sistem. Berguna untuk sesi kontainer atau CI yang tidak boleh memuat skill yang disediakan operator |210| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Atur ke `1` untuk melewati pemuatan skill dari direktori skill terkelola di seluruh sistem. Berguna untuk sesi kontainer atau CI yang tidak boleh memuat skill yang disediakan operator |

211| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Atur ke `1` untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan. Dalam sesi Agent SDK dan `claude -p`, ini juga melewati permintaan Haiku latar belakang yang menghasilkan judul sesi |211| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Atur ke `1` untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan. Dalam sesi Agent SDK dan `claude -p`, ini juga melewati permintaan Haiku latar belakang yang menghasilkan judul sesi |

212| `CLAUDE_CODE_DISABLE_THINKING` | Atur ke `1` untuk menghilangkan parameter `thinking` dari permintaan API sepenuhnya. Ini adalah opsi kompatibilitas untuk proxy dan gateway yang menolak parameter. Perilaku variabel tidak berubah dari versi sebelumnya; pada model yang berpikir secara default, menghilangkan parameter berarti model mungkin masih berpikir. Untuk secara eksplisit menonaktifkan [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) pada API Anthropic, gunakan `MAX_THINKING_TOKENS=0` sebagai gantinya, yang juga tidak efektif pada Fable 5 karena tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations), `0` demikian pula menghilangkan parameter, sehingga kedua variabel berperilaku sama di sana |212| `CLAUDE_CODE_DISABLE_THINKING` | Atur ke `1` untuk menghilangkan parameter `thinking` dari permintaan API sepenuhnya. Ini adalah opsi kompatibilitas untuk proxy dan gateway yang menolak parameter. Perilaku variabel tidak berubah dari versi sebelumnya; pada model yang berpikir secara default, menghilangkan parameter berarti model mungkin masih berpikir. Untuk secara eksplisit menonaktifkan [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) pada API Anthropic, gunakan `MAX_THINKING_TOKENS=0` sebagai gantinya, yang juga tidak efektif pada Fable 5 karena tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), `0` demikian pula menghilangkan parameter, sehingga kedua variabel berperilaku sama di sana |

213| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Atur ke `1` untuk menonaktifkan pengguliran virtual dalam [rendering layar penuh](/id/fullscreen) dan merender setiap pesan dalam transkrip. Gunakan ini jika pengguliran dalam mode layar penuh menunjukkan wilayah kosong di mana pesan seharusnya muncul |213| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Atur ke `1` untuk menonaktifkan pengguliran virtual dalam [rendering layar penuh](/docs/id/fullscreen) dan merender setiap pesan dalam transkrip. Gunakan ini jika pengguliran dalam mode layar penuh menunjukkan wilayah kosong di mana pesan seharusnya muncul |

214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflows](/id/workflows#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](/id/settings#available-settings) |214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflows](/docs/id/workflows#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](/docs/id/settings#available-settings) |

215| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat upaya untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, `max`, atau `auto` untuk menggunakan default model. Tingkat yang tersedia tergantung pada model. Mengambil alih `/effort` dan pengaturan `effortLevel`. Lihat [Sesuaikan tingkat upaya](/id/model-config#adjust-effort-level) |215| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat upaya untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, `max`, atau `auto` untuk menggunakan default model. Tingkat yang tersedia tergantung pada model. Mengambil alih `/effort` dan pengaturan `effortLevel`. Lihat [Sesuaikan tingkat upaya](/docs/id/model-config#adjust-effort-level) |

216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | {/* min-version: 2.1.205 */}Atur ke `1` untuk mengaktifkan penambahan teks ekstra ke akhir prompt sistem setiap [subagent](/id/sub-agents). Flag [`--append-subagent-system-prompt`](/id/cli-reference#cli-flags) menyediakan teks yang ditambahkan dan mengatur variabel ini secara otomatis, sehingga Anda tidak perlu mengaturnya sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru |216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Atur ke `1` untuk mengaktifkan penambahan teks ekstra ke akhir prompt sistem setiap [subagent](/docs/id/sub-agents). Flag [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) menyediakan teks yang ditambahkan dan mengatur variabel ini secara otomatis, sehingga Anda tidak perlu mengaturnya sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru |

217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {{/* min-version: 2.1.207 */}}Diterima untuk kompatibilitas dengan rilis yang lebih lama dan tidak berpengaruh. Auto mode tersedia secara default pada setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk |217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {{/* min-version: 2.1.207 */}}Diterima untuk kompatibilitas dengan rilis yang lebih lama dan tidak berpengaruh. Auto mode tersedia secara default pada setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk |

218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Ganti ketersediaan [session recap](/id/interactive-mode#session-recap). Atur ke `0` untuk memaksa recap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa recap aktif saat [`awaySummaryEnabled`](/id/settings#available-settings) adalah `false`. Mengambil alih pengaturan dan toggle `/config` |218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Ganti ketersediaan [session recap](/docs/id/interactive-mode#session-recap). Atur ke `0` untuk memaksa recap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa recap aktif saat [`awaySummaryEnabled`](/docs/id/settings#available-settings) adalah `false`. Mengambil alih pengaturan dan toggle `/config` |

219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Atur ke `1` untuk menyegarkan status plugin pada batas giliran dalam [mode non-interaktif](/id/headless) setelah instalasi latar belakang selesai. Dimatikan secara default karena penyegaran mengubah prompt sistem di tengah sesi, yang membatalkan [prompt caching](/id/prompt-caching) untuk giliran itu |219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Atur ke `1` untuk menyegarkan status plugin pada batas giliran dalam [mode non-interaktif](/docs/id/headless) setelah instalasi latar belakang selesai. Dimatikan secara default karena penyegaran mengubah prompt sistem di tengah sesi, yang membatalkan [prompt caching](/docs/id/prompt-caching) untuk giliran itu |

220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Atur ke `1` untuk merutekan survei kualitas sesi "How is Claude doing?" ke [kolektor OpenTelemetry](/id/monitoring-usage) Anda sendiri saat lalu lintas nonessential terikat Anthropic diblokir. Rating survei dipancarkan hanya sebagai peristiwa OTEL ke kolektor yang dikonfigurasi. Tidak ada data survei yang dikirim ke Anthropic dalam mode ini. Berlaku saat `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, atau `DO_NOT_TRACK` diatur, dan tidak berpengaruh sebaliknya. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` dan kebijakan umpan balik produk organisasi mengambil prioritas |220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Atur ke `1` untuk merutekan survei kualitas sesi "How is Claude doing?" ke [kolektor OpenTelemetry](/docs/id/monitoring-usage) Anda sendiri saat lalu lintas nonessential terikat Anthropic diblokir. Rating survei dipancarkan hanya sebagai peristiwa OTEL ke kolektor yang dikonfigurasi. Tidak ada data survei yang dikirim ke Anthropic dalam mode ini. Berlaku saat `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, atau `DO_NOT_TRACK` diatur, dan tidak berpengaruh sebaliknya. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` dan kebijakan umpan balik produk organisasi mengambil prioritas |

221| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Mengontrol apakah input panggilan alat mengalir dari API saat Claude menghasilkannya. Tanpa ini, input alat besar seperti penulisan file panjang tiba hanya setelah Claude selesai menghasilkannya, yang dapat terlihat seperti sedang hang. Diaktifkan secara default pada API Anthropic. Pada Amazon Bedrock dan Google Cloud's Agent Platform, diaktifkan per model di mana kontainer yang digunakan mendukungnya. Atur ke `0` untuk menolak. Atur ke `1` untuk memaksa pengaktifan saat merutekan melalui proxy melalui `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, atau `ANTHROPIC_BEDROCK_BASE_URL`. Dimatikan secara default pada Microsoft Foundry dan koneksi [gateway](/id/llm-gateway) |221| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Mengontrol apakah input panggilan alat mengalir dari API saat Claude menghasilkannya. Tanpa ini, input alat besar seperti penulisan file panjang tiba hanya setelah Claude selesai menghasilkannya, yang dapat terlihat seperti sedang hang. Diaktifkan secara default pada API Anthropic. Pada Amazon Bedrock dan Google Cloud's Agent Platform, diaktifkan per model di mana kontainer yang digunakan mendukungnya. Atur ke `0` untuk menolak. Atur ke `1` untuk memaksa pengaktifan saat merutekan melalui proxy melalui `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, atau `ANTHROPIC_BEDROCK_BASE_URL`. Dimatikan secara default pada Microsoft Foundry dan koneksi [gateway](/docs/id/llm-gateway) |

222| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Atur ke `1` untuk mengisi pemilih `/model` dari titik akhir `/v1/models` gateway Anda saat `ANTHROPIC_BASE_URL` menunjuk ke gateway yang kompatibel dengan Anthropic seperti LiteLLM, Kong, atau proxy internal. Dimatikan secara default karena gateway yang didukung oleh kunci API bersama akan menampilkan setiap pengguna setiap model yang dapat diakses kunci. Model yang ditemukan masih disaring oleh daftar allowlist [`availableModels`](/id/settings#available-settings) yang diterima sesi; berikan daftar melalui [MDM atau file pengaturan terkelola](/id/settings#settings-files), karena [pengiriman yang dikelola server tidak tersedia pada konfigurasi gateway](/id/server-managed-settings#platform-availability) |222| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Atur ke `1` untuk mengisi pemilih `/model` dari titik akhir `/v1/models` gateway Anda saat `ANTHROPIC_BASE_URL` menunjuk ke gateway yang kompatibel dengan Anthropic seperti LiteLLM, Kong, atau proxy internal. Dimatikan secara default karena gateway yang didukung oleh kunci API bersama akan menampilkan setiap pengguna setiap model yang dapat diakses kunci. Model yang ditemukan masih disaring oleh daftar allowlist [`availableModels`](/docs/id/settings#available-settings) yang diterima sesi; berikan daftar melalui [MDM atau file pengaturan terkelola](/docs/id/settings#settings-files), karena [pengiriman yang dikelola server tidak tersedia pada konfigurasi gateway](/docs/id/server-managed-settings#platform-availability) |

223| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | {/* max-version: 2.1.141 */}Dihapus di v2.1.142, saat [mode cepat](/id/fast-mode) default bergeser dari Opus 4.6 ke Opus 4.7 |223| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Dihapus di v2.1.142, saat [mode cepat](/docs/id/fast-mode) default bergeser dari Opus 4.6 ke Opus 4.7 |

224| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Atur ke `false` untuk menonaktifkan saran prompt (toggle "Prompt suggestions" di `/config`). Ini adalah prediksi yang diarsir yang muncul di input prompt Anda setelah Claude merespons. Lihat [Saran prompt](/id/interactive-mode#prompt-suggestions) |224| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Atur ke `false` untuk menonaktifkan saran prompt (toggle "Prompt suggestions" di `/config`). Ini adalah prediksi yang diarsir yang muncul di input prompt Anda setelah Claude merespons. Lihat [Saran prompt](/docs/id/interactive-mode#prompt-suggestions) |

225| `CLAUDE_CODE_ENABLE_TASKS` | Mengontrol apakah sesi menggunakan alat Task terstruktur (`TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`) atau alat `TodoWrite` warisan. {/* min-version: 2.1.142 */}Sejak Claude Code v2.1.142, alat Task adalah default di semua mode. Atur ke `0` untuk kembali ke `TodoWrite`. Lihat [Daftar tugas](/id/interactive-mode#task-list) dan [Migrasi ke alat Task](/id/agent-sdk/todo-tracking#migrate-to-task-tools) |225| `CLAUDE_CODE_ENABLE_TASKS` | Mengontrol apakah sesi menggunakan alat Task terstruktur (`TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`) atau alat `TodoWrite` warisan. Sejak Claude Code v2.1.142, alat Task adalah default di semua mode. Atur ke `0` untuk kembali ke `TodoWrite`. Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) dan [Migrasi ke alat Task](/docs/id/agent-sdk/todo-tracking#migrate-to-task-tools) |

226| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Lihat [Monitoring](/id/monitoring-usage) |226| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Lihat [Monitoring](/docs/id/monitoring-usage) |

227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Waktu dalam milidetik untuk menunggu setelah loop kueri menjadi idle sebelum keluar secara otomatis. Berguna untuk alur kerja otomatis dan skrip menggunakan mode SDK |227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Waktu dalam milidetik untuk menunggu setelah loop kueri menjadi idle sebelum keluar secara otomatis. Berguna untuk alur kerja otomatis dan skrip menggunakan mode SDK |

228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/docs/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |

229| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung. {{/* min-version: 2.1.206 */}}Nilai yang diekspor dalam shell Anda juga berlaku pada [sesi latar belakang](/id/agent-view) yang Anda kirim dengan `claude agents` atau `--bg`. Sebelum v2.1.206, sesi latar belakang mengabaikan nilai yang diekspor shell dan menggunakan salinan apa pun yang diwarisi proses supervisor latar belakang |229| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung. {{/* min-version: 2.1.206 */}}Nilai yang diekspor dalam shell Anda juga berlaku pada [sesi latar belakang](/docs/id/agent-view) yang Anda kirim dengan `claude agents` atau `--bg`. Sebelum v2.1.206, sesi latar belakang mengabaikan nilai yang diekspor shell dan menggunakan salinan apa pun yang diwarisi proses supervisor latar belakang |

230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |

231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi tmux atau peluncur latar belakang yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. {/* min-version: 2.1.178 */}Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi tmux atau peluncur latar belakang yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |

232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Atur ke `1` untuk memaksa rendering strikethrough untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, seperti melalui SSH tanpa `TERM_PROGRAM` yang diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` literal alih-alih merender teks sebagai strikethrough. Memerlukan Claude Code v2.1.186 atau lebih baru |232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Atur ke `1` untuk memaksa rendering strikethrough untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, seperti melalui SSH tanpa `TERM_PROGRAM` yang diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` literal alih-alih merender teks sebagai strikethrough. Memerlukan Claude Code v2.1.186 atau lebih baru |

233| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux. Tidak seperti `CLAUDE_CODE_NO_FLICKER`, yang beralih ke [rendering layar penuh](/id/fullscreen), ini tidak mengubah renderer |233| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux. Tidak seperti `CLAUDE_CODE_NO_FLICKER`, yang beralih ke [rendering layar penuh](/docs/id/fullscreen), ini tidak mengubah renderer |

234| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |234| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/docs/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/docs/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |

235| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/id/setup#set-up-on-windows) |235| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/docs/id/setup#set-up-on-windows) |

236| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [alat Glob](/id/tools-reference#glob-tool-behavior). Disertakan secara default. Tidak mempengaruhi autocomplete file `@`, `ls`, Grep, atau Read |236| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [alat Glob](/docs/id/tools-reference#glob-tool-behavior). Disertakan secara default. Tidak mempengaruhi autocomplete file `@`, `ls`, Grep, atau Read |

237| `CLAUDE_CODE_GLOB_NO_IGNORE` | Atur ke `false` untuk membuat [alat Glob](/id/tools-reference#glob-tool-behavior) menghormati pola `.gitignore`. Secara default, Glob mengembalikan semua file yang cocok termasuk yang diabaikan git. Tidak mempengaruhi autocomplete file `@`, yang memiliki pengaturan [`respectGitignore`](/id/settings#available-settings) sendiri |237| `CLAUDE_CODE_GLOB_NO_IGNORE` | Atur ke `false` untuk membuat [alat Glob](/docs/id/tools-reference#glob-tool-behavior) menghormati pola `.gitignore`. Secara default, Glob mengembalikan semua file yang cocok termasuk yang diabaikan git. Tidak mempengaruhi autocomplete file `@`, yang memiliki pengaturan [`respectGitignore`](/docs/id/settings#available-settings) sendiri |

238| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Waktu tunggu dalam detik untuk penemuan file alat Glob. Default ke 20 detik di sebagian besar platform dan 60 detik di WSL |238| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Waktu tunggu dalam detik untuk penemuan file alat Glob. Default ke 20 detik di sebagian besar platform dan 60 detik di WSL |

239| `CLAUDE_CODE_HIDE_CWD` | Atur ke `1` untuk menyembunyikan direktori kerja dalam logo startup. Berguna untuk screenshare atau rekaman di mana jalur mengekspos nama pengguna OS Anda |239| `CLAUDE_CODE_HIDE_CWD` | Atur ke `1` untuk menyembunyikan direktori kerja dalam logo startup. Berguna untuk screenshare atau rekaman di mana jalur mengekspos nama pengguna OS Anda |

240| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Ganti alamat host yang digunakan untuk terhubung ke ekstensi IDE. Secara default Claude Code mendeteksi otomatis alamat yang benar, termasuk perutean WSL-ke-Windows |240| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Ganti alamat host yang digunakan untuk terhubung ke ekstensi IDE. Secara default Claude Code mendeteksi otomatis alamat yang benar, termasuk perutean WSL-ke-Windows |

241| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Atur ke `1` untuk melewati instalasi otomatis ekstensi IDE. Setara dengan pengaturan [`autoInstallIdeExtension`](/id/settings#global-config-settings) ke `false` |241| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Atur ke `1` untuk melewati instalasi otomatis ekstensi IDE. Setara dengan pengaturan [`autoInstallIdeExtension`](/docs/id/settings#global-config-settings) ke `false` |

242| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Atur ke `1` untuk melewati validasi entri lockfile IDE selama koneksi. Gunakan saat auto-connect gagal menemukan IDE Anda meskipun sedang berjalan |242| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Atur ke `1` untuk melewati validasi entri lockfile IDE selama koneksi. Gunakan saat auto-connect gagal menemukan IDE Anda meskipun sedang berjalan |

243| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Ganti ukuran jendela konteks yang Claude Code asumsikan untuk model aktif. {/* min-version: 2.1.193 */}Sejak v2.1.193, diterapkan langsung untuk nama model yang Claude Code tidak kenali sebagai model Claude; untuk model Claude yang dikenali hanya berlaku saat `DISABLE_COMPACT` juga diatur. Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang jendela konteksnya tidak cocok dengan ukuran bawaan untuk namanya |243| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Ganti ukuran jendela konteks yang Claude Code asumsikan untuk model aktif. Sejak v2.1.193, diterapkan langsung untuk nama model yang Claude Code tidak kenali sebagai model Claude; untuk model Claude yang dikenali hanya berlaku saat `DISABLE_COMPACT` juga diatur. Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang jendela konteksnya tidak cocok dengan ukuran bawaan untuk namanya |

244| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Atur jumlah maksimal token keluaran untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Meningkatkan nilai ini mengurangi jendela konteks efektif yang tersedia sebelum [pemadatan otomatis](/id/costs#reduce-token-usage) dipicu |244| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Atur jumlah maksimal token keluaran untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Meningkatkan nilai ini mengurangi jendela konteks efektif yang tersedia sebelum [pemadatan otomatis](/docs/id/costs#reduce-token-usage) dipicu |

245| `CLAUDE_CODE_MAX_RETRIES` | Ganti jumlah kali untuk mencoba ulang permintaan API yang gagal (default: 10). {/* min-version: 2.1.186 */}Dibatasi pada 15 sejak v2.1.186; {/* min-version: 2.1.199 */}sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Untuk sesi tanpa pengawasan yang perlu menunggu pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG` sebagai gantinya |245| `CLAUDE_CODE_MAX_RETRIES` | Ganti jumlah kali untuk mencoba ulang permintaan API yang gagal (default: 10). Dibatasi pada 15 sejak v2.1.186; sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Untuk sesi tanpa pengawasan yang perlu menunggu pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG` sebagai gantinya |

246| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Jumlah maksimal alat baca-saja dan subagent yang dapat dieksekusi secara paralel (default: 10). Nilai yang lebih tinggi meningkatkan paralelisme tetapi mengonsumsi lebih banyak sumber daya |246| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Jumlah maksimal alat baca-saja dan subagent yang dapat dieksekusi secara paralel (default: 10). Nilai yang lebih tinggi meningkatkan paralelisme tetapi mengonsumsi lebih banyak sumber daya |

247| `CLAUDE_CODE_MAX_TURNS` | Batasi jumlah giliran agentic saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/id/cli-reference#cli-flags), yang mengambil prioritas saat keduanya diatur. Nilai yang bukan integer positif ditolak saat startup dengan kesalahan daripada diperlakukan sebagai tidak ada batas |247| `CLAUDE_CODE_MAX_TURNS` | Batasi jumlah giliran agentic saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/docs/id/cli-reference#cli-flags), yang mengambil prioritas saat keduanya diatur. Nilai yang bukan integer positif ditolak saat startup dengan kesalahan daripada diperlakukan sebagai tidak ada batas |

248| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Atur ke `1` untuk meluncurkan server MCP stdio dengan hanya lingkungan dasar yang aman ditambah `env` yang dikonfigurasi server, alih-alih mewarisi lingkungan shell Anda |248| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Atur ke `1` untuk meluncurkan server MCP stdio dengan hanya lingkungan dasar yang aman ditambah `env` yang dikonfigurasi server, alih-alih mewarisi lingkungan shell Anda |

249| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Waktu tunggu idle dalam milidetik untuk panggilan alat MCP. Saat server MCP stdio, HTTP, SSE, WebSocket, atau [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) mengirim tidak ada respons dan tidak ada notifikasi kemajuan untuk waktu yang lama, panggilan alat membatalkan dengan kesalahan alih-alih menunggu `MCP_TOOL_TIMEOUT` dinding jam. Mengganti default per-transport 300000 (5 menit) untuk server jaringan dan 1800000 (30 menit) untuk server stdio. Atur ke `0` untuk menonaktifkan pemeriksaan idle. Nilai di bawah 1000 dinaikkan ke satu detik, dan nilai dibatasi pada `MCP_TOOL_TIMEOUT` efektif. `timeout` per-server di `.mcp.json` setidaknya 1000 menaikkan jendela idle server itu ke setidaknya nilai `timeout`. Tidak berlaku untuk server IDE atau server in-process SDK. Memerlukan Claude Code v2.1.187 atau lebih baru. {/* min-version: 2.1.203 */}Sebelum v2.1.203, server stdio dikecualikan dari waktu tunggu idle |249| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Waktu tunggu idle dalam milidetik untuk panggilan alat MCP. Saat server MCP stdio, HTTP, SSE, WebSocket, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) mengirim tidak ada respons dan tidak ada notifikasi kemajuan untuk waktu yang lama, panggilan alat membatalkan dengan kesalahan alih-alih menunggu `MCP_TOOL_TIMEOUT` dinding jam. Mengganti default per-transport 300000 (5 menit) untuk server jaringan dan 1800000 (30 menit) untuk server stdio. Atur ke `0` untuk menonaktifkan pemeriksaan idle. Nilai di bawah 1000 dinaikkan ke satu detik, dan nilai dibatasi pada `MCP_TOOL_TIMEOUT` efektif. `timeout` per-server di `.mcp.json` setidaknya 1000 menaikkan jendela idle server itu ke setidaknya nilai `timeout`. Tidak berlaku untuk server IDE atau server in-process SDK. Memerlukan Claude Code v2.1.187 atau lebih baru. Sebelum v2.1.203, server stdio dikecualikan dari waktu tunggu idle |

250| `CLAUDE_CODE_NATIVE_CURSOR` | Atur ke `1` untuk menampilkan kursor terminal sendiri di caret input alih-alih blok yang digambar. Kursor menghormati pengaturan blink, bentuk, dan fokus terminal |250| `CLAUDE_CODE_NATIVE_CURSOR` | Atur ke `1` untuk menampilkan kursor terminal sendiri di caret input alih-alih blok yang digambar. Kursor menghormati pengaturan blink, bentuk, dan fokus terminal |

251| `CLAUDE_CODE_NEW_INIT` | Atur ke `1` untuk membuat `/init` menjalankan alur pengaturan interaktif. Alur menanyakan file mana yang akan dibuat, termasuk CLAUDE.md, skill, dan hook, sebelum menjelajahi basis kode dan menulisnya. Tanpa variabel ini, `/init` membuat CLAUDE.md secara otomatis tanpa meminta |251| `CLAUDE_CODE_NEW_INIT` | Atur ke `1` untuk membuat `/init` menjalankan alur pengaturan interaktif. Alur menanyakan file mana yang akan dibuat, termasuk CLAUDE.md, skill, dan hook, sebelum menjelajahi basis kode dan menulisnya. Tanpa variabel ini, `/init` membuat CLAUDE.md secara otomatis tanpa meminta |

252| `CLAUDE_CODE_NO_FLICKER` | Atur ke `1` untuk mengaktifkan [rendering layar penuh](/id/fullscreen), pratinjau penelitian yang mengurangi flicker dan menjaga memori tetap datar dalam percakapan panjang. Setara dengan pengaturan [`tui`](/id/settings#available-settings); Anda juga dapat beralih dengan `/tui fullscreen` |252| `CLAUDE_CODE_NO_FLICKER` | Atur ke `1` untuk mengaktifkan [rendering layar penuh](/docs/id/fullscreen), pratinjau penelitian yang mengurangi flicker dan menjaga memori tetap datar dalam percakapan panjang. Setara dengan pengaturan [`tui`](/docs/id/settings#available-settings); Anda juga dapat beralih dengan `/tui fullscreen` |

253| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token refresh OAuth untuk autentikasi Claude.ai. Saat diatur, `claude auth login` menukar token ini secara langsung alih-alih membuka browser. Memerlukan `CLAUDE_CODE_OAUTH_SCOPES`. Berguna untuk menyediakan autentikasi di lingkungan otomatis |253| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token refresh OAuth untuk autentikasi Claude.ai. Saat diatur, `claude auth login` menukar token ini secara langsung alih-alih membuka browser. Memerlukan `CLAUDE_CODE_OAUTH_SCOPES`. Berguna untuk menyediakan autentikasi di lingkungan otomatis |

254| `CLAUDE_CODE_OAUTH_SCOPES` | Cakupan OAuth yang dipisahkan spasi yang token refresh dikeluarkan dengan, seperti `"user:profile user:inference user:sessions:claude_code"`. Diperlukan saat `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` diatur |254| `CLAUDE_CODE_OAUTH_SCOPES` | Cakupan OAuth yang dipisahkan spasi yang token refresh dikeluarkan dengan, seperti `"user:profile user:inference user:sessions:claude_code"`. Diperlukan saat `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` diatur |

255| `CLAUDE_CODE_OAUTH_TOKEN` | Token akses OAuth untuk autentikasi Claude.ai. Alternatif untuk `/login` untuk SDK dan lingkungan otomatis. Mengambil alih kredensial yang disimpan keychain. Buat satu dengan [`claude setup-token`](/id/authentication#generate-a-long-lived-token) |255| `CLAUDE_CODE_OAUTH_TOKEN` | Token akses OAuth untuk autentikasi Claude.ai. Alternatif untuk `/login` untuk SDK dan lingkungan otomatis. Mengambil alih kredensial yang disimpan keychain. Buat satu dengan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token) |

256| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Dihapus di v2.1.160 dan sekarang tidak beroperasi. Sebelumnya menyematkan [mode cepat](/id/fast-mode) ke Claude Opus 4.6 alih-alih default saat ini. Opus 4.6 tidak lagi mendukung mode cepat |256| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Dihapus di v2.1.160 dan sekarang tidak beroperasi. Sebelumnya menyematkan [mode cepat](/docs/id/fast-mode) ke Claude Opus 4.6 alih-alih default saat ini. Opus 4.6 tidak lagi mendukung mode cepat |

257| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Atur ke `1` untuk menulis kesalahan diagnostik pengekspor OpenTelemetry ke stderr. Secara default kesalahan ini hanya muncul dengan `--debug`, sehingga pengekspor yang salah dikonfigurasi seperti tabrakan port Prometheus gagal diam-diam. Memerlukan Claude Code v2.1.179 atau lebih baru. Lihat [Monitoring](/id/monitoring-usage) |257| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Atur ke `1` untuk menulis kesalahan diagnostik pengekspor OpenTelemetry ke stderr. Secara default kesalahan ini hanya muncul dengan `--debug`, sehingga pengekspor yang salah dikonfigurasi seperti tabrakan port Prometheus gagal diam-diam. Memerlukan Claude Code v2.1.179 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage) |

258| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk menyiram span OpenTelemetry yang tertunda (default: 5000). Lihat [Monitoring](/id/monitoring-usage) |258| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk menyiram span OpenTelemetry yang tertunda (default: 5000). Lihat [Monitoring](/docs/id/monitoring-usage) |

259| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Interval untuk menyegarkan header OpenTelemetry dinamis dalam milidetik (default: 1740000 / 29 menit). Lihat [Header dinamis](/id/monitoring-usage#dynamic-headers) |259| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Interval untuk menyegarkan header OpenTelemetry dinamis dalam milidetik (default: 1740000 / 29 menit). Lihat [Header dinamis](/docs/id/monitoring-usage#dynamic-headers) |

260| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk pengekspor OpenTelemetry selesai saat shutdown (default: 2000). Tingkatkan jika metrik dijatuhkan saat keluar. Lihat [Monitoring](/id/monitoring-usage) |260| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk pengekspor OpenTelemetry selesai saat shutdown (default: 2000). Tingkatkan jika metrik dijatuhkan saat keluar. Lihat [Monitoring](/docs/id/monitoring-usage) |

261| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Atur ke `1` untuk membiarkan Claude Code menjalankan perintah upgrade manajer paket Anda di latar belakang saat versi baru tersedia. Berlaku untuk instalasi Homebrew dan WinGet. Manajer paket lain terus menampilkan perintah upgrade tanpa menjalankannya. Lihat [Auto updates](/id/setup#auto-updates) |261| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Atur ke `1` untuk membiarkan Claude Code menjalankan perintah upgrade manajer paket Anda di latar belakang saat versi baru tersedia. Berlaku untuk instalasi Homebrew dan WinGet. Manajer paket lain terus menampilkan perintah upgrade tanpa menjalankannya. Lihat [Auto updates](/docs/id/setup#auto-updates) |

262| `CLAUDE_CODE_PERFORCE_MODE` | Atur ke `1` untuk mengaktifkan perlindungan penulisan yang menyadari Perforce. Saat diatur, Edit, Write, dan NotebookEdit gagal dengan petunjuk `p4 edit <file>` jika file target tidak memiliki bit pemilik-tulis, yang Perforce hapus pada file yang disinkronkan sampai `p4 edit` membukanya. Ini mencegah Claude Code dari melewati pelacakan perubahan Perforce |262| `CLAUDE_CODE_PERFORCE_MODE` | Atur ke `1` untuk mengaktifkan perlindungan penulisan yang menyadari Perforce. Saat diatur, Edit, Write, dan NotebookEdit gagal dengan petunjuk `p4 edit <file>` jika file target tidak memiliki bit pemilik-tulis, yang Perforce hapus pada file yang disinkronkan sampai `p4 edit` membukanya. Ini mencegah Claude Code dari melewati pelacakan perubahan Perforce |

263| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Ganti direktori root plugin. Meskipun namanya, ini mengatur direktori induk, bukan cache itu sendiri: marketplace dan cache plugin berada di subdirektori di bawah jalur ini. Default ke `~/.claude/plugins` |263| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Ganti direktori root plugin. Meskipun namanya, ini mengatur direktori induk, bukan cache itu sendiri: marketplace dan cache plugin berada di subdirektori di bawah jalur ini. Default ke `~/.claude/plugins` |

264| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk operasi git saat memasang atau memperbarui plugin (default: 120000). Tingkatkan nilai ini untuk repositori besar atau koneksi jaringan lambat. Lihat [Operasi Git habis waktu](/id/plugin-marketplaces#git-operations-time-out) |264| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk operasi git saat memasang atau memperbarui plugin (default: 120000). Tingkatkan nilai ini untuk repositori besar atau koneksi jaringan lambat. Lihat [Operasi Git habis waktu](/docs/id/plugin-marketplaces#git-operations-time-out) |

265| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Atur ke `1` untuk menyimpan cache marketplace yang ada saat `git pull` gagal alih-alih menghapus dan re-cloning. Berguna di lingkungan offline atau airgapped di mana re-cloning akan gagal dengan cara yang sama. Lihat [Pembaruan Marketplace gagal di lingkungan offline](/id/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |265| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Atur ke `1` untuk menyimpan cache marketplace yang ada saat `git pull` gagal alih-alih menghapus dan re-cloning. Berguna di lingkungan offline atau airgapped di mana re-cloning akan gagal dengan cara yang sama. Lihat [Pembaruan Marketplace gagal di lingkungan offline](/docs/id/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

266| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk clone GitHub `owner/repo` shorthand sources melalui HTTPS alih-alih SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di CI runners, kontainer, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |266| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk clone GitHub `owner/repo` shorthand sources melalui HTTPS alih-alih SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di CI runners, kontainer, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |

267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/id/plugin-marketplaces#pre-populate-plugins-for-containers) |267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/docs/id/plugin-marketplaces#pre-populate-plugins-for-containers) |

268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |

269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {{/* min-version: 2.1.182 */}}Waktu maksimal dalam milidetik yang [mode non-interaktif](/id/headless#background-tasks-at-exit) dengan flag `-p` tunggu setelah giliran terakhir untuk subagent latar belakang dan workflows yang hasilnya adalah bagian dari keluaran. Default: `600000`, atau 10 menit. Saat batas terlampaui, tugas latar belakang yang tersisa dihentikan dan proses keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa |269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {{/* min-version: 2.1.182 */}}Waktu maksimal dalam milidetik yang [mode non-interaktif](/docs/id/headless#background-tasks-at-exit) dengan flag `-p` tunggu setelah giliran terakhir untuk subagent latar belakang dan workflows yang hasilnya adalah bagian dari keluaran. Default: `600000`, atau 10 menit. Saat batas terlampaui, tugas latar belakang yang tersisa dihentikan dan proses keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa |

270| `CLAUDE_CODE_PROCESS_WRAPPER` | {{/* min-version: 2.1.208 */}}Luncurkan proses yang Claude Code mulai dari binernya sendiri melalui executable wrapper, diberikan sebagai awalan argv seperti `/opt/corp/launcher`. Mencakup layanan latar belakang yang menghosting sesi [agent view](/id/agent-view), setiap sesi yang diluncurkannya, dan relaunch Claude Code melakukan dirinya sendiri untuk menyelesaikan instalasi pembaruan. Token pertama harus berupa jalur absolut dari executable yang diakhiri dengan menjalankan `exec "$@"`, dan sebagian besar launcher adalah jalur tunggal itu. Nilainya adalah daftar argumen, bukan perintah shell: whitespace memisahkan token, tanda kutip ganda mengelompokkan jalur yang berisi spasi, dan nilai yang dimulai dengan `[` dibaca sebagai array string JSON. Atur dalam blok `env` pengaturan pengguna atau [terkelola](/id/permissions#managed-settings), bukan sebagai ekspor shell, sehingga layanan latar belakang yang terpisah mewarisnya; pengaturan proyek dan lokal tidak dapat mengaturnya. Ekstensi VS Code mengonfigurasi launcher miliknya sendiri secara terpisah melalui pengaturan `claudeProcessWrapper` miliknya. Diabaikan di Windows. `CLAUDE_CODE_SHELL_PREFIX` adalah kontrol terpisah: ini membungkus perintah shell Claude Code jalankan sebagai string quoted tunggal, sementara variabel ini membungkus proses Claude Code sendiri sebagai awalan argv. Lihat [Run Claude Code behind a corporate launcher](/id/corporate-launcher) |270| `CLAUDE_CODE_PROCESS_WRAPPER` | {{/* min-version: 2.1.208 */}}Luncurkan proses yang Claude Code mulai dari binernya sendiri melalui executable wrapper, diberikan sebagai awalan argv seperti `/opt/corp/launcher`. Mencakup layanan latar belakang yang menghosting sesi [agent view](/docs/id/agent-view), setiap sesi yang diluncurkannya, dan relaunch Claude Code melakukan dirinya sendiri untuk menyelesaikan instalasi pembaruan. Token pertama harus berupa jalur absolut dari executable yang diakhiri dengan menjalankan `exec "$@"`, dan sebagian besar launcher adalah jalur tunggal itu. Nilainya adalah daftar argumen, bukan perintah shell: whitespace memisahkan token, tanda kutip ganda mengelompokkan jalur yang berisi spasi, dan nilai yang dimulai dengan `[` dibaca sebagai array string JSON. Atur dalam blok `env` pengaturan pengguna atau [terkelola](/docs/id/permissions#managed-settings), bukan sebagai ekspor shell, sehingga layanan latar belakang yang terpisah mewarisnya; pengaturan proyek dan lokal tidak dapat mengaturnya. Ekstensi VS Code mengonfigurasi launcher miliknya sendiri secara terpisah melalui pengaturan `claudeProcessWrapper` miliknya. Diabaikan di Windows. `CLAUDE_CODE_SHELL_PREFIX` adalah kontrol terpisah: ini membungkus perintah shell Claude Code jalankan sebagai string quoted tunggal, sementara variabel ini membungkus proses Claude Code sendiri sebagai awalan argv. Lihat [Run Claude Code behind a corporate launcher](/docs/id/corporate-launcher) |

271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/id/monitoring-usage#traces-beta) |271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/docs/id/monitoring-usage#traces-beta) |

272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/id/data-usage#default-behaviors-by-api-provider) |272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/docs/id/data-usage#default-behaviors-by-api-provider) |

273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |

274| `CLAUDE_CODE_REMOTE` | Atur secara otomatis ke `true` saat Claude Code berjalan sebagai [sesi cloud](/id/claude-code-on-the-web). Baca ini dari hook atau skrip setup untuk mendeteksi apakah Anda berada di lingkungan cloud |274| `CLAUDE_CODE_REMOTE` | Atur secara otomatis ke `true` saat Claude Code berjalan sebagai [sesi cloud](/docs/id/claude-code-on-the-web). Baca ini dari hook atau skrip setup untuk mendeteksi apakah Anda berada di lingkungan cloud |

275| `CLAUDE_CODE_REMOTE_SESSION_ID` | Atur secara otomatis dalam [sesi cloud](/id/claude-code-on-the-web) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Link output back to the session](/id/claude-code-on-the-web#link-output-back-to-the-session) |275| `CLAUDE_CODE_REMOTE_SESSION_ID` | Atur secara otomatis dalam [sesi cloud](/docs/id/claude-code-on-the-web) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Link output back to the session](/docs/id/claude-code-on-the-web#link-output-back-to-the-session) |

276| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk melanjutkan secara otomatis jika sesi sebelumnya berakhir di tengah-tengah. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt |276| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk melanjutkan secara otomatis jika sesi sebelumnya berakhir di tengah-tengah. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt |

277| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan kelanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-tengah. Default ke `Continue from where you left off.`. Skrip spawn untuk agent yang berjalan lama dapat mengatur ini ke pesan boot yang lebih direktif. String kosong menggunakan default |277| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan kelanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-tengah. Default ke `Continue from where you left off.`. Skrip spawn untuk agent yang berjalan lama dapat mengatur ini ke pesan boot yang lebih direktif. String kosong menggunakan default |

278| `CLAUDE_CODE_RETRY_WATCHDOG` | {/* min-version: 2.1.186 */}Atur ke `1` untuk sesi tanpa pengawasan seperti eval harnesses, pekerjaan CI, atau pekerja jarak jauh. Mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah upaya `CLAUDE_CODE_MAX_RETRIES`. Watchdog mundur hingga 5 menit di antara upaya, atau sampai batas disetel ulang saat respons membawa waktu reset batas laju, sehingga sesi yang mencapai batas penggunaan menunggu jendela yang tersisa. {/* min-version: 2.1.199 */}Sejak v2.1.199 juga menaikkan jumlah percobaan default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang dijatuhkan, ke 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda mengatur variabel itu secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |278| `CLAUDE_CODE_RETRY_WATCHDOG` | Atur ke `1` untuk sesi tanpa pengawasan seperti eval harnesses, pekerjaan CI, atau pekerja jarak jauh. Mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah upaya `CLAUDE_CODE_MAX_RETRIES`. Watchdog mundur hingga 5 menit di antara upaya, atau sampai batas disetel ulang saat respons membawa waktu reset batas laju, sehingga sesi yang mencapai batas penggunaan menunggu jendela yang tersisa. Sejak v2.1.199 juga menaikkan jumlah percobaan default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang dijatuhkan, ke 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda mengatur variabel itu secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |

279| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skill, plugin, hook, server MCP, perintah kustom dan agent, gaya keluaran, workflows, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan memori otomatis tidak memuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola masih berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |279| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skill, plugin, hook, server MCP, perintah kustom dan agent, gaya keluaran, workflows, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan memori otomatis tidak memuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola masih berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/docs/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |

280| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan integer. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |280| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan integer. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |

281| `CLAUDE_CODE_SCROLL_SPEED` | Atur pengali pengguliran roda mouse dalam [rendering layar penuh](/id/fullscreen#mouse-wheel-scrolling). Menerima nilai dari 1 hingga 20, dan nilai fraksional di bawah 1 seperti `0.5` untuk memperlambat pengguliran trackpad dan roda yang dipercepat di terminal yang sudah memperkuat peristiwa roda. Atur ke `3` untuk mencocokkan `vim` jika terminal Anda mengirim satu peristiwa roda per takik tanpa amplifikasi. Diabaikan di terminal IDE JetBrains, di mana Claude Code menggunakan penanganan pengguliran miliknya sendiri |281| `CLAUDE_CODE_SCROLL_SPEED` | Atur pengali pengguliran roda mouse dalam [rendering layar penuh](/docs/id/fullscreen#mouse-wheel-scrolling). Menerima nilai dari 1 hingga 20, dan nilai fraksional di bawah 1 seperti `0.5` untuk memperlambat pengguliran trackpad dan roda yang dipercepat di terminal yang sudah memperkuat peristiwa roda. Atur ke `3` untuk mencocokkan `vim` jika terminal Anda mengirim satu peristiwa roda per takik tanpa amplifikasi. Diabaikan di terminal IDE JetBrains, di mana Claude Code menggunakan penanganan pengguliran miliknya sendiri |

282| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Ganti anggaran waktu dalam milidetik untuk hook [SessionEnd](/id/hooks#sessionend). Berlaku untuk keluar sesi, `/clear`, dan beralih sesi melalui `/resume` interaktif. Secara default anggaran adalah 1,5 detik, secara otomatis dinaikkan ke `timeout` per-hook tertinggi yang dikonfigurasi dalam file pengaturan, hingga 60 detik. Timeout pada hook yang disediakan plugin tidak menaikkan anggaran |282| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Ganti anggaran waktu dalam milidetik untuk hook [SessionEnd](/docs/id/hooks#sessionend). Berlaku untuk keluar sesi, `/clear`, dan beralih sesi melalui `/resume` interaktif. Secara default anggaran adalah 1,5 detik, secara otomatis dinaikkan ke `timeout` per-hook tertinggi yang dikonfigurasi dalam file pengaturan, hingga 60 detik. Timeout pada hook yang disediakan plugin tidak menaikkan anggaran |

283| `CLAUDE_CODE_SESSION_ID` | Atur secara otomatis ke ID sesi saat ini dalam subprocess alat Bash dan PowerShell, subprocess perintah [hook](/id/hooks), dan subprocess server [MCP](/id/mcp) stdio. Untuk Bash, PowerShell, dan hook ini cocok dengan bidang `session_id` dalam input JSON hook dan diperbarui pada `/clear`. Subprocess server MCP mempertahankan ID yang diluncurkan dengannya. Pada `--resume <session-id>` menerima ID yang dilanjutkan, cocok dengan hook dan Bash. Pada `--continue` atau `--resume` tanpa ID eksplisit mungkin menerima ID startup awal sebagai gantinya. Gunakan untuk menghubungkan skrip dan alat eksternal dengan sesi Claude Code yang meluncurkannya |283| `CLAUDE_CODE_SESSION_ID` | Atur secara otomatis ke ID sesi saat ini dalam subprocess alat Bash dan PowerShell, subprocess perintah [hook](/docs/id/hooks), dan subprocess server [MCP](/docs/id/mcp) stdio. Untuk Bash, PowerShell, dan hook ini cocok dengan bidang `session_id` dalam input JSON hook dan diperbarui pada `/clear`. Subprocess server MCP mempertahankan ID yang diluncurkan dengannya. Pada `--resume <session-id>` menerima ID yang dilanjutkan, cocok dengan hook dan Bash. Pada `--continue` atau `--resume` tanpa ID eksplisit mungkin menerima ID startup awal sebagai gantinya. Gunakan untuk menghubungkan skrip dan alat eksternal dengan sesi Claude Code yang meluncurkannya |

284| `CLAUDE_CODE_SHELL` | Atur shell yang Claude Code gunakan untuk menjalankan perintah alat Bash. Menerima jalur ke biner `bash` atau `zsh`, misalnya `/opt/homebrew/bin/bash`. Shell lain seperti `fish` tidak didukung. Jika nilainya bukan jalur `bash` atau `zsh` yang berfungsi, Claude Code mengabaikannya dan kembali ke deteksi otomatis. Deteksi otomatis menggunakan `$SHELL` Anda saat menunjuk ke `bash` atau `zsh`, jika tidak memilih `zsh` pertama yang berfungsi kemudian `bash` ditemukan di `PATH` Anda dan lokasi instalasi standar |284| `CLAUDE_CODE_SHELL` | Atur shell yang Claude Code gunakan untuk menjalankan perintah alat Bash. Menerima jalur ke biner `bash` atau `zsh`, misalnya `/opt/homebrew/bin/bash`. Shell lain seperti `fish` tidak didukung. Jika nilainya bukan jalur `bash` atau `zsh` yang berfungsi, Claude Code mengabaikannya dan kembali ke deteksi otomatis. Deteksi otomatis menggunakan `$SHELL` Anda saat menunjuk ke `bash` atau `zsh`, jika tidak memilih `zsh` pertama yang berfungsi kemudian `bash` ditemukan di `PATH` Anda dan lokasi instalasi standar |

285| `CLAUDE_CODE_SHELL_PREFIX` | Awalan perintah yang membungkus perintah shell Claude Code luncurkan: panggilan alat Bash, perintah [hook](/id/hooks), perintah [baris status](/id/statusline), dan perintah startup server [MCP](/id/mcp) stdio. Hook PowerShell dan hook bentuk exec berjalan tanpa awalan. Berguna untuk logging atau audit. Mengatur jalur executable telanjang seperti `/path/to/logger.sh` menjalankan setiap perintah sebagai `/path/to/logger.sh '<command>'`. Wrapper menerima baris perintah sebagai argumen shell-quoted tunggal dalam `$1`, sehingga wrapper harus mengevaluasi ulang `$1` dengan shell, misalnya `exec bash -c "$1"`. Memperlakukan `$1` sebagai jalur executable telanjang merusak server MCP stdio yang meneruskan argumen seperti `npx -y <package>`. Untuk panggilan alat Bash, `$1` berisi invokasi shell lengkap yang Claude Code rakitkan, termasuk pengaturan lingkungan, bukan hanya perintah yang Claude jalankan |285| `CLAUDE_CODE_SHELL_PREFIX` | Awalan perintah yang membungkus perintah shell Claude Code luncurkan: panggilan alat Bash, perintah [hook](/docs/id/hooks), perintah [baris status](/docs/id/statusline), dan perintah startup server [MCP](/docs/id/mcp) stdio. Hook PowerShell dan hook bentuk exec berjalan tanpa awalan. Berguna untuk logging atau audit. Mengatur jalur executable telanjang seperti `/path/to/logger.sh` menjalankan setiap perintah sebagai `/path/to/logger.sh '<command>'`. Wrapper menerima baris perintah sebagai argumen shell-quoted tunggal dalam `$1`, sehingga wrapper harus mengevaluasi ulang `$1` dengan shell, misalnya `exec bash -c "$1"`. Memperlakukan `$1` sebagai jalur executable telanjang merusak server MCP stdio yang meneruskan argumen seperti `npx -y <package>`. Untuk panggilan alat Bash, `$1` berisi invokasi shell lengkap yang Claude Code rakitkan, termasuk pengaturan lingkungan, bukan hanya perintah yang Claude jalankan |

286| `CLAUDE_CODE_SIMPLE` | Atur ke `1` untuk menjalankan dengan prompt sistem minimal dan hanya alat Bash, pembacaan file, dan pengeditan file. Alat MCP dari `--mcp-config` masih tersedia. Menonaktifkan penemuan otomatis hook, skill, plugin, server MCP, memori otomatis, dan CLAUDE.md. OAuth tokens dan kredensial keychain tidak dibaca, jadi autentikasi Anthropic harus berasal dari `ANTHROPIC_API_KEY` atau `apiKeyHelper` di `--settings`. Setara dengan meneruskan [`--bare`](/id/headless#start-faster-with-bare-mode) |286| `CLAUDE_CODE_SIMPLE` | Atur ke `1` untuk menjalankan dengan prompt sistem minimal dan hanya alat Bash, pembacaan file, dan pengeditan file. Alat MCP dari `--mcp-config` masih tersedia. Menonaktifkan penemuan otomatis hook, skill, plugin, server MCP, memori otomatis, dan CLAUDE.md. OAuth tokens dan kredensial keychain tidak dibaca, jadi autentikasi Anthropic harus berasal dari `ANTHROPIC_API_KEY` atau `apiKeyHelper` di `--settings`. Setara dengan meneruskan [`--bare`](/docs/id/headless#start-faster-with-bare-mode) |

287| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |287| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |

288| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |288| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |

289| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | {{/* min-version: 2.1.207 */}}Atur ke `1` untuk mematikan cache in-process kredensial yang diselesaikan dari rantai penyedia kredensial default AWS, sehingga Claude Code menyelesaikan rantai pada setiap permintaan API. Dengan cache mati, profil yang didukung SSO meminta kredensial dari IAM Identity Center pada setiap permintaan. Lihat [credential caching and resolution timeout](/id/amazon-bedrock#credential-caching-and-resolution-timeout). Memerlukan Claude Code v2.1.207 atau lebih baru |289| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | {{/* min-version: 2.1.207 */}}Atur ke `1` untuk mematikan cache in-process kredensial yang diselesaikan dari rantai penyedia kredensial default AWS, sehingga Claude Code menyelesaikan rantai pada setiap permintaan API. Dengan cache mati, profil yang didukung SSO meminta kredensial dari IAM Identity Center pada setiap permintaan. Lihat [credential caching and resolution timeout](/docs/id/amazon-bedrock#credential-caching-and-resolution-timeout). Memerlukan Claude Code v2.1.207 atau lebih baru |

290| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock (misalnya, saat menggunakan gateway LLM) |290| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock (misalnya, saat menggunakan gateway LLM) |

291| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry, untuk proxy atau gateway yang menyuntikkan header `Authorization` miliknya sendiri. Claude Code mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda sediakan, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. Diabaikan saat `ANTHROPIC_FOUNDRY_API_KEY` atau `ANTHROPIC_FOUNDRY_AUTH_TOKEN` diatur. {/* min-version: 2.1.203 */}Sebelum v2.1.203, variabel ini meninggalkan klien Microsoft Foundry tidak dapat mengirim permintaan kecuali kunci API juga diatur |291| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry, untuk proxy atau gateway yang menyuntikkan header `Authorization` miliknya sendiri. Claude Code mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda sediakan, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. Diabaikan saat `ANTHROPIC_FOUNDRY_API_KEY` atau `ANTHROPIC_FOUNDRY_AUTH_TOKEN` diatur. Sebelum v2.1.203, variabel ini meninggalkan klien Microsoft Foundry tidak dapat mengirim permintaan kecuali kunci API juga diatur |

292| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |292| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |

293| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Atur ke `1` untuk melewati penulisan riwayat prompt dan transkrip sesi ke disk. Sesi yang dimulai dengan variabel ini diatur tidak muncul dalam `--resume`, `--continue`, atau riwayat panah-atas. Berguna untuk sesi skrip yang bersifat sementara |293| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Atur ke `1` untuk melewati penulisan riwayat prompt dan transkrip sesi ke disk. Sesi yang dimulai dengan variabel ini diatur tidak muncul dalam `--resume`, `--continue`, atau riwayat panah-atas. Berguna untuk sesi skrip yang bersifat sementara |

294| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Lewati autentikasi Google untuk Google Cloud's Agent Platform (misalnya, saat menggunakan gateway LLM) |294| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Lewati autentikasi Google untuk Google Cloud's Agent Platform (misalnya, saat menggunakan gateway LLM) |

295| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Jumlah maksimal kali berturut-turut hook [Stop](/id/hooks#stop) atau [SubagentStop](/id/hooks#subagentstop) dapat memblokir giliran dari berakhir sebelum Claude Code mengganti dan mengakhiri giliran bagaimanapun (default: 8). Atur ke `0` untuk menonaktifkan batas. Naikkan ini jika hook Anda secara sah memerlukan lebih banyak iterasi untuk menyelesaikan |295| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Jumlah maksimal kali berturut-turut hook [Stop](/docs/id/hooks#stop) atau [SubagentStop](/docs/id/hooks#subagentstop) dapat memblokir giliran dari berakhir sebelum Claude Code mengganti dan mengakhiri giliran bagaimanapun (default: 8). Atur ke `0` untuk menonaktifkan batas. Naikkan ini jika hook Anda secara sah memerlukan lebih banyak iterasi untuk menyelesaikan |

296| `CLAUDE_CODE_SUBAGENT_MODEL` | Lihat [Konfigurasi Model](/id/model-config). {/* min-version: 2.1.196 */}Sejak v2.1.196, mengaturnya ke `inherit` sama dengan membiarkannya tidak diatur; versi sebelumnya memperlakukan `inherit` sebagai override yang memaksa setiap subagent ke model percakapan utama |296| `CLAUDE_CODE_SUBAGENT_MODEL` | Lihat [Konfigurasi Model](/docs/id/model-config). Sejak v2.1.196, mengaturnya ke `inherit` sama dengan membiarkannya tidak diatur; versi sebelumnya memperlakukan `inherit` sebagai override yang memaksa setiap subagent ke model percakapan utama |

297| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Atur ke `1` untuk menghapus kredensial Anthropic dan penyedia cloud dari lingkungan subprocess (alat Bash, hook, server MCP stdio). Proses Claude induk menyimpan kredensial ini untuk panggilan API, tetapi proses anak tidak dapat membacanya, mengurangi paparan terhadap serangan injeksi prompt yang mencoba mengekstrak rahasia melalui ekspansi shell. Pada Linux, ini juga menjalankan subprocess Bash dalam namespace PID terisolasi sehingga mereka tidak dapat membaca lingkungan proses host melalui `/proc`; sebagai efek samping, `ps`, `pgrep`, dan `kill` tidak dapat melihat atau menandatangani proses host. `claude-code-action` mengatur ini secara otomatis saat `allowed_non_write_users` dikonfigurasi |297| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Atur ke `1` untuk menghapus kredensial Anthropic dan penyedia cloud dari lingkungan subprocess (alat Bash, hook, server MCP stdio). Proses Claude induk menyimpan kredensial ini untuk panggilan API, tetapi proses anak tidak dapat membacanya, mengurangi paparan terhadap serangan injeksi prompt yang mencoba mengekstrak rahasia melalui ekspansi shell. Pada Linux, ini juga menjalankan subprocess Bash dalam namespace PID terisolasi sehingga mereka tidak dapat membaca lingkungan proses host melalui `/proc`; sebagai efek samping, `ps`, `pgrep`, dan `kill` tidak dapat melihat atau menandatangani proses host. `claude-code-action` mengatur ini secara otomatis saat `allowed_non_write_users` dikonfigurasi |

298| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Atur ke `1` dalam mode non-interaktif (flag `-p`) untuk menunggu instalasi plugin selesai sebelum kueri pertama. Tanpa ini, plugin diinstal di latar belakang dan mungkin tidak tersedia pada giliran pertama. Gabungkan dengan `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` untuk membatasi waktu tunggu |298| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Atur ke `1` dalam mode non-interaktif (flag `-p`) untuk menunggu instalasi plugin selesai sebelum kueri pertama. Tanpa ini, plugin diinstal di latar belakang dan mungkin tidak tersedia pada giliran pertama. Gabungkan dengan `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` untuk membatasi waktu tunggu |

299| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk instalasi plugin sinkron. Saat terlampaui, Claude Code melanjutkan tanpa plugin dan mencatat kesalahan. Tidak ada default: tanpa variabel ini, instalasi sinkron menunggu sampai selesai |299| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk instalasi plugin sinkron. Saat terlampaui, Claude Code melanjutkan tanpa plugin dan mencatat kesalahan. Tidak ada default: tanpa variabel ini, instalasi sinkron menunggu sampai selesai |

300| `CLAUDE_CODE_SYNC_SKILLS` | Atur ke `1` untuk mengunduh skill claude.ai yang diaktifkan ke `~/.claude/skills/` sebelum kueri pertama dan resync setiap 10 menit. Berlaku hanya dalam mode non-interaktif dengan flag `-p`. Memerlukan autentikasi claude.ai. Sesi [Claude Code on the web](/id/claude-code-on-the-web) menerima skill claude.ai yang diaktifkan secara otomatis; Anda tidak perlu mengatur ini di sana |300| `CLAUDE_CODE_SYNC_SKILLS` | Atur ke `1` untuk mengunduh skill claude.ai yang diaktifkan ke `~/.claude/skills/` sebelum kueri pertama dan resync setiap 10 menit. Berlaku hanya dalam mode non-interaktif dengan flag `-p`. Memerlukan autentikasi claude.ai. Sesi [Claude Code on the web](/docs/id/claude-code-on-the-web) menerima skill claude.ai yang diaktifkan secara otomatis; Anda tidak perlu mengatur ini di sana |

301| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk resync skill mid-session saat `CLAUDE_CODE_SYNC_SKILLS` diatur (default: 30000). Membatasi unduhan yang dipicu saat host meminta reload skill selama sesi. Saat terlampaui, resync berhenti dan unduhan yang tersisa berlanjut di latar belakang |301| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk resync skill mid-session saat `CLAUDE_CODE_SYNC_SKILLS` diatur (default: 30000). Membatasi unduhan yang dipicu saat host meminta reload skill selama sesi. Saat terlampaui, resync berhenti dan unduhan yang tersisa berlanjut di latar belakang |

302| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk kueri pertama menunggu sinkronisasi skill awal saat `CLAUDE_CODE_SYNC_SKILLS` diatur (default: 5000). Saat terlampaui, kueri melanjutkan dan unduhan skill yang tersisa berlanjut di latar belakang |302| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk kueri pertama menunggu sinkronisasi skill awal saat `CLAUDE_CODE_SYNC_SKILLS` diatur (default: 5000). Saat terlampaui, kueri melanjutkan dan unduhan skill yang tersisa berlanjut di latar belakang |

303| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Atur ke `false` untuk menonaktifkan penyorotan sintaks dalam keluaran diff. Berguna saat warna mengganggu pengaturan terminal Anda. Untuk juga menonaktifkan penyorotan dalam blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/id/settings) |303| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Atur ke `false` untuk menonaktifkan penyorotan sintaks dalam keluaran diff. Berguna saat warna mengganggu pengaturan terminal Anda. Untuk juga menonaktifkan penyorotan dalam blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/docs/id/settings) |

304| `CLAUDE_CODE_TASK_LIST_ID` | Bagikan daftar tugas di seluruh sesi. Atur ID yang sama di beberapa instans Claude Code untuk berkoordinasi pada daftar tugas bersama. Lihat [Daftar tugas](/id/interactive-mode#task-list) |304| `CLAUDE_CODE_TASK_LIST_ID` | Bagikan daftar tugas di seluruh sesi. Atur ID yang sama di beberapa instans Claude Code untuk berkoordinasi pada daftar tugas bersama. Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) |

305| `CLAUDE_CODE_TEAM_NAME` | Nama tim agent yang menjadi anggota rekan kerja ini. Atur secara otomatis pada anggota [tim agent](/id/agent-teams) |305| `CLAUDE_CODE_TEAM_NAME` | Nama tim agent yang menjadi anggota rekan kerja ini. Atur secara otomatis pada anggota [tim agent](/docs/id/agent-teams) |

306| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | {{/* min-version: 2.1.206 */}}Ganti, dalam milidetik, berapa lama sesi non-interaktif menunggu di exit untuk [tim agent](/id/agent-teams) miliknya selesai merobohkan. Menerima 1000 hingga 60000; nilai di luar jangkauan diabaikan dan default 10000 berlaku. Memerlukan Claude Code v2.1.206 atau lebih baru |306| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | {{/* min-version: 2.1.206 */}}Ganti, dalam milidetik, berapa lama sesi non-interaktif menunggu di exit untuk [tim agent](/docs/id/agent-teams) miliknya selesai merobohkan. Menerima 1000 hingga 60000; nilai di luar jangkauan diabaikan dan default 10000 berlaku. Memerlukan Claude Code v2.1.206 atau lebih baru |

307| `CLAUDE_CODE_TMPDIR` | Ganti direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` pada Unix atau `/claude/` pada Windows ke jalur ini. Default: `/tmp` pada macOS, `os.tmpdir()` pada Linux dan Windows. {/* min-version: 2.1.161 */}Sejak v2.1.161, pada macOS dan Linux, subprocess Bash [sandboxed](/id/sandboxing) menerima fallback `$TMPDIR` singkat di bawah default sistem saat override Anda adalah jalur panjang, karena beberapa alat gagal saat jalur temp menjadi terlalu panjang. Perintah Bash yang tidak sandboxed mewarisi `$TMPDIR` shell Anda tidak berubah. File temp Claude Code sendiri selalu menggunakan override Anda |307| `CLAUDE_CODE_TMPDIR` | Ganti direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` pada Unix atau `/claude/` pada Windows ke jalur ini. Default: `/tmp` pada macOS, `os.tmpdir()` pada Linux dan Windows. Sejak v2.1.161, pada macOS dan Linux, subprocess Bash [sandboxed](/docs/id/sandboxing) menerima fallback `$TMPDIR` singkat di bawah default sistem saat override Anda adalah jalur panjang, karena beberapa alat gagal saat jalur temp menjadi terlalu panjang. Perintah Bash yang tidak sandboxed mewarisi `$TMPDIR` shell Anda tidak berubah. File temp Claude Code sendiri selalu menggunakan override Anda |

308| `CLAUDE_CODE_TMUX_TRUECOLOR` | Atur ke `1` untuk memungkinkan keluaran truecolor 24-bit di dalam tmux. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` diatur karena tmux tidak melewatkan urutan escape truecolor kecuali dikonfigurasi untuk melakukannya. Atur ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi Terminal](/id/terminal-config) untuk pengaturan tmux lainnya |308| `CLAUDE_CODE_TMUX_TRUECOLOR` | Atur ke `1` untuk memungkinkan keluaran truecolor 24-bit di dalam tmux. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` diatur karena tmux tidak melewatkan urutan escape truecolor kecuali dikonfigurasi untuk melakukannya. Atur ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi Terminal](/docs/id/terminal-config) untuk pengaturan tmux lainnya |

309| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/id/claude-platform-on-aws) |309| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) |

310| `CLAUDE_CODE_USE_BEDROCK` | Gunakan [Amazon Bedrock](/id/amazon-bedrock) |310| `CLAUDE_CODE_USE_BEDROCK` | Gunakan [Amazon Bedrock](/docs/id/amazon-bedrock) |

311| `CLAUDE_CODE_USE_FOUNDRY` | Gunakan [Microsoft Foundry](/id/microsoft-foundry) |311| `CLAUDE_CODE_USE_FOUNDRY` | Gunakan [Microsoft Foundry](/docs/id/microsoft-foundry) |

312| `CLAUDE_CODE_USE_MANTLE` | Gunakan titik akhir Amazon Bedrock [Mantle](/id/amazon-bedrock#use-the-mantle-endpoint) |312| `CLAUDE_CODE_USE_MANTLE` | Gunakan titik akhir Amazon Bedrock [Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) |

313| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Atur ke `1` untuk menemukan perintah kustom, subagent, dan gaya keluaran menggunakan API file Node.js alih-alih ripgrep. Atur ini jika biner ripgrep bundel tidak tersedia atau diblokir di lingkungan Anda. Tidak mempengaruhi alat Grep atau pencarian file |313| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Atur ke `1` untuk menemukan perintah kustom, subagent, dan gaya keluaran menggunakan API file Node.js alih-alih ripgrep. Atur ini jika biner ripgrep bundel tidak tersedia atau diblokir di lingkungan Anda. Tidak mempengaruhi alat Grep atau pencarian file |

314| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Mengontrol alat PowerShell. Pada Windows tanpa Git Bash, alat diaktifkan secara otomatis; atur ke `0` untuk menonaktifkannya. Pada Windows dengan Git Bash diinstal, alat sedang diluncurkan secara progresif: atur ke `1` untuk memilih atau `0` untuk menolak. Pada Linux, macOS, dan WSL, atur ke `1` untuk mengaktifkannya, yang memerlukan `pwsh` di `PATH` Anda. Saat diaktifkan pada Windows, Claude dapat menjalankan perintah PowerShell secara native alih-alih merutekan melalui Git Bash. Lihat [Alat PowerShell](/id/tools-reference#powershell-tool) |314| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Mengontrol alat PowerShell. Pada Windows tanpa Git Bash, alat diaktifkan secara otomatis; atur ke `0` untuk menonaktifkannya. Pada Windows dengan Git Bash diinstal, alat sedang diluncurkan secara progresif: atur ke `1` untuk memilih atau `0` untuk menolak. Pada Linux, macOS, dan WSL, atur ke `1` untuk mengaktifkannya, yang memerlukan `pwsh` di `PATH` Anda. Saat diaktifkan pada Windows, Claude dapat menjalankan perintah PowerShell secara native alih-alih merutekan melalui Git Bash. Lihat [Alat PowerShell](/docs/id/tools-reference#powershell-tool) |

315| `CLAUDE_CODE_USE_VERTEX` | Gunakan [Google Cloud's Agent Platform](/id/google-vertex-ai) |315| `CLAUDE_CODE_USE_VERTEX` | Gunakan [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |

316| `CLAUDE_CONFIG_DIR` | Ganti direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah jalur ini, seperti kredensial pada Linux dan Windows; pada macOS, kredensial berada di Keychain sistem. Berguna untuk menjalankan beberapa akun berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |316| `CLAUDE_CONFIG_DIR` | Ganti direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah jalur ini, seperti kredensial pada Linux dan Windows; pada macOS, kredensial berada di Keychain sistem. Berguna untuk menjalankan beberapa akun berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

317| `CLAUDE_DISABLE_ADOPT` | {/* min-version: 2.1.195 */}Atur ke `1` untuk menghentikan pekerjaan latar belakang yang sedang berlangsung alih-alih membawanya saat Anda backgrounding sesi dengan menekan `←` atau dengan [`/background`](/id/agent-view#from-inside-a-session). Claude Code meminta Anda untuk mengonfirmasi sebelum backgrounding, kemudian menghentikan tugas yang akan dibawa. Memerlukan Claude Code v2.1.195 atau lebih baru |317| `CLAUDE_DISABLE_ADOPT` | Atur ke `1` untuk menghentikan pekerjaan latar belakang yang sedang berlangsung alih-alih membawanya saat Anda backgrounding sesi dengan menekan `←` atau dengan [`/background`](/docs/id/agent-view#from-inside-a-session). Claude Code meminta Anda untuk mengonfirmasi sebelum backgrounding, kemudian menghentikan tugas yang akan dibawa. Memerlukan Claude Code v2.1.195 atau lebih baru |

318| `CLAUDE_EFFORT` | Atur secara otomatis dalam subprocess alat Bash dan perintah hook ke [tingkat upaya](/id/model-config#adjust-effort-level) aktif untuk giliran: `low`, `medium`, `high`, `xhigh`, atau `max`. Ultracode bukan tingkat yang berbeda dan melaporkan sebagai `xhigh`. Cocok dengan bidang `effort.level` yang diteruskan ke [hooks](/id/hooks). Hanya diatur saat model saat ini mendukung parameter upaya |318| `CLAUDE_EFFORT` | Atur secara otomatis dalam subprocess alat Bash dan perintah hook ke [tingkat upaya](/docs/id/model-config#adjust-effort-level) aktif untuk giliran: `low`, `medium`, `high`, `xhigh`, atau `max`. Ultracode bukan tingkat yang berbeda dan melaporkan sebagai `xhigh`. Cocok dengan bidang `effort.level` yang diteruskan ke [hooks](/docs/id/hooks). Hanya diatur saat model saat ini mendukung parameter upaya |

319| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa pengaktifan byte-level streaming idle watchdog, atau atur ke `0` untuk memaksa menonaktifkannya. Saat tidak diatur, watchdog diaktifkan secara default untuk koneksi API Anthropic langsung dan [Claude Platform on AWS](/id/claude-platform-on-aws). Byte watchdog membatalkan koneksi saat tidak ada byte tiba di kawat selama 180 detik secara default pada koneksi API Anthropic langsung, 300 detik pada Claude Platform on AWS dan saat diaktifkan pada Amazon Bedrock, atau untuk nilai `CLAUDE_STREAM_IDLE_TIMEOUT_MS` saat itu diatur, yang diklem ke minimum 5 menit, terlepas dari watchdog tingkat peristiwa |319| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa pengaktifan byte-level streaming idle watchdog, atau atur ke `0` untuk memaksa menonaktifkannya. Saat tidak diatur, watchdog diaktifkan secara default untuk koneksi API Anthropic langsung dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Byte watchdog membatalkan koneksi saat tidak ada byte tiba di kawat selama 180 detik secara default pada koneksi API Anthropic langsung, 300 detik pada Claude Platform on AWS dan saat diaktifkan pada Amazon Bedrock, atau untuk nilai `CLAUDE_STREAM_IDLE_TIMEOUT_MS` saat itu diatur, yang diklem ke minimum 5 menit, terlepas dari watchdog tingkat peristiwa |

320| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan byte-level streaming idle watchdog pada respons Amazon Bedrock `vnd.amazon.eventstream`. Dimatikan secara default. Konfigurasikan waktu tunggu dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |320| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan byte-level streaming idle watchdog pada respons Amazon Bedrock `vnd.amazon.eventstream`. Dimatikan secara default. Konfigurasikan waktu tunggu dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

321| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Atur ke `0` untuk memaksa menonaktifkan event-level streaming idle watchdog, atau atur ke `1` untuk memaksa mengaktifkannya. {/* min-version: 2.1.196 */}Saat tidak diatur, watchdog aktif secara default untuk semua penyedia. Sebelum v2.1.196, default yang tidak diatur dikendalikan server pada API Anthropic langsung dan dimatikan pada penyedia lain. {/* min-version: 2.1.169 */}Sejak v2.1.169, penyedia selain API Anthropic langsung dan Claude Platform on AWS juga memiliki body idle timeout 5 menit default-on independen dari variabel ini; lihat `API_FORCE_IDLE_TIMEOUT`. Pada Amazon Bedrock, Anda juga dapat mengaktifkan byte-level watchdog independen dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; keduanya berjalan bersama saat keduanya diatur. Konfigurasikan waktu tunggu dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |321| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Atur ke `0` untuk memaksa menonaktifkan event-level streaming idle watchdog, atau atur ke `1` untuk memaksa mengaktifkannya. Saat tidak diatur, watchdog aktif secara default untuk semua penyedia. Sebelum v2.1.196, default yang tidak diatur dikendalikan server pada API Anthropic langsung dan dimatikan pada penyedia lain. Sejak v2.1.169, penyedia selain API Anthropic langsung dan Claude Platform on AWS juga memiliki body idle timeout 5 menit default-on independen dari variabel ini; lihat `API_FORCE_IDLE_TIMEOUT`. Pada Amazon Bedrock, Anda juga dapat mengaktifkan byte-level watchdog independen dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; keduanya berjalan bersama saat keduanya diatur. Konfigurasikan waktu tunggu dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

322| `CLAUDE_ENV_FILE` | Jalur ke skrip shell yang isinya Claude Code jalankan sebelum setiap perintah Bash dalam proses shell yang sama, sehingga ekspor dalam file terlihat oleh perintah. Gunakan untuk mempertahankan aktivasi virtualenv atau conda di seluruh perintah. Juga diisi secara dinamis oleh hook [SessionStart](/id/hooks#persist-environment-variables), [Setup](/id/hooks#setup), [CwdChanged](/id/hooks#cwdchanged), dan [FileChanged](/id/hooks#filechanged) |322| `CLAUDE_ENV_FILE` | Jalur ke skrip shell yang isinya Claude Code jalankan sebelum setiap perintah Bash dalam proses shell yang sama, sehingga ekspor dalam file terlihat oleh perintah. Gunakan untuk mempertahankan aktivasi virtualenv atau conda di seluruh perintah. Juga diisi secara dinamis oleh hook [SessionStart](/docs/id/hooks#persist-environment-variables), [Setup](/docs/id/hooks#setup), [CwdChanged](/docs/id/hooks#cwdchanged), dan [FileChanged](/docs/id/hooks#filechanged) |

323| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Awalan untuk nama sesi [Remote Control](/id/remote-control) yang dibuat otomatis saat tidak ada nama eksplisit yang disediakan. Default ke nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Flag CLI `--remote-control-session-name-prefix` mengatur nilai yang sama untuk satu pemanggilan |323| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Awalan untuk nama sesi [Remote Control](/docs/id/remote-control) yang dibuat otomatis saat tidak ada nama eksplisit yang disediakan. Default ke nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Flag CLI `--remote-control-session-name-prefix` mengatur nilai yang sama untuk satu pemanggilan |

324| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Waktu tunggu dalam milidetik sebelum streaming idle watchdog menutup koneksi yang macet. Saat Anda mengatur variabel ini secara eksplisit, minimum adalah `300000` (5 menit); nilai yang lebih rendah secara diam-diam diklem untuk menyerap jeda pemikiran yang diperluas dan buffering proxy. Saat tidak diatur, event-level watchdog default ke 300 detik dan byte-level watchdog default ke 180 detik pada koneksi API Anthropic langsung (300 detik pada Claude Platform on AWS dan penyedia lain). Default byte-watchdog 180 detik yang tidak diatur adalah nilai terpisah dan tidak tunduk pada klem 5 menit. Body idle timeout yang dijelaskan di bawah `API_FORCE_IDLE_TIMEOUT` berlaku secara independen. Pada Amazon Bedrock, juga berlaku saat `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |324| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Waktu tunggu dalam milidetik sebelum streaming idle watchdog menutup koneksi yang macet. Saat Anda mengatur variabel ini secara eksplisit, minimum adalah `300000` (5 menit); nilai yang lebih rendah secara diam-diam diklem untuk menyerap jeda pemikiran yang diperluas dan buffering proxy. Saat tidak diatur, event-level watchdog default ke 300 detik dan byte-level watchdog default ke 180 detik pada koneksi API Anthropic langsung (300 detik pada Claude Platform on AWS dan penyedia lain). Default byte-watchdog 180 detik yang tidak diatur adalah nilai terpisah dan tidak tunduk pada klem 5 menit. Body idle timeout yang dijelaskan di bawah `API_FORCE_IDLE_TIMEOUT` berlaku secara independen. Pada Amazon Bedrock, juga berlaku saat `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

325| `DEBUG` | Atur ke `1` untuk mengaktifkan mode debug, setara dengan meluncurkan dengan [`--debug`](/id/cli-reference#cli-flags). Log debug ditulis ke `~/.claude/debug/<session-id>.txt`, atau ke jalur yang diatur oleh `CLAUDE_CODE_DEBUG_LOGS_DIR`. Hanya nilai truthy `1`, `true`, `yes`, dan `on` yang mengaktifkan mode debug, jadi pola namespace seperti `DEBUG=express:*` yang diatur untuk alat lain tidak memicunya |325| `DEBUG` | Atur ke `1` untuk mengaktifkan mode debug, setara dengan meluncurkan dengan [`--debug`](/docs/id/cli-reference#cli-flags). Log debug ditulis ke `~/.claude/debug/<session-id>.txt`, atau ke jalur yang diatur oleh `CLAUDE_CODE_DEBUG_LOGS_DIR`. Hanya nilai truthy `1`, `true`, `yes`, dan `on` yang mengaktifkan mode debug, jadi pola namespace seperti `DEBUG=express:*` yang diatur untuk alat lain tidak memicunya |

326| `DISABLE_AUTOUPDATER` | Atur ke `1` untuk menonaktifkan pembaruan otomatis latar belakang. Manual `claude update` masih berfungsi. Gunakan `DISABLE_UPDATES` untuk memblokir keduanya |326| `DISABLE_AUTOUPDATER` | Atur ke `1` untuk menonaktifkan pembaruan otomatis latar belakang. Manual `claude update` masih berfungsi. Gunakan `DISABLE_UPDATES` untuk memblokir keduanya |

327| `DISABLE_AUTO_COMPACT` | Atur ke `1` untuk menonaktifkan pemadatan otomatis saat mendekati batas konteks. Perintah manual `/compact` tetap tersedia. Gunakan saat Anda menginginkan kontrol eksplisit atas kapan pemadatan terjadi |327| `DISABLE_AUTO_COMPACT` | Atur ke `1` untuk menonaktifkan pemadatan otomatis saat mendekati batas konteks. Perintah manual `/compact` tetap tersedia. Gunakan saat Anda menginginkan kontrol eksplisit atas kapan pemadatan terjadi |

328| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |328| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |

329| `DISABLE_COST_WARNINGS` | Atur ke `1` untuk menonaktifkan pesan peringatan biaya |329| `DISABLE_COST_WARNINGS` | Atur ke `1` untuk menonaktifkan pesan peringatan biaya |

330| `DISABLE_DOCTOR_COMMAND` | Atur ke `1` untuk menyembunyikan perintah [`/doctor`](/id/commands#all-commands) skill checkup setup dan alias `/checkup` miliknya. Berguna untuk penerapan terkelola di mana pengguna tidak boleh menjalankan diagnostik setup dari sesi. Tidak mempengaruhi perintah terminal `claude doctor`. {/* min-version: 2.1.205 */}Sebelum v2.1.205, variabel ini menyembunyikan perintah layar diagnostik `/doctor` |330| `DISABLE_DOCTOR_COMMAND` | Atur ke `1` untuk menyembunyikan perintah [`/doctor`](/docs/id/commands#all-commands) skill checkup setup dan alias `/checkup` miliknya. Berguna untuk penerapan terkelola di mana pengguna tidak boleh menjalankan diagnostik setup dari sesi. Tidak mempengaruhi perintah terminal `claude doctor`. Sebelum v2.1.205, variabel ini menyembunyikan perintah layar diagnostik `/doctor` |

331| `DISABLE_ERROR_REPORTING` | Atur ke `1` untuk menolak pelaporan kesalahan |331| `DISABLE_ERROR_REPORTING` | Atur ke `1` untuk menolak pelaporan kesalahan |

332| `DISABLE_EXTRA_USAGE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/usage-credits` yang memungkinkan pengguna membeli penggunaan tambahan di luar batas laju |332| `DISABLE_EXTRA_USAGE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/usage-credits` yang memungkinkan pengguna membeli penggunaan tambahan di luar batas laju |

333| `DISABLE_FEEDBACK_COMMAND` | Atur ke `1` untuk menonaktifkan perintah `/feedback`. Nama yang lebih lama `DISABLE_BUG_COMMAND` juga diterima |333| `DISABLE_FEEDBACK_COMMAND` | Atur ke `1` untuk menonaktifkan perintah `/feedback`. Nama yang lebih lama `DISABLE_BUG_COMMAND` juga diterima |


337| `DISABLE_INTERLEAVED_THINKING` | Atur ke `1` untuk mencegah pengiriman header beta interleaved-thinking. Berguna saat gateway LLM atau penyedia Anda tidak mendukung [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |337| `DISABLE_INTERLEAVED_THINKING` | Atur ke `1` untuk mencegah pengiriman header beta interleaved-thinking. Berguna saat gateway LLM atau penyedia Anda tidak mendukung [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

338| `DISABLE_LOGIN_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/login`. Berguna saat autentikasi ditangani secara eksternal melalui kunci API atau `apiKeyHelper` |338| `DISABLE_LOGIN_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/login`. Berguna saat autentikasi ditangani secara eksternal melalui kunci API atau `apiKeyHelper` |

339| `DISABLE_LOGOUT_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/logout` |339| `DISABLE_LOGOUT_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/logout` |

340| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan [prompt caching](/id/prompt-caching#disable-prompt-caching) untuk semua model (mengambil alih pengaturan per-model) |340| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan [prompt caching](/docs/id/prompt-caching#disable-prompt-caching) untuk semua model (mengambil alih pengaturan per-model) |

341| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Fable |341| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Fable |

342| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Haiku |342| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Haiku |

343| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Opus |343| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching untuk model Opus |


346| `DISABLE_UPDATES` | Atur ke `1` untuk memblokir semua pembaruan termasuk manual `claude update` dan `claude install`. Lebih ketat daripada `DISABLE_AUTOUPDATER`. Gunakan saat mendistribusikan Claude Code melalui saluran Anda sendiri dan pengguna tidak boleh memperbarui diri |346| `DISABLE_UPDATES` | Atur ke `1` untuk memblokir semua pembaruan termasuk manual `claude update` dan `claude install`. Lebih ketat daripada `DISABLE_AUTOUPDATER`. Gunakan saat mendistribusikan Claude Code melalui saluran Anda sendiri dan pengguna tidak boleh memperbarui diri |

347| `DISABLE_UPGRADE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/upgrade` |347| `DISABLE_UPGRADE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/upgrade` |

348| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri. Setara dengan pengaturan `DISABLE_TELEMETRY`. Claude Code menghormati ini sebagai konvensi lintas alat standar yang diakui oleh banyak CLI pengembang |348| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri. Setara dengan pengaturan `DISABLE_TELEMETRY`. Claude Code menghormati ini sebagai konvensi lintas alat standar yang diakui oleh banyak CLI pengembang |

349| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk. Untuk menonaktifkan per-proyek atau per-organisasi, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) dalam pengaturan sebagai gantinya |349| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk. Untuk menonaktifkan per-proyek atau per-organisasi, atur [`disableClaudeAiConnectors`](/docs/id/settings#available-settings) dalam pengaturan sebagai gantinya |

350| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |350| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |

351| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |351| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |

352| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Google Cloud's Agent Platform atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Google Cloud's Agent Platform lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka). Diabaikan saat `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` diatur, yang memaksa semua alat dimuat di muka |352| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Google Cloud's Agent Platform atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Google Cloud's Agent Platform lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka). Diabaikan saat `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` diatur, yang memaksa semua alat dimuat di muka |

353| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk membuat semua model, bukan hanya Opus, berhenti mencoba ulang dengan kesalahan overload berulang saat tidak ada fallback model yang dikonfigurasi. {/* min-version: 2.1.160 */}Sejak v2.1.160, [rantai model fallback](/id/model-config#fallback-model-chains) yang dikonfigurasi dipicu pada kesalahan overload berulang untuk model primer apa pun, jadi variabel ini tidak mempengaruhi beralih ke model fallback |353| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk membuat semua model, bukan hanya Opus, berhenti mencoba ulang dengan kesalahan overload berulang saat tidak ada fallback model yang dikonfigurasi. Sejak v2.1.160, [rantai model fallback](/docs/id/model-config#fallback-model-chains) yang dikonfigurasi dipicu pada kesalahan overload berulang untuk model primer apa pun, jadi variabel ini tidak mempengaruhi beralih ke model fallback |

354| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |354| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |

355| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya |355| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya |

356| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |356| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |

357| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |357| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |

358| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |358| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |

359| `IS_DEMO` | Atur ke `1` untuk mengaktifkan mode demo: menyembunyikan email dan nama organisasi dari header dan keluaran `/status`, dan melewati onboarding. Berguna saat streaming atau merekam sesi |359| `IS_DEMO` | Atur ke `1` untuk mengaktifkan mode demo: menyembunyikan email dan nama organisasi dari header dan keluaran `/status`, dan melewati onboarding. Berguna saat streaming atau merekam sesi |

360| `MAX_MCP_OUTPUT_TOKENS` | Jumlah maksimal token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan saat keluaran melebihi 10.000 token. Alat yang mendeklarasikan [`anthropic/maxResultSizeChars`](/id/mcp#raise-the-limit-for-a-specific-tool) menggunakan batas karakter itu untuk konten teks sebagai gantinya, tetapi konten gambar dari alat tersebut masih tunduk pada variabel ini (default: 25000) |360| `MAX_MCP_OUTPUT_TOKENS` | Jumlah maksimal token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan saat keluaran melebihi 10.000 token. Alat yang mendeklarasikan [`anthropic/maxResultSizeChars`](/docs/id/mcp#raise-the-limit-for-a-specific-tool) menggunakan batas karakter itu untuk konten teks sebagai gantinya, tetapi konten gambar dari alat tersebut masih tunduk pada variabel ini (default: 25000) |

361| `MAX_STRUCTURED_OUTPUT_RETRIES` | Jumlah kali untuk mencoba ulang saat respons model gagal validasi terhadap [`--json-schema`](/id/cli-reference#cli-flags) dalam mode non-interaktif (flag `-p`). Default ke 5 |361| `MAX_STRUCTURED_OUTPUT_RETRIES` | Jumlah kali untuk mencoba ulang saat respons model gagal validasi terhadap [`--json-schema`](/docs/id/cli-reference#cli-flags) dalam mode non-interaktif (flag `-p`). Default ke 5 |

362| `MAX_THINKING_TOKENS` | Ganti anggaran token [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Batas maksimal adalah [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) model dikurangi satu. Atur ke `0` untuk menonaktifkan pemikiran pada API Anthropic kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations), `0` demikian pula menghilangkan parameter, dan model dengan [penalaran adaptif](/id/model-config#adjust-effort-level) mungkin masih berpikir. Untuk nilai nonzero pada model penalaran adaptif, anggaran diabaikan kecuali penalaran adaptif dinonaktifkan melalui `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |362| `MAX_THINKING_TOKENS` | Ganti anggaran token [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Batas maksimal adalah [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) model dikurangi satu. Atur ke `0` untuk menonaktifkan pemikiran pada API Anthropic kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), `0` demikian pula menghilangkan parameter, dan model dengan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) mungkin masih berpikir. Untuk nilai nonzero pada model penalaran adaptif, anggaran diabaikan kecuali penalaran adaptif dinonaktifkan melalui `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |

363| `MCP_CLIENT_SECRET` | Rahasia klien OAuth untuk server MCP yang memerlukan [kredensial yang dikonfigurasi sebelumnya](/id/mcp#use-pre-configured-oauth-credentials). Menghindari prompt interaktif saat menambahkan server dengan `--client-secret` |363| `MCP_CLIENT_SECRET` | Rahasia klien OAuth untuk server MCP yang memerlukan [kredensial yang dikonfigurasi sebelumnya](/docs/id/mcp#use-pre-configured-oauth-credentials). Menghindari prompt interaktif saat menambahkan server dengan `--client-secret` |

364| `MCP_CONNECTION_NONBLOCKING` | Mengontrol apakah startup menunggu server MCP terhubung sebelum kueri pertama. {/* min-version: 2.1.142 */}Sejak Claude Code v2.1.142, startup MCP non-blocking secara default: server terhubung di latar belakang dan alat mereka menjadi tersedia saat mereka selesai. Atur ke `0` untuk mengembalikan penantian koneksi 5 detik yang memblokir. Server yang dikonfigurasi dengan [`alwaysLoad: true`](/id/mcp#exempt-a-server-from-deferral) masih memblokir startup terlepas dari ini, karena alat mereka harus ada saat prompt pertama dibangun |364| `MCP_CONNECTION_NONBLOCKING` | Mengontrol apakah startup menunggu server MCP terhubung sebelum kueri pertama. Sejak Claude Code v2.1.142, startup MCP non-blocking secara default: server terhubung di latar belakang dan alat mereka menjadi tersedia saat mereka selesai. Atur ke `0` untuk mengembalikan penantian koneksi 5 detik yang memblokir. Server yang dikonfigurasi dengan [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral) masih memblokir startup terlepas dari ini, karena alat mereka harus ada saat prompt pertama dibangun |

365| `MCP_CONNECT_TIMEOUT_MS` | Berapa lama startup yang memblokir menunggu, dalam milidetik, untuk batch koneksi sebelum mengambil snapshot daftar alat (default: 5000). Berlaku saat `MCP_CONNECTION_NONBLOCKING=0` atau untuk server yang ditandai [`alwaysLoad: true`](/id/mcp#exempt-a-server-from-deferral). Server yang masih tertunda pada batas waktu terus terhubung di latar belakang tetapi tidak akan muncul sampai kueri berikutnya. Berbeda dari `MCP_TIMEOUT`, yang membatasi upaya koneksi server individual |365| `MCP_CONNECT_TIMEOUT_MS` | Berapa lama startup yang memblokir menunggu, dalam milidetik, untuk batch koneksi sebelum mengambil snapshot daftar alat (default: 5000). Berlaku saat `MCP_CONNECTION_NONBLOCKING=0` atau untuk server yang ditandai [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral). Server yang masih tertunda pada batas waktu terus terhubung di latar belakang tetapi tidak akan muncul sampai kueri berikutnya. Berbeda dari `MCP_TIMEOUT`, yang membatasi upaya koneksi server individual |

366| `MCP_OAUTH_CALLBACK_PORT` | Port tetap untuk callback pengalihan OAuth, sebagai alternatif untuk `--callback-port` saat menambahkan server MCP dengan [kredensial yang dikonfigurasi sebelumnya](/id/mcp#use-pre-configured-oauth-credentials) |366| `MCP_OAUTH_CALLBACK_PORT` | Port tetap untuk callback pengalihan OAuth, sebagai alternatif untuk `--callback-port` saat menambahkan server MCP dengan [kredensial yang dikonfigurasi sebelumnya](/docs/id/mcp#use-pre-configured-oauth-credentials) |

367| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP jarak jauh (HTTP/SSE) untuk terhubung secara paralel selama startup (default: 20) |367| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP jarak jauh (HTTP/SSE) untuk terhubung secara paralel selama startup (default: 20) |

368| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP lokal (stdio) untuk terhubung secara paralel selama startup (default: 3) |368| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP lokal (stdio) untuk terhubung secara paralel selama startup (default: 3) |

369| `MCP_TIMEOUT` | Waktu tunggu dalam milidetik untuk startup server MCP (default: 30000, atau 30 detik) |369| `MCP_TIMEOUT` | Waktu tunggu dalam milidetik untuk startup server MCP (default: 30000, atau 30 detik) |

370| `MCP_TOOL_TIMEOUT` | Waktu tunggu dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Untuk server HTTP, SSE, atau konektor claude.ai, setiap permintaan juga habis waktu setelah 60 detik secara default; atur variabel ini, atau `timeout` per-server, di atas 60000 untuk menaikkan batas per-permintaan itu. Nilai yang lebih rendah masih mempersingkat waktu tunggu eksekusi alat keseluruhan tetapi meninggalkan batas per-permintaan pada 60 detik. Server stdio dan WebSocket tidak memiliki timer per-permintaan. Bidang `timeout` per-server di `.mcp.json` mengganti ini untuk server itu. {{/* min-version: 2.1.203 */}}Bidang `timeout` per-server setidaknya 1000 juga mengatur jendela idle minimum untuk panggilan alat server itu, sehingga `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah membatalkan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 dibulatkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |370| `MCP_TOOL_TIMEOUT` | Waktu tunggu dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Untuk server HTTP, SSE, atau konektor claude.ai, setiap permintaan juga habis waktu setelah 60 detik secara default; atur variabel ini, atau `timeout` per-server, di atas 60000 untuk menaikkan batas per-permintaan itu. Nilai yang lebih rendah masih mempersingkat waktu tunggu eksekusi alat keseluruhan tetapi meninggalkan batas per-permintaan pada 60 detik. Server stdio dan WebSocket tidak memiliki timer per-permintaan. Bidang `timeout` per-server di `.mcp.json` mengganti ini untuk server itu. {{/* min-version: 2.1.203 */}}Bidang `timeout` per-server setidaknya 1000 juga mengatur jendela idle minimum untuk panggilan alat server itu, sehingga `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah membatalkan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 dibulatkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |

371| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |371| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |

372| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menyertakan teks respons model pada peristiwa log OpenTelemetry `assistant_response`. Saat tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan saat `OTEL_LOG_USER_PROMPTS` diatur. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/id/monitoring-usage#assistant-response-event) |372| `OTEL_LOG_ASSISTANT_RESPONSES` | Atur ke `1` untuk menyertakan teks respons model pada peristiwa log OpenTelemetry `assistant_response`. Saat tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan saat `OTEL_LOG_USER_PROMPTS` diatur. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#assistant-response-event) |

373| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/id/monitoring-usage#api-request-body-event) |373| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/docs/id/monitoring-usage#api-request-body-event) |

374| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten input dan output alat dalam peristiwa span OpenTelemetry. Dinonaktifkan secara default untuk melindungi data sensitif. Lihat [Monitoring](/id/monitoring-usage) |374| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten input dan output alat dalam peristiwa span OpenTelemetry. Dinonaktifkan secara default untuk melindungi data sensitif. Lihat [Monitoring](/docs/id/monitoring-usage) |

375| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, nama workflow yang ditulis pengguna, string kesalahan mentah pada kegagalan alat, kategori penolakan pada peristiwa `api_refusal`, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Lihat [Monitoring](/id/monitoring-usage) |375| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, nama workflow yang ditulis pengguna, string kesalahan mentah pada kegagalan alat, kategori penolakan pada peristiwa `api_refusal`, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Lihat [Monitoring](/docs/id/monitoring-usage) |

376| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Lihat [Monitoring](/id/monitoring-usage) |376| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Lihat [Monitoring](/docs/id/monitoring-usage) |

377| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/id/monitoring-usage) |377| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/docs/id/monitoring-usage) |

378| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/id/monitoring-usage) |378| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/docs/id/monitoring-usage) |

379| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | {/* min-version: 2.1.161 */}Sejak v2.1.161, Claude Code melampirkan kunci `OTEL_RESOURCE_ATTRIBUTES` ke label datapoint metrik. Atur ke `false` untuk mengecualikannya (default: disertakan). Lihat [Monitoring](/id/monitoring-usage#multi-team-organization-support) |379| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Sejak v2.1.161, Claude Code melampirkan kunci `OTEL_RESOURCE_ATTRIBUTES` ke label datapoint metrik. Atur ke `false` untuk mengecualikannya (default: disertakan). Lihat [Monitoring](/docs/id/monitoring-usage#multi-team-organization-support) |

380| `OTEL_METRICS_INCLUDE_SESSION_ID` | Atur ke `false` untuk mengecualikan ID sesi dari atribut metrik (default: disertakan). Lihat [Monitoring](/id/monitoring-usage) |380| `OTEL_METRICS_INCLUDE_SESSION_ID` | Atur ke `false` untuk mengecualikan ID sesi dari atribut metrik (default: disertakan). Lihat [Monitoring](/docs/id/monitoring-usage) |

381| `OTEL_METRICS_INCLUDE_VERSION` | Atur ke `true` untuk menyertakan versi Claude Code dalam atribut metrik (default: dikecualikan). Lihat [Monitoring](/id/monitoring-usage) |381| `OTEL_METRICS_INCLUDE_VERSION` | Atur ke `true` untuk menyertakan versi Claude Code dalam atribut metrik (default: dikecualikan). Lihat [Monitoring](/docs/id/monitoring-usage) |

382| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Ganti anggaran karakter untuk metadata skill yang ditampilkan ke [alat Skill](/id/skills#control-who-invokes-a-skill). Anggaran diskalakan secara dinamis pada 1% dari jendela konteks, dengan fallback 8.000 karakter. Nama warisan disimpan untuk kompatibilitas mundur |382| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Ganti anggaran karakter untuk metadata skill yang ditampilkan ke [alat Skill](/docs/id/skills#control-who-invokes-a-skill). Anggaran diskalakan secara dinamis pada 1% dari jendela konteks, dengan fallback 8.000 karakter. Nama warisan disimpan untuk kompatibilitas mundur |

383| `TASK_MAX_OUTPUT_LENGTH` | Jumlah maksimal karakter dalam keluaran [subagent](/id/sub-agents) sebelum pemotongan (default: 32000, maksimum: 160000). Saat dipotong, keluaran lengkap disimpan ke disk dan jalur disertakan dalam respons yang dipotong |383| `TASK_MAX_OUTPUT_LENGTH` | Jumlah maksimal karakter dalam keluaran [subagent](/docs/id/sub-agents) sebelum pemotongan (default: 32000, maksimum: 160000). Saat dipotong, keluaran lengkap disimpan ke disk dan jalur disertakan dalam respons yang dipotong |

384| `USE_BUILTIN_RIPGREP` | Atur ke `0` untuk menggunakan `rg` yang diinstal sistem alih-alih `rg` yang disertakan dengan Claude Code |384| `USE_BUILTIN_RIPGREP` | Atur ke `0` untuk menggunakan `rg` yang diinstal sistem alih-alih `rg` yang disertakan dengan Claude Code |

385| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Ganti wilayah untuk Claude 3.5 Haiku saat menggunakan Google Cloud's Agent Platform |385| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Ganti wilayah untuk Claude 3.5 Haiku saat menggunakan Google Cloud's Agent Platform |

386| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Ganti wilayah untuk Claude 3.5 Sonnet saat menggunakan Google Cloud's Agent Platform |386| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Ganti wilayah untuk Claude 3.5 Sonnet saat menggunakan Google Cloud's Agent Platform |


392| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Ganti wilayah untuk Claude Sonnet 4.5 saat menggunakan Google Cloud's Agent Platform |392| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Ganti wilayah untuk Claude Sonnet 4.5 saat menggunakan Google Cloud's Agent Platform |

393| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Ganti wilayah untuk Claude Opus 4.6 saat menggunakan Google Cloud's Agent Platform |393| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Ganti wilayah untuk Claude Opus 4.6 saat menggunakan Google Cloud's Agent Platform |

394| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Ganti wilayah untuk Claude Sonnet 4.6 saat menggunakan Google Cloud's Agent Platform |394| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Ganti wilayah untuk Claude Sonnet 4.6 saat menggunakan Google Cloud's Agent Platform |

395| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Ganti wilayah untuk Claude Opus 4.7 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.111 |395| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Ganti wilayah untuk Claude Opus 4.7 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.111 |

396| `VERTEX_REGION_CLAUDE_4_8_OPUS` | {/* min-version: 2.1.154 */}Ganti wilayah untuk Claude Opus 4.8 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.154 |396| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Ganti wilayah untuk Claude Opus 4.8 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.154 |

397| `VERTEX_REGION_CLAUDE_5_SONNET` | {/* min-version: 2.1.197 */}Ganti wilayah untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |397| `VERTEX_REGION_CLAUDE_5_SONNET` | Ganti wilayah untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |

398| `VERTEX_REGION_CLAUDE_FABLE_5` | {/* min-version: 2.1.170 */}Ganti wilayah untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |398| `VERTEX_REGION_CLAUDE_FABLE_5` | Ganti wilayah untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |

399| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Ganti wilayah untuk Claude Haiku 4.5 saat menggunakan Google Cloud's Agent Platform |399| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Ganti wilayah untuk Claude Haiku 4.5 saat menggunakan Google Cloud's Agent Platform |

400 400 

401Variabel pengekspor OpenTelemetry standar (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, dan varian spesifik sinyal) juga didukung. Lihat [Monitoring](/id/monitoring-usage) untuk detail konfigurasi.401Variabel pengekspor OpenTelemetry standar (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, dan varian spesifik sinyal) juga didukung. Lihat [Monitoring](/docs/id/monitoring-usage) untuk detail konfigurasi.

402 402 

403<h2 id="see-also">403<h2 id="see-also">

404 Lihat juga404 Lihat juga

405</h2>405</h2>

406 406 

407* [Pengaturan](/id/settings): semua konfigurasi `settings.json`, termasuk kunci `env`407* [Pengaturan](/docs/id/settings): semua konfigurasi `settings.json`, termasuk kunci `env`

408* [Referensi CLI](/id/cli-reference): flag waktu peluncuran408* [Referensi CLI](/docs/id/cli-reference): flag waktu peluncuran

409* [Konfigurasi jaringan](/id/network-config): pengaturan proxy dan TLS409* [Konfigurasi jaringan](/docs/id/network-config): pengaturan proxy dan TLS

410* [Monitoring](/id/monitoring-usage): konfigurasi OpenTelemetry410* [Monitoring](/docs/id/monitoring-usage): konfigurasi OpenTelemetry

errors.md +148 −148

Details

6 6 

7> Cari pesan kesalahan runtime Claude Code dengan penjelasan arti dan cara memperbaikinya.7> Cari pesan kesalahan runtime Claude Code dengan penjelasan arti dan cara memperbaikinya.

8 8 

9Halaman ini mencantumkan kesalahan runtime yang ditampilkan Claude Code dan cara memulihkan dari masing-masing, ditambah apa yang harus diperiksa ketika respons tampak tidak normal tanpa kesalahan. Untuk kesalahan instalasi seperti `command not found` atau kegagalan TLS selama penyiapan, lihat [Troubleshoot installation and login](/id/troubleshoot-install).9Halaman ini mencantumkan kesalahan runtime yang ditampilkan Claude Code dan cara memulihkan dari masing-masing, ditambah apa yang harus diperiksa ketika respons tampak tidak normal tanpa kesalahan. Untuk kesalahan instalasi seperti `command not found` atau kegagalan TLS selama penyiapan, lihat [Troubleshoot installation and login](/docs/id/troubleshoot-install).

10 10 

11Kesalahan dan perintah pemulihan ini berlaku di seluruh CLI, [aplikasi Desktop](/id/desktop), dan [Claude Code di web](/id/claude-code-on-the-web), karena ketiganya membungkus CLI Claude Code yang sama. Untuk masalah khusus permukaan, lihat bagian troubleshooting di halaman permukaan tersebut.11Kesalahan dan perintah pemulihan ini berlaku di seluruh CLI, [aplikasi Desktop](/docs/id/desktop), dan [Claude Code di web](/docs/id/claude-code-on-the-web), karena ketiganya membungkus CLI Claude Code yang sama. Untuk masalah khusus permukaan, lihat bagian troubleshooting di halaman permukaan tersebut.

12 12 

13<Note>13<Note>

14 Claude Code memanggil Claude API untuk respons model, jadi sebagian besar kesalahan runtime memetakan ke kode kesalahan API yang mendasar. Halaman ini mencakup apa arti setiap kesalahan di dalam Claude Code dan cara memulihkan. Untuk definisi kode status HTTP mentah, lihat [referensi kesalahan Platform Claude](https://platform.claude.com/docs/en/api/errors).14 Claude Code memanggil Claude API untuk respons model, jadi sebagian besar kesalahan runtime memetakan ke kode kesalahan API yang mendasar. Halaman ini mencakup apa arti setiap kesalahan di dalam Claude Code dan cara memulihkan. Untuk definisi kode status HTTP mentah, lihat [referensi kesalahan Platform Claude](https://platform.claude.com/docs/en/api/errors).


97 Percobaan ulang otomatis97 Percobaan ulang otomatis

98</h2>98</h2>

99 99 

100Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, ini mencakup koneksi yang terputus di tengah respons sebelum output yang terlihat telah dialirkan: Claude Code mengeluarkan kembali permintaan dengan backoff yang sama dan giliran berlanjut daripada berhenti dengan kesalahan koneksi. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, throttle 429 sementara yang tidak membawa header kuota paket Anda juga dicoba ulang ketika Anda masuk dengan langganan claude.ai; versi sebelumnya hanya mencoba ulang untuk autentikasi kunci API dan Enterprise.100Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. Mulai dari v2.1.198, ini mencakup koneksi yang terputus di tengah respons sebelum output yang terlihat telah dialirkan: Claude Code mengeluarkan kembali permintaan dengan backoff yang sama dan giliran berlanjut daripada berhenti dengan kesalahan koneksi. Mulai dari v2.1.199, throttle 429 sementara yang tidak membawa header kuota paket Anda juga dicoba ulang ketika Anda masuk dengan langganan claude.ai; versi sebelumnya hanya mencoba ulang untuk autentikasi kunci API dan Enterprise.

101 101 

102Beberapa kelas kegagalan tidak dicoba ulang, karena percobaan ulang tidak dapat berhasil:102Beberapa kelas kegagalan tidak dicoba ulang, karena percobaan ulang tidak dapat berhasil:

103 103 

104* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kegagalan validasi sertifikat TLS, seperti proxy yang menginspeksi TLS, bundel `NODE_EXTRA_CA_CERTS` yang hilang, atau sertifikat yang kedaluwarsa, gagal pada percobaan pertama sehingga perbaikan muncul segera daripada setelah anggaran percobaan ulang penuh. Lihat [Kesalahan sertifikat SSL](#ssl-certificate-errors). Kondisi TLS transien seperti timeout handshake masih mencoba ulang.104* Mulai dari v2.1.199, kegagalan validasi sertifikat TLS, seperti proxy yang menginspeksi TLS, bundel `NODE_EXTRA_CA_CERTS` yang hilang, atau sertifikat yang kedaluwarsa, gagal pada percobaan pertama sehingga perbaikan muncul segera daripada setelah anggaran percobaan ulang penuh. Lihat [Kesalahan sertifikat SSL](#ssl-certificate-errors). Kondisi TLS transien seperti timeout handshake masih mencoba ulang.

105* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kesalahan server yang tiba setelah Claude telah dialirkan output yang terlihat menjaga respons parsial dan menambahkan [pemberitahuan respons tidak lengkap](#the-response-above-may-be-incomplete) daripada mencoba ulang, karena menjalankan kembali permintaan dapat menjalankan alat yang sama dua kali. Versi sebelumnya membuang output parsial dan melaporkan giliran sebagai kesalahan.105* Mulai dari v2.1.199, kesalahan server yang tiba setelah Claude telah dialirkan output yang terlihat menjaga respons parsial dan menambahkan [pemberitahuan respons tidak lengkap](#the-response-above-may-be-incomplete) daripada mencoba ulang, karena menjalankan kembali permintaan dapat menjalankan alat yang sama dua kali. Versi sebelumnya membuang output parsial dan melaporkan giliran sebagai kesalahan.

106* {/* min-version: 2.1.208 */}Respons streaming [Amazon Bedrock dengan tipe konten yang tidak terduga](#bedrock-streaming-response-has-an-unexpected-content-type) gagal pada percobaan pertama, karena gateway atau proxy yang menulis ulang respons akan menulis ulang percobaan ulang dengan cara yang sama. Memerlukan Claude Code v2.1.208 atau lebih baru.106* Respons streaming [Amazon Bedrock dengan tipe konten yang tidak terduga](#bedrock-streaming-response-has-an-unexpected-content-type) gagal pada percobaan pertama, karena gateway atau proxy yang menulis ulang respons akan menulis ulang percobaan ulang dengan cara yang sama. Memerlukan Claude Code v2.1.208 atau lebih baru.

107 107 

108Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y` setelah label kesalahan. Label menyebutkan alasan spesifik dari percobaan pertama untuk kegagalan yang dapat Anda tindaklanjuti segera: jaringan tidak aktif, handshake TLS gagal, atau Anda mencapai batas laju. Untuk kesalahan lainnya, itu berbunyi `API error` pada awalnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, itu beralih ke alasan spesifik dari percobaan ketiga, atau pada percobaan terakhir ketika `CLAUDE_CODE_MAX_RETRIES` memungkinkan lebih sedikit dari tiga; versi sebelumnya hanya beralih pada percobaan terakhir.108Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y` setelah label kesalahan. Label menyebutkan alasan spesifik dari percobaan pertama untuk kegagalan yang dapat Anda tindaklanjuti segera: jaringan tidak aktif, handshake TLS gagal, atau Anda mencapai batas laju. Untuk kesalahan lainnya, itu berbunyi `API error` pada awalnya. Mulai dari v2.1.198, itu beralih ke alasan spesifik dari percobaan ketiga, atau pada percobaan terakhir ketika `CLAUDE_CODE_MAX_RETRIES` memungkinkan lebih sedikit dari tiga; versi sebelumnya hanya beralih pada percobaan terakhir.

109 109 

110{/* min-version: 2.1.198 */}Mulai dari v2.1.198, tip spinner biasa ditekan selama percobaan ulang. Setelah alasan kesalahan terungkap, jika kegagalan adalah kelebihan beban 529, baris di bawah hitungan mundur juga menyebutkan di mana memeriksa status layanan: `status.claude.com` di API Anthropic, atau host penyedia atau gateway yang disebutkan dalam pesan pada konfigurasi lain.110Mulai dari v2.1.198, tip spinner biasa ditekan selama percobaan ulang. Setelah alasan kesalahan terungkap, jika kegagalan adalah kelebihan beban 529, baris di bawah hitungan mundur juga menyebutkan di mana memeriksa status layanan: `status.claude.com` di API Anthropic, atau host penyedia atau gateway yang disebutkan dalam pesan pada konfigurasi lain.

111 111 

112{/* min-version: 2.1.185 */}Jika tidak ada data yang tiba di aliran respons selama 20 detik sementara permintaan masih tertunda, spinner menampilkan `Waiting for API response · will retry in … · check your network` sebelum percobaan ulang apa pun dimulai. Permintaan belum gagal: hitungan mundur berjalan ke titik di mana Claude Code membatalkan koneksi yang macet dan mencoba ulang, sehingga banner hilang dengan sendirinya setelah data dilanjutkan atau percobaan ulang berhasil. Mulai dari v2.1.185 ambang batasnya adalah 20 detik; versi sebelumnya menampilkan banner setelah 10 detik dengan wording yang berbeda. Jika muncul kembali pada setiap percobaan, perlakukan sebagai [masalah jaringan](#unable-to-connect-to-api).112Jika tidak ada data yang tiba di aliran respons selama 20 detik sementara permintaan masih tertunda, spinner menampilkan `Waiting for API response · will retry in … · check your network` sebelum percobaan ulang apa pun dimulai. Permintaan belum gagal: hitungan mundur berjalan ke titik di mana Claude Code membatalkan koneksi yang macet dan mencoba ulang, sehingga banner hilang dengan sendirinya setelah data dilanjutkan atau percobaan ulang berhasil. Mulai dari v2.1.185 ambang batasnya adalah 20 detik; versi sebelumnya menampilkan banner setelah 10 detik dengan wording yang berbeda. Jika muncul kembali pada setiap percobaan, perlakukan sebagai [masalah jaringan](#unable-to-connect-to-api).

113 113 

114Ketika Anda melihat salah satu kesalahan di halaman ini, percobaan ulang tersebut telah habis, kecuali jika itu termasuk kelas yang tidak dicoba ulang, seperti kegagalan validasi sertifikat. Anda dapat menyesuaikan perilaku dengan variabel lingkungan ini:114Ketika Anda melihat salah satu kesalahan di halaman ini, percobaan ulang tersebut telah habis, kecuali jika itu termasuk kelas yang tidak dicoba ulang, seperti kegagalan validasi sertifikat. Anda dapat menyesuaikan perilaku dengan variabel lingkungan ini:

115 115 

116| Variabel | Default | Efek |116| Variabel | Default | Efek |

117| :------------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |117| :------------------------------------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

118| [`CLAUDE_CODE_MAX_RETRIES`](/id/env-vars) | 10 | Jumlah percobaan ulang. {/* min-version: 2.1.186 */}Dibatasi pada 15 mulai dari v2.1.186; {/* min-version: 2.1.199 */}mulai dari v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Turunkan untuk menampilkan kegagalan lebih cepat dalam skrip. |118| [`CLAUDE_CODE_MAX_RETRIES`](/docs/id/env-vars) | 10 | Jumlah percobaan ulang. Dibatasi pada 15 mulai dari v2.1.186; mulai dari v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Turunkan untuk menampilkan kegagalan lebih cepat dalam skrip. |

119| [`CLAUDE_CODE_RETRY_WATCHDOG`](/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti pekerjaan CI untuk mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas daripada gagal setelah percobaan `CLAUDE_CODE_MAX_RETRIES`. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, itu juga menaikkan jumlah percobaan ulang default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang terputus, menjadi 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. |119| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti pekerjaan CI untuk mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas daripada gagal setelah percobaan `CLAUDE_CODE_MAX_RETRIES`. Mulai dari v2.1.199, itu juga menaikkan jumlah percobaan ulang default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang terputus, menjadi 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. |

120| [`API_TIMEOUT_MS`](/id/env-vars) | 600000 | Waktu tunggu per permintaan dalam milidetik. Naikkan untuk jaringan lambat atau proxy. |120| [`API_TIMEOUT_MS`](/docs/id/env-vars) | 600000 | Waktu tunggu per permintaan dalam milidetik. Naikkan untuk jaringan lambat atau proxy. |

121 121 

122<h2 id="server-errors">122<h2 id="server-errors">

123 Kesalahan server123 Kesalahan server


196API Error: Response stalled mid-stream. The response above may be incomplete.196API Error: Response stalled mid-stream. The response above may be incomplete.

197```197```

198 198 

199* {/* min-version: 2.1.199 */}`Server error mid-response`: kesalahan server overloaded atau 5xx mid-stream. Varian ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya kasus itu membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan.199* `Server error mid-response`: kesalahan server overloaded atau 5xx mid-stream. Varian ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya kasus itu membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan.

200* `Connection closed mid-response`: koneksi terputus.200* `Connection closed mid-response`: koneksi terputus.

201* `Response stalled mid-stream`: aliran berhenti mengirim data.201* `Response stalled mid-stream`: aliran berhenti mengirim data.

202 202 


210 Auto mode cannot determine the safety of an action210 Auto mode cannot determine the safety of an action

211</h3>211</h3>

212 212 

213Model yang digunakan [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) untuk mengklasifikasikan tindakan tidak dapat menghasilkan keputusan, jadi auto mode tidak menyetujui tindakan secara otomatis. Pesan yang Anda lihat tergantung pada alasan pengklasifikasi gagal.213Model yang digunakan [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk mengklasifikasikan tindakan tidak dapat menghasilkan keputusan, jadi auto mode tidak menyetujui tindakan secara otomatis. Pesan yang Anda lihat tergantung pada alasan pengklasifikasi gagal.

214 214 

215Pembacaan, pencarian, dan pengeditan di dalam direktori kerja Anda melewati pengklasifikasi, jadi mereka terus bekerja dalam semua kasus ini.215Pembacaan, pencarian, dan pengeditan di dalam direktori kerja Anda melewati pengklasifikasi, jadi mereka terus bekerja dalam semua kasus ini.

216 216 


224 224 

225* Coba ulang setelah beberapa detik; Claude melihat pesan yang sama dan biasanya mencoba ulang sendiri225* Coba ulang setelah beberapa detik; Claude melihat pesan yang sama dan biasanya mencoba ulang sendiri

226* Jika percobaan ulang terus gagal, lanjutkan dengan tugas baca-saja dan kembali ke tindakan yang diblokir nanti226* Jika percobaan ulang terus gagal, lanjutkan dengan tugas baca-saja dan kembali ke tindakan yang diblokir nanti

227* Ini bersifat sementara dan tidak terkait dengan [auto mode eligibility](/id/permission-modes#eliminate-prompts-with-auto-mode); Anda tidak perlu mengubah pengaturan227* Ini bersifat sementara dan tidak terkait dengan [auto mode eligibility](/docs/id/permission-modes#eliminate-prompts-with-auto-mode); Anda tidak perlu mengubah pengaturan

228 228 

229Ketika pengklasifikasi mengembalikan respons yang tidak dapat diuraikan:229Ketika pengklasifikasi mengembalikan respons yang tidak dapat diuraikan:

230 230 


247 247 

248* Ini bukan keputusan tentang tindakan Anda. Konten yang sudah ada dalam percakapan Anda memicu filter keamanan pada API ketika auto mode mengirim percakapan ke pengklasifikasi248* Ini bukan keputusan tentang tindakan Anda. Konten yang sudah ada dalam percakapan Anda memicu filter keamanan pada API ketika auto mode mengirim percakapan ke pengklasifikasi

249* Mencoba ulang tidak akan membantu; konten percakapan yang sama akan memicu filter lagi249* Mencoba ulang tidak akan membantu; konten percakapan yang sama akan memicu filter lagi

250* Beralih ke [permission mode](/id/permission-modes) yang berbeda sehingga Anda dapat menyetujui tindakan ketika diminta, atau mulai percakapan baru tanpa konten pemicu250* Beralih ke [permission mode](/docs/id/permission-modes) yang berbeda sehingga Anda dapat menyetujui tindakan ketika diminta, atau mulai percakapan baru tanpa konten pemicu

251 251 

252Ketika percakapan telah tumbuh lebih besar dari jendela konteks pengklasifikasi:252Ketika percakapan telah tumbuh lebih besar dari jendela konteks pengklasifikasi:

253 253 


255Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)255Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)

256```256```

257 257 

258Dalam sesi interaktif, auto mode kembali ke prompt izin normal untuk tindakan itu sehingga Anda dapat menyetujui atau menolaknya secara manual. Dalam [non-interactive mode](/id/headless) jalankan dibatalkan karena transkrip hanya tumbuh dan mencoba ulang tidak dapat berhasil.258Dalam sesi interaktif, auto mode kembali ke prompt izin normal untuk tindakan itu sehingga Anda dapat menyetujui atau menolaknya secara manual. Dalam [non-interactive mode](/docs/id/headless) jalankan dibatalkan karena transkrip hanya tumbuh dan mencoba ulang tidak dapat berhasil.

259 259 

260**Yang harus dilakukan:**260**Yang harus dilakukan:**

261 261 


266 Agent terminated early due to an API error266 Agent terminated early due to an API error

267</h3>267</h3>

268 268 

269{/* min-version: 2.1.199 */}Permintaan API [subagent](/id/sub-agents) gagal secara terminal, misalnya karena batas penggunaan tercapai atau percobaan ulang untuk kesalahan server habis, jadi subagent berhenti sebelum menyelesaikan tugasnya. Pesan ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya teks kesalahan API dikembalikan ke Claude seolah-olah itu adalah hasil subagent.269Permintaan API [subagent](/docs/id/sub-agents) gagal secara terminal, misalnya karena batas penggunaan tercapai atau percobaan ulang untuk kesalahan server habis, jadi subagent berhenti sebelum menyelesaikan tugasnya. Pesan ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya teks kesalahan API dikembalikan ke Claude seolah-olah itu adalah hasil subagent.

270 270 

271```text theme={null}271```text theme={null}

272Agent terminated early due to an API error: <error detail>272Agent terminated early due to an API error: <error detail>


275**Yang harus dilakukan:**275**Yang harus dilakukan:**

276 276 

277* Cocokkan detail kesalahan setelah titik dua dengan bagiannya sendiri di halaman ini, seperti [Usage limits](#usage-limits) atau [Server errors](#server-errors), dan ikuti langkah-langkah bagian itu277* Cocokkan detail kesalahan setelah titik dua dengan bagiannya sendiri di halaman ini, seperti [Usage limits](#usage-limits) atau [Server errors](#server-errors), dan ikuti langkah-langkah bagian itu

278* Setelah kesalahan yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [resume the subagent](/id/sub-agents#resume-subagents)278* Setelah kesalahan yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [resume the subagent](/docs/id/sub-agents#resume-subagents)

279 279 

280Ketika batas laju, overload, atau kesalahan server mengganggu subagent latar depan yang sudah menghasilkan output teks, Claude menerima output parsial itu ditandai sebagai tidak lengkap daripada kesalahan ini. {/* min-version: 2.1.200 */}Subagent yang satu-satunya output adalah panggilan alat juga mendapatkan kesalahan ini; dalam v2.1.199 bentuk itu mengembalikan hasil parsial kosong sebagai gantinya. Lihat [API errors in subagents](/id/sub-agents#api-errors-in-subagents).280Ketika batas laju, overload, atau kesalahan server mengganggu subagent latar depan yang sudah menghasilkan output teks, Claude menerima output parsial itu ditandai sebagai tidak lengkap daripada kesalahan ini. Subagent yang satu-satunya output adalah panggilan alat juga mendapatkan kesalahan ini; dalam v2.1.199 bentuk itu mengembalikan hasil parsial kosong sebagai gantinya. Lihat [API errors in subagents](/docs/id/sub-agents#api-errors-in-subagents).

281 281 

282<h2 id="usage-limits">282<h2 id="usage-limits">

283 Batas penggunaan283 Batas penggunaan


309* Jalankan `/usage-credits` untuk membeli penggunaan tambahan pada Pro dan Max, atau untuk memintanya dari admin Anda pada Team dan Enterprise. Lihat [usage credits untuk paket berbayar](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara penagihan ini.309* Jalankan `/usage-credits` untuk membeli penggunaan tambahan pada Pro dan Max, atau untuk memintanya dari admin Anda pada Team dan Enterprise. Lihat [usage credits untuk paket berbayar](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara penagihan ini.

310* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)310* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)

311 311 

312Untuk memantau tunjangan sisa Anda sebelum mencapai batas, tambahkan bidang `rate_limits` ke [baris status kustom](/id/statusline#rate-limit-usage), atau di aplikasi Desktop klik [cincin penggunaan](/id/desktop#check-usage) di sebelah pemilih model.312Untuk memantau tunjangan sisa Anda sebelum mencapai batas, tambahkan bidang `rate_limits` ke [baris status kustom](/docs/id/statusline#rate-limit-usage), atau di aplikasi Desktop klik [cincin penggunaan](/docs/id/desktop#check-usage) di sebelah pemilih model.

313 313 

314<h3 id="usage-credits-required-for-1m-context">314<h3 id="usage-credits-required-for-1m-context">

315 Kredit penggunaan diperlukan untuk konteks 1M315 Kredit penggunaan diperlukan untuk konteks 1M


321API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context321API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context

322```322```

323 323 

324Ini adalah pemeriksaan hak, bukan kelelahan kuota. Ini terjadi bahkan ketika tunjangan sesi dan mingguan Anda memiliki kapasitas yang tersisa. Lihat [Extended context](/id/model-config#extended-context) untuk paket mana yang mencakup konteks 1M secara langsung dan mana yang memerlukan kredit penggunaan.324Ini adalah pemeriksaan hak, bukan kelelahan kuota. Ini terjadi bahkan ketika tunjangan sesi dan mingguan Anda memiliki kapasitas yang tersisa. Lihat [Extended context](/docs/id/model-config#extended-context) untuk paket mana yang mencakup konteks 1M secara langsung dan mana yang memerlukan kredit penggunaan.

325 325 

326{/* min-version: 2.1.172 */}Ketika kesalahan ini muncul di tengah percakapan karena konteks tumbuh melampaui 200K token, Claude Code secara otomatis memadatkan percakapan kembali di bawah batas konteks standar dan menjaga sesi pada batas itu setelahnya, jadi tidak ada tindakan yang diperlukan. Pada versi sebelum v2.1.172, kesalahan berulang pada setiap permintaan berikutnya termasuk `/compact`; jalankan `/clear` pada versi tersebut untuk pulih. Langkah-langkah di bawah berlaku ketika Anda secara eksplisit memilih model `[1m]`.326Ketika kesalahan ini muncul di tengah percakapan karena konteks tumbuh melampaui 200K token, Claude Code secara otomatis memadatkan percakapan kembali di bawah batas konteks standar dan menjaga sesi pada batas itu setelahnya, jadi tidak ada tindakan yang diperlukan. Pada versi sebelum v2.1.172, kesalahan berulang pada setiap permintaan berikutnya termasuk `/compact`; jalankan `/clear` pada versi tersebut untuk pulih. Langkah-langkah di bawah berlaku ketika Anda secara eksplisit memilih model `[1m]`.

327 327 

328**Yang harus dilakukan:**328**Yang harus dilakukan:**

329 329 

330* Jalankan `/model` dan pilih varian tanpa akhiran `[1m]` untuk kembali ke jendela konteks standar330* Jalankan `/model` dan pilih varian tanpa akhiran `[1m]` untuk kembali ke jendela konteks standar

331* Jalankan `/usage-credits` untuk mengaktifkan penagihan terukur untuk varian 1M pada Pro dan Max, atau untuk memintanya dari admin Anda pada Team dan Enterprise331* Jalankan `/usage-credits` untuk mengaktifkan penagihan terukur untuk varian 1M pada Pro dan Max, atau untuk memintanya dari admin Anda pada Team dan Enterprise

332* Jika kesalahan berlanjut setelah `/model`, ID model 1M mungkin diatur di tempat lain. Lihat [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) untuk lokasi konfigurasi yang harus diperiksa dalam urutan prioritas.332* Jika kesalahan berlanjut setelah `/model`, ID model 1M mungkin diatur di tempat lain. Lihat [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) untuk lokasi konfigurasi yang harus diperiksa dalam urutan prioritas.

333* Untuk menghapus varian 1M dari pemilih model sepenuhnya, atur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/id/env-vars)333* Untuk menghapus varian 1M dari pemilih model sepenuhnya, atur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/id/env-vars)

334 334 

335<h3 id="server-is-temporarily-limiting-requests">335<h3 id="server-is-temporarily-limiting-requests">

336 Server sedang membatasi permintaan sementara336 Server sedang membatasi permintaan sementara


342API Error: Server is temporarily limiting requests (not your usage limit)342API Error: Server is temporarily limiting requests (not your usage limit)

343```343```

344 344 

345Claude Code membedakan ini dari batas paket Anda dengan tidak adanya header kuota terpadu yang dibawa respons batas nyata. {/* min-version: 2.1.199 */}Mulai dari v2.1.199 ini [dicoba ulang secara otomatis](#automatic-retries) dengan backoff sebelum ditampilkan, cara apa pun Anda melakukan autentikasi. Pada versi sebelumnya, sesi yang masuk dengan langganan claude.ai gagal giliran pada kemunculan pertama; hanya API key dan Enterprise sign-ins yang mencoba ulangnya.345Claude Code membedakan ini dari batas paket Anda dengan tidak adanya header kuota terpadu yang dibawa respons batas nyata. Mulai dari v2.1.199 ini [dicoba ulang secara otomatis](#automatic-retries) dengan backoff sebelum ditampilkan, cara apa pun Anda melakukan autentikasi. Pada versi sebelumnya, sesi yang masuk dengan langganan claude.ai gagal giliran pada kemunculan pertama; hanya API key dan Enterprise sign-ins yang mencoba ulangnya.

346 346 

347**Yang harus dilakukan:**347**Yang harus dilakukan:**

348 348 


366* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah alih-alih langganan Anda.366* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah alih-alih langganan Anda.

367* Periksa konsol penyedia Anda untuk batas aktif dan minta tingkat yang lebih tinggi jika diperlukan367* Periksa konsol penyedia Anda untuk batas aktif dan minta tingkat yang lebih tinggi jika diperlukan

368* Untuk kunci API Anthropic, lihat [referensi batas laju](https://platform.claude.com/docs/en/api/rate-limits) untuk cara kerja tingkat dan cara menetapkan batas per-workspace368* Untuk kunci API Anthropic, lihat [referensi batas laju](https://platform.claude.com/docs/en/api/rate-limits) untuk cara kerja tingkat dan cara menetapkan batas per-workspace

369* Kurangi concurrency: turunkan [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/id/env-vars), hindari menjalankan banyak subagen paralel, atau beralih ke model yang lebih kecil dengan `/model` untuk run skrip volume tinggi369* Kurangi concurrency: turunkan [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/id/env-vars), hindari menjalankan banyak subagen paralel, atau beralih ke model yang lebih kecil dengan `/model` untuk run skrip volume tinggi

370 370 

371<h3 id="credit-balance-is-too-low">371<h3 id="credit-balance-is-too-low">

372 Saldo kredit terlalu rendah372 Saldo kredit terlalu rendah


382 382 

383* Tambahkan kredit di [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), dan pertimbangkan untuk mengaktifkan auto-reload di sana sehingga saldo terisi ulang sebelum mencapai nol383* Tambahkan kredit di [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), dan pertimbangkan untuk mengaktifkan auto-reload di sana sehingga saldo terisi ulang sebelum mencapai nol

384* Beralih ke autentikasi langganan dengan `/login` jika Anda memiliki paket Pro, Max, Team, atau Enterprise384* Beralih ke autentikasi langganan dengan `/login` jika Anda memiliki paket Pro, Max, Team, atau Enterprise

385* Atur batas pengeluaran per-workspace di Console untuk mencegah satu proyek menguras saldo org. Lihat [Manage costs effectively](/id/costs).385* Atur batas pengeluaran per-workspace di Console untuk mencegah satu proyek menguras saldo org. Lihat [Manage costs effectively](/docs/id/costs).

386 386 

387<h2 id="authentication-errors">387<h2 id="authentication-errors">

388 Kesalahan autentikasi388 Kesalahan autentikasi


404 404 

405* Jalankan `/login` untuk autentikasi dengan langganan Claude Anda atau akun Console405* Jalankan `/login` untuk autentikasi dengan langganan Claude Anda atau akun Console

406* Jika Anda mengharapkan variabel lingkungan untuk mengautentikasi Anda, konfirmasi bahwa `ANTHROPIC_API_KEY` diatur dan diekspor di shell tempat Anda meluncurkan `claude`406* Jika Anda mengharapkan variabel lingkungan untuk mengautentikasi Anda, konfirmasi bahwa `ANTHROPIC_API_KEY` diatur dan diekspor di shell tempat Anda meluncurkan `claude`

407* Untuk CI atau otomasi di mana login interaktif tidak mungkin, konfigurasikan skrip [`apiKeyHelper`](/id/settings#available-settings) yang mengambil kunci saat startup407* Untuk CI atau otomasi di mana login interaktif tidak mungkin, konfigurasikan skrip [`apiKeyHelper`](/docs/id/settings#available-settings) yang mengambil kunci saat startup

408* Lihat [Prioritas autentikasi](/id/authentication#authentication-precedence) untuk memahami kredensial mana yang digunakan Claude Code ketika beberapa tersedia408* Lihat [Prioritas autentikasi](/docs/id/authentication#authentication-precedence) untuk memahami kredensial mana yang digunakan Claude Code ketika beberapa tersedia

409 409 

410Jika Anda diminta untuk masuk berulang kali, lihat [Belum masuk atau token kedaluwarsa](/id/troubleshoot-install#not-logged-in-or-token-expired) untuk perbaikan jam sistem dan Keychain macOS.410Jika Anda diminta untuk masuk berulang kali, lihat [Belum masuk atau token kedaluwarsa](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk perbaikan jam sistem dan Keychain macOS.

411 411 

412<h3 id="could-not-resolve-authentication-method">412<h3 id="could-not-resolve-authentication-method">

413 Tidak dapat menyelesaikan metode autentikasi413 Tidak dapat menyelesaikan metode autentikasi

414</h3>414</h3>

415 415 

416Sesi mencapai klien API tanpa kredensial apa pun. Ini muncul di [sesi latar belakang](/id/agent-view), sesi cloud, dan konteks Agent SDK di mana pemeriksaan login interaktif tidak berjalan sebelum permintaan pertama.416Sesi mencapai klien API tanpa kredensial apa pun. Ini muncul di [sesi latar belakang](/docs/id/agent-view), sesi cloud, dan konteks Agent SDK di mana pemeriksaan login interaktif tidak berjalan sebelum permintaan pertama.

417 417 

418```text theme={null}418```text theme={null}

419Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted419Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

420```420```

421 421 

422{/* min-version: 2.1.174 */}Sebelum v2.1.174, sesi latar belakang atau cloud yang ditugaskan ke pekerja yang sudah diinisialisasi sebelumnya yang menganggur dapat gagal dengan cara ini bahkan ketika kredensial yang valid dikonfigurasi. Tingkatkan untuk memulihkan. Pada versi saat ini, kesalahan berarti tidak ada kredensial yang tersedia untuk proses pekerja.422Sebelum v2.1.174, sesi latar belakang atau cloud yang ditugaskan ke pekerja yang sudah diinisialisasi sebelumnya yang menganggur dapat gagal dengan cara ini bahkan ketika kredensial yang valid dikonfigurasi. Tingkatkan untuk memulihkan. Pada versi saat ini, kesalahan berarti tidak ada kredensial yang tersedia untuk proses pekerja.

423 423 

424**Yang harus dilakukan:**424**Yang harus dilakukan:**

425 425 

426* Tingkatkan ke v2.1.174 atau lebih baru jika ini muncul di sesi latar belakang atau cloud dan kredensial Anda sudah dikonfigurasi426* Tingkatkan ke v2.1.174 atau lebih baru jika ini muncul di sesi latar belakang atau cloud dan kredensial Anda sudah dikonfigurasi

427* Konfirmasi bahwa `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, atau kredensial penyedia cloud Anda diatur di lingkungan yang meluncurkan pekerja, bukan hanya di shell interaktif Anda427* Konfirmasi bahwa `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, atau kredensial penyedia cloud Anda diatur di lingkungan yang meluncurkan pekerja, bukan hanya di shell interaktif Anda

428* Untuk Agent SDK, lihat [pengaturan autentikasi](/id/agent-sdk/overview#get-started)428* Untuk Agent SDK, lihat [pengaturan autentikasi](/docs/id/agent-sdk/overview#get-started)

429* Jalankan `/status` dalam sesi interaktif di lingkungan yang sama untuk mengonfirmasi sumber kredensial mana yang diselesaikan429* Jalankan `/status` dalam sesi interaktif di lingkungan yang sama untuk mengonfirmasi sumber kredensial mana yang diselesaikan

430 430 

431<h3 id="invalid-api-key">431<h3 id="invalid-api-key">


443* Periksa kesalahan ketik dan konfirmasi bahwa kunci belum dicabut di [Console](https://platform.claude.com/settings/keys)443* Periksa kesalahan ketik dan konfirmasi bahwa kunci belum dicabut di [Console](https://platform.claude.com/settings/keys)

444* Jalankan `env | grep ANTHROPIC` di shell yang sama. Alat seperti direnv, plugin shell dotenv, dan terminal IDE dapat memuat kunci yang sudah usang dari file `.env` di proyek Anda tanpa Anda mengaturnya secara eksplisit.444* Jalankan `env | grep ANTHROPIC` di shell yang sama. Alat seperti direnv, plugin shell dotenv, dan terminal IDE dapat memuat kunci yang sudah usang dari file `.env` di proyek Anda tanpa Anda mengaturnya secara eksplisit.

445* Batalkan pengaturan `ANTHROPIC_API_KEY` dan jalankan `/login` untuk menggunakan autentikasi langganan sebagai gantinya445* Batalkan pengaturan `ANTHROPIC_API_KEY` dan jalankan `/login` untuk menggunakan autentikasi langganan sebagai gantinya

446* Jika kunci berasal dari skrip [`apiKeyHelper`](/id/settings#available-settings), jalankan skrip secara langsung untuk mengonfirmasi bahwa skrip mencetak kunci yang valid di stdout446* Jika kunci berasal dari skrip [`apiKeyHelper`](/docs/id/settings#available-settings), jalankan skrip secara langsung untuk mengonfirmasi bahwa skrip mencetak kunci yang valid di stdout

447* Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang sebenarnya digunakan Claude Code447* Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang sebenarnya digunakan Claude Code

448 448 

449<h3 id="your-apikeyhelper-script-is-failing">449<h3 id="your-apikeyhelper-script-is-failing">

450 Skrip apiKeyHelper Anda gagal450 Skrip apiKeyHelper Anda gagal

451</h3>451</h3>

452 452 

453Perintah yang dikonfigurasi dalam pengaturan [`apiKeyHelper`](/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun ke stdout. Tanpa kunci dari skrip, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan `401`.453Perintah yang dikonfigurasi dalam pengaturan [`apiKeyHelper`](/docs/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun ke stdout. Tanpa kunci dari skrip, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan `401`.

454 454 

455```text theme={null}455```text theme={null}

456Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output456Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

457```457```

458 458 

459Claude Code menjalankan kembali skrip dan mencoba ulang permintaan hingga dua kali lagi sebelum menampilkan pesan ini, jadi kegagalan muncul dalam tiga upaya. {/* min-version: 2.1.208 */}Sebelum v2.1.208, Claude Code menghabiskan [anggaran percobaan ulang](#automatic-retries) penuh mengirim ulang permintaan dengan kredensial placeholder dan kemudian melaporkan kesalahan autentikasi `401` generik daripada kegagalan skrip.459Claude Code menjalankan kembali skrip dan mencoba ulang permintaan hingga dua kali lagi sebelum menampilkan pesan ini, jadi kegagalan muncul dalam tiga upaya. Sebelum v2.1.208, Claude Code menghabiskan [anggaran percobaan ulang](#automatic-retries) penuh mengirim ulang permintaan dengan kredensial placeholder dan kemudian melaporkan kesalahan autentikasi `401` generik daripada kegagalan skrip.

460 460 

461Menjalankan `/login` tidak membantu di sini: output helper [mengambil prioritas](/id/authentication#authentication-precedence) atas login yang disimpan selama pengaturan ada.461Menjalankan `/login` tidak membantu di sini: output helper [mengambil prioritas](/docs/id/authentication#authentication-precedence) atas login yang disimpan selama pengaturan ada.

462 462 

463**Yang harus dilakukan:**463**Yang harus dilakukan:**

464 464 

465* Jalankan perintah yang dikonfigurasi dalam `apiKeyHelper` secara langsung di shell Anda untuk mereproduksi kegagalan465* Jalankan perintah yang dikonfigurasi dalam `apiKeyHelper` secara langsung di shell Anda untuk mereproduksi kegagalan

466* Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau vault rahasia Anda466* Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau vault rahasia Anda

467* Perbaiki perintah sehingga mencetak kunci ke stdout dan keluar dengan kode 0. Lihat [putar kredensial dengan apiKeyHelper](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) untuk pengaturan yang berfungsi.467* Perbaiki perintah sehingga mencetak kunci ke stdout dan keluar dengan kode 0. Lihat [putar kredensial dengan apiKeyHelper](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) untuk pengaturan yang berfungsi.

468* Jalankan `/status` untuk mengonfirmasi bahwa `apiKeyHelper` adalah sumber kredensial aktif. Setiap kali perintah gagal, kode keluar dan output kesalahannya muncul di panel `Cloud authentication` di terminal.468* Jalankan `/status` untuk mengonfirmasi bahwa `apiKeyHelper` adalah sumber kredensial aktif. Setiap kali perintah gagal, kode keluar dan output kesalahannya muncul di panel `Cloud authentication` di terminal.

469 469 

470<h3 id="this-organization-has-been-disabled">470<h3 id="this-organization-has-been-disabled">


499Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account499Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

500```500```

501 501 

502Variabel lingkungan dan `apiKeyHelper` memiliki prioritas lebih tinggi daripada `/login`, jadi menjalankan `/login` saja tidak membantu sementara salah satu masih menyuplai kunci. Lihat [Prioritas autentikasi](/id/authentication#authentication-precedence).502Variabel lingkungan dan `apiKeyHelper` memiliki prioritas lebih tinggi daripada `/login`, jadi menjalankan `/login` saja tidak membantu sementara salah satu masih menyuplai kunci. Lihat [Prioritas autentikasi](/docs/id/authentication#authentication-precedence).

503 503 

504**Yang harus dilakukan:**504**Yang harus dilakukan:**

505 505 

506* Jika pesan menyebutkan `ANTHROPIC_API_KEY`, batalkan pengaturannya di shell saat ini dan hapus dari profil shell Anda atau file `.env`, kemudian luncurkan kembali `claude`506* Jika pesan menyebutkan `ANTHROPIC_API_KEY`, batalkan pengaturannya di shell saat ini dan hapus dari profil shell Anda atau file `.env`, kemudian luncurkan kembali `claude`

507* Jika pesan menyebutkan `apiKeyHelper`, hapus pengaturan [`apiKeyHelper`](/id/settings#available-settings) dari `settings.json` Anda507* Jika pesan menyebutkan `apiKeyHelper`, hapus pengaturan [`apiKeyHelper`](/docs/id/settings#available-settings) dari `settings.json` Anda

508* Jalankan `/login` untuk masuk dengan akun claude.ai Anda508* Jalankan `/login` untuk masuk dengan akun claude.ai Anda

509* Jalankan `/status` setelahnya untuk mengonfirmasi bahwa kredensial aktif adalah langganan Anda daripada kunci API509* Jalankan `/status` setelahnya untuk mengonfirmasi bahwa kredensial aktif adalah langganan Anda daripada kunci API

510* Jika Anda memerlukan autentikasi kunci API untuk otomasi, minta admin organisasi Anda untuk mengaktifkannya kembali di Console510* Jika Anda memerlukan autentikasi kunci API untuk otomasi, minta admin organisasi Anda untuk mengaktifkannya kembali di Console


526**Yang harus dilakukan:**526**Yang harus dilakukan:**

527 527 

528* Minta admin Anda untuk mengaktifkan akses Claude Code untuk organisasi Anda528* Minta admin Anda untuk mengaktifkan akses Claude Code untuk organisasi Anda

529* Autentikasi dengan kunci API Console daripada langganan Anda. Lihat [autentikasi Claude Console](/id/authentication#claude-console-authentication) untuk pengaturan.529* Autentikasi dengan kunci API Console daripada langganan Anda. Lihat [autentikasi Claude Console](/docs/id/authentication#claude-console-authentication) untuk pengaturan.

530* Jika Anda adalah admin dan tidak melihat opsi untuk mengaktifkan akses, hubungi [dukungan Anthropic](https://support.claude.com)530* Jika Anda adalah admin dan tidak melihat opsi untuk mengaktifkan akses, hubungi [dukungan Anthropic](https://support.claude.com)

531 531 

532<h3 id="routines-are-disabled-by-your-organizations-policy">532<h3 id="routines-are-disabled-by-your-organizations-policy">

533 Rutinitas dinonaktifkan oleh kebijakan organisasi Anda533 Rutinitas dinonaktifkan oleh kebijakan organisasi Anda

534</h3>534</h3>

535 535 

536Pemilik di organisasi Tim atau Enterprise Anda telah mematikan rutinitas di tingkat organisasi. Kesalahan muncul ketika Anda mencoba membuat atau menjalankan rutinitas, termasuk dari `/schedule` dan UI [Rutinitas](/id/routines) di claude.ai/code.536Pemilik di organisasi Tim atau Enterprise Anda telah mematikan rutinitas di tingkat organisasi. Kesalahan muncul ketika Anda mencoba membuat atau menjalankan rutinitas, termasuk dari `/schedule` dan UI [Rutinitas](/docs/id/routines) di claude.ai/code.

537 537 

538```text theme={null}538```text theme={null}

539Routines are disabled by your organization's policy.539Routines are disabled by your organization's policy.


544**Yang harus dilakukan:**544**Yang harus dilakukan:**

545 545 

546* Minta Pemilik di organisasi Anda untuk mengaktifkan toggle **Rutinitas** di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)546* Minta Pemilik di organisasi Anda untuk mengaktifkan toggle **Rutinitas** di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

547* Untuk pekerjaan terjadwal sekali pakai yang tidak memerlukan rutinitas tingkat organisasi, lihat [tugas terjadwal](/id/scheduled-tasks)547* Untuk pekerjaan terjadwal sekali pakai yang tidak memerlukan rutinitas tingkat organisasi, lihat [tugas terjadwal](/docs/id/scheduled-tasks)

548 548 

549<h3 id="remote-control-requires-the-anthropic-api">549<h3 id="remote-control-requires-the-anthropic-api">

550 Remote Control memerlukan API Anthropic550 Remote Control memerlukan API Anthropic

551</h3>551</h3>

552 552 

553Sesi tidak berbicara langsung ke API Anthropic, jadi tidak ada backend claude.ai untuk [Remote Control](/id/remote-control) untuk dipasangkan.553Sesi tidak berbicara langsung ke API Anthropic, jadi tidak ada backend claude.ai untuk [Remote Control](/docs/id/remote-control) untuk dipasangkan.

554 554 

555```text theme={null}555```text theme={null}

556Remote Control is only available when using Claude via api.anthropic.com.556Remote Control is only available when using Claude via api.anthropic.com.

557```557```

558 558 

559Ini muncul di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, ini juga muncul ketika [`ANTHROPIC_BASE_URL`](/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/id/llm-gateway) atau proxy, bahkan ketika Anda masuk dengan claude.ai.559Ini muncul di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry. Mulai dari v2.1.196, ini juga muncul ketika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy, bahkan ketika Anda masuk dengan claude.ai.

560 560 

561**Yang harus dilakukan:**561**Yang harus dilakukan:**

562 562 

563* Batalkan pengaturan `ANTHROPIC_BASE_URL` dan mulai ulang sesi, atau mulai Remote Control dari sesi yang berbicara langsung ke API Anthropic563* Batalkan pengaturan `ANTHROPIC_BASE_URL` dan mulai ulang sesi, atau mulai Remote Control dari sesi yang berbicara langsung ke API Anthropic

564* Untuk pesan startup Remote Control ini dan lainnya, lihat [Troubleshoot Remote Control](/id/remote-control#troubleshooting)564* Untuk pesan startup Remote Control ini dan lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)

565 565 

566<h3 id="oauth-token-revoked-or-expired">566<h3 id="oauth-token-revoked-or-expired">

567 Token OAuth dicabut atau kedaluwarsa567 Token OAuth dicabut atau kedaluwarsa


581 581 

582* Jalankan `/login` untuk masuk lagi582* Jalankan `/login` untuk masuk lagi

583* Jika kesalahan kembali dalam sesi yang sama setelah autentikasi ulang, jalankan `/logout` terlebih dahulu untuk sepenuhnya menghapus token yang disimpan, kemudian `/login`583* Jika kesalahan kembali dalam sesi yang sama setelah autentikasi ulang, jalankan `/logout` terlebih dahulu untuk sepenuhnya menghapus token yang disimpan, kemudian `/login`

584* Untuk prompt login berulang di seluruh peluncuran, lihat pemeriksaan jam sistem dan Keychain macOS di [Troubleshooting](/id/troubleshoot-install#not-logged-in-or-token-expired)584* Untuk prompt login berulang di seluruh peluncuran, lihat pemeriksaan jam sistem dan Keychain macOS di [Troubleshooting](/docs/id/troubleshoot-install#not-logged-in-or-token-expired)

585* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/id/troubleshoot-install#login-and-authentication)585* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)

586 586 

587<h3 id="login-expired">587<h3 id="login-expired">

588 Login kedaluwarsa588 Login kedaluwarsa

589</h3>589</h3>

590 590 

591Claude Code mencoba memperbarui login claude.ai atau Claude Console yang disimpan dan layanan OAuth menolak token penyegaran yang disimpan, jadi Claude Code menghapus kredensial yang disimpan. Setelah itu, setiap permintaan berhenti secara lokal sebelum mencapai API, karena hanya `/login` yang dapat membuat kredensial baru. {/* min-version: 2.1.206 */}Sebelum v2.1.206, Claude Code mengirim permintaan bagaimanapun dengan kredensial apa pun yang tersisa di lingkungan, dan setiap model kemudian gagal dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model) atau 401 daripada prompt untuk masuk.591Claude Code mencoba memperbarui login claude.ai atau Claude Console yang disimpan dan layanan OAuth menolak token penyegaran yang disimpan, jadi Claude Code menghapus kredensial yang disimpan. Setelah itu, setiap permintaan berhenti secara lokal sebelum mencapai API, karena hanya `/login` yang dapat membuat kredensial baru. Sebelum v2.1.206, Claude Code mengirim permintaan bagaimanapun dengan kredensial apa pun yang tersisa di lingkungan, dan setiap model kemudian gagal dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model) atau 401 daripada prompt untuk masuk.

592 592 

593```text theme={null}593```text theme={null}

594Login expired · Please run /login594Login expired · Please run /login

595```595```

596 596 

597Dalam [mode non-interaktif](/id/headless) (`-p`) dan [Agent SDK](/id/agent-sdk/overview), pesan berbunyi sebagai berikut, dan kode kesalahan terstruktur adalah `authentication_failed`:597Dalam [mode non-interaktif](/docs/id/headless) (`-p`) dan [Agent SDK](/docs/id/agent-sdk/overview), pesan berbunyi sebagai berikut, dan kode kesalahan terstruktur adalah `authentication_failed`:

598 598 

599```text theme={null}599```text theme={null}

600Failed to authenticate: OAuth session expired and could not be refreshed600Failed to authenticate: OAuth session expired and could not be refreshed


602 602 

603Ini bukan keadaan yang sama dengan [Token OAuth dicabut atau kedaluwarsa](#oauth-token-revoked-or-expired). Pesan tersebut melaporkan 401 yang dikembalikan API. Claude Code sendiri menghasilkan `Login expired` untuk login yang sudah gagal diperbaharui, jadi tidak mengirim permintaan.603Ini bukan keadaan yang sama dengan [Token OAuth dicabut atau kedaluwarsa](#oauth-token-revoked-or-expired). Pesan tersebut melaporkan 401 yang dikembalikan API. Claude Code sendiri menghasilkan `Login expired` untuk login yang sudah gagal diperbaharui, jadi tidak mengirim permintaan.

604 604 

605Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.605Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.

606 606 

607**Yang harus dilakukan:**607**Yang harus dilakukan:**

608 608 

609* Jalankan `/login` untuk masuk lagi. Mencoba ulang tanpa masuk menunjukkan pesan yang sama pada setiap permintaan.609* Jalankan `/login` untuk masuk lagi. Mencoba ulang tanpa masuk menunjukkan pesan yang sama pada setiap permintaan.

610* Dalam mode non-interaktif, jalankan `claude` di lingkungan yang sama, selesaikan `/login`, kemudian jalankan kembali perintah Anda. Untuk otomasi yang tidak dapat masuk secara interaktif, autentikasi dengan `ANTHROPIC_API_KEY` atau [buat token jangka panjang dengan `claude setup-token`](/id/authentication#generate-a-long-lived-token).610* Dalam mode non-interaktif, jalankan `claude` di lingkungan yang sama, selesaikan `/login`, kemudian jalankan kembali perintah Anda. Untuk otomasi yang tidak dapat masuk secara interaktif, autentikasi dengan `ANTHROPIC_API_KEY` atau [buat token jangka panjang dengan `claude setup-token`](/docs/id/authentication#generate-a-long-lived-token).

611* Jika masuk terus gagal, lihat [Login dan autentikasi](/id/troubleshoot-install#login-and-authentication)611* Jika masuk terus gagal, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)

612 612 

613<h3 id="oauth-scope-requirement">613<h3 id="oauth-scope-requirement">

614 Persyaratan cakupan OAuth614 Persyaratan cakupan OAuth


628 Kredensial AWS kedaluwarsa atau tidak valid628 Kredensial AWS kedaluwarsa atau tidak valid

629</h3>629</h3>

630 630 

631{/* min-version: 2.1.198 */}Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru dan hanya muncul ketika [`awsAuthRefresh`](/id/amazon-bedrock#advanced-credential-configuration) diatur dalam file pengaturan Anda. Token sesi AWS Anda kedaluwarsa atau ditolak, dan penyegaran otomatis yang sudah dijalankan Claude Code tidak menghasilkan kredensial yang diterima API. Ini muncul pada 401 dari [Claude Platform on AWS](/id/claude-platform-on-aws) atau [endpoint Mantle](/id/amazon-bedrock#use-the-mantle-endpoint), yang merupakan cara penyedia tersebut melaporkan token keamanan yang kedaluwarsa.631Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru dan hanya muncul ketika [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) diatur dalam file pengaturan Anda. Token sesi AWS Anda kedaluwarsa atau ditolak, dan penyegaran otomatis yang sudah dijalankan Claude Code tidak menghasilkan kredensial yang diterima API. Ini muncul pada 401 dari [Claude Platform on AWS](/docs/id/claude-platform-on-aws) atau [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint), yang merupakan cara penyedia tersebut melaporkan token keamanan yang kedaluwarsa.

632 632 

633Petunjuk tindakan di tengah menyebutkan perintah `awsAuthRefresh` dari pengaturan Anda, jadi bervariasi. Bagian yang stabil adalah `AWS credentials expired or invalid` di awal:633Petunjuk tindakan di tengah menyebutkan perintah `awsAuthRefresh` dari pengaturan Anda, jadi bervariasi. Bagian yang stabil adalah `AWS credentials expired or invalid` di awal:

634 634 


641**Yang harus dilakukan:**641**Yang harus dilakukan:**

642 642 

643* Jalankan perintah `awsAuthRefresh` yang disebutkan dalam pesan, seperti `aws sso login --profile myprofile`, di terminal lain dan selesaikan masuk browser, kemudian coba lagi643* Jalankan perintah `awsAuthRefresh` yang disebutkan dalam pesan, seperti `aws sso login --profile myprofile`, di terminal lain dan selesaikan masuk browser, kemudian coba lagi

644* Dalam sesi interaktif, jalankan `/login`, pilih **platform pihak ketiga**, kemudian pilih **Claude Platform on AWS · refresh credentials** di bawah **Menggunakan platform pihak ketiga** untuk menjalankan perintah yang sama tanpa memulai ulang Claude Code. Lihat [Konfigurasi kredensial AWS](/id/claude-platform-on-aws#1-configure-aws-credentials)644* Dalam sesi interaktif, jalankan `/login`, pilih **platform pihak ketiga**, kemudian pilih **Claude Platform on AWS · refresh credentials** di bawah **Menggunakan platform pihak ketiga** untuk menjalankan perintah yang sama tanpa memulai ulang Claude Code. Lihat [Konfigurasi kredensial AWS](/docs/id/claude-platform-on-aws#1-configure-aws-credentials)

645* Jika kesalahan berulang setelah perintah penyegaran berhasil, konfirmasi identitas valid di luar Claude Code dengan `aws sts get-caller-identity` di shell dan profil yang sama645* Jika kesalahan berulang setelah perintah penyegaran berhasil, konfirmasi identitas valid di luar Claude Code dengan `aws sts get-caller-identity` di shell dan profil yang sama

646 646 

647<h3 id="aws-authentication-failed">647<h3 id="aws-authentication-failed">

648 Autentikasi AWS gagal648 Autentikasi AWS gagal

649</h3>649</h3>

650 650 

651{/* min-version: 2.1.198 */}Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru dan hanya muncul ketika [`awsAuthRefresh`](/id/amazon-bedrock#advanced-credential-configuration) diatur dalam file pengaturan Anda. Penyedia AWS Anda mengembalikan 403, atau [Amazon Bedrock](/id/amazon-bedrock) mengembalikan 401.651Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru dan hanya muncul ketika [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) diatur dalam file pengaturan Anda. Penyedia AWS Anda mengembalikan 403, atau [Amazon Bedrock](/docs/id/amazon-bedrock) mengembalikan 401.

652 652 

653Claude Code tidak dapat mengetahui penyebab mana yang Anda alami. Amazon Bedrock melaporkan token keamanan yang kedaluwarsa sebagai 403, tetapi 403 juga merupakan cara melaporkan penolakan otorisasi, seperti `AccessDeniedException` dari izin IAM yang hilang atau model yang tidak diaktifkan untuk akun Anda.653Claude Code tidak dapat mengetahui penyebab mana yang Anda alami. Amazon Bedrock melaporkan token keamanan yang kedaluwarsa sebagai 403, tetapi 403 juga merupakan cara melaporkan penolakan otorisasi, seperti `AccessDeniedException` dari izin IAM yang hilang atau model yang tidak diaktifkan untuk akun Anda.

654 654 


665**Yang harus dilakukan:**665**Yang harus dilakukan:**

666 666 

667* Jalankan perintah `awsAuthRefresh` yang disebutkan dalam pesan, atau `aws sso login`, untuk berjaga-jaga jika kredensial yang kedaluwarsa adalah penyebabnya667* Jalankan perintah `awsAuthRefresh` yang disebutkan dalam pesan, atau `aws sso login`, untuk berjaga-jaga jika kredensial yang kedaluwarsa adalah penyebabnya

668* Jika kredensial Anda saat ini, konfirmasi izin IAM di [Konfigurasi IAM](/id/amazon-bedrock#iam-configuration) terlampir pada identitas yang Anda gunakan dan bahwa model yang dipilih diaktifkan untuk akun dan wilayah Anda668* Jika kredensial Anda saat ini, konfirmasi izin IAM di [Konfigurasi IAM](/docs/id/amazon-bedrock#iam-configuration) terlampir pada identitas yang Anda gunakan dan bahwa model yang dipilih diaktifkan untuk akun dan wilayah Anda

669* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; `AWS_PROFILE` yang sudah usang atau profil default adalah penyebab umum ketidakcocokan izin669* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; `AWS_PROFILE` yang sudah usang atau profil default adalah penyebab umum ketidakcocokan izin

670 670 

671<h3 id="aws-default-chain-credential-resolve-timed-out">671<h3 id="aws-default-chain-credential-resolve-timed-out">

672 Penyelesaian kredensial rantai default AWS habis waktu672 Penyelesaian kredensial rantai default AWS habis waktu

673</h3>673</h3>

674 674 

675Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, jadi Claude Code menghentikan penyelesaian dan gagal permintaan. Kegagalan adalah penyelesaian kredensial lokal: permintaan tidak pernah mencapai [Amazon Bedrock](/id/amazon-bedrock), [Claude Platform on AWS](/id/claude-platform-on-aws), atau [endpoint Mantle](/id/amazon-bedrock#use-the-mantle-endpoint). Claude Code menghapus [cache kredensial](/id/amazon-bedrock#credential-caching-and-resolution-timeout) dan mencoba ulang sebelum kesalahan ini muncul, jadi pada saat Anda melihatnya rantai telah macet pada upaya berulang.675Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, jadi Claude Code menghentikan penyelesaian dan gagal permintaan. Kegagalan adalah penyelesaian kredensial lokal: permintaan tidak pernah mencapai [Amazon Bedrock](/docs/id/amazon-bedrock), [Claude Platform on AWS](/docs/id/claude-platform-on-aws), atau [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint). Claude Code menghapus [cache kredensial](/docs/id/amazon-bedrock#credential-caching-and-resolution-timeout) dan mencoba ulang sebelum kesalahan ini muncul, jadi pada saat Anda melihatnya rantai telah macet pada upaya berulang.

676 676 

677```text theme={null}677```text theme={null}

678API Error: AWS default-chain credential resolve timed out678API Error: AWS default-chain credential resolve timed out

679```679```

680 680 

681Penyebab umum adalah perintah `credential_process` di profil AWS Anda yang menunggu input yang tidak dapat diterima, dan kontainer atau VM yang layanan metadata instans (IMDS) tidak pernah menjawab probe rantai. {/* min-version: 2.1.207 */}Sebelum v2.1.207, rantai yang macet membiarkan permintaan menunggu tanpa batas waktu daripada gagal dengan pesan ini.681Penyebab umum adalah perintah `credential_process` di profil AWS Anda yang menunggu input yang tidak dapat diterima, dan kontainer atau VM yang layanan metadata instans (IMDS) tidak pernah menjawab probe rantai. Sebelum v2.1.207, rantai yang macet membiarkan permintaan menunggu tanpa batas waktu daripada gagal dengan pesan ini.

682 682 

683**Yang harus dilakukan:**683**Yang harus dilakukan:**

684 684 

685* Jalankan `aws sts get-caller-identity` di shell yang sama dengan `AWS_PROFILE` yang sama. Jika juga hang, perbaiki profil; perintah `credential_process` yang meminta secara interaktif adalah penyebab umum.685* Jalankan `aws sts get-caller-identity` di shell yang sama dengan `AWS_PROFILE` yang sama. Jika juga hang, perbaiki profil; perintah `credential_process` yang meminta secara interaktif adalah penyebab umum.

686* Selesaikan langkah masuk sebelum memulai Claude Code, misalnya `aws sso login --profile myprofile`, sehingga rantai diselesaikan dari cache SSO lokal daripada menunggu alur browser686* Selesaikan langkah masuk sebelum memulai Claude Code, misalnya `aws sso login --profile myprofile`, sehingga rantai diselesaikan dari cache SSO lokal daripada menunggu alur browser

687* Jika rantai Anda menjalankan masuk interaktif yang secara sah memerlukan lebih dari 60 detik, seperti SSO dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/id/env-vars)687* Jika rantai Anda menjalankan masuk interaktif yang secara sah memerlukan lebih dari 60 detik, seperti SSO dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars)

688 688 

689<h2 id="network-and-connection-errors">689<h2 id="network-and-connection-errors">

690 Kesalahan jaringan dan koneksi690 Kesalahan jaringan dan koneksi


712**Yang harus dilakukan:**712**Yang harus dilakukan:**

713 713 

714* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.714* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.

715* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](/id/network-config)715* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](/docs/id/network-config)

716* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect) untuk pengaturan.716* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect) untuk pengaturan.

717* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](/id/network-config#network-access-requirements)717* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](/docs/id/network-config#network-access-requirements)

718* Kegagalan intermiten [diulang secara otomatis](#automatic-retries); kegagalan persisten menunjukkan masalah jaringan lokal718* Kegagalan intermiten [diulang secara otomatis](#automatic-retries); kegagalan persisten menunjukkan masalah jaringan lokal

719 719 

720Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:720Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:


727 Bedrock streaming response memiliki content-type yang tidak terduga727 Bedrock streaming response memiliki content-type yang tidak terduga

728</h3>728</h3>

729 729 

730Gateway atau proxy antara Claude Code dan [Amazon Bedrock](/id/amazon-bedrock) mengubah badan respons streaming atau header `Content-Type`-nya. Amazon Bedrock melakukan streaming respons sebagai `application/vnd.amazon.eventstream`, dan Claude Code menolak respons streaming yang berhasil yang melaporkan content-type berbeda daripada mendekode badan yang tidak dapat dibacanya. Permintaan tidak diulang.730Gateway atau proxy antara Claude Code dan [Amazon Bedrock](/docs/id/amazon-bedrock) mengubah badan respons streaming atau header `Content-Type`-nya. Amazon Bedrock melakukan streaming respons sebagai `application/vnd.amazon.eventstream`, dan Claude Code menolak respons streaming yang berhasil yang melaporkan content-type berbeda daripada mendekode badan yang tidak dapat dibacanya. Permintaan tidak diulang.

731 731 

732```text theme={null}732```text theme={null}

733Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.733Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.

734```734```

735 735 

736{/* min-version: 2.1.208 */}Sebelum v2.1.208, konfigurasi yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.736Sebelum v2.1.208, konfigurasi yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.

737 737 

738**Yang harus dilakukan:**738**Yang harus dilakukan:**

739 739 

740* Konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Perantara yang memancarkan kembali aliran sebagai server-sent events adalah penyebab umum.740* Konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Perantara yang memancarkan kembali aliran sebagai server-sent events adalah penyebab umum.

741* Jika gateway hanya menulis ulang header dan melewatkan badan biner tanpa diubah, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Lihat [Streaming errors behind a gateway or proxy](/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).741* Jika gateway hanya menulis ulang header dan melewatkan badan biner tanpa diubah, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/docs/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Lihat [Streaming errors behind a gateway or proxy](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

742 742 

743<h3 id="ssl-certificate-errors">743<h3 id="ssl-certificate-errors">

744 Kesalahan sertifikat SSL744 Kesalahan sertifikat SSL


751Unable to connect to API: Self-signed certificate detected751Unable to connect to API: Self-signed certificate detected

752```752```

753 753 

754{/* min-version: 2.1.199 */}Mulai dari v2.1.199, kegagalan validasi sertifikat tidak diulang, jadi kesalahan ini muncul pada percobaan pertama daripada setelah [anggaran retry](#automatic-retries) penuh. Versi sebelumnya menghabiskan beberapa menit untuk mencoba ulang sebelum menampilkannya. Kondisi TLS sementara, seperti timeout handshake, masih mencoba ulang.754Mulai dari v2.1.199, kegagalan validasi sertifikat tidak diulang, jadi kesalahan ini muncul pada percobaan pertama daripada setelah [anggaran retry](#automatic-retries) penuh. Versi sebelumnya menghabiskan beberapa menit untuk mencoba ulang sebelum menampilkannya. Kondisi TLS sementara, seperti timeout handshake, masih mencoba ulang.

755 755 

756Selama `/login` dan pemeriksaan konektivitas startup, kegagalan yang sama dilaporkan dengan kode OpenSSL dan perbaikan inline:756Selama `/login` dan pemeriksaan konektivitas startup, kegagalan yang sama dilaporkan dengan kode OpenSSL dan perbaikan inline:

757 757 


762**Yang harus dilakukan:**762**Yang harus dilakukan:**

763 763 

764* Ekspor bundle CA organisasi Anda dan arahkan Claude Code ke sana dengan `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`764* Ekspor bundle CA organisasi Anda dan arahkan Claude Code ke sana dengan `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`

765* Lihat [Konfigurasi jaringan](/id/network-config#custom-ca-certificates) untuk instruksi pengaturan lengkap765* Lihat [Konfigurasi jaringan](/docs/id/network-config#custom-ca-certificates) untuk instruksi pengaturan lengkap

766* Jangan atur `NODE_TLS_REJECT_UNAUTHORIZED=0`, yang menonaktifkan validasi sertifikat sepenuhnya766* Jangan atur `NODE_TLS_REJECT_UNAUTHORIZED=0`, yang menonaktifkan validasi sertifikat sepenuhnya

767 767 

768<h3 id="host-not-allowed-in-a-cloud-session">768<h3 id="host-not-allowed-in-a-cloud-session">


778 778 

779Anda juga dapat melihat sertifikat TLS yang tidak cocok dengan sertifikat asli tujuan. Lingkungan cloud merutekan lalu lintas keluar melalui proxy yang memberlakukan kebijakan jaringan, jadi sertifikat yang tidak cocok berarti proxy mengakhiri koneksi, bukan tujuan.779Anda juga dapat melihat sertifikat TLS yang tidak cocok dengan sertifikat asli tujuan. Lingkungan cloud merutekan lalu lintas keluar melalui proxy yang memberlakukan kebijakan jaringan, jadi sertifikat yang tidak cocok berarti proxy mengakhiri koneksi, bukan tujuan.

780 780 

781Ini bukan masalah jaringan sisi klien. Sesi cloud dan [routines](/id/routines) berjalan di dalam lingkungan sandbox yang lalu lintas keluarnya disaring ke daftar izin lingkungan. Lingkungan **Default** menggunakan akses **Trusted**, yang memungkinkan [daftar izin default](/id/claude-code-on-the-web#default-allowed-domains) dari registri paket, API penyedia cloud, registri container, dan domain pengembangan umum tetapi memblokir semuanya.781Ini bukan masalah jaringan sisi klien. Sesi cloud dan [routines](/docs/id/routines) berjalan di dalam lingkungan sandbox yang lalu lintas keluarnya disaring ke daftar izin lingkungan. Lingkungan **Default** menggunakan akses **Trusted**, yang memungkinkan [daftar izin default](/docs/id/claude-code-on-the-web#default-allowed-domains) dari registri paket, API penyedia cloud, registri container, dan domain pengembangan umum tetapi memblokir semuanya.

782 782 

783**Yang harus dilakukan:**783**Yang harus dilakukan:**

784 784 

785* Buka routine untuk diedit, atau mulai sesi cloud. Pilih ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**, untuk membuka pemilih. Arahkan ke lingkungan Anda dan klik ikon pengaturan.785* Buka routine untuk diedit, atau mulai sesi cloud. Pilih ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**, untuk membuka pemilih. Arahkan ke lingkungan Anda dan klik ikon pengaturan.

786* Dalam dialog **Update cloud environment**, ubah **Network access** dari **Trusted** ke **Custom**, kemudian tambahkan domain yang diblokir ke **Allowed domains**. Masukkan satu domain per baris. Centang **Also include default list of common package managers** untuk menyimpan [daftar izin default](/id/claude-code-on-the-web#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya jika Anda menginginkan akses tanpa batas.786* Dalam dialog **Update cloud environment**, ubah **Network access** dari **Trusted** ke **Custom**, kemudian tambahkan domain yang diblokir ke **Allowed domains**. Masukkan satu domain per baris. Centang **Also include default list of common package managers** untuk menyimpan [daftar izin default](/docs/id/claude-code-on-the-web#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya jika Anda menginginkan akses tanpa batas.

787* Klik **Save changes**. Jalankan berikutnya menggunakan daftar izin yang diperbarui.787* Klik **Save changes**. Jalankan berikutnya menggunakan daftar izin yang diperbarui.

788 788 

789Lihat [Network access](/id/claude-code-on-the-web#network-access) untuk tingkat akses dan daftar izin default. Sesi CLI lokal tidak terpengaruh oleh kebijakan ini.789Lihat [Network access](/docs/id/claude-code-on-the-web#network-access) untuk tingkat akses dan daftar izin default. Sesi CLI lokal tidak terpengaruh oleh kebijakan ini.

790 790 

791<h3 id="couldnt-reconnect-to-your-remote-control-session">791<h3 id="couldnt-reconnect-to-your-remote-control-session">

792 Tidak dapat terhubung kembali ke sesi Remote Control Anda792 Tidak dapat terhubung kembali ke sesi Remote Control Anda


796Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.796Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.

797```797```

798 798 

799Melanjutkan dengan `claude --resume` atau `claude --continue` terhubung kembali ke sesi [Remote Control](/id/remote-control) yang dicatat dalam percakapan itu. Pesan ini berarti reconnection gagal karena alasan yang mungkin bersifat sementara, seperti gangguan jaringan atau kesalahan server, jadi Claude Code tidak dapat mengkonfirmasi apakah sesi remote masih ada. Sesi lokal Anda terus berjalan tanpa Remote Control.799Melanjutkan dengan `claude --resume` atau `claude --continue` terhubung kembali ke sesi [Remote Control](/docs/id/remote-control) yang dicatat dalam percakapan itu. Pesan ini berarti reconnection gagal karena alasan yang mungkin bersifat sementara, seperti gangguan jaringan atau kesalahan server, jadi Claude Code tidak dapat mengkonfirmasi apakah sesi remote masih ada. Sesi lokal Anda terus berjalan tanpa Remote Control.

800 800 

801**Yang harus dilakukan:**801**Yang harus dilakukan:**

802 802 

803* Jalankan `/remote-control` untuk mencoba ulang koneksi803* Jalankan `/remote-control` untuk mencoba ulang koneksi

804* Mulai Claude Code tanpa `--resume` untuk membuat sesi Remote Control baru804* Mulai Claude Code tanpa `--resume` untuk membuat sesi Remote Control baru

805* Untuk pesan startup Remote Control lainnya, lihat [Troubleshoot Remote Control](/id/remote-control#troubleshooting)805* Untuk pesan startup Remote Control lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)

806 806 

807Anda tidak akan melihat pesan ini ketika server mengkonfirmasi sesi sebelumnya tidak lagi ada; Claude Code membuat yang baru dalam hal itu. {/* min-version: 2.1.200 */}Sebelum v2.1.200, kegagalan reconnection apa pun membuat sesi Remote Control baru, yang meninggalkan sesi ekstra dalam daftar sesi di claude.ai/code.807Anda tidak akan melihat pesan ini ketika server mengkonfirmasi sesi sebelumnya tidak lagi ada; Claude Code membuat yang baru dalam hal itu. Sebelum v2.1.200, kegagalan reconnection apa pun membuat sesi Remote Control baru, yang meninggalkan sesi ekstra dalam daftar sesi di claude.ai/code.

808 808 

809<h2 id="request-errors">809<h2 id="request-errors">

810 Kesalahan permintaan810 Kesalahan permintaan


827* Jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang, atau `/clear` untuk memulai dari awal827* Jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang, atau `/clear` untuk memulai dari awal

828* Jalankan `/context` untuk melihat rincian apa yang mengonsumsi jendela: prompt sistem, alat, file memori, dan pesan828* Jalankan `/context` untuk melihat rincian apa yang mengonsumsi jendela: prompt sistem, alat, file memori, dan pesan

829* Nonaktifkan server MCP yang tidak Anda gunakan dengan `/mcp disable <name>` untuk menghapus definisi alat mereka dari konteks829* Nonaktifkan server MCP yang tidak Anda gunakan dengan `/mcp disable <name>` untuk menghapus definisi alat mereka dari konteks

830* Pangkas file memori `CLAUDE.md` yang besar, atau pindahkan instruksi ke [aturan yang dibatasi jalur](/id/memory#path-specific-rules) yang dimuat hanya ketika relevan830* Pangkas file memori `CLAUDE.md` yang besar, atau pindahkan instruksi ke [aturan yang dibatasi jalur](/docs/id/memory#path-specific-rules) yang dimuat hanya ketika relevan

831* Subagen mewarisi setiap definisi alat MCP dari sesi induk, yang dapat mengisi jendela konteks mereka sebelum giliran pertama. Nonaktifkan server MCP yang tidak Anda gunakan sebelum menelurkan subagen.831* Subagen mewarisi setiap definisi alat MCP dari sesi induk, yang dapat mengisi jendela konteks mereka sebelum giliran pertama. Nonaktifkan server MCP yang tidak Anda gunakan sebelum menelurkan subagen.

832* Auto-compact diaktifkan secara default dan biasanya mencegah kesalahan ini. Jika Anda telah menetapkan [`DISABLE_AUTO_COMPACT`](/id/env-vars), aktifkan kembali atau jalankan `/compact` secara manual sebelum jendela penuh.832* Auto-compact diaktifkan secara default dan biasanya mencegah kesalahan ini. Jika Anda telah menetapkan [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars), aktifkan kembali atau jalankan `/compact` secara manual sebelum jendela penuh.

833 833 

834Lihat [Jelajahi jendela konteks](/id/context-window) untuk tampilan interaktif tentang bagaimana konteks terisi.834Lihat [Jelajahi jendela konteks](/docs/id/context-window) untuk tampilan interaktif tentang bagaimana konteks terisi.

835 835 

836<h3 id="error-during-compaction-conversation-too-long">836<h3 id="error-during-compaction-conversation-too-long">

837 Kesalahan selama pemadatan: Percakapan terlalu panjang837 Kesalahan selama pemadatan: Percakapan terlalu panjang


879API Error: 400 ... image dimensions exceed max allowed size879API Error: 400 ... image dimensions exceed max allowed size

880```880```

881 881 

882{/* min-version: 2.1.142 */}Claude Code mengganti gambar yang tidak dapat diproses dengan placeholder teks dan mencoba lagi, sehingga pesan berikutnya berhasil. Pada versi sebelum 2.1.142, gambar yang ditempel dapat tetap berada dalam percakapan dan mengulangi kesalahan yang sama pada setiap pesan berikutnya. Untuk pulih pada versi tersebut, tekan Esc dua kali dan mundur melewati giliran tempat gambar ditambahkan.882Claude Code mengganti gambar yang tidak dapat diproses dengan placeholder teks dan mencoba lagi, sehingga pesan berikutnya berhasil. Pada versi sebelum 2.1.142, gambar yang ditempel dapat tetap berada dalam percakapan dan mengulangi kesalahan yang sama pada setiap pesan berikutnya. Untuk pulih pada versi tersebut, tekan Esc dua kali dan mundur melewati giliran tempat gambar ditambahkan.

883 883 

884**Yang harus dilakukan:**884**Yang harus dilakukan:**

885 885 


939 939 

940**Yang harus dilakukan:**940**Yang harus dilakukan:**

941 941 

942* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.942* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.

943* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) sebelum meluncurkan. Ini menonaktifkan fitur yang memerlukan header beta sehingga permintaan berhasil melalui gateway yang tidak dapat meneruskannya.943* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) sebelum meluncurkan. Ini menonaktifkan fitur yang memerlukan header beta sehingga permintaan berhasil melalui gateway yang tidak dapat meneruskannya.

944 944 

945<h3 id="theres-an-issue-with-the-selected-model">945<h3 id="theres-an-issue-with-the-selected-model">

946 Ada masalah dengan model yang dipilih946 Ada masalah dengan model yang dipilih


955**Yang harus dilakukan:**955**Yang harus dilakukan:**

956 956 

957* **CLI Interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.957* **CLI Interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.

958* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/id/env-vars). Teks kesalahan menunjukkan `Run --model` di permukaan ini.958* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/docs/id/env-vars). Teks kesalahan menunjukkan `Run --model` di permukaan ini.

959* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pengambil ulang atau pemilih model Anda sendiri.959* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/docs/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/docs/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pengambil ulang atau pemilih model Anda sendiri.

960* Gunakan alias seperti `sonnet` atau `opus` alih-alih ID versi lengkap. Alias diselesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/id/model-config).960* Gunakan alias seperti `sonnet` atau `opus` alih-alih ID versi lengkap. Alias diselesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/docs/id/model-config).

961* Jika model yang salah terus kembali di CLI, ID yang usang diatur di suatu tempat. Periksa dalam [urutan prioritas](/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai yang usang dan Claude Code kembali ke default akun Anda.961* Jika model yang salah terus kembali di CLI, ID yang usang diatur di suatu tempat. Periksa dalam [urutan prioritas](/docs/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai yang usang dan Claude Code kembali ke default akun Anda.

962* {/* min-version: 2.1.206 */}Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login expired](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu di versi yang lebih lama.962* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login expired](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu di versi yang lebih lama.

963* Untuk penyebaran Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/id/google-vertex-ai#troubleshooting).963* Untuk penyebaran Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).

964 964 

965<h3 id="model-is-not-a-recognized-model-id">965<h3 id="model-is-not-a-recognized-model-id">

966 Model bukan ID model yang dikenali966 Model bukan ID model yang dikenali


974 974 

975Petunjuk trailing menamai alias atau ID model yang paling cocok. Ketika tidak ada yang cukup dekat, itu berbunyi `Run /model to see available models.` sebagai gantinya.975Petunjuk trailing menamai alias atau ID model yang paling cocok. Ketika tidak ada yang cukup dekat, itu berbunyi `Run /model to see available models.` sebagai gantinya.

976 976 

977Claude Code menghasilkan kesalahan ini secara lokal pada saat sakelar diminta, sebelum permintaan API apa pun dibuat. Ini berlaku ketika model diatur melalui metode [Agent SDK](/id/agent-sdk/typescript) `setModel()` atau oleh aplikasi seperti [Desktop app](/id/desktop) yang menjalankan CLI Claude Code untuk Anda.977Claude Code menghasilkan kesalahan ini secara lokal pada saat sakelar diminta, sebelum permintaan API apa pun dibuat. Ini berlaku ketika model diatur melalui metode [Agent SDK](/docs/id/agent-sdk/typescript) `setModel()` atau oleh aplikasi seperti [Desktop app](/docs/id/desktop) yang menjalankan CLI Claude Code untuk Anda.

978 978 

979**Yang harus dilakukan:**979**Yang harus dilakukan:**

980 980 

981* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, kemudian teruskan alias atau ID yang ditampilkan di sana981* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, kemudian teruskan alias atau ID yang ditampilkan di sana

982* Jika Anda menggunakan alias yang didukung versi Claude Code yang lebih baru, jalankan `claude update`. ID lengkap yang dimulai dengan `claude-` melewati pemeriksaan ini bahkan ketika model lebih baru dari versi Claude Code Anda, jadi upgrade tidak diperlukan untuk itu.982* Jika Anda menggunakan alias yang didukung versi Claude Code yang lebih baru, jalankan `claude update`. ID lengkap yang dimulai dengan `claude-` melewati pemeriksaan ini bahkan ketika model lebih baru dari versi Claude Code Anda, jadi upgrade tidak diperlukan untuk itu.

983* Model yang disimpan sebelum v2.1.200 tidak diperbaiki oleh pemeriksaan ini. Jika nilai yang usang terus kembali, hapus dari lokasi yang tercantum di bawah [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).983* Model yang disimpan sebelum v2.1.200 tidak diperbaiki oleh pemeriksaan ini. Jika nilai yang usang terus kembali, hapus dari lokasi yang tercantum di bawah [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).

984* Pemeriksaan hanya berjalan di Anthropic API. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/id/claude-platform-on-aws), dan di belakang [LLM gateway](/id/llm-gateway) atau `ANTHROPIC_BASE_URL` kustom, penyedia atau gateway Anda menentukan nama model, jadi Claude Code menerima string apa pun dan meneruskannya.984* Pemeriksaan hanya berjalan di Anthropic API. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan di belakang [LLM gateway](/docs/id/llm-gateway) atau `ANTHROPIC_BASE_URL` kustom, penyedia atau gateway Anda menentukan nama model, jadi Claude Code menerima string apa pun dan meneruskannya.

985 985 

986<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">986<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

987 Claude Opus tidak tersedia dengan paket Claude Pro987 Claude Opus tidak tersedia dengan paket Claude Pro


1003 Model dibatasi oleh pengaturan organisasi Anda1003 Model dibatasi oleh pengaturan organisasi Anda

1004</h3>1004</h3>

1005 1005 

1006Admin organisasi Anda telah menonaktifkan model ini di konsol admin claude.ai, atau dikecualikan oleh daftar izin [`availableModels`](/id/model-config#restrict-model-selection) dalam pengaturan terkelola. Ketika model yang dibatasi diatur dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code mengganti model yang diizinkan dan melanjutkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Run /model to choose a different model.` dan sesi menyimpan model saat ini.1006Admin organisasi Anda telah menonaktifkan model ini di konsol admin claude.ai, atau dikecualikan oleh daftar izin [`availableModels`](/docs/id/model-config#restrict-model-selection) dalam pengaturan terkelola. Ketika model yang dibatasi diatur dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code mengganti model yang diizinkan dan melanjutkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Run /model to choose a different model.` dan sesi menyimpan model saat ini.

1007 1007 

1008```text theme={null}1008```text theme={null}

1009Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.1009Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

1010```1010```

1011 1011 

1012Claude Code memperlakukan alias keluarga model, salah satu dari `opus`, `sonnet`, `haiku`, atau `fable`, sebagai permintaan untuk keluarga itu daripada versi terbarunya. Di Anthropic API dan di [Claude Platform on AWS](/id/claude-platform-on-aws), alias keluarga yang dibatasi diselesaikan ke versi terbaru keluarga yang diizinkan organisasi Anda dan daftar izin `availableModels`, dan pemberitahuan substitusi menamai versi itu. Claude Code menolak `/model <alias>` hanya ketika setiap versi keluarga dibatasi. Sebelum v2.1.205, alias keluarga diganti atau ditolak berdasarkan versi terbarunya saja, bahkan ketika versi keluarga yang lebih lama diizinkan.1012Claude Code memperlakukan alias keluarga model, salah satu dari `opus`, `sonnet`, `haiku`, atau `fable`, sebagai permintaan untuk keluarga itu daripada versi terbarunya. Di Anthropic API dan di [Claude Platform on AWS](/docs/id/claude-platform-on-aws), alias keluarga yang dibatasi diselesaikan ke versi terbaru keluarga yang diizinkan organisasi Anda dan daftar izin `availableModels`, dan pemberitahuan substitusi menamai versi itu. Claude Code menolak `/model <alias>` hanya ketika setiap versi keluarga dibatasi. Sebelum v2.1.205, alias keluarga diganti atau ditolak berdasarkan versi terbarunya saja, bahkan ketika versi keluarga yang lebih lama diizinkan.

1013 1013 

1014**Yang harus dilakukan:**1014**Yang harus dilakukan:**

1015 1015 

1016* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.1016* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.

1017* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, atau bidang `model` file pengaturan, hapus atau perbarui nilai itu sehingga pemberitahuan tidak berulang pada setiap peluncuran1017* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, atau bidang `model` file pengaturan, hapus atau perbarui nilai itu sehingga pemberitahuan tidak berulang pada setiap peluncuran

1018* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Pembatasan model organisasi](/id/model-config#organization-model-restrictions).1018* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Pembatasan model organisasi](/docs/id/model-config#organization-model-restrictions).

1019 1019 

1020<h3 id="thinking-type-enabled-is-not-supported-for-this-model">1020<h3 id="thinking-type-enabled-is-not-supported-for-this-model">

1021 thinking.type.enabled tidak didukung untuk model ini1021 thinking.type.enabled tidak didukung untuk model ini


1031 1031 

1032* Jalankan `claude update` dan restart Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru. Sonnet 5 memerlukan v2.1.197 atau lebih baru1032* Jalankan `claude update` dan restart Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru. Sonnet 5 memerlukan v2.1.197 atau lebih baru

1033* Jika Anda tidak dapat upgrade, jalankan `/model` dan pilih Opus 4.6 atau Sonnet 4.6 sebagai gantinya1033* Jika Anda tidak dapat upgrade, jalankan `/model` dan pilih Opus 4.6 atau Sonnet 4.6 sebagai gantinya

1034* {/* min-version: agent-sdk@0.3.197 */}Jika Anda mengalami ini di [Agent SDK](/id/agent-sdk/overview), upgrade paket SDK sebagai gantinya. Opus 4.8 memerlukan TypeScript SDK v0.3.154 atau lebih baru dan Python SDK v0.2.88 atau lebih baru. Sonnet 5 memerlukan TypeScript SDK v0.3.197 atau lebih baru1034* Jika Anda mengalami ini di [Agent SDK](/docs/id/agent-sdk/overview), upgrade paket SDK sebagai gantinya. Opus 4.8 memerlukan TypeScript SDK v0.3.154 atau lebih baru dan Python SDK v0.2.88 atau lebih baru. Sonnet 5 memerlukan TypeScript SDK v0.3.197 atau lebih baru

1035 1035 

1036<h3 id="thinking-budget-exceeds-output-limit">1036<h3 id="thinking-budget-exceeds-output-limit">

1037 Anggaran pemikiran melebihi batas output1037 Anggaran pemikiran melebihi batas output


1043API Error: 400 ... max_tokens must be greater than thinking.budget_tokens1043API Error: 400 ... max_tokens must be greater than thinking.budget_tokens

1044```1044```

1045 1045 

1046Claude Code menyesuaikan nilai-nilai ini secara otomatis di Anthropic API. Anda biasanya melihat kesalahan ini di Amazon Bedrock atau Google Cloud's Agent Platform ketika [`MAX_THINKING_TOKENS`](/id/env-vars) diatur lebih tinggi dari batas output penyedia, atau ketika mode rencana menaikkan anggaran pemikiran.1046Claude Code menyesuaikan nilai-nilai ini secara otomatis di Anthropic API. Anda biasanya melihat kesalahan ini di Amazon Bedrock atau Google Cloud's Agent Platform ketika [`MAX_THINKING_TOKENS`](/docs/id/env-vars) diatur lebih tinggi dari batas output penyedia, atau ketika mode rencana menaikkan anggaran pemikiran.

1047 1047 

1048**Yang harus dilakukan:**1048**Yang harus dilakukan:**

1049 1049 

1050* Turunkan `MAX_THINKING_TOKENS`, atau naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/id/env-vars) di atas anggaran pemikiran1050* Turunkan `MAX_THINKING_TOKENS`, atau naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/id/env-vars) di atas anggaran pemikiran

1051* Lihat [Extended thinking](/id/model-config#extended-thinking) untuk bagaimana anggaran berinteraksi dengan panjang output1051* Lihat [Extended thinking](/docs/id/model-config#extended-thinking) untuk bagaimana anggaran berinteraksi dengan panjang output

1052 1052 

1053<h3 id="tool-use-or-thinking-block-mismatch">1053<h3 id="tool-use-or-thinking-block-mismatch">

1054 Ketidakcocokan blok penggunaan alat atau pemikiran1054 Ketidakcocokan blok penggunaan alat atau pemikiran


1066 1066 

1067**Yang harus dilakukan:**1067**Yang harus dilakukan:**

1068 1068 

1069* {/* max-version: 2.1.155 */}Jika Anda menggunakan Opus 4.7 atau Opus 4.8, jalankan `claude update` terlebih dahulu. Versi sebelum v2.1.156 dapat memicu kesalahan ini selama penggunaan alat normal, dan `/rewind` tidak menghapusnya.1069* Jika Anda menggunakan Opus 4.7 atau Opus 4.8, jalankan `claude update` terlebih dahulu. Versi sebelum v2.1.156 dapat memicu kesalahan ini selama penggunaan alat normal, dan `/rewind` tidak menghapusnya.

1070* Jalankan `/rewind`, atau tekan Esc dua kali, untuk mundur ke checkpoint sebelum giliran yang rusak dan lanjutkan dari sana. Lihat [Checkpointing](/id/checkpointing) untuk bagaimana checkpoint dibuat dan dipulihkan.1070* Jalankan `/rewind`, atau tekan Esc dua kali, untuk mundur ke checkpoint sebelum giliran yang rusak dan lanjutkan dari sana. Lihat [Checkpointing](/docs/id/checkpointing) untuk bagaimana checkpoint dibuat dan dipulihkan.

1071 1071 

1072<h3 id="usage-policy-refusal">1072<h3 id="usage-policy-refusal">

1073 Penolakan Kebijakan Penggunaan1073 Penolakan Kebijakan Penggunaan


1079API Error: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.1079API Error: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.

1080```1080```

1081 1081 

1082Pemeriksaan mengevaluasi percakapan lengkap, bukan hanya prompt terbaru Anda, jadi mengirim pesan baru dalam sesi yang sama biasanya memicu penolakan yang sama. Hal yang sama berlaku setelah keluar dan membuka kembali sesi dengan `--continue` atau `--resume`, karena transkrip di disk masih berisi konten pemicu. Di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), dan [Microsoft Foundry](/id/microsoft-foundry), pesan ini juga mencakup permintaan yang ditandai oleh langkah-langkah keselamatan model sebagai topik keamanan siber. Lihat [Langkah-langkah keselamatan menandai topik keamanan siber](#safety-measures-flagged-a-cybersecurity-topic).1082Pemeriksaan mengevaluasi percakapan lengkap, bukan hanya prompt terbaru Anda, jadi mengirim pesan baru dalam sesi yang sama biasanya memicu penolakan yang sama. Hal yang sama berlaku setelah keluar dan membuka kembali sesi dengan `--continue` atau `--resume`, karena transkrip di disk masih berisi konten pemicu. Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), pesan ini juga mencakup permintaan yang ditandai oleh langkah-langkah keselamatan model sebagai topik keamanan siber. Lihat [Langkah-langkah keselamatan menandai topik keamanan siber](#safety-measures-flagged-a-cybersecurity-topic).

1083 1083 

1084**Yang harus dilakukan:**1084**Yang harus dilakukan:**

1085 1085 

1086* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, kemudian rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/id/checkpointing).1086* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, kemudian rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).

1087* Jika Anda tidak dapat mengidentifikasi giliran mana yang menyebabkannya, jalankan `/clear` untuk memulai percakapan baru dalam proyek yang sama. Percakapan sebelumnya Anda disimpan di disk dan tetap tersedia di `/resume`.1087* Jika Anda tidak dapat mengidentifikasi giliran mana yang menyebabkannya, jalankan `/clear` untuk memulai percakapan baru dalam proyek yang sama. Percakapan sebelumnya Anda disimpan di disk dan tetap tersedia di `/resume`.

1088* Dalam [mode non-interaktif](/id/headless) (`-p`), di mana rewind tidak tersedia, coba lagi dengan prompt yang diucapkan ulang dalam sesi baru tanpa `--continue`. Pemeriksaan kebijakan bervariasi menurut model, jadi beralih ke model berbeda dengan `--model` juga dapat menyelesaikan penolakan dalam beberapa kasus.1088* Dalam [mode non-interaktif](/docs/id/headless) (`-p`), di mana rewind tidak tersedia, coba lagi dengan prompt yang diucapkan ulang dalam sesi baru tanpa `--continue`. Pemeriksaan kebijakan bervariasi menurut model, jadi beralih ke model berbeda dengan `--model` juga dapat menyelesaikan penolakan dalam beberapa kasus.

1089 1089 

1090<h3 id="safety-measures-flagged-a-cybersecurity-topic">1090<h3 id="safety-measures-flagged-a-cybersecurity-topic">

1091 Langkah-langkah keselamatan menandai topik keamanan siber1091 Langkah-langkah keselamatan menandai topik keamanan siber


1103 1103 

1104Apa yang Anda lihat tergantung pada penyedia dan mode Anda:1104Apa yang Anda lihat tergantung pada penyedia dan mode Anda:

1105 1105 

1106* Di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), dan [Microsoft Foundry](/id/microsoft-foundry), bendera keamanan siber menghasilkan pesan [Penolakan Kebijakan Penggunaan](#usage-policy-refusal) sebagai gantinya.1106* Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), bendera keamanan siber menghasilkan pesan [Penolakan Kebijakan Penggunaan](#usage-policy-refusal) sebagai gantinya.

1107* [Mode non-interaktif](/id/headless) menghilangkan kalimat `/feedback`.1107* [Mode non-interaktif](/docs/id/headless) menghilangkan kalimat `/feedback`.

1108 1108 

1109{/* max-version: 2.1.202 */}Sebelum v2.1.203, pesan berbunyi `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` diikuti oleh tautan formulir pengecualian.1109Sebelum v2.1.203, pesan berbunyi `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` diikuti oleh tautan formulir pengecualian.

1110 1110 

1111**Yang harus dilakukan:**1111**Yang harus dilakukan:**

1112 1112 

1113* Jika pekerjaan Anda memerlukan konten ini, ajukan permohonan akses melalui [Program Verifikasi Siber](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)1113* Jika pekerjaan Anda memerlukan konten ini, ajukan permohonan akses melalui [Program Verifikasi Siber](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)

1114* Jika permintaan Anda bukan tentang topik keamanan siber, jalankan `/feedback` untuk melaporkan positif palsu1114* Jika permintaan Anda bukan tentang topik keamanan siber, jalankan `/feedback` untuk melaporkan positif palsu

1115* Untuk terus bekerja dalam sesi yang sama, tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu bendera, kemudian ambil pendekatan berbeda. Lihat [Checkpointing](/id/checkpointing).1115* Untuk terus bekerja dalam sesi yang sama, tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu bendera, kemudian ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).

1116 1116 

1117<h2 id="installation-errors">1117<h2 id="installation-errors">

1118 Kesalahan instalasi1118 Kesalahan instalasi

1119</h2>1119</h2>

1120 1120 

1121Kesalahan ini muncul saat menginstal atau memperbarui Claude Code, dari [skrip instalasi](/id/setup#install-claude-code), `claude install`, atau `claude update`. Untuk masalah `command not found`, PATH, izin, dan TLS selama pengaturan, lihat [Troubleshoot installation and login](/id/troubleshoot-install).1121Kesalahan ini muncul saat menginstal atau memperbarui Claude Code, dari [skrip instalasi](/docs/id/setup#install-claude-code), `claude install`, atau `claude update`. Untuk masalah `command not found`, PATH, izin, dan TLS selama pengaturan, lihat [Troubleshoot installation and login](/docs/id/troubleshoot-install).

1122 1122 

1123<h3 id="installation-was-killed-before-it-could-finish">1123<h3 id="installation-was-killed-before-it-could-finish">

1124 Installation was killed before it could finish1124 Installation was killed before it could finish


1136**Yang harus dilakukan:**1136**Yang harus dilakukan:**

1137 1137 

1138* Hentikan proses lain untuk membebaskan memori, kemudian jalankan kembali penginstal1138* Hentikan proses lain untuk membebaskan memori, kemudian jalankan kembali penginstal

1139* Tambahkan ruang swap atau pindah ke instans yang lebih besar. Lihat [Install killed on low-memory Linux servers](/id/troubleshoot-install#install-killed-on-low-memory-linux-servers) untuk perintah file swap.1139* Tambahkan ruang swap atau pindah ke instans yang lebih besar. Lihat [Install killed on low-memory Linux servers](/docs/id/troubleshoot-install#install-killed-on-low-memory-linux-servers) untuk perintah file swap.

1140 1140 

1141<h3 id="the-connection-dropped-while-downloading-the-update">1141<h3 id="the-connection-dropped-while-downloading-the-update">

1142 The connection dropped while downloading the update1142 The connection dropped while downloading the update

1143</h3>1143</h3>

1144 1144 

1145Koneksi ke server unduhan ditutup saat `claude install`, `claude update`, atau [automatic updater](/id/setup#auto-updates) mengambil biner Claude Code, dan pengulangan tidak berhasil. Claude Code mencoba ulang unduhan ketika koneksi putus, transfer macet, atau file yang diunduh gagal checksumnya, hingga tiga percobaan total. Kesalahan HTTP yang selesai, seperti 404, tidak dicoba ulang karena server sudah menjawab. {/* min-version: 2.1.202 */}Sebelum v2.1.202, koneksi yang putus tunggal gagal mengunduh segera dengan kesalahan kosong `aborted` alih-alih mencoba ulang.1145Koneksi ke server unduhan ditutup saat `claude install`, `claude update`, atau [automatic updater](/docs/id/setup#auto-updates) mengambil biner Claude Code, dan pengulangan tidak berhasil. Claude Code mencoba ulang unduhan ketika koneksi putus, transfer macet, atau file yang diunduh gagal checksumnya, hingga tiga percobaan total. Kesalahan HTTP yang selesai, seperti 404, tidak dicoba ulang karena server sudah menjawab. Sebelum v2.1.202, koneksi yang putus tunggal gagal mengunduh segera dengan kesalahan kosong `aborted` alih-alih mencoba ulang.

1146 1146 

1147```text theme={null}1147```text theme={null}

1148The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.1148The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.


1157**Yang harus dilakukan:**1157**Yang harus dilakukan:**

1158 1158 

1159* Jalankan `claude update` lagi. Pada jaringan yang sehat, unduhan biasanya berhasil pada run berikutnya. Untuk pesan yang habis waktu, jalankan lagi dari jaringan yang lebih cepat atau kurang dibatasi.1159* Jalankan `claude update` lagi. Pada jaringan yang sehat, unduhan biasanya berhasil pada run berikutnya. Untuk pesan yang habis waktu, jalankan lagi dari jaringan yang lebih cepat atau kurang dibatasi.

1160* Jika jaringan Anda memerlukan proxy, atur `HTTPS_PROXY` sebelum menjalankan penginstal atau `claude update`. Lihat [Check network connectivity](/id/troubleshoot-install#check-network-connectivity).1160* Jika jaringan Anda memerlukan proxy, atur `HTTPS_PROXY` sebelum menjalankan penginstal atau `claude update`. Lihat [Check network connectivity](/docs/id/troubleshoot-install#check-network-connectivity).

1161* Jika proxy perusahaan terus menutup transfer, minta tim jaringan Anda untuk mengizinkan unduhan lengkap dari `downloads.claude.ai`. Lihat [Network access requirements](/id/network-config#network-access-requirements).1161* Jika proxy perusahaan terus menutup transfer, minta tim jaringan Anda untuk mengizinkan unduhan lengkap dari `downloads.claude.ai`. Lihat [Network access requirements](/docs/id/network-config#network-access-requirements).

1162* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi1162* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi

1163 1163 

1164<h2 id="command-line-errors">1164<h2 id="command-line-errors">


1171 Konflik antara --bg dan --print1171 Konflik antara --bg dan --print

1172</h3>1172</h3>

1173 1173 

1174Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru. Anda menggabungkan `--bg` dengan `-p` atau `--print` dalam invokasi `claude` yang sama. `--bg` memulai [sesi latar belakang](/id/agent-view#from-your-shell) yang kemudian Anda lampirkan dengan `claude agents`, sementara `--print` berjalan [non-interaktif](/id/headless) dan tidak pernah memulai sesi interaktif yang `claude agents` lampirkan. Sebelum v2.1.198, kombinasi ini secara diam-diam membuat pekerjaan latar belakang yang tidak pernah dapat dilampirkan.1174Pesan ini memerlukan Claude Code v2.1.198 atau lebih baru. Anda menggabungkan `--bg` dengan `-p` atau `--print` dalam invokasi `claude` yang sama. `--bg` memulai [sesi latar belakang](/docs/id/agent-view#from-your-shell) yang kemudian Anda lampirkan dengan `claude agents`, sementara `--print` berjalan [non-interaktif](/docs/id/headless) dan tidak pernah memulai sesi interaktif yang `claude agents` lampirkan. Sebelum v2.1.198, kombinasi ini secara diam-diam membuat pekerjaan latar belakang yang tidak pernah dapat dilampirkan.

1175 1175 

1176```text theme={null}1176```text theme={null}

1177--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.1177--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


1179 1179 

1180**Yang harus dilakukan:**1180**Yang harus dilakukan:**

1181 1181 

1182* Hapus `-p` atau `--print`. `--bg` mengambil prompt sebagai argumen posisionalnya, jadi `claude --bg "<task>"` adalah perintah lengkapnya. Lihat [Dispatch new agents from your shell](/id/agent-view#from-your-shell).1182* Hapus `-p` atau `--print`. `--bg` mengambil prompt sebagai argumen posisionalnya, jadi `claude --bg "<task>"` adalah perintah lengkapnya. Lihat [Dispatch new agents from your shell](/docs/id/agent-view#from-your-shell).

1183* Untuk menjalankan prompt secara non-interaktif dan mencetak hasilnya alih-alih membuat sesi latar belakang, hapus `--bg` dan jalankan `claude -p "<task>"`1183* Untuk menjalankan prompt secara non-interaktif dan mencetak hasilnya alih-alih membuat sesi latar belakang, hapus `--bg` dan jalankan `claude -p "<task>"`

1184 1184 

1185<h3 id="the-json-schema-value-is-not-a-valid-json-schema">1185<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

1186 Nilai --json-schema bukan JSON Schema yang valid1186 Nilai --json-schema bukan JSON Schema yang valid

1187</h3>1187</h3>

1188 1188 

1189Skema yang Anda teruskan ke [`--json-schema`](/id/cli-reference#cli-flags) dalam [mode non-interaktif](/id/headless#get-structured-output) gagal kompilasi JSON Schema, jadi `claude` keluar dengan kode 1 alih-alih menjalankan prompt. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema apa pun yang menggunakan kata kunci `format` dianggap tidak valid.1189Skema yang Anda teruskan ke [`--json-schema`](/docs/id/cli-reference#cli-flags) dalam [mode non-interaktif](/docs/id/headless#get-structured-output) gagal kompilasi JSON Schema, jadi `claude` keluar dengan kode 1 alih-alih menjalankan prompt. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema apa pun yang menggunakan kata kunci `format` dianggap tidak valid.

1190 1190 

1191```text theme={null}1191```text theme={null}

1192Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values1192Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values


1200 1200 

1201* Perbaiki bagian skema yang diagnostik sebutkan, kemudian jalankan kembali perintahnya1201* Perbaiki bagian skema yang diagnostik sebutkan, kemudian jalankan kembali perintahnya

1202* Jika diagnostiknya adalah `schema too large`, kurangi nesting skema dan penggunaan ulang `$ref`1202* Jika diagnostiknya adalah `schema too large`, kurangi nesting skema dan penggunaan ulang `$ref`

1203* Lihat [Get structured output](/id/headless#get-structured-output) untuk skema dan perintah yang berfungsi1203* Lihat [Get structured output](/docs/id/headless#get-structured-output) untuk skema dan perintah yang berfungsi

1204 1204 

1205<h3 id="could-not-import-a-server-from-claude-desktop">1205<h3 id="could-not-import-a-server-from-claude-desktop">

1206 Tidak dapat mengimpor server dari Claude Desktop1206 Tidak dapat mengimpor server dari Claude Desktop


1212Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.1212Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

1213```1213```

1214 1214 

1215Teks setelah nama server adalah alasannya. Yang paling umum adalah pemeriksaan nama: Claude Desktop memungkinkan karakter dalam nama server, seperti spasi dan titik, yang `claude mcp` batasi hanya untuk huruf, angka, tanda hubung, dan garis bawah. Alasan lain termasuk konfigurasi server yang gagal validasi dan server yang diblokir oleh [kebijakan MCP](/id/managed-mcp) organisasi Anda.1215Teks setelah nama server adalah alasannya. Yang paling umum adalah pemeriksaan nama: Claude Desktop memungkinkan karakter dalam nama server, seperti spasi dan titik, yang `claude mcp` batasi hanya untuk huruf, angka, tanda hubung, dan garis bawah. Alasan lain termasuk konfigurasi server yang gagal validasi dan server yang diblokir oleh [kebijakan MCP](/docs/id/managed-mcp) organisasi Anda.

1216 1216 

1217**Yang harus dilakukan:**1217**Yang harus dilakukan:**

1218 1218 

1219* Ubah nama server di `claude_desktop_config.json` untuk hanya menggunakan huruf, angka, tanda hubung, dan garis bawah, kemudian jalankan `claude mcp add-from-claude-desktop` lagi1219* Ubah nama server di `claude_desktop_config.json` untuk hanya menggunakan huruf, angka, tanda hubung, dan garis bawah, kemudian jalankan `claude mcp add-from-claude-desktop` lagi

1220* Tambahkan server itu secara langsung dengan `claude mcp add` atau `claude mcp add-json` dengan nama yang valid. Lihat [Import MCP servers from Claude Desktop](/id/mcp#import-mcp-servers-from-claude-desktop).1220* Tambahkan server itu secara langsung dengan `claude mcp add` atau `claude mcp add-json` dengan nama yang valid. Lihat [Import MCP servers from Claude Desktop](/docs/id/mcp#import-mcp-servers-from-claude-desktop).

1221 1221 

1222<h3 id="mcp-permission-prompt-tool-not-found">1222<h3 id="mcp-permission-prompt-tool-not-found">

1223 Alat prompt izin MCP tidak ditemukan1223 Alat prompt izin MCP tidak ditemukan

1224</h3>1224</h3>

1225 1225 

1226Alat yang Anda teruskan ke [`--permission-prompt-tool`](/id/cli-reference#cli-flags) tidak ada di antara alat MCP yang terhubung ketika jalankan pertama kali memerlukan keputusan izin, baik karena servernya tidak pernah terhubung atau karena tidak ada server yang terhubung yang mengekspos alat dengan nama itu. Claude Code masih mengirim prompt Anda: jalankan [non-interaktif](/id/headless) keluar dengan kesalahan ini, dan kode keluar 1, pada panggilan alat pertama yang memerlukan persetujuan, jadi tidak menghasilkan jawaban meskipun permintaan telah dibuat. Sebelum prompt pertama, Claude Code menunggu hingga batas waktu koneksi per-server 30 detik yang ditetapkan oleh [`MCP_TIMEOUT`](/id/env-vars) untuk server itu terhubung. {/* min-version: 2.1.206 */}Sebelum v2.1.206, startup tidak menunggu server selesai terhubung, jadi server yang dimulai lambat tetapi sehat menghasilkan kesalahan ini juga.1226Alat yang Anda teruskan ke [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags) tidak ada di antara alat MCP yang terhubung ketika jalankan pertama kali memerlukan keputusan izin, baik karena servernya tidak pernah terhubung atau karena tidak ada server yang terhubung yang mengekspos alat dengan nama itu. Claude Code masih mengirim prompt Anda: jalankan [non-interaktif](/docs/id/headless) keluar dengan kesalahan ini, dan kode keluar 1, pada panggilan alat pertama yang memerlukan persetujuan, jadi tidak menghasilkan jawaban meskipun permintaan telah dibuat. Sebelum prompt pertama, Claude Code menunggu hingga batas waktu koneksi per-server 30 detik yang ditetapkan oleh [`MCP_TIMEOUT`](/docs/id/env-vars) untuk server itu terhubung. Sebelum v2.1.206, startup tidak menunggu server selesai terhubung, jadi server yang dimulai lambat tetapi sehat menghasilkan kesalahan ini juga.

1227 1227 

1228```text theme={null}1228```text theme={null}

1229Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none1229Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none


1235 1235 

1236* Periksa bahwa server dimulai dan tetap terhubung: jalankan `claude mcp list` di direktori yang sama dan konfirmasi server terdaftar sebagai terhubung1236* Periksa bahwa server dimulai dan tetap terhubung: jalankan `claude mcp list` di direktori yang sama dan konfirmasi server terdaftar sebagai terhubung

1237* Konfirmkan nama alat cocok dengan nama `mcp__<server>__<tool>` yang server ekspos1237* Konfirmkan nama alat cocok dengan nama `mcp__<server>__<tool>` yang server ekspos

1238* Jika server memerlukan lebih dari 30 detik untuk dimulai, naikkan [`MCP_TIMEOUT`](/id/env-vars)1238* Jika server memerlukan lebih dari 30 detik untuk dimulai, naikkan [`MCP_TIMEOUT`](/docs/id/env-vars)

1239 1239 

1240<h2 id="plugin-errors">1240<h2 id="plugin-errors">

1241 Kesalahan plugin1241 Kesalahan plugin

1242</h2>1242</h2>

1243 1243 

1244Kesalahan ini berasal dari konfigurasi [plugin](/id/plugins) dan [marketplace](/id/plugin-marketplaces). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Troubleshooting plugin](/id/discover-plugins#troubleshooting).1244Kesalahan ini berasal dari konfigurasi [plugin](/docs/id/plugins) dan [marketplace](/docs/id/plugin-marketplaces). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Troubleshooting plugin](/docs/id/discover-plugins#troubleshooting).

1245 1245 

1246<h3 id="marketplace-is-registered-from-an-untrusted-source">1246<h3 id="marketplace-is-registered-from-an-untrusted-source">

1247 Marketplace terdaftar dari sumber yang tidak terpercaya1247 Marketplace terdaftar dari sumber yang tidak terpercaya

1248</h3>1248</h3>

1249 1249 

1250Marketplace terdaftar dengan nama yang [dicadangkan untuk marketplace resmi Anthropic](/id/plugin-marketplaces#marketplace-schema), tetapi sumber terdaftarnya bukan repositori GitHub `anthropics`. Claude Code memeriksa ulang nama yang dicadangkan setiap kali memuat atau menyegarkan marketplace, sehingga marketplace dan plugin yang dipasang darinya berhenti memuat. Sebelum v2.1.205, nama hanya diperiksa ketika marketplace ditambahkan, sehingga entri yang terdaftar sebelum namanya dicadangkan terus memuat.1250Marketplace terdaftar dengan nama yang [dicadangkan untuk marketplace resmi Anthropic](/docs/id/plugin-marketplaces#marketplace-schema), tetapi sumber terdaftarnya bukan repositori GitHub `anthropics`. Claude Code memeriksa ulang nama yang dicadangkan setiap kali memuat atau menyegarkan marketplace, sehingga marketplace dan plugin yang dipasang darinya berhenti memuat. Sebelum v2.1.205, nama hanya diperiksa ketika marketplace ditambahkan, sehingga entri yang terdaftar sebelum namanya dicadangkan terus memuat.

1251 1251 

1252```text theme={null}1252```text theme={null}

1253Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.1253Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.


1257 1257 

1258* Jalankan `claude plugin marketplace remove <name>`, kemudian tambahkan marketplace lagi dari repositori resmi `github.com/anthropics`1258* Jalankan `claude plugin marketplace remove <name>`, kemudian tambahkan marketplace lagi dari repositori resmi `github.com/anthropics`

1259* Jika Anda menerbitkan marketplace pihak ketiga yang menggunakan nama sebelum nama tersebut dicadangkan, ubah namanya dan minta pengguna untuk menambahkannya kembali dari sumber Anda1259* Jika Anda menerbitkan marketplace pihak ketiga yang menggunakan nama sebelum nama tersebut dicadangkan, ubah namanya dan minta pengguna untuk menambahkannya kembali dari sumber Anda

1260* Lihat daftar nama yang dicadangkan di bawah [Marketplace schema](/id/plugin-marketplaces#marketplace-schema)1260* Lihat daftar nama yang dicadangkan di bawah [Marketplace schema](/docs/id/plugin-marketplaces#marketplace-schema)

1261 1261 

1262<h3 id="plugin-command-references-user-config">1262<h3 id="plugin-command-references-user-config">

1263 Plugin command references user\_config in a shell command1263 Plugin command references user\_config in a shell command

1264</h3>1264</h3>

1265 1265 

1266Hook plugin, [monitor](/id/plugins-reference#monitors), atau perintah MCP [`headersHelper`](/id/mcp#use-dynamic-headers-for-custom-authentication) mereferensikan opsi `${user_config.KEY}` [plugin](/id/plugins-reference#user-configuration), dan string yang disubstitusi akan diteruskan ke shell. Nilai yang dikonfigurasi berisi `$(...)`, backtick, atau `;` akan berjalan sebagai kode di sana, jadi Claude Code menolak untuk memulai komponen alih-alih mensubstitusi nilai. Pemeriksaan berjalan pada template perintah, sehingga kesalahan muncul bahkan ketika tidak ada nilai yang dikonfigurasi. Sebelum v2.1.207, nilai disubstitusi ke dalam perintah shell.1266Hook plugin, [monitor](/docs/id/plugins-reference#monitors), atau perintah MCP [`headersHelper`](/docs/id/mcp#use-dynamic-headers-for-custom-authentication) mereferensikan opsi `${user_config.KEY}` [plugin](/docs/id/plugins-reference#user-configuration), dan string yang disubstitusi akan diteruskan ke shell. Nilai yang dikonfigurasi berisi `$(...)`, backtick, atau `;` akan berjalan sebagai kode di sana, jadi Claude Code menolak untuk memulai komponen alih-alih mensubstitusi nilai. Pemeriksaan berjalan pada template perintah, sehingga kesalahan muncul bahkan ketika tidak ada nilai yang dikonfigurasi. Sebelum v2.1.207, nilai disubstitusi ke dalam perintah shell.

1267 1267 

1268Redaksi tergantung pada permukaan mana yang mereferensikan opsi. Hook bentuk shell melaporkan:1268Redaksi tergantung pada permukaan mana yang mereferensikan opsi. Hook bentuk shell melaporkan:

1269 1269 


1285 1285 

1286**Yang harus dilakukan:**1286**Yang harus dilakukan:**

1287 1287 

1288* Untuk hook, tambahkan array `args` sehingga berjalan dalam [exec form](/id/hooks#exec-form-and-shell-form), di mana setiap `${user_config.KEY}` menjadi satu argumen tanpa shell di antaranya. Atau lepaskan referensi dan baca variabel lingkungan `$CLAUDE_PLUGIN_OPTION_<KEY>` di dalam skrip1288* Untuk hook, tambahkan array `args` sehingga berjalan dalam [exec form](/docs/id/hooks#exec-form-and-shell-form), di mana setiap `${user_config.KEY}` menjadi satu argumen tanpa shell di antaranya. Atau lepaskan referensi dan baca variabel lingkungan `$CLAUDE_PLUGIN_OPTION_<KEY>` di dalam skrip

1289* Untuk monitor, lepaskan referensi dan buat skrip monitor membaca nilai dari file konfigurasi1289* Untuk monitor, lepaskan referensi dan buat skrip monitor membaca nilai dari file konfigurasi

1290* Untuk `headersHelper`, pindahkan `${user_config.KEY}` ke dalam bidang `headers` server, yang tidak diurai shell, atau baca nilai di dalam skrip helper1290* Untuk `headersHelper`, pindahkan `${user_config.KEY}` ke dalam bidang `headers` server, yang tidak diurai shell, atau baca nilai di dalam skrip helper

1291 1291 


1299 Agent would be spawned with zero tools1299 Agent would be spawned with zero tools

1300</h3>1300</h3>

1301 1301 

1302Tidak ada yang ada dalam [daftar `tools` subagent](/id/sub-agents#supported-frontmatter-fields) yang terselesaikan menjadi tool, jadi Claude Code menolak untuk meluncurkan subagent daripada memulai yang tidak dapat bertindak. Pesan mengelompokkan entri berdasarkan alasan mereka tidak terselesaikan: bukan tool yang dikenali, tool yang tidak tersedia untuk subagent, atau dikenali tetapi tidak cocok dengan tool apa pun dalam sesi saat ini. Menghilangkan bidang `tools` tidak pernah memicu penolakan ini. Pola server MCP seperti `mcp__github__*` tidak dikecualikan: ketika tidak ada tool yang terhubung berasal dari server itu, peluncuran ditolak dengan pola dalam grup yang tidak cocok dengan apa pun. Sebelum v2.1.208, subagent diluncurkan tanpa tool dan mengembalikan hasil yang kosong atau membingungkan.1302Tidak ada yang ada dalam [daftar `tools` subagent](/docs/id/sub-agents#supported-frontmatter-fields) yang terselesaikan menjadi tool, jadi Claude Code menolak untuk meluncurkan subagent daripada memulai yang tidak dapat bertindak. Pesan mengelompokkan entri berdasarkan alasan mereka tidak terselesaikan: bukan tool yang dikenali, tool yang tidak tersedia untuk subagent, atau dikenali tetapi tidak cocok dengan tool apa pun dalam sesi saat ini. Menghilangkan bidang `tools` tidak pernah memicu penolakan ini. Pola server MCP seperti `mcp__github__*` tidak dikecualikan: ketika tidak ada tool yang terhubung berasal dari server itu, peluncuran ditolak dengan pola dalam grup yang tidak cocok dengan apa pun. Sebelum v2.1.208, subagent diluncurkan tanpa tool dan mengembalikan hasil yang kosong atau membingungkan.

1303 1303 

1304```text theme={null}1304```text theme={null}

1305Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.1305Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.


1307 1307 

1308**Yang harus dilakukan:**1308**Yang harus dilakukan:**

1309 1309 

1310* Perbaiki setiap entri yang dinamai kesalahan terhadap [tool yang tersedia untuk subagent](/id/sub-agents#available-tools)1310* Perbaiki setiap entri yang dinamai kesalahan terhadap [tool yang tersedia untuk subagent](/docs/id/sub-agents#available-tools)

1311* Hapus entri untuk tool yang tidak dimiliki sesi, seperti tool MCP dari server yang tidak terhubung1311* Hapus entri untuk tool yang tidak dimiliki sesi, seperti tool MCP dari server yang tidak terhubung

1312* Untuk memberikan subagent setiap tool yang dimiliki induk, hapus bidang `tools` daripada membuat daftar tool1312* Untuk memberikan subagent setiap tool yang dimiliki induk, hapus bidang `tools` daripada membuat daftar tool

1313 1313 


1315 File is covered by a Read deny rule1315 File is covered by a Read deny rule

1316</h3>1316</h3>

1317 1317 

1318Tool Edit dipanggil pada jalur yang cocok dengan [aturan deny `Read`](/id/permissions#read-and-edit), termasuk membuat file baru di jalur itu. Pengeditan menulis ulang konten yang harus dapat dibaca Claude kembali, jadi panggilan ditolak sebelum akses file apa pun. Aturan memblokir tool Edit saja: Write dan NotebookEdit tidak tercakup oleh aturan deny `Read`. Sebelum v2.1.208, hanya aturan deny `Edit` yang memblokir pengeditan, dan aturan deny `Read` saja tidak.1318Tool Edit dipanggil pada jalur yang cocok dengan [aturan deny `Read`](/docs/id/permissions#read-and-edit), termasuk membuat file baru di jalur itu. Pengeditan menulis ulang konten yang harus dapat dibaca Claude kembali, jadi panggilan ditolak sebelum akses file apa pun. Aturan memblokir tool Edit saja: Write dan NotebookEdit tidak tercakup oleh aturan deny `Read`. Sebelum v2.1.208, hanya aturan deny `Edit` yang memblokir pengeditan, dan aturan deny `Read` saja tidak.

1319 1319 

1320```text theme={null}1320```text theme={null}

1321File is covered by a Read deny rule in your permission settings and cannot be edited.1321File is covered by a Read deny rule in your permission settings and cannot be edited.


1323 1323 

1324**Yang harus dilakukan:**1324**Yang harus dilakukan:**

1325 1325 

1326* Jika Claude harus dapat mengedit file, hapus atau persempit aturan deny `Read` di `/permissions` atau di [settings](/id/settings#permission-settings)1326* Jika Claude harus dapat mengedit file, hapus atau persempit aturan deny `Read` di `/permissions` atau di [settings](/docs/id/settings#permission-settings)

1327* Jika file harus tetap tidak tersentuh, pertahankan aturan dan tambahkan aturan deny `Edit` untuk jalur yang sama sehingga tool Write dan NotebookEdit juga diblokir1327* Jika file harus tetap tidak tersentuh, pertahankan aturan dan tambahkan aturan deny `Edit` untuk jalur yang sama sehingga tool Write dan NotebookEdit juga diblokir

1328 1328 

1329<h2 id="background-session-errors">1329<h2 id="background-session-errors">

1330 Kesalahan sesi latar belakang1330 Kesalahan sesi latar belakang

1331</h2>1331</h2>

1332 1332 

1333[Sesi latar belakang](/id/agent-view) berjalan tanpa terminal interaktif mereka sendiri, jadi perintah yang membutuhkan satu berperilaku berbeda di sana. Pesan-pesan ini muncul dalam transkrip sesi latar belakang, dalam tampilan agen atau setelah melampirkan.1333[Sesi latar belakang](/docs/id/agent-view) berjalan tanpa terminal interaktif mereka sendiri, jadi perintah yang membutuhkan satu berperilaku berbeda di sana. Pesan-pesan ini muncul dalam transkrip sesi latar belakang, dalam tampilan agen atau setelah melampirkan.

1334 1334 

1335<h3 id="commands-refused-in-a-background-session">1335<h3 id="commands-refused-in-a-background-session">

1336 Perintah yang ditolak dalam sesi latar belakang1336 Perintah yang ditolak dalam sesi latar belakang

1337</h3>1337</h3>

1338 1338 

1339Perintah yang membuka dialog interaktif ditolak dalam sesi latar belakang dengan pesan yang menyebutkan formulir yang berfungsi di sana atau memberi tahu Anda untuk menjalankan perintah dari terminal biasa. `/install-github-app`, daftar pengaturan `/mcp`, dan tindakan autentikasi dalam menu server MCP semuanya ditolak dengan cara ini. Sebelum v2.1.208, mereka membuka dialog mereka di dalam sesi latar belakang.1339Perintah yang membuka dialog interaktif ditolak dalam sesi latar belakang dengan pesan yang menyebutkan formulir yang berfungsi di sana atau memberi tahu Anda untuk menjalankan perintah dari terminal biasa. `/install-github-app`, daftar pengaturan `/mcp`, dan tindakan autentikasi dalam menu server MCP semuanya ditolak dengan cara ini. Sebelum v2.1.208, mereka membuka dialog mereka di dalam sesi latar belakang.

1340{/* max-version: 2.1.208 */}Dalam v2.1.208 saja, pemilih `/model` juga ditolak dalam sesi latar belakang, dan `/upgrade` mencetak URL upgrade alih-alih membuka browser.1340Dalam v2.1.208 saja, pemilih `/model` juga ditolak dalam sesi latar belakang, dan `/upgrade` mencetak URL upgrade alih-alih membuka browser.

1341 1341 

1342Redaksi menyebutkan perintah yang ditolak. Daftar pengaturan `/mcp` melaporkan:1342Redaksi menyebutkan perintah yang ditolak. Daftar pengaturan `/mcp` melaporkan:

1343 1343 


1354 Kesalahan peluncur CLAUDE\_CODE\_PROCESS\_WRAPPER1354 Kesalahan peluncur CLAUDE\_CODE\_PROCESS\_WRAPPER

1355</h3>1355</h3>

1356 1356 

1357[`CLAUDE_CODE_PROCESS_WRAPPER`](/id/corporate-launcher) diatur, dan nilainya tidak dapat digunakan, jadi Claude Code menolak untuk memulai proses yang terpengaruh daripada menjalankannya tanpa peluncur. Masalah konfigurasi dilaporkan dengan pesan yang dimulai dengan nama variabel dan menyatakan alasannya, misalnya:1357[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/id/corporate-launcher) diatur, dan nilainya tidak dapat digunakan, jadi Claude Code menolak untuk memulai proses yang terpengaruh daripada menjalankannya tanpa peluncur. Masalah konfigurasi dilaporkan dengan pesan yang dimulai dengan nama variabel dan menyatakan alasannya, misalnya:

1358 1358 

1359```text theme={null}1359```text theme={null}

1360CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file1360CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file


1364 1364 

1365**Yang harus dilakukan:**1365**Yang harus dilakukan:**

1366 1366 

1367* Atur variabel ke jalur absolut dari executable yang diakhiri dengan memanggil `exec "$@"`. Lihat [kontrak peluncur](/id/corporate-launcher#the-launcher-contract) untuk kontrak lengkap1367* Atur variabel ke jalur absolut dari executable yang diakhiri dengan memanggil `exec "$@"`. Lihat [kontrak peluncur](/docs/id/corporate-launcher#the-launcher-contract) untuk kontrak lengkap

1368* Periksa `/status`, yang menunjukkan perintah peluncuran yang diselesaikan dalam entri Self-exec-nya dan memperingatkan ketika layanan latar belakang yang berjalan tidak cocok, atau jalankan `claude daemon status` dari shell1368* Periksa `/status`, yang menunjukkan perintah peluncuran yang diselesaikan dalam entri Self-exec-nya dan memperingatkan ketika layanan latar belakang yang berjalan tidak cocok, atau jalankan `claude daemon status` dari shell

1369* Setelah memperbaiki nilai dalam blok `env` dari [pengaturan](/id/corporate-launcher#set-up-the-launcher), mulai ulang layanan latar belakang dengan `claude daemon stop --any` sehingga pengiriman berikutnya memulai yang dibungkus1369* Setelah memperbaiki nilai dalam blok `env` dari [pengaturan](/docs/id/corporate-launcher#set-up-the-launcher), mulai ulang layanan latar belakang dengan `claude daemon stop --any` sehingga pengiriman berikutnya memulai yang dibungkus

1370 1370 

1371<h2 id="configuration-warnings">1371<h2 id="configuration-warnings">

1372 Peringatan Konfigurasi1372 Peringatan Konfigurasi


1378 Workspace belum dipercaya1378 Workspace belum dipercaya

1379</h3>1379</h3>

1380 1380 

1381Claude Code menemukan aturan `permissions.allow` atau entri `permissions.additionalDirectories` dalam `.claude/settings.json` atau `.claude/settings.local.json` proyek dan tidak menerapkannya, karena [aturan allow dari pengaturan proyek memerlukan kepercayaan workspace](/id/permissions#project-allow-rules-and-workspace-trust). Jumlah, nama pengaturan, dan file yang dinamai dalam pesan bervariasi dengan konfigurasi Anda. Aturan `deny` dan `ask` tidak terpengaruh.1381Claude Code menemukan aturan `permissions.allow` atau entri `permissions.additionalDirectories` dalam `.claude/settings.json` atau `.claude/settings.local.json` proyek dan tidak menerapkannya, karena [aturan allow dari pengaturan proyek memerlukan kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust). Jumlah, nama pengaturan, dan file yang dinamai dalam pesan bervariasi dengan konfigurasi Anda. Aturan `deny` dan `ask` tidak terpengaruh.

1382 1382 

1383```text theme={null}1383```text theme={null}

1384Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.1384Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.


1386 1386 

1387**Yang harus dilakukan:**1387**Yang harus dilakukan:**

1388 1388 

1389* Jalankan `claude` di direktori dan terima dialog kepercayaan. {/* min-version: 2.1.200 */}Dialog muncul bahkan ketika direktori induk sudah dipercaya, mencantumkan aturan yang ditahan, dan memungkinkan Anda menolak dan terus bekerja tanpanya. Sebelum v2.1.200, tidak ada dialog yang muncul dalam situasi itu, jadi langkah ini tidak dapat diselesaikan di sana.1389* Jalankan `claude` di direktori dan terima dialog kepercayaan. Dialog muncul bahkan ketika direktori induk sudah dipercaya, mencantumkan aturan yang ditahan, dan memungkinkan Anda menolak dan terus bekerja tanpanya. Sebelum v2.1.200, tidak ada dialog yang muncul dalam situasi itu, jadi langkah ini tidak dapat diselesaikan di sana.

1390* Dalam [mode non-interaktif](/id/headless) dengan `-p` tidak ada dialog yang ditampilkan. Atur entri `hasTrustDialogAccepted` dalam `~/.claude.json` menggunakan kunci `projects` yang tepat yang dicetak pesan.1390* Dalam [mode non-interaktif](/docs/id/headless) dengan `-p` tidak ada dialog yang ditampilkan. Atur entri `hasTrustDialogAccepted` dalam `~/.claude.json` menggunakan kunci `projects` yang tepat yang dicetak pesan.

1391* {/* min-version: 2.1.200 */}Jika pesan menyebutkan `.claude/settings.local.json` dan Anda memulai Claude Code di luar repositori git atau di direktori home Anda, perbarui ke v2.1.200 atau lebih baru. Versi 2.1.196 hingga 2.1.199 memperlakukan `.claude/settings.local.json` Anda sendiri sebagai yang disediakan repositori di workspace tersebut. {/* min-version: 2.1.207 */}Pada v2.1.207 dan lebih baru, pembaruan tidak cukup di luar repositori git jika Anda belum mempercayai folder: menentukan bahwa folder tidak berada di dalam repositori menjalankan git, dan Claude Code menjalankan pemeriksaan itu hanya setelah Anda menerima dialog kepercayaan, jadi gunakan langkah pertama. Direktori home Anda dan [configuration home](/id/permissions#project-allow-rules-and-workspace-trust) lainnya dikecualikan dan tidak menunggu dialog. Lihat [Project allow rules and workspace trust](/id/permissions#project-allow-rules-and-workspace-trust).1391* Jika pesan menyebutkan `.claude/settings.local.json` dan Anda memulai Claude Code di luar repositori git atau di direktori home Anda, perbarui ke v2.1.200 atau lebih baru. Versi 2.1.196 hingga 2.1.199 memperlakukan `.claude/settings.local.json` Anda sendiri sebagai yang disediakan repositori di workspace tersebut. Pada v2.1.207 dan lebih baru, pembaruan tidak cukup di luar repositori git jika Anda belum mempercayai folder: menentukan bahwa folder tidak berada di dalam repositori menjalankan git, dan Claude Code menjalankan pemeriksaan itu hanya setelah Anda menerima dialog kepercayaan, jadi gunakan langkah pertama. Direktori home Anda dan [configuration home](/docs/id/permissions#project-allow-rules-and-workspace-trust) lainnya dikecualikan dan tidak menunggu dialog. Lihat [Project allow rules and workspace trust](/docs/id/permissions#project-allow-rules-and-workspace-trust).

1392 1392 

1393<h2 id="responses-seem-lower-quality-than-usual">1393<h2 id="responses-seem-lower-quality-than-usual">

1394 Respons tampak berkualitas lebih rendah dari biasanya1394 Respons tampak berkualitas lebih rendah dari biasanya


1396 1396 

1397Jika jawaban Claude tampak kurang mampu dari yang Anda harapkan tetapi tidak ada kesalahan yang ditampilkan, penyebabnya biasanya adalah status percakapan daripada model itu sendiri. Claude Code tidak secara diam-diam mengubah versi model. Ini dapat beralih ke model fallback dalam tiga kasus spesifik:1397Jika jawaban Claude tampak kurang mampu dari yang Anda harapkan tetapi tidak ada kesalahan yang ditampilkan, penyebabnya biasanya adalah status percakapan daripada model itu sendiri. Claude Code tidak secara diam-diam mengubah versi model. Ini dapat beralih ke model fallback dalam tiga kasus spesifik:

1398 1398 

1399* [`--fallback-model`](/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip1399* [`--fallback-model`](/docs/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip

1400* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia1400* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia

1401* [Fallback model otomatis](/id/model-config#automatic-model-fallback) pada Fable 5 memindahkan sesi ke model Opus default dan menampilkan pemberitahuan dalam transkrip1401* [Fallback model otomatis](/docs/id/model-config#automatic-model-fallback) pada Fable 5 memindahkan sesi ke model Opus default dan menampilkan pemberitahuan dalam transkrip

1402 1402 

1403Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; kasus pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Konfigurasi model](/id/model-config) menjelaskan kapan setiap fallback berlaku.1403Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; kasus pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Konfigurasi model](/docs/id/model-config) menjelaskan kapan setiap fallback berlaku.

1404 1404 

1405Periksa ini terlebih dahulu:1405Periksa ini terlebih dahulu:

1406 1406 

1407* **Model selection**: jalankan `/model` untuk mengonfirmasi Anda berada di model yang Anda harapkan. Pilihan `/model` sebelumnya atau variabel lingkungan `ANTHROPIC_MODEL` mungkin membuat Anda berada di model yang lebih kecil dari yang Anda maksudkan.1407* **Model selection**: jalankan `/model` untuk mengonfirmasi Anda berada di model yang Anda harapkan. Pilihan `/model` sebelumnya atau variabel lingkungan `ANTHROPIC_MODEL` mungkin membuat Anda berada di model yang lebih kecil dari yang Anda maksudkan.

1408* **Effort level**: jalankan `/effort` untuk memeriksa tingkat reasoning saat ini dan naikkan untuk debugging atau pekerjaan desain yang sulit. Default bervariasi menurut model, jadi periksa sebelum mengasumsikan Anda di bawah maksimum. Lihat [Adjust effort level](/id/model-config#adjust-effort-level) untuk default per-model dan pintasan `ultrathink`.1408* **Effort level**: jalankan `/effort` untuk memeriksa tingkat reasoning saat ini dan naikkan untuk debugging atau pekerjaan desain yang sulit. Default bervariasi menurut model, jadi periksa sebelum mengasumsikan Anda di bawah maksimum. Lihat [Adjust effort level](/docs/id/model-config#adjust-effort-level) untuk default per-model dan pintasan `ultrathink`.

1409* **Context pressure**: jalankan `/context` untuk melihat seberapa penuh jendela tersebut. Jika mendekati kapasitas, jalankan `/compact` pada titik alami atau `/clear` untuk memulai dari awal. Lihat [Explore the context window](/id/context-window) untuk cara auto-compact mempengaruhi giliran sebelumnya.1409* **Context pressure**: jalankan `/context` untuk melihat seberapa penuh jendela tersebut. Jika mendekati kapasitas, jalankan `/compact` pada titik alami atau `/clear` untuk memulai dari awal. Lihat [Explore the context window](/docs/id/context-window) untuk cara auto-compact mempengaruhi giliran sebelumnya.

1410* **Stale instructions**: file `CLAUDE.md` yang besar atau ketinggalan zaman dan definisi alat MCP mengonsumsi konteks dan dapat mengarahkan respons. {/* min-version: 2.1.205 */}Pemeriksaan `/doctor` menandai file memori yang berukuran besar dan ekstensi yang tidak digunakan, dan `/context` menampilkan penggunaan token alat MCP. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang menandai file memori yang berukuran besar dan definisi subagent.1410* **Stale instructions**: file `CLAUDE.md` yang besar atau ketinggalan zaman dan definisi alat MCP mengonsumsi konteks dan dapat mengarahkan respons. Pemeriksaan `/doctor` menandai file memori yang berukuran besar dan ekstensi yang tidak digunakan, dan `/context` menampilkan penggunaan token alat MCP. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang menandai file memori yang berukuran besar dan definisi subagent.

1411 1411 

1412Ketika respons salah, rewinding biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum giliran yang buruk, kemudian rephrase prompt dengan spesifik lebih lanjut. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban kemudian ke dalamnya. Lihat [Checkpointing](/id/checkpointing).1412Ketika respons salah, rewinding biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum giliran yang buruk, kemudian rephrase prompt dengan spesifik lebih lanjut. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban kemudian ke dalamnya. Lihat [Checkpointing](/docs/id/checkpointing).

1413 1413 

1414Jika kualitas masih tampak tidak sesuai setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Feedback yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.1414Jika kualitas masih tampak tidak sesuai setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Feedback yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.

1415 1415 

1416Jika Claude memperingatkan tentang injeksi prompt yang dicurigai, atau menolak permintaan karena injeksi yang dicurigai, dan teks yang dinamai peringatan adalah konteks yang ditambahkan Claude Code ke percakapan secara otomatis daripada konten file atau web, jalankan `claude update` dan coba lagi. Jika peringatan berulang setelah memperbarui, [laporkan](/id/#report-an-error) daripada menempel konten yang ditandai kembali ke dalam prompt. {/* min-version: 2.1.201 */}Sebelum v2.1.201, Sonnet 5 menolak beberapa permintaan dengan cara yang sama.1416Jika Claude memperingatkan tentang injeksi prompt yang dicurigai, atau menolak permintaan karena injeksi yang dicurigai, dan teks yang dinamai peringatan adalah konteks yang ditambahkan Claude Code ke percakapan secara otomatis daripada konten file atau web, jalankan `claude update` dan coba lagi. Jika peringatan berulang setelah memperbarui, [laporkan](/docs/id/#report-an-error) daripada menempel konten yang ditandai kembali ke dalam prompt. Sebelum v2.1.201, Sonnet 5 menolak beberapa permintaan dengan cara yang sama.

1417 1417 

1418<h2 id="report-an-error">1418<h2 id="report-an-error">

1419 Laporkan kesalahan1419 Laporkan kesalahan


1421 1421 

1422Untuk kesalahan dari komponen yang tidak tercakup di halaman ini, lihat panduan yang relevan:1422Untuk kesalahan dari komponen yang tidak tercakup di halaman ini, lihat panduan yang relevan:

1423 1423 

1424* Server MCP gagal terhubung atau autentikasi: [MCP](/id/mcp)1424* Server MCP gagal terhubung atau autentikasi: [MCP](/docs/id/mcp)

1425* Skrip hook gagal atau memblokir alat: [Debug hooks](/id/hooks#debug-hooks)1425* Skrip hook gagal atau memblokir alat: [Debug hooks](/docs/id/hooks#debug-hooks)

1426* Izin ditolak atau kesalahan sistem file selama instalasi: [Troubleshoot installation and login](/id/troubleshoot-install)1426* Izin ditolak atau kesalahan sistem file selama instalasi: [Troubleshoot installation and login](/docs/id/troubleshoot-install)

1427 1427 

1428Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:1428Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:

1429 1429 

1430* Jalankan `/feedback` di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan [authentication](/id/authentication). Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, atau ketika tidak ada kredensial Anthropic yang dikonfigurasi, `/feedback` menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.1430* Jalankan `/feedback` di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan [authentication](/docs/id/authentication). Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, atau ketika tidak ada kredensial Anthropic yang dikonfigurasi, `/feedback` menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.

1431* Jalankan `claude doctor` dari shell Anda untuk diagnostik sistem file read-only dari instalasi Anda, atau jalankan pemeriksaan `/doctor` di dalam Claude Code untuk menemukan dan memperbaiki masalah pengaturan1431* Jalankan `claude doctor` dari shell Anda untuk diagnostik sistem file read-only dari instalasi Anda, atau jalankan pemeriksaan `/doctor` di dalam Claude Code untuk menemukan dan memperbaiki masalah pengaturan

1432* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif1432* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif

1433* Cari [existing issues](https://github.com/anthropics/claude-code/issues) di GitHub1433* Cari [existing issues](https://github.com/anthropics/claude-code/issues) di GitHub

fast-mode.md +11 −11

Details

32Aktifkan mode cepat dengan salah satu cara berikut:32Aktifkan mode cepat dengan salah satu cara berikut:

33 33 

34* Ketik `/fast` dan tekan Tab untuk mengaktifkan atau menonaktifkan34* Ketik `/fast` dan tekan Tab untuk mengaktifkan atau menonaktifkan

35* Atur `"fastMode": true` di [file pengaturan pengguna Anda](/id/settings)35* Atur `"fastMode": true` di [file pengaturan pengguna Anda](/docs/id/settings)

36 36 

37Secara default, mode cepat yang Anda aktifkan dalam sesi interaktif bertahan di seluruh sesi. {/* min-version: 2.1.205 */}Dalam [mode non-interaktif](/id/headless), dengan flag `-p`, `/fast` hanya berfungsi dalam sesi yang diluncurkan dengan mode cepat dalam nilai [`--settings`](/id/cli-reference#cli-flags) nya, misalnya `claude -p --settings '{"fastMode": true}'`; toggle kemudian berlaku hanya untuk sesi itu dan tidak disimpan sebagai default Anda, dan dalam sesi non-interaktif lainnya perintah melaporkan bahwa mode cepat tidak tersedia. Anda dapat mengonfigurasi mode cepat untuk disetel ulang setiap sesi. Lihat [require per-session opt-in](#require-per-session-opt-in) untuk detail.37Secara default, mode cepat yang Anda aktifkan dalam sesi interaktif bertahan di seluruh sesi. Dalam [mode non-interaktif](/docs/id/headless), dengan flag `-p`, `/fast` hanya berfungsi dalam sesi yang diluncurkan dengan mode cepat dalam nilai [`--settings`](/docs/id/cli-reference#cli-flags) nya, misalnya `claude -p --settings '{"fastMode": true}'`; toggle kemudian berlaku hanya untuk sesi itu dan tidak disimpan sebagai default Anda, dan dalam sesi non-interaktif lainnya perintah melaporkan bahwa mode cepat tidak tersedia. Anda dapat mengonfigurasi mode cepat untuk disetel ulang setiap sesi. Lihat [require per-session opt-in](#require-per-session-opt-in) untuk detail.

38 38 

39Untuk efisiensi biaya terbaik, aktifkan mode cepat di awal sesi daripada beralih di tengah percakapan. Lihat [understand the cost tradeoff](#understand-the-cost-tradeoff) untuk detail.39Untuk efisiensi biaya terbaik, aktifkan mode cepat di awal sesi daripada beralih di tengah percakapan. Lihat [understand the cost tradeoff](#understand-the-cost-tradeoff) untuk detail.

40 40 


47 47 

48Ketika Anda menonaktifkan mode cepat dengan `/fast` lagi, Anda tetap berada di Opus. Model tidak kembali ke model sebelumnya. Untuk beralih ke model yang berbeda, gunakan `/model`.48Ketika Anda menonaktifkan mode cepat dengan `/fast` lagi, Anda tetap berada di Opus. Model tidak kembali ke model sebelumnya. Untuk beralih ke model yang berbeda, gunakan `/model`.

49 49 

50Beralih ke model yang tidak mendukung mode cepat mematikan mode cepat. {/* min-version: 2.1.208 */}Beralih kembali ke model Opus yang didukung menyalakannya lagi ketika preferensi mode cepat yang disimpan Anda aktif, preferensi yang sama yang dimulai sesi baru secara default. Dengan [per-session opt-in](#require-per-session-opt-in) yang dikonfigurasi, beralih kembali tidak menyalakan mode cepat lagi; jalankan `/fast` untuk mengaktifkannya kembali. Mode cepat tidak pernah menyala untuk sesi yang preferensi yang disimpannya mati, dan ikon `↯` serta konfirmasi `Fast mode ON` muncul kapan pun itu diaktifkan. Sebelum v2.1.208, mode cepat tetap mati setelah Anda beralih kembali sampai Anda menjalankan `/fast` lagi.50Beralih ke model yang tidak mendukung mode cepat mematikan mode cepat. Beralih kembali ke model Opus yang didukung menyalakannya lagi ketika preferensi mode cepat yang disimpan Anda aktif, preferensi yang sama yang dimulai sesi baru secara default. Dengan [per-session opt-in](#require-per-session-opt-in) yang dikonfigurasi, beralih kembali tidak menyalakan mode cepat lagi; jalankan `/fast` untuk mengaktifkannya kembali. Mode cepat tidak pernah menyala untuk sesi yang preferensi yang disimpannya mati, dan ikon `↯` serta konfirmasi `Fast mode ON` muncul kapan pun itu diaktifkan. Sebelum v2.1.208, mode cepat tetap mati setelah Anda beralih kembali sampai Anda menjalankan `/fast` lagi.

51 51 

52Opus 4.8 adalah default mode cepat di Claude Code v2.1.154 dan lebih baru. Pada v2.1.142 hingga v2.1.153, mode cepat default ke Opus 4.7.52Opus 4.8 adalah default mode cepat di Claude Code v2.1.154 dan lebih baru. Pada v2.1.142 hingga v2.1.153, mode cepat default ke Opus 4.7.

53 53 


64 64 

65Harga mode cepat datar di seluruh jendela konteks 1M token penuh. Untuk tarif Opus standar yang akan dibandingkan, lihat [referensi harga Claude](https://platform.claude.com/docs/id/about-claude/pricing).65Harga mode cepat datar di seluruh jendela konteks 1M token penuh. Untuk tarif Opus standar yang akan dibandingkan, lihat [referensi harga Claude](https://platform.claude.com/docs/id/about-claude/pricing).

66 66 

67Pertama kali Anda mengaktifkan mode cepat dalam percakapan, Anda membayar harga token input tanpa cache mode cepat penuh untuk seluruh konteks percakapan. Semakin dalam Anda berada dalam percakapan, semakin mahal biayanya, jadi mengaktifkan mode cepat dari awal lebih murah. Biaya diterapkan sekali per percakapan, jadi mematikan dan menyalakan kembali mode cepat nanti tidak mengulanginya. Untuk mekanismenya, lihat [bagaimana mode cepat berinteraksi dengan prompt cache](/id/prompt-caching#turning-on-fast-mode).67Pertama kali Anda mengaktifkan mode cepat dalam percakapan, Anda membayar harga token input tanpa cache mode cepat penuh untuk seluruh konteks percakapan. Semakin dalam Anda berada dalam percakapan, semakin mahal biayanya, jadi mengaktifkan mode cepat dari awal lebih murah. Biaya diterapkan sekali per percakapan, jadi mematikan dan menyalakan kembali mode cepat nanti tidak mengulanginya. Untuk mekanismenya, lihat [bagaimana mode cepat berinteraksi dengan prompt cache](/docs/id/prompt-caching#turning-on-fast-mode).

68 68 

69<h2 id="decide-when-to-use-fast-mode">69<h2 id="decide-when-to-use-fast-mode">

70 Tentukan kapan menggunakan mode cepat70 Tentukan kapan menggunakan mode cepat


93| **Mode cepat** | Kualitas model yang sama, latensi lebih rendah, biaya lebih tinggi |93| **Mode cepat** | Kualitas model yang sama, latensi lebih rendah, biaya lebih tinggi |

94| **Tingkat usaha lebih rendah** | Waktu pemikiran lebih sedikit, respons lebih cepat, potensi kualitas lebih rendah pada tugas kompleks |94| **Tingkat usaha lebih rendah** | Waktu pemikiran lebih sedikit, respons lebih cepat, potensi kualitas lebih rendah pada tugas kompleks |

95 95 

96Anda dapat menggabungkan keduanya: gunakan mode cepat dengan [tingkat usaha](/id/model-config#adjust-effort-level) yang lebih rendah untuk kecepatan maksimal pada tugas yang mudah.96Anda dapat menggabungkan keduanya: gunakan mode cepat dengan [tingkat usaha](/docs/id/model-config#adjust-effort-level) yang lebih rendah untuk kecepatan maksimal pada tugas yang mudah.

97 97 

98<h2 id="requirements">98<h2 id="requirements">

99 Persyaratan99 Persyaratan


111* **Aktivasi Owner untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Seorang Owner harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.111* **Aktivasi Owner untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Seorang Owner harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.

112 112 

113<Note>113<Note>

114 Jika mode cepat belum diaktifkan untuk organisasi Anda, perintah `/fast` akan menampilkan "Fast mode has been disabled by your organization." Jika daftar allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus mode cepat, `/fast` ditolak dengan "is not in your organization's allowed models". Pengecualiannya adalah sesi yang sudah berjalan pada model Opus yang diizinkan yang mendukung mode cepat: `/fast` kemudian mengaktifkan mode cepat pada model Anda saat ini alih-alih beralih model.114 Jika mode cepat belum diaktifkan untuk organisasi Anda, perintah `/fast` akan menampilkan "Fast mode has been disabled by your organization." Jika daftar allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus mode cepat, `/fast` ditolak dengan "is not in your organization's allowed models". Pengecualiannya adalah sesi yang sudah berjalan pada model Opus yang diizinkan yang mendukung mode cepat: `/fast` kemudian mengaktifkan mode cepat pada model Anda saat ini alih-alih beralih model.

115</Note>115</Note>

116 116 

117<h3 id="enable-fast-mode-for-your-organization">117<h3 id="enable-fast-mode-for-your-organization">


123* **Konsol** (pelanggan API): admin mengaktifkannya di [preferensi Claude Code](https://platform.claude.com/claude-code/preferences)123* **Konsol** (pelanggan API): admin mengaktifkannya di [preferensi Claude Code](https://platform.claude.com/claude-code/preferences)

124* **Claude AI** (Teams dan Enterprise): Owner mengaktifkannya di [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)124* **Claude AI** (Teams dan Enterprise): Owner mengaktifkannya di [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)

125 125 

126Opsi lain untuk menonaktifkan mode cepat sepenuhnya adalah dengan menetapkan `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Lihat [Variabel lingkungan](/id/env-vars).126Opsi lain untuk menonaktifkan mode cepat sepenuhnya adalah dengan menetapkan `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Lihat [Variabel lingkungan](/docs/id/env-vars).

127 127 

128<h3 id="require-per-session-opt-in">128<h3 id="require-per-session-opt-in">

129 Require per-session opt-in129 Require per-session opt-in

130</h3>130</h3>

131 131 

132Secara default, mode cepat yang diaktifkan pengguna dalam sesi interaktif bertahan di seluruh sesi: mode ini tetap aktif di sesi mendatang. Untuk mengubah ini, atur `fastModePerSessionOptIn` ke `true` di file [pengaturan](/id/settings#settings-files) apa pun, yang menyebabkan setiap sesi dimulai dengan mode cepat mati dan memerlukan pengguna untuk secara eksplisit mengaktifkannya dengan `/fast`. Owners pada paket [Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) atau [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) dapat menerapkannya di seluruh organisasi melalui [pengaturan yang dikelola server](/id/server-managed-settings).132Secara default, mode cepat yang diaktifkan pengguna dalam sesi interaktif bertahan di seluruh sesi: mode ini tetap aktif di sesi mendatang. Untuk mengubah ini, atur `fastModePerSessionOptIn` ke `true` di file [pengaturan](/docs/id/settings#settings-files) apa pun, yang menyebabkan setiap sesi dimulai dengan mode cepat mati dan memerlukan pengguna untuk secara eksplisit mengaktifkannya dengan `/fast`. Owners pada paket [Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) atau [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) dapat menerapkannya di seluruh organisasi melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings).

133 133 

134```json theme={null}134```json theme={null}

135{135{


168 Lihat juga168 Lihat juga

169</h2>169</h2>

170 170 

171* [Konfigurasi model](/id/model-config): beralih model dan sesuaikan tingkat usaha171* [Konfigurasi model](/docs/id/model-config): beralih model dan sesuaikan tingkat usaha

172* [Kelola biaya secara efektif](/id/costs): lacak penggunaan token dan kurangi biaya172* [Kelola biaya secara efektif](/docs/id/costs): lacak penggunaan token dan kurangi biaya

173* [Konfigurasi baris status](/id/statusline): tampilkan informasi model dan konteks173* [Konfigurasi baris status](/docs/id/statusline): tampilkan informasi model dan konteks

Details

6 6 

7> Bandingkan fitur Claude Code mana yang tersedia di seluruh paket langganan Anthropic, Anthropic Console, Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry.7> Bandingkan fitur Claude Code mana yang tersedia di seluruh paket langganan Anthropic, Anthropic Console, Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry.

8 8 

9CLI Claude Code dan semua yang berjalan secara lokal bekerja di setiap penyedia. Untuk instruksi setup per penyedia, lihat [Ringkasan deployment enterprise](/id/third-party-integrations). Untuk langsung ke apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider).9CLI Claude Code dan semua yang berjalan secara lokal bekerja di setiap penyedia. Untuk instruksi setup per penyedia, lihat [Ringkasan deployment enterprise](/docs/id/third-party-integrations). Untuk langsung ke apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider).

10 10 

11Dalam tabel di bawah, ✓ berarti tersedia, ✗ berarti tidak tersedia, dan "Lihat catatan" menghubungkan ke catatan kaki untuk dukungan parsial. Kualifikasi setelah ✓ mempersempit ketersediaan ke subset tersebut, dan "Admin-enabled" berarti fitur dimatikan sampai admin organisasi menyalakannya.11Dalam tabel di bawah, ✓ berarti tersedia, ✗ berarti tidak tersedia, dan "Lihat catatan" menghubungkan ke catatan kaki untuk dukungan parsial. Kualifikasi setelah ✓ mempersempit ketersediaan ke subset tersebut, dan "Admin-enabled" berarti fitur dimatikan sampai admin organisasi menyalakannya.

12 12 


18 18 

19* **Langganan Claude**: Anda masuk dengan akun claude.ai di paket Pro, Max, Team, atau Enterprise19* **Langganan Claude**: Anda masuk dengan akun claude.ai di paket Pro, Max, Team, atau Enterprise

20* **Anthropic Console**: Anda melakukan autentikasi dengan kunci API Anthropic20* **Anthropic Console**: Anda melakukan autentikasi dengan kunci API Anthropic

21* **Amazon Bedrock**: Anda menggunakan model Claude dari katalog model Bedrock dan menetapkan `CLAUDE_CODE_USE_BEDROCK`. [Endpoint Mantle](/id/amazon-bedrock#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) tercakup oleh kolom ini21* **Amazon Bedrock**: Anda menggunakan model Claude dari katalog model Bedrock dan menetapkan `CLAUDE_CODE_USE_BEDROCK`. [Endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) tercakup oleh kolom ini

22* **Claude Platform di AWS**: Anda membeli Claude melalui AWS Marketplace tetapi memanggil API Anthropic, dan menetapkan `CLAUDE_CODE_USE_ANTHROPIC_AWS`22* **Claude Platform di AWS**: Anda membeli Claude melalui AWS Marketplace tetapi memanggil API Anthropic, dan menetapkan `CLAUDE_CODE_USE_ANTHROPIC_AWS`

23* **Platform Agent Google Cloud**: Dioperasikan Google; Anda menetapkan `CLAUDE_CODE_USE_VERTEX`23* **Platform Agent Google Cloud**: Dioperasikan Google; Anda menetapkan `CLAUDE_CODE_USE_VERTEX`

24* **Microsoft Foundry**: Dioperasikan Anthropic di Azure; Anda menetapkan `CLAUDE_CODE_USE_FOUNDRY`24* **Microsoft Foundry**: Dioperasikan Anthropic di Azure; Anda menetapkan `CLAUDE_CODE_USE_FOUNDRY`


29 29 

30Ini bekerja di setiap penyedia:30Ini bekerja di setiap penyedia:

31 31 

32* [CLI](/id/quickstart) dan [Agent SDK](/id/agent-sdk/overview)32* [CLI](/docs/id/quickstart) dan [Agent SDK](/docs/id/agent-sdk/overview)

33* Ekstensi [VS Code](/id/vs-code) dan [JetBrains](/id/jetbrains)33* Ekstensi [VS Code](/docs/id/vs-code) dan [JetBrains](/docs/id/jetbrains)

34* [Subagents](/id/sub-agents), [hooks](/id/hooks-guide), [commands](/id/commands), dan [skills](/id/skills)34* [Subagents](/docs/id/sub-agents), [hooks](/docs/id/hooks-guide), [commands](/docs/id/commands), dan [skills](/docs/id/skills)

35* Memori [CLAUDE.md](/id/memory), [plugins](/id/plugins), dan [server MCP](/id/mcp)35* Memori [CLAUDE.md](/docs/id/memory), [plugins](/docs/id/plugins), dan [server MCP](/docs/id/mcp)

36* [Checkpoints](/id/checkpointing), [sandboxing](/id/sandboxing), dan [Workflows](/id/workflows)36* [Checkpoints](/docs/id/checkpointing), [sandboxing](/docs/id/sandboxing), dan [Workflows](/docs/id/workflows)

37* Metrik [OpenTelemetry](/id/monitoring-usage) dan [file pengaturan terkelola](/id/settings#settings-files)37* Metrik [OpenTelemetry](/docs/id/monitoring-usage) dan [file pengaturan terkelola](/docs/id/settings#settings-files)

38 38 

39Tiga di antaranya memiliki perbedaan khusus penyedia:39Tiga di antaranya memiliki perbedaan khusus penyedia:

40 40 

41* **Server MCP**: [konektor dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) dimuat hanya ketika langganan claude.ai Anda adalah metode autentikasi aktif, dan [pencarian alat](/id/mcp#configure-tool-search) dimatikan secara default di Platform Agent Google Cloud dan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama41* **Server MCP**: [konektor dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) dimuat hanya ketika langganan claude.ai Anda adalah metode autentikasi aktif, dan [pencarian alat](/docs/id/mcp#configure-tool-search) dimatikan secara default di Platform Agent Google Cloud dan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama

42* **Subagents**: [subagent Explore](/id/sub-agents#built-in-subagents) bawaan membatasi model yang diwariskan pada Opus di Claude API, dan mewarisi model percakapan utama secara langsung di penyedia lain mana pun, termasuk Claude Platform di AWS42* **Subagents**: [subagent Explore](/docs/id/sub-agents#built-in-subagents) bawaan membatasi model yang diwariskan pada Opus di Claude API, dan mewarisi model percakapan utama secara langsung di penyedia lain mana pun, termasuk Claude Platform di AWS

43* **[Commands](/id/commands#all-commands)**: `/design-sync` dan `/radio` tidak tersedia di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, dan `/voice` memerlukan akun claude.ai43* **[Commands](/docs/id/commands#all-commands)**: `/design-sync` dan `/radio` tidak tersedia di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, dan `/voice` memerlukan akun claude.ai

44 44 

45<h3 id="features-that-require-a-claude-subscription">45<h3 id="features-that-require-a-claude-subscription">

46 Fitur yang memerlukan langganan Claude46 Fitur yang memerlukan langganan Claude


48 48 

49Ini memerlukan masuk dengan akun claude.ai dan tidak dapat dijangkau dengan kunci API Anthropic Console atau dari penyedia pihak ketiga:49Ini memerlukan masuk dengan akun claude.ai dan tidak dapat dijangkau dengan kunci API Anthropic Console atau dari penyedia pihak ketiga:

50 50 

51* [Claude Code di web](/id/claude-code-on-the-web), Claude Code di mobile, dan [Claude Code di Slack](/id/slack)51* [Claude Code di web](/docs/id/claude-code-on-the-web), Claude Code di mobile, dan [Claude Code di Slack](/docs/id/slack)

52* [Claude Code Desktop](/id/desktop)52* [Claude Code Desktop](/docs/id/desktop)

53* [Routines](/id/routines) (`/schedule`)53* [Routines](/docs/id/routines) (`/schedule`)

54* [Ultraplan](/id/ultraplan) dan [Ultrareview](/id/ultrareview)54* [Ultraplan](/docs/id/ultraplan) dan [Ultrareview](/docs/id/ultrareview)

55* [Code Review](/id/code-review): paket Team dan Enterprise55* [Code Review](/docs/id/code-review): paket Team dan Enterprise

56* [Remote Control](/id/remote-control)56* [Remote Control](/docs/id/remote-control)

57* [Ekstensi Chrome](/id/chrome)57* [Ekstensi Chrome](/docs/id/chrome)

58* [Computer use](/id/computer-use): paket Pro dan Max58* [Computer use](/docs/id/computer-use): paket Pro dan Max

59* [Artifacts](/id/artifacts): paket Pro, Max, Team, dan Enterprise59* [Artifacts](/docs/id/artifacts): paket Pro, Max, Team, dan Enterprise

60* [Voice dictation](/id/voice-dictation)60* [Voice dictation](/docs/id/voice-dictation)

61 61 

62Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](/id/llm-gateway-connect#desktop-app), deployment Enterprise dapat merutekan Desktop ke Platform Agent Google Cloud atau penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration), dan [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).62Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](/docs/id/llm-gateway-connect#desktop-app), deployment Enterprise dapat merutekan Desktop ke Platform Agent Google Cloud atau penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration), dan [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).

63 63 

64<h3 id="cli-capabilities-that-vary-by-provider">64<h3 id="cli-capabilities-that-vary-by-provider">

65 Kemampuan CLI yang bervariasi per penyedia65 Kemampuan CLI yang bervariasi per penyedia


82 82 

83 <tbody>83 <tbody>

84 <tr>84 <tr>

85 <td>[Web search](/id/tools-reference#websearch-tool-behavior)</td>85 <td>[Web search](/docs/id/tools-reference#websearch-tool-behavior)</td>

86 <td>✓</td>86 <td>✓</td>

87 <td>✓</td>87 <td>✓</td>

88 <td>✗</td>88 <td>✗</td>


92 </tr>92 </tr>

93 93 

94 <tr>94 <tr>

95 <td>[Fast mode](/id/fast-mode)</td>95 <td>[Fast mode](/docs/id/fast-mode)</td>

96 <td>✓</td>96 <td>✓</td>

97 <td>✓</td>97 <td>✓</td>

98 <td>✗</td>98 <td>✗</td>


102 </tr>102 </tr>

103 103 

104 <tr>104 <tr>

105 <td>[Auto mode](/id/auto-mode-config)</td>105 <td>[Auto mode](/docs/id/auto-mode-config)</td>

106 <td>✓</td>106 <td>✓</td>

107 <td>✓</td>107 <td>✓</td>

108 <td>Lihat catatan <sup><a href="#fn2">2</a></sup></td>108 <td>Lihat catatan <sup><a href="#fn2">2</a></sup></td>


112 </tr>112 </tr>

113 113 

114 <tr>114 <tr>

115 <td>[Advisor](/id/advisor)</td>115 <td>[Advisor](/docs/id/advisor)</td>

116 <td>✓</td>116 <td>✓</td>

117 <td>✓</td>117 <td>✓</td>

118 <td>✗</td>118 <td>✗</td>


122 </tr>122 </tr>

123 123 

124 <tr>124 <tr>

125 <td>[Channels](/id/channels)</td>125 <td>[Channels](/docs/id/channels)</td>

126 <td>✓</td>126 <td>✓</td>

127 <td>✓</td>127 <td>✓</td>

128 <td>✗</td>128 <td>✗</td>


132 </tr>132 </tr>

133 133 

134 <tr>134 <tr>

135 <td>[`/loop` scheduled tasks](/id/scheduled-tasks)</td>135 <td>[`/loop` scheduled tasks](/docs/id/scheduled-tasks)</td>

136 <td>✓</td>136 <td>✓</td>

137 <td>✓</td>137 <td>✓</td>

138 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>138 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>


142 </tr>142 </tr>

143 143 

144 <tr>144 <tr>

145 <td>[GitHub Actions](/id/github-actions) dan [GitLab CI/CD](/id/gitlab-ci-cd)</td>145 <td>[GitHub Actions](/docs/id/github-actions) dan [GitLab CI/CD](/docs/id/gitlab-ci-cd)</td>

146 <td>✓</td>146 <td>✓</td>

147 <td>✓</td>147 <td>✓</td>

148 <td>✓</td>148 <td>✓</td>


174 174 

175 <tbody>175 <tbody>

176 <tr>176 <tr>

177 <td>[Dashboard analitik dan API](/id/analytics)</td>177 <td>[Dashboard analitik dan API](/docs/id/analytics)</td>

178 <td>✓ (dashboard: Team dan Enterprise; API: Enterprise)</td>178 <td>✓ (dashboard: Team dan Enterprise; API: Enterprise)</td>

179 <td>✓ <sup><a href="#fn5">5</a></sup></td>179 <td>✓ <sup><a href="#fn5">5</a></sup></td>

180 <td>✗</td>180 <td>✗</td>


184 </tr>184 </tr>

185 185 

186 <tr>186 <tr>

187 <td>[Pengaturan terkelola server](/id/server-managed-settings)</td>187 <td>[Pengaturan terkelola server](/docs/id/server-managed-settings)</td>

188 <td>✓ (Team dan Enterprise)</td>188 <td>✓ (Team dan Enterprise)</td>

189 <td>✓ (Team dan Enterprise)</td>189 <td>✓ (Team dan Enterprise)</td>

190 <td>✗</td>190 <td>✗</td>


194 </tr>194 </tr>

195 195 

196 <tr>196 <tr>

197 <td>[Zero Data Retention](/id/zero-data-retention)</td>197 <td>[Zero Data Retention](/docs/id/zero-data-retention)</td>

198 <td>✓ (akun Enterprise yang memenuhi syarat)</td>198 <td>✓ (akun Enterprise yang memenuhi syarat)</td>

199 <td>✓ (akun yang memenuhi syarat)</td>199 <td>✓ (akun yang memenuhi syarat)</td>

200 <td>Lihat catatan <sup><a href="#fn4">4</a></sup></td>200 <td>Lihat catatan <sup><a href="#fn4">4</a></sup></td>


206</table>206</table>

207 207 

208<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Di Platform Agent Google Cloud, web search tersedia untuk model Claude 4 dan yang lebih baru.<br />208<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Di Platform Agent Google Cloud, web search tersedia untuk model Claude 4 dan yang lebih baru.<br />

209<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Di penyedia ini, auto mode mendukung hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Lihat [Konfigurasi Auto mode](/id/auto-mode-config). {/* min-version: 2.1.207 */}Di v2.1.158 hingga v2.1.206, auto mode di penyedia ini juga memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.<br />209<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Di penyedia ini, auto mode mendukung hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Lihat [Konfigurasi Auto mode](/docs/id/auto-mode-config). Di v2.1.158 hingga v2.1.206, auto mode di penyedia ini juga memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.<br />

210<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Interval eksplisit seperti `/loop every 2 hours` bekerja di setiap penyedia. Di Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry, `/loop` tidak dapat memilih interval sendiri atau menyediakan prompt pemeliharaan default, jadi prompt tanpa interval berjalan setiap 10 menit, dan `/loop` tanpa argumen menampilkan pesan penggunaan. Lihat [Scheduled tasks](/id/scheduled-tasks).<br />210<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Interval eksplisit seperti `/loop every 2 hours` bekerja di setiap penyedia. Di Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry, `/loop` tidak dapat memilih interval sendiri atau menyediakan prompt pemeliharaan default, jadi prompt tanpa interval berjalan setiap 10 menit, dan `/loop` tanpa argumen menampilkan pesan penggunaan. Lihat [Scheduled tasks](/docs/id/scheduled-tasks).<br />

211<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />211<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />

212<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Dashboard dan API saja. [Metrik kontribusi](/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.212<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Dashboard dan API saja. [Metrik kontribusi](/docs/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.

213 213 

214<Note>214<Note>

215 Jika Anda melakukan autentikasi melalui [gateway LLM](/id/llm-gateway), ketersediaan fitur cocok dengan penyedia yang mendasarinya yang gateway teruskan. Beberapa fitur khusus Anthropic seperti [Advisor](/id/advisor) hanya bekerja jika gateway meneruskan permintaan utuh ke API Anthropic.215 Jika Anda melakukan autentikasi melalui [gateway LLM](/docs/id/llm-gateway), ketersediaan fitur cocok dengan penyedia yang mendasarinya yang gateway teruskan. Beberapa fitur khusus Anthropic seperti [Advisor](/docs/id/advisor) hanya bekerja jika gateway meneruskan permintaan utuh ke API Anthropic.

216</Note>216</Note>

217 217 

218<h3 id="summary-by-provider">218<h3 id="summary-by-provider">

219 Ringkasan per penyedia219 Ringkasan per penyedia

220</h3>220</h3>

221 221 

222Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, terlepas dari [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.222Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, terlepas dari [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/docs/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.

223 223 

224<Tabs>224<Tabs>

225 <Tab title="Amazon Bedrock">225 <Tab title="Amazon Bedrock">

226 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](/id/tools-reference#websearch-tool-behavior), [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).226 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](/docs/id/tools-reference#websearch-tool-behavior), [fast mode](/docs/id/fast-mode), [Advisor](/docs/id/advisor), [Channels](/docs/id/channels), [dashboard analitik](/docs/id/analytics), [pengaturan terkelola server](/docs/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/docs/id/commands#all-commands).

227 227 

228 **Dukungan parsial:**228 **Dukungan parsial:**

229 229 

230 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)230 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

231 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja231 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

232 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja232 * [`/loop`](/docs/id/scheduled-tasks): interval eksplisit saja

233 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian AWS Anda233 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian AWS Anda

234 234 

235 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd). Untuk pencarian web, gunakan [alat WebFetch](/id/tools-reference#webfetch-tool-behavior) dengan URL spesifik.235 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/docs/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/docs/id/github-actions) atau [GitLab CI/CD](/docs/id/gitlab-ci-cd). Untuk pencarian web, gunakan [alat WebFetch](/docs/id/tools-reference#webfetch-tool-behavior) dengan URL spesifik.

236 </Tab>236 </Tab>

237 237 

238 <Tab title="Claude Platform di AWS">238 <Tab title="Claude Platform di AWS">

239 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).239 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/docs/id/fast-mode), [Advisor](/docs/id/advisor), [Channels](/docs/id/channels), [dashboard analitik](/docs/id/analytics), [pengaturan terkelola server](/docs/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/docs/id/commands#all-commands).

240 240 

241 **Tersedia di mana Amazon Bedrock tidak:** [web search](/id/tools-reference#websearch-tool-behavior).241 **Tersedia di mana Amazon Bedrock tidak:** [web search](/docs/id/tools-reference#websearch-tool-behavior).

242 242 

243 **Dukungan parsial:**243 **Dukungan parsial:**

244 244 

245 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja245 * [`/loop`](/docs/id/scheduled-tasks): interval eksplisit saja

246 246 

247 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd).247 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/docs/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/docs/id/github-actions) atau [GitLab CI/CD](/docs/id/gitlab-ci-cd).

248 </Tab>248 </Tab>

249 249 

250 <Tab title="Platform Agent Google Cloud">250 <Tab title="Platform Agent Google Cloud">

251 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).251 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/docs/id/fast-mode), [Advisor](/docs/id/advisor), [Channels](/docs/id/channels), [dashboard analitik](/docs/id/analytics), [pengaturan terkelola server](/docs/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/docs/id/commands#all-commands).

252 252 

253 **Dukungan parsial:**253 **Dukungan parsial:**

254 254 

255 * [Desktop](/id/desktop): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)255 * [Desktop](/docs/id/desktop): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

256 * [Web search](/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru256 * [Web search](/docs/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru

257 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja257 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

258 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja258 * [`/loop`](/docs/id/scheduled-tasks): interval eksplisit saja

259 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda259 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda

260 260 

261 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd).261 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/docs/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/docs/id/github-actions) atau [GitLab CI/CD](/docs/id/gitlab-ci-cd).

262 </Tab>262 </Tab>

263 263 

264 <Tab title="Microsoft Foundry">264 <Tab title="Microsoft Foundry">

265 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [GitHub Actions](/id/github-actions) dan [GitLab CI/CD](/id/gitlab-ci-cd), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).265 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/docs/id/fast-mode), [Advisor](/docs/id/advisor), [Channels](/docs/id/channels), [GitHub Actions](/docs/id/github-actions) dan [GitLab CI/CD](/docs/id/gitlab-ci-cd), [dashboard analitik](/docs/id/analytics), [pengaturan terkelola server](/docs/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/docs/id/commands#all-commands).

266 266 

267 **Dukungan parsial:**267 **Dukungan parsial:**

268 268 

269 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)269 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

270 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja270 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

271 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja271 * [`/loop`](/docs/id/scheduled-tasks): interval eksplisit saja

272 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Azure Anda272 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Azure Anda

273 273 

274 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`.274 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/docs/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`.

275 </Tab>275 </Tab>

276 276 

277 <Tab title="Anthropic Console">277 <Tab title="Anthropic Console">

278 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).278 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).

279 279 

280 Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, seperti [pengaturan terkelola server](/id/server-managed-settings) ketika kunci API milik organisasi Team atau Enterprise.280 Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, seperti [pengaturan terkelola server](/docs/id/server-managed-settings) ketika kunci API milik organisasi Team atau Enterprise.

281 </Tab>281 </Tab>

282</Tabs>282</Tabs>

283 283 


289 289 

290| Fitur | Pro | Max | Team | Enterprise |290| Fitur | Pro | Max | Team | Enterprise |

291| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |291| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |

292| [Claude Code di web](/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |292| [Claude Code di web](/docs/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

293| [Routines](/id/routines) | ✓ | ✓ | ✓ | ✓ |293| [Routines](/docs/id/routines) | ✓ | ✓ | ✓ | ✓ |

294| [Remote Control](/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |294| [Remote Control](/docs/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |

295| [Channels](/id/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |295| [Channels](/docs/id/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |

296| [Computer use](/id/computer-use) | ✓ | ✓ | ✗ | ✗ |296| [Computer use](/docs/id/computer-use) | ✓ | ✓ | ✗ | ✗ |

297| Dispatch ([Desktop](/id/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |297| Dispatch ([Desktop](/docs/id/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |

298| [Code Review](/id/code-review) | ✗ | ✗ | ✓ | ✓ |298| [Code Review](/docs/id/code-review) | ✗ | ✗ | ✓ | ✓ |

299| [Artifacts](/id/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |299| [Artifacts](/docs/id/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |

300| [Dashboard analitik dan metrik kontribusi](/id/analytics) | ✗ | ✗ | ✓ | ✓ |300| [Dashboard analitik dan metrik kontribusi](/docs/id/analytics) | ✗ | ✗ | ✓ | ✓ |

301| [Enterprise Analytics API](/id/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |301| [Enterprise Analytics API](/docs/id/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |

302| [Pengaturan terkelola server](/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |302| [Pengaturan terkelola server](/docs/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

303| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |303| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |

304| SCIM | ✗ | ✗ | ✗ | ✓ |304| SCIM | ✗ | ✗ | ✗ | ✓ |

305| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |305| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

306| [Zero Data Retention](/id/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |306| [Zero Data Retention](/docs/id/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

307 307 

308<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Claude Code di web](/id/claude-code-on-the-web).<br />308<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Claude Code di web](/docs/id/claude-code-on-the-web).<br />

309<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Tidak termasuk dalam paket Enterprise standar. Memerlukan aktivasi terpisah oleh Anthropic untuk akun yang memenuhi syarat. Lihat [Zero Data Retention](/id/zero-data-retention).309<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Tidak termasuk dalam paket Enterprise standar. Memerlukan aktivasi terpisah oleh Anthropic untuk akun yang memenuhi syarat. Lihat [Zero Data Retention](/docs/id/zero-data-retention).

310 310 

311Untuk harga dan perbandingan paket lengkap, lihat [Paket Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) dan [Paket Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).311Untuk harga dan perbandingan paket lengkap, lihat [Paket Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) dan [Paket Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

312 312 


314 Ketersediaan model314 Ketersediaan model

315</h2>315</h2>

316 316 

317Untuk model Claude mana dan ukuran jendela konteks yang tersedia per penyedia dan wilayah, lihat [Konfigurasi model](/id/model-config) dan [Ringkasan Model](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, input PDF, dan extended thinking adalah kemampuan model daripada fitur Claude Code dan bekerja di setiap penyedia yang menawarkan model. [Prompt caching](/id/prompt-caching) bekerja dengan cara yang sama di sebagian besar penyedia; di Amazon Bedrock, dukungan bervariasi menurut model.317Untuk model Claude mana dan ukuran jendela konteks yang tersedia per penyedia dan wilayah, lihat [Konfigurasi model](/docs/id/model-config) dan [Ringkasan Model](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, input PDF, dan extended thinking adalah kemampuan model daripada fitur Claude Code dan bekerja di setiap penyedia yang menawarkan model. [Prompt caching](/docs/id/prompt-caching) bekerja dengan cara yang sama di sebagian besar penyedia; di Amazon Bedrock, dukungan bervariasi menurut model.

318 318 

319<h2 id="related-resources">319<h2 id="related-resources">

320 Sumber daya terkait320 Sumber daya terkait

321</h2>321</h2>

322 322 

323* [Ringkasan deployment enterprise](/id/third-party-integrations): bandingkan autentikasi, penagihan, dan wilayah di seluruh penyedia323* [Ringkasan deployment enterprise](/docs/id/third-party-integrations): bandingkan autentikasi, penagihan, dan wilayah di seluruh penyedia

324* Panduan setup penyedia: [Amazon Bedrock](/id/amazon-bedrock), [Claude Platform di AWS](/id/claude-platform-on-aws), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry)324* Panduan setup penyedia: [Amazon Bedrock](/docs/id/amazon-bedrock), [Claude Platform di AWS](/docs/id/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry)

325* [Platform dan integrasi](/id/platforms): di mana Claude Code berjalan, termasuk CLI, Desktop, ekstensi IDE, web, mobile, dan CI/CD325* [Platform dan integrasi](/docs/id/platforms): di mana Claude Code berjalan, termasuk CLI, Desktop, ekstensi IDE, web, mobile, dan CI/CD

fullscreen.md +10 −10

Details

22 Aktifkan rendering fullscreen22 Aktifkan rendering fullscreen

23</h2>23</h2>

24 24 

25Jalankan `/tui fullscreen` di dalam percakapan Claude Code apa pun. CLI menyimpan pengaturan [`tui`](/id/settings#available-settings) dan meluncurkan kembali ke fullscreen dengan percakapan Anda tetap utuh, sehingga Anda dapat beralih di tengah sesi tanpa kehilangan konteks. Jalankan `/tui default` untuk beralih kembali ke renderer klasik, atau `/tui` tanpa argumen untuk mencetak renderer mana yang aktif.25Jalankan `/tui fullscreen` di dalam percakapan Claude Code apa pun. CLI menyimpan pengaturan [`tui`](/docs/id/settings#available-settings) dan meluncurkan kembali ke fullscreen dengan percakapan Anda tetap utuh, sehingga Anda dapat beralih di tengah sesi tanpa kehilangan konteks. Jalankan `/tui default` untuk beralih kembali ke renderer klasik, atau `/tui` tanpa argumen untuk mencetak renderer mana yang aktif.

26 26 

27Sesi yang diluncurkan kembali mempertahankan percakapan seperti yang muncul di layar. Jika Anda menjalankan [`/rewind`](/id/checkpointing#rewind-and-summarize) sebelumnya dalam sesi, peluncuran kembali dilanjutkan dari titik yang telah diputar balik daripada transkrip yang lebih panjang yang disimpan di disk. Sebelum v2.1.207, beralih renderer setelah rewind memulihkan percakapan yang telah dihapus oleh rewind.27Sesi yang diluncurkan kembali mempertahankan percakapan seperti yang muncul di layar. Jika Anda menjalankan [`/rewind`](/docs/id/checkpointing#rewind-and-summarize) sebelumnya dalam sesi, peluncuran kembali dilanjutkan dari titik yang telah diputar balik daripada transkrip yang lebih panjang yang disimpan di disk. Sebelum v2.1.207, beralih renderer setelah rewind memulihkan percakapan yang telah dihapus oleh rewind.

28 28 

29Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:29Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:

30 30 


90* Gulir ke bawah dengan roda mouse untuk melanjutkan mengikuti.90* Gulir ke bawah dengan roda mouse untuk melanjutkan mengikuti.

91* Ikat ulang `scroll:bottom` ke chord yang dapat dikirim keyboard Anda.91* Ikat ulang `scroll:bottom` ke chord yang dapat dikirim keyboard Anda.

92 92 

93Tindakan ini dapat diikat ulang. Lihat [Scroll actions](/id/keybindings#scroll-actions) untuk daftar lengkap nama tindakan, termasuk varian setengah halaman dan halaman penuh yang tidak memiliki pengikatan default.93Tindakan ini dapat diikat ulang. Lihat [Scroll actions](/docs/id/keybindings#scroll-actions) untuk daftar lengkap nama tindakan, termasuk varian setengah halaman dan halaman penuh yang tidak memiliki pengikatan default.

94 94 

95<h3 id="auto-follow">95<h3 id="auto-follow">

96 Auto-follow96 Auto-follow


100 100 

101Saat auto-follow dijeda, tampilan juga tetap di mana Anda menggulirnya ketika respons selesai streaming. Sebelum v2.1.207, tampilan dapat melompat di atas awal jawaban ketika respons panjang selesai streaming.101Saat auto-follow dijeda, tampilan juga tetap di mana Anda menggulirnya ketika respons selesai streaming. Sebelum v2.1.207, tampilan dapat melompat di atas awal jawaban ketika respons panjang selesai streaming.

102 102 

103Petunjuk keyboard tombol mencerminkan apa yang dapat dikirim keyboard Anda. Di macOS, tombol menyarankan untuk mengklik, atau `Fn+↓` untuk menggulir, karena `Ctrl+End` tidak menjangkau Claude Code dari keyboard Mac. Ikat ulang [`scroll:bottom`](/id/keybindings#scroll-actions) dan tombol menampilkan chord Anda di setiap platform. Sebelum v2.1.206, tombol menyarankan `Ctrl+End` di macOS.103Petunjuk keyboard tombol mencerminkan apa yang dapat dikirim keyboard Anda. Di macOS, tombol menyarankan untuk mengklik, atau `Fn+↓` untuk menggulir, karena `Ctrl+End` tidak menjangkau Claude Code dari keyboard Mac. Ikat ulang [`scroll:bottom`](/docs/id/keybindings#scroll-actions) dan tombol menampilkan chord Anda di setiap platform. Sebelum v2.1.206, tombol menyarankan `Ctrl+End` di macOS.

104 104 

105Pada terminal yang terlalu sempit untuk label lengkap, tombol memendekkan petunjuk alih-alih membungkus ke baris transkrip di bawahnya. Sebelum v2.1.206, label panjang dapat membungkus di atas transkrip.105Pada terminal yang terlalu sempit untuk label lengkap, tombol memendekkan petunjuk alih-alih membungkus ke baris transkrip di bawahnya. Sebelum v2.1.206, label panjang dapat membungkus di atas transkrip.

106 106 


126 126 

127Perintah menulis nilai yang sama yang ditetapkan variabel lingkungan `CLAUDE_CODE_SCROLL_SPEED`, disimpan ke `~/.claude/settings.json`. Perintah tidak tersedia di terminal IDE JetBrains.127Perintah menulis nilai yang sama yang ditetapkan variabel lingkungan `CLAUDE_CODE_SCROLL_SPEED`, disimpan ke `~/.claude/settings.json`. Perintah tidak tersedia di terminal IDE JetBrains.

128 128 

129Terpisah dari kecepatan dasar, Claude Code mempercepat laju scroll ketika Anda memutar roda dengan cepat, sehingga putaran cepat mencakup jarak lebih jauh daripada jumlah takik lambat yang sama. {/* min-version: 2.1.174 */}Untuk mematikan akselerasi dan mempertahankan laju konstan per takik, atur `wheelScrollAccelerationEnabled` ke `false` di [`settings.json`](/id/settings#available-settings). Pengaturan ini memerlukan Claude Code v2.1.174 atau lebih baru.129Terpisah dari kecepatan dasar, Claude Code mempercepat laju scroll ketika Anda memutar roda dengan cepat, sehingga putaran cepat mencakup jarak lebih jauh daripada jumlah takik lambat yang sama. Untuk mematikan akselerasi dan mempertahankan laju konstan per takik, atur `wheelScrollAccelerationEnabled` ke `false` di [`settings.json`](/docs/id/settings#available-settings). Pengaturan ini memerlukan Claude Code v2.1.174 atau lebih baru.

130 130 

131<h3 id="scroll-in-the-jetbrains-ide-terminal">131<h3 id="scroll-in-the-jetbrains-ide-terminal">

132 Scroll di terminal IDE JetBrains132 Scroll di terminal IDE JetBrains


187 187 

188Tidak setiap versi tmux menerapkan output yang disinkronkan dari aplikasi, jadi Anda mungkin melihat lebih banyak flicker selama redraw di bawah tmux dibandingkan saat menjalankan Claude Code langsung di terminal Anda. Jika flicker terlihat jelas, terutama melalui SSH, tingkatkan ke tmux terbaru atau jalankan Claude Code di tab terminal terpisahnya sendiri di luar tmux. Periksa versi tmux Anda dengan `tmux -V`.188Tidak setiap versi tmux menerapkan output yang disinkronkan dari aplikasi, jadi Anda mungkin melihat lebih banyak flicker selama redraw di bawah tmux dibandingkan saat menjalankan Claude Code langsung di terminal Anda. Jika flicker terlihat jelas, terutama melalui SSH, tingkatkan ke tmux terbaru atau jalankan Claude Code di tab terminal terpisahnya sendiri di luar tmux. Periksa versi tmux Anda dengan `tmux -V`.

189 189 

190{/* min-version: 2.1.200 */}Claude Code menghidupkan output yang disinkronkan secara otomatis ketika mendeteksi tmux 3.4 atau lebih baru dari variabel `TERM_PROGRAM_VERSION`, dan kembali ke pertanyaan terminal secara langsung untuk dukungan output yang disinkronkan ketika versi tidak dapat ditentukan. Apakah redraw benar-benar menjadi atomik tergantung pada versi tmux Anda menghormati output yang disinkronkan; jika Anda masih melihat flicker di bawah tmux 3.4 atau lebih baru, tingkatkan ke tmux terbaru. Deteksi ini memerlukan Claude Code v2.1.200 atau lebih baru.190Claude Code menghidupkan output yang disinkronkan secara otomatis ketika mendeteksi tmux 3.4 atau lebih baru dari variabel `TERM_PROGRAM_VERSION`, dan kembali ke pertanyaan terminal secara langsung untuk dukungan output yang disinkronkan ketika versi tidak dapat ditentukan. Apakah redraw benar-benar menjadi atomik tergantung pada versi tmux Anda menghormati output yang disinkronkan; jika Anda masih melihat flicker di bawah tmux 3.4 atau lebih baru, tingkatkan ke tmux terbaru. Deteksi ini memerlukan Claude Code v2.1.200 atau lebih baru.

191 191 

192<h2 id="keep-native-text-selection">192<h2 id="keep-native-text-selection">

193 Pertahankan pemilihan teks asli193 Pertahankan pemilihan teks asli


203 203 

204Di dalam tmux, ia juga menulis ke buffer pasta tmux. Melalui SSH, ia kembali ke urutan escape OSC 52. Claude Code mencetak toast setelah setiap salinan memberi tahu Anda jalur mana yang digunakan.204Di dalam tmux, ia juga menulis ke buffer pasta tmux. Melalui SSH, ia kembali ke urutan escape OSC 52. Claude Code mencetak toast setelah setiap salinan memberi tahu Anda jalur mana yang digunakan.

205 205 

206Beberapa terminal memblokir OSC 52 secara default. iTerm2 memblokirnya sampai Anda mengaktifkan Settings → General → Selection → Applications in terminal may access clipboard; menjalankan [`/terminal-setup`](/id/terminal-config) di iTerm2 mengaktifkan ini untuk Anda.206Beberapa terminal memblokir OSC 52 secara default. iTerm2 memblokirnya sampai Anda mengaktifkan Settings → General → Selection → Applications in terminal may access clipboard; menjalankan [`/terminal-setup`](/docs/id/terminal-config) di iTerm2 mengaktifkan ini untuk Anda.

207 207 

208Untuk pemilihan asli sekali pakai, kunci yang digunakan tergantung pada terminal Anda:208Untuk pemilihan asli sekali pakai, kunci yang digunakan tergantung pada terminal Anda:

209 209 


238 238 

239Rendering fullscreen mengirimkan hanya sel yang berubah antar frame. Beberapa terminal, paling umum Windows Terminal dan host berbasis ConPTY lainnya, menggabungkan penulisan yang diposisikan ini secara tidak benar dan meninggalkan fragmen output sebelumnya di layar hingga Anda mengubah ukuran jendela.239Rendering fullscreen mengirimkan hanya sel yang berubah antar frame. Beberapa terminal, paling umum Windows Terminal dan host berbasis ConPTY lainnya, menggabungkan penulisan yang diposisikan ini secara tidak benar dan meninggalkan fragmen output sebelumnya di layar hingga Anda mengubah ukuran jendela.

240 240 

241Atur [`CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1`](/id/env-vars) untuk mengecat ulang setiap sel pada setiap frame alih-alih mengirimkan pembaruan inkremental.241Atur [`CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1`](/docs/id/env-vars) untuk mengecat ulang setiap sel pada setiap frame alih-alih mengirimkan pembaruan inkremental.

242 242 

243Di Windows PowerShell:243Di Windows PowerShell:

244 244 


253CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1 claude253CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1 claude

254```254```

255 255 

256Di Windows, Claude Code sudah mengaktifkan full repaint secara otomatis untuk sesi latar belakang dan [agent view](/id/agent-view), jadi Anda hanya perlu mengatur variabel untuk sesi fullscreen interaktif yang Anda luncurkan secara langsung.256Di Windows, Claude Code sudah mengaktifkan full repaint secara otomatis untuk sesi latar belakang dan [agent view](/docs/id/agent-view), jadi Anda hanya perlu mengatur variabel untuk sesi fullscreen interaktif yang Anda luncurkan secara langsung.

257 257 

258<h2 id="research-preview">258<h2 id="research-preview">

259 Pratinjau penelitian259 Pratinjau penelitian


265 265 

266Untuk mematikan rendering fullscreen, jalankan `/tui default`, atau batalkan pengaturan `CLAUDE_CODE_NO_FLICKER` jika Anda mengaktifkannya dengan cara itu. Untuk memaksa renderer klasik terlepas dari pengaturan `tui` yang disimpan, atur `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Renderer klasik menjaga percakapan dalam scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux berfungsi seperti biasanya.266Untuk mematikan rendering fullscreen, jalankan `/tui default`, atau batalkan pengaturan `CLAUDE_CODE_NO_FLICKER` jika Anda mengaktifkannya dengan cara itu. Untuk memaksa renderer klasik terlepas dari pengaturan `tui` yang disimpan, atur `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Renderer klasik menjaga percakapan dalam scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux berfungsi seperti biasanya.

267 267 

268Sesi latar belakang yang dibuka dari [tampilan agen](/id/agent-view) atau `claude attach` selalu menggunakan rendering fullscreen. Terminal yang melampirkan memasuki buffer layar alternatif untuk menampilkan sesi, dan renderer klasik tidak memiliki scrollback atau penanganan mouse di sana, jadi pengaturan `tui` dan `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` tidak berlaku untuk mereka.268Sesi latar belakang yang dibuka dari [tampilan agen](/docs/id/agent-view) atau `claude attach` selalu menggunakan rendering fullscreen. Terminal yang melampirkan memasuki buffer layar alternatif untuk menampilkan sesi, dan renderer klasik tidak memiliki scrollback atau penanganan mouse di sana, jadi pengaturan `tui` dan `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` tidak berlaku untuk mereka.

Details

108 </Step>108 </Step>

109 109 

110 <Step title="Ikuti prompt wizard">110 <Step title="Ikuti prompt wizard">

111 Pilih cara Anda melakukan autentikasi ke Google Cloud: Application Default Credentials dari `gcloud`, file kunci akun layanan, atau kredensial yang sudah ada di lingkungan Anda. Wizard mendeteksi proyek dan wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan proyek Anda, dan memungkinkan Anda untuk mempinnya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](/id/settings), jadi Anda tidak perlu mengekspor variabel lingkungan sendiri.111 Pilih cara Anda melakukan autentikasi ke Google Cloud: Application Default Credentials dari `gcloud`, file kunci akun layanan, atau kredensial yang sudah ada di lingkungan Anda. Wizard mendeteksi proyek dan wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan proyek Anda, dan memungkinkan Anda untuk mempinnya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](/docs/id/settings), jadi Anda tidak perlu mengekspor variabel lingkungan sendiri.

112 </Step>112 </Step>

113</Steps>113</Steps>

114 114 

115Setelah Anda masuk, jalankan `/setup-vertex` kapan saja untuk membuka kembali wizard dan mengubah kredensial, proyek, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/id/env-vars#variables) diatur.115Setelah Anda masuk, jalankan `/setup-vertex` kapan saja untuk membuka kembali wizard dan mengubah kredensial, proyek, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars#variables) diatur.

116 116 

117<h2 id="region-configuration">117<h2 id="region-configuration">

118 Konfigurasi wilayah118 Konfigurasi wilayah


212export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1212export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1

213```213```

214 214 

215Sebagian besar versi model memiliki variabel `VERTEX_REGION_CLAUDE_*` yang sesuai. Lihat [referensi variabel lingkungan](/id/env-vars) untuk daftar lengkap. Periksa [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) untuk menentukan model mana yang mendukung titik akhir global versus regional saja.215Sebagian besar versi model memiliki variabel `VERTEX_REGION_CLAUDE_*` yang sesuai. Lihat [referensi variabel lingkungan](/docs/id/env-vars) untuk daftar lengkap. Periksa [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) untuk menentukan model mana yang mendukung titik akhir global versus regional saja.

216 216 

217[Prompt caching](/id/prompt-caching) diaktifkan secara otomatis. Untuk menonaktifkannya, atur `DISABLE_PROMPT_CACHING=1`. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`; penulisan cache dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi. Untuk batas laju yang lebih tinggi, hubungi dukungan Google Cloud. Saat menggunakan Google Cloud's Agent Platform, perintah `/logout` tidak tersedia karena autentikasi ditangani melalui kredensial Google Cloud.217[Prompt caching](/docs/id/prompt-caching) diaktifkan secara otomatis. Untuk menonaktifkannya, atur `DISABLE_PROMPT_CACHING=1`. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`; penulisan cache dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi. Untuk batas laju yang lebih tinggi, hubungi dukungan Google Cloud. Saat menggunakan Google Cloud's Agent Platform, perintah `/logout` tidak tersedia karena autentikasi ditangani melalui kredensial Google Cloud.

218 218 

219Claude Code menonaktifkan [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) secara default di Google Cloud's Agent Platform, sehingga definisi alat MCP dimuat di muka. Google Cloud's Agent Platform mendukung pencarian alat untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru. Atur `ENABLE_TOOL_SEARCH=true` untuk mengaktifkannya pada model tersebut. Model sebelumnya di Google Cloud's Agent Platform tidak menerima header beta yang diperlukan, dan permintaan gagal jika Anda mengaktifkan pencarian alat dengan model tersebut.219Claude Code menonaktifkan [pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) secara default di Google Cloud's Agent Platform, sehingga definisi alat MCP dimuat di muka. Google Cloud's Agent Platform mendukung pencarian alat untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru. Atur `ENABLE_TOOL_SEARCH=true` untuk mengaktifkannya pada model tersebut. Model sebelumnya di Google Cloud's Agent Platform tidak menerima header beta yang diperlukan, dan permintaan gagal jika Anda mengaktifkan pencarian alat dengan model tersebut.

220 220 

221<h3 id="5-pin-model-versions">221<h3 id="5-pin-model-versions">

222 5. Pin versi model222 5. Pin versi model


236export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'236export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

237```237```

238 238 

239Untuk ID model saat ini dan warisan, lihat [Ikhtisar Model](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Konfigurasi Model](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.239Untuk ID model saat ini dan warisan, lihat [Ikhtisar Model](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Konfigurasi Model](/docs/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.

240 240 

241Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:241Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

242 242 


254 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.254 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.

255</Warning>255</Warning>

256 256 

257{/* min-version: 2.1.207 */}Sebelum v2.1.207, model utama di Google Cloud's Agent Platform default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.257Sebelum v2.1.207, model utama di Google Cloud's Agent Platform default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.

258 258 

259Untuk menyesuaikan model lebih lanjut:259Untuk menyesuaikan model lebih lanjut:

260 260 


269 269 

270Ketika Claude Code dimulai dengan Google Cloud's Agent Platform dikonfigurasi, ia memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di proyek Anda.270Ketika Claude Code dimulai dengan Google Cloud's Agent Platform dikonfigurasi, ia memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di proyek Anda.

271 271 

272Jika Anda telah mempinkan versi model yang lebih lama dari default Claude Code saat ini, dan proyek Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya.272Jika Anda telah mempinkan versi model yang lebih lama dari default Claude Code saat ini, dan proyek Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/docs/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya.

273 273 

274Jika Anda belum mempinkan model dan default saat ini tidak tersedia di proyek Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Ia mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) atau [pin versi](#5-pin-model-versions) untuk membuat pilihan permanen.274Jika Anda belum mempinkan model dan default saat ini tidak tersedia di proyek Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Ia mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) atau [pin versi](#5-pin-model-versions) untuk membuat pilihan permanen.

275 275 


297 297 

298Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.298Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.

299 299 

300[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.300[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/docs/id/model-config#pin-models-for-third-party-deployments) untuk detail.

301 301 

302<h2 id="troubleshooting">302<h2 id="troubleshooting">

303 Pemecahan masalah303 Pemecahan masalah

headless.md +23 −23

Details

6 6 

7> Gunakan Agent SDK untuk menjalankan Claude Code secara programatis dari CLI, Python, atau TypeScript.7> Gunakan Agent SDK untuk menjalankan Claude Code secara programatis dari CLI, Python, atau TypeScript.

8 8 

9[Agent SDK](/id/agent-sdk/overview) memberikan Anda alat yang sama, loop agen, dan manajemen konteks yang mendukung Claude Code. Tersedia sebagai CLI untuk skrip dan CI/CD, atau sebagai paket [Python](/id/agent-sdk/python) dan [TypeScript](/id/agent-sdk/typescript) untuk kontrol programatis penuh.9[Agent SDK](/docs/id/agent-sdk/overview) memberikan Anda alat yang sama, loop agen, dan manajemen konteks yang mendukung Claude Code. Tersedia sebagai CLI untuk skrip dan CI/CD, atau sebagai paket [Python](/docs/id/agent-sdk/python) dan [TypeScript](/docs/id/agent-sdk/typescript) untuk kontrol programatis penuh.

10 10 

11Untuk menjalankan Claude Code dalam mode non-interaktif, berikan `-p` dengan prompt Anda dan [opsi CLI](/id/cli-reference) apa pun:11Untuk menjalankan Claude Code dalam mode non-interaktif, berikan `-p` dengan prompt Anda dan [opsi CLI](/docs/id/cli-reference) apa pun:

12 12 

13```bash theme={null}13```bash theme={null}

14claude -p "Find and fix the bug in auth.py" --allowedTools "Read,Edit,Bash"14claude -p "Find and fix the bug in auth.py" --allowedTools "Read,Edit,Bash"

15```15```

16 16 

17Halaman ini mencakup penggunaan Agent SDK melalui CLI (`claude -p`). Untuk paket SDK Python dan TypeScript dengan output terstruktur, callback persetujuan alat, dan objek pesan asli, lihat [dokumentasi Agent SDK lengkap](/id/agent-sdk/overview).17Halaman ini mencakup penggunaan Agent SDK melalui CLI (`claude -p`). Untuk paket SDK Python dan TypeScript dengan output terstruktur, callback persetujuan alat, dan objek pesan asli, lihat [dokumentasi Agent SDK lengkap](/docs/id/agent-sdk/overview).

18 18 

19<h2 id="basic-usage">19<h2 id="basic-usage">

20 Penggunaan dasar20 Penggunaan dasar

21</h2>21</h2>

22 22 

23Tambahkan bendera `-p` (atau `--print`) ke perintah `claude` apa pun untuk menjalankannya secara non-interaktif. Semua [opsi CLI](/id/cli-reference) bekerja dengan `-p`, termasuk:23Tambahkan bendera `-p` (atau `--print`) ke perintah `claude` apa pun untuk menjalankannya secara non-interaktif. Semua [opsi CLI](/docs/id/cli-reference) bekerja dengan `-p`, termasuk:

24 24 

25* `--continue` untuk [melanjutkan percakapan](#continue-conversations)25* `--continue` untuk [melanjutkan percakapan](#continue-conversations)

26* `--allowedTools` untuk [persetujuan otomatis alat](#auto-approve-tools)26* `--allowedTools` untuk [persetujuan otomatis alat](#auto-approve-tools)


36 Mulai lebih cepat dengan bare mode36 Mulai lebih cepat dengan bare mode

37</h3>37</h3>

38 38 

39Tambahkan `--bare` untuk mengurangi waktu startup dengan melewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md. Tanpanya, `claude -p` memuat [konteks](/id/how-claude-code-works#the-context-window) yang sama dengan sesi interaktif, termasuk apa pun yang dikonfigurasi di direktori kerja atau `~/.claude`.39Tambahkan `--bare` untuk mengurangi waktu startup dengan melewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md. Tanpanya, `claude -p` memuat [konteks](/docs/id/how-claude-code-works#the-context-window) yang sama dengan sesi interaktif, termasuk apa pun yang dikonfigurasi di direktori kerja atau `~/.claude`.

40 40 

41Bare mode berguna untuk CI dan skrip di mana Anda memerlukan hasil yang sama di setiap mesin. Hook di `~/.claude` rekan kerja atau server MCP di `.mcp.json` proyek tidak akan berjalan, karena bare mode tidak pernah membacanya. Hanya bendera yang Anda berikan secara eksplisit yang berlaku.41Bare mode berguna untuk CI dan skrip di mana Anda memerlukan hasil yang sama di setiap mesin. Hook di `~/.claude` rekan kerja atau server MCP di `.mcp.json` proyek tidak akan berjalan, karena bare mode tidak pernah membacanya. Hanya bendera yang Anda berikan secara eksplisit yang berlaku.

42 42 


66 Tugas latar belakang saat keluar66 Tugas latar belakang saat keluar

67</h3>67</h3>

68 68 

69Jika Claude memulai [tugas Bash latar belakang](/id/tools-reference#bash-tool-behavior) selama jalankan `claude -p`, misalnya server dev atau build watch, tugas tersebut dihentikan sekitar lima detik setelah Claude mengembalikan hasil akhirnya dan stdin telah ditutup. Periode grace memungkinkan tugas yang selesai tepat setelah hasil masih memberikan outputnya. Sebelum v2.1.163, proses latar belakang yang tidak pernah keluar akan membuat invokasi `claude -p` tetap terbuka tanpa batas.69Jika Claude memulai [tugas Bash latar belakang](/docs/id/tools-reference#bash-tool-behavior) selama jalankan `claude -p`, misalnya server dev atau build watch, tugas tersebut dihentikan sekitar lima detik setelah Claude mengembalikan hasil akhirnya dan stdin telah ditutup. Periode grace memungkinkan tugas yang selesai tepat setelah hasil masih memberikan outputnya. Sebelum v2.1.163, proses latar belakang yang tidak pernah keluar akan membuat invokasi `claude -p` tetap terbuka tanpa batas.

70 70 

71[Subagen](/id/sub-agents) latar belakang dan alur kerja dikecualikan dari grace lima detik karena hasil mereka adalah bagian dari output akhir, jadi `claude -p` menunggu mereka selesai. Dari v2.1.182, tunggu itu dibatasi pada sepuluh menit secara default sehingga agen latar belakang yang macet tidak dapat membuat proses tetap terbuka tanpa batas. Sesuaikan batas dengan [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/id/env-vars), atau atur ke `0` untuk menunggu tanpa batas.71[Subagen](/docs/id/sub-agents) latar belakang dan alur kerja dikecualikan dari grace lima detik karena hasil mereka adalah bagian dari output akhir, jadi `claude -p` menunggu mereka selesai. Dari v2.1.182, tunggu itu dibatasi pada sepuluh menit secara default sehingga agen latar belakang yang macet tidak dapat membuat proses tetap terbuka tanpa batas. Sesuaikan batas dengan [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/docs/id/env-vars), atau atur ke `0` untuk menunggu tanpa batas.

72 72 

73<h2 id="examples">73<h2 id="examples">

74 Contoh74 Contoh


88cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt88cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

89```89```

90 90 

91Dengan `--output-format json`, payload respons mencakup `total_cost_usd` dan rincian biaya per-model, sehingga pemanggil skrip dapat melacak pengeluaran per invokasi tanpa berkonsultasi dengan [dashboard penggunaan](/id/costs).91Dengan `--output-format json`, payload respons mencakup `total_cost_usd` dan rincian biaya per-model, sehingga pemanggil skrip dapat melacak pengeluaran per invokasi tanpa berkonsultasi dengan [dashboard penggunaan](/docs/id/costs).

92 92 

93<Note>93<Note>

94 Sejak Claude Code v2.1.128, stdin yang disalurkan dibatasi pada 10MB. Jika Anda melampaui batas, Claude Code keluar dengan kesalahan yang jelas dan status bukan nol. Untuk bekerja dengan input yang lebih besar, tulis konten ke file dan referensikan jalur file dalam prompt Anda alih-alih menyalurkannya.94 Sejak Claude Code v2.1.128, stdin yang disalurkan dibatasi pada 10MB. Jika Anda melampaui batas, Claude Code keluar dengan kesalahan yang jelas dan status bukan nol. Untuk bekerja dengan input yang lebih besar, tulis konten ke file dan referensikan jalur file dalam prompt Anda alih-alih menyalurkannya.


163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages

164```164```

165 165 

166Baris terakhir dari aliran adalah pesan `result` dengan teks respons akhir, biaya, dan metadata sesi. {/* min-version: 2.1.208 */}Sebelum v2.1.208, menyalurkan respons besar dapat memotong baris terakhir dan menghilangkan pesan `result`.166Baris terakhir dari aliran adalah pesan `result` dengan teks respons akhir, biaya, dan metadata sesi. Sebelum v2.1.208, menyalurkan respons besar dapat memotong baris terakhir dan menghilangkan pesan `result`.

167 167 

168Contoh berikut menggunakan [jq](https://jqlang.github.io/jq/) untuk memfilter delta teks dan menampilkan hanya teks streaming. Bendera `-r` menampilkan string mentah (tanpa tanda kutip) dan `-j` bergabung tanpa baris baru sehingga token streaming terus menerus:168Contoh berikut menggunakan [jq](https://jqlang.github.io/jq/) untuk memfilter delta teks dan menampilkan hanya teks streaming. Bendera `-r` menampilkan string mentah (tanpa tanda kutip) dan `-j` bergabung tanpa baris baru sehingga token streaming terus menerus:

169 169 


188 188 

189Acara `system/init` melaporkan metadata sesi termasuk model, alat, server MCP, dan plugin yang dimuat. Ini adalah acara pertama dalam aliran kecuali acara startup mendahuluinya:189Acara `system/init` melaporkan metadata sesi termasuk model, alat, server MCP, dan plugin yang dimuat. Ini adalah acara pertama dalam aliran kecuali acara startup mendahuluinya:

190 190 

191* Acara `plugin_install`, ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/id/env-vars) diatur.191* Acara `plugin_install`, ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/id/env-vars) diatur.

192* {/* min-version: 2.1.204 */}[Acara `hook_started`, `hook_progress`, dan `hook_response`](/id/agent-sdk/typescript#sdkhookstartedmessage), saat hook [`SessionStart`](/id/hooks#sessionstart) atau [`Setup`](/id/hooks#setup) yang dikonfigurasi berjalan. Ini streaming saat hook menghasilkannya. Claude Code v2.1.169 hingga v2.1.203 mengirimkannya dalam satu batch setelah hook selesai, masih sebelum `system/init`; v2.1.204 mengembalikan pengiriman langsung.192* [Acara `hook_started`, `hook_progress`, dan `hook_response`](/docs/id/agent-sdk/typescript#sdkhookstartedmessage), saat hook [`SessionStart`](/docs/id/hooks#sessionstart) atau [`Setup`](/docs/id/hooks#setup) yang dikonfigurasi berjalan. Ini streaming saat hook menghasilkannya. Claude Code v2.1.169 hingga v2.1.203 mengirimkannya dalam satu batch setelah hook selesai, masih sebelum `system/init`; v2.1.204 mengembalikan pengiriman langsung.

193 193 

194Acara ini juga membawa array `capabilities` opsional dari string yang menamai perilaku protokol yang diimplementasikan versi Claude Code ini, seperti `interrupt_receipt_v1`. Periksanya untuk mendeteksi fitur alih-alih membandingkan string versi, dan abaikan nilai yang tidak Anda kenali. Bidang ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada di versi sebelumnya. Lihat [`SDKSystemMessage`](/id/agent-sdk/typescript#sdksystemmessage) untuk daftar kemampuan.194Acara ini juga membawa array `capabilities` opsional dari string yang menamai perilaku protokol yang diimplementasikan versi Claude Code ini, seperti `interrupt_receipt_v1`. Periksanya untuk mendeteksi fitur alih-alih membandingkan string versi, dan abaikan nilai yang tidak Anda kenali. Bidang ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada di versi sebelumnya. Lihat [`SDKSystemMessage`](/docs/id/agent-sdk/typescript#sdksystemmessage) untuk daftar kemampuan.

195 195 

196Gunakan bidang plugin untuk gagal CI ketika plugin tidak dimuat:196Gunakan bidang plugin untuk gagal CI ketika plugin tidak dimuat:

197 197 


200| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |200| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |

201| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang terpengaruh diturunkan dan tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |201| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang terpengaruh diturunkan dan tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |

202 202 

203Ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/id/env-vars) diatur, Claude Code memancarkan acara `system/plugin_install` saat plugin marketplace dipasang sebelum giliran pertama. Gunakan ini untuk menampilkan kemajuan pemasangan di UI Anda sendiri.203Ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/id/env-vars) diatur, Claude Code memancarkan acara `system/plugin_install` saat plugin marketplace dipasang sebelum giliran pertama. Gunakan ini untuk menampilkan kemajuan pemasangan di UI Anda sendiri.

204 204 

205| Bidang | Tipe | Deskripsi |205| Bidang | Tipe | Deskripsi |

206| ------------ | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |206| ------------ | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |


212| `uuid` | string | pengidentifikasi acara unik |212| `uuid` | string | pengidentifikasi acara unik |

213| `session_id` | string | sesi yang dimiliki acara |213| `session_id` | string | sesi yang dimiliki acara |

214 214 

215Untuk streaming programatis dengan callback dan objek pesan, lihat [Stream responses in real-time](/id/agent-sdk/streaming-output) dalam dokumentasi Agent SDK.215Untuk streaming programatis dengan callback dan objek pesan, lihat [Stream responses in real-time](/docs/id/agent-sdk/streaming-output) dalam dokumentasi Agent SDK.

216 216 

217<h3 id="auto-approve-tools">217<h3 id="auto-approve-tools">

218 Persetujuan otomatis alat218 Persetujuan otomatis alat


225 --allowedTools "Bash,Read,Edit"225 --allowedTools "Bash,Read,Edit"

226```226```

227 227 

228Untuk menetapkan baseline untuk seluruh sesi alih-alih mencantumkan alat individual, berikan [mode izin](/id/permission-modes). `dontAsk` menolak apa pun yang tidak ada dalam aturan `permissions.allow` Anda atau [set perintah read-only](/id/permissions#read-only-commands), yang berguna untuk CI runs yang terkunci. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan ketika aturan allow cocok.228Untuk menetapkan baseline untuk seluruh sesi alih-alih mencantumkan alat individual, berikan [mode izin](/docs/id/permission-modes). `dontAsk` menolak apa pun yang tidak ada dalam aturan `permissions.allow` Anda atau [set perintah read-only](/docs/id/permissions#read-only-commands), yang berguna untuk CI runs yang terkunci. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan ketika aturan allow cocok.

229 229 

230`acceptEdits` memungkinkan Claude menulis file tanpa meminta dan juga persetujuan otomatis perintah filesystem umum seperti `mkdir`, `touch`, `mv`, dan `cp`. Perintah shell lainnya dan permintaan jaringan masih memerlukan entri `--allowedTools` atau aturan `permissions.allow`, jika tidak run akan berhenti ketika salah satu dicoba:230`acceptEdits` memungkinkan Claude menulis file tanpa meminta dan juga persetujuan otomatis perintah filesystem umum seperti `mkdir`, `touch`, `mv`, dan `cp`. Perintah shell lainnya dan permintaan jaringan masih memerlukan entri `--allowedTools` atau aturan `permissions.allow`, jika tidak run akan berhenti ketika salah satu dicoba:

231 231 


244 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"244 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"

245```245```

246 246 

247Bendera `--allowedTools` menggunakan [sintaks aturan izin](/id/settings#permission-rule-syntax). Spasi di akhir ` *` memungkinkan pencocokan awalan, jadi `Bash(git diff *)` memungkinkan perintah apa pun yang dimulai dengan `git diff`. Spasi sebelum `*` penting: tanpanya, `Bash(git diff*)` juga akan cocok dengan `git diff-index`.247Bendera `--allowedTools` menggunakan [sintaks aturan izin](/docs/id/settings#permission-rule-syntax). Spasi di akhir ` *` memungkinkan pencocokan awalan, jadi `Bash(git diff *)` memungkinkan perintah apa pun yang dimulai dengan `git diff`. Spasi sebelum `*` penting: tanpanya, `Bash(git diff*)` juga akan cocok dengan `git diff-index`.

248 248 

249<Note>249<Note>

250 [skills](/id/skills) yang dipanggil pengguna dan perintah kustom bekerja dalam mode `-p`: sertakan `/skill-name` dalam string prompt dan Claude Code memperluasnya sebelum menjalankan. Perintah bawaan yang hanya berjalan di antarmuka terminal, seperti `/login`, tidak tersedia dalam mode `-p`. {/* min-version: 2.1.205 */}`/model`, `/effort`, `/fast`, `/color`, dan `/rename` menerima nilai sebagai argumen, misalnya `/model sonnet`, dan `/mcp` tanpa argumen mencetak ringkasan teks status server; bentuk-bentuk ini memerlukan Claude Code v2.1.205 atau lebih baru dan mengikuti [catatan ketersediaan](/id/commands#all-commands) setiap perintah. {/* min-version: 2.1.181 */}Untuk mengubah pengaturan dari invokasi `-p`, berikan `key=value` ke `/config`, misalnya `/config thinking=false`.250 [skills](/docs/id/skills) yang dipanggil pengguna dan perintah kustom bekerja dalam mode `-p`: sertakan `/skill-name` dalam string prompt dan Claude Code memperluasnya sebelum menjalankan. Perintah bawaan yang hanya berjalan di antarmuka terminal, seperti `/login`, tidak tersedia dalam mode `-p`. `/model`, `/effort`, `/fast`, `/color`, dan `/rename` menerima nilai sebagai argumen, misalnya `/model sonnet`, dan `/mcp` tanpa argumen mencetak ringkasan teks status server; bentuk-bentuk ini memerlukan Claude Code v2.1.205 atau lebih baru dan mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah. Untuk mengubah pengaturan dari invokasi `-p`, berikan `key=value` ke `/config`, misalnya `/config thinking=false`.

251</Note>251</Note>

252 252 

253<h3 id="customize-the-system-prompt">253<h3 id="customize-the-system-prompt">


262 --output-format json262 --output-format json

263```263```

264 264 

265Lihat [system prompt flags](/id/cli-reference#system-prompt-flags) untuk opsi lebih lanjut termasuk `--system-prompt` untuk sepenuhnya mengganti prompt default.265Lihat [system prompt flags](/docs/id/cli-reference#system-prompt-flags) untuk opsi lebih lanjut termasuk `--system-prompt` untuk sepenuhnya mengganti prompt default.

266 266 

267<h3 id="continue-conversations">267<h3 id="continue-conversations">

268 Lanjutkan percakapan268 Lanjutkan percakapan


286claude -p "Continue that review" --resume "$session_id"286claude -p "Continue that review" --resume "$session_id"

287```287```

288 288 

289Jalankan kedua perintah dari direktori yang sama: pencarian ID sesi dibatasi pada direktori proyek saat ini dan git worktrees-nya. Lihat [Resume a session](/id/sessions#resume-a-session) untuk aturan cakupan lengkap.289Jalankan kedua perintah dari direktori yang sama: pencarian ID sesi dibatasi pada direktori proyek saat ini dan git worktrees-nya. Lihat [Resume a session](/docs/id/sessions#resume-a-session) untuk aturan cakupan lengkap.

290 290 

291<h2 id="next-steps">291<h2 id="next-steps">

292 Langkah berikutnya292 Langkah berikutnya

293</h2>293</h2>

294 294 

295* [Agent SDK quickstart](/id/agent-sdk/quickstart): bangun agen pertama Anda dengan Python atau TypeScript295* [Agent SDK quickstart](/docs/id/agent-sdk/quickstart): bangun agen pertama Anda dengan Python atau TypeScript

296* [CLI reference](/id/cli-reference): semua bendera dan opsi CLI296* [CLI reference](/docs/id/cli-reference): semua bendera dan opsi CLI

297* [GitHub Actions](/id/github-actions): gunakan Agent SDK dalam alur kerja GitHub297* [GitHub Actions](/docs/id/github-actions): gunakan Agent SDK dalam alur kerja GitHub

298* [GitLab CI/CD](/id/gitlab-ci-cd): gunakan Agent SDK dalam pipeline GitLab298* [GitLab CI/CD](/docs/id/gitlab-ci-cd): gunakan Agent SDK dalam pipeline GitLab

hooks.md +9 −9

Details

326 326 

327Semua matching hooks dijalankan secara paralel, dan handler identik dideduplikasi secara otomatis. Command hooks dideduplikasi berdasarkan string perintah dan `args`, dan HTTP hooks dideduplikasi berdasarkan URL.327Semua matching hooks dijalankan secara paralel, dan handler identik dideduplikasi secara otomatis. Command hooks dideduplikasi berdasarkan string perintah dan `args`, dan HTTP hooks dideduplikasi berdasarkan URL.

328 328 

329Handlers dijalankan di direktori saat ini dengan lingkungan Claude Code. Variabel lingkungan `$CLAUDE_CODE_REMOTE` diatur ke `"true"` di lingkungan web jarak jauh dan tidak diatur di CLI lokal. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/id/env-vars) diatur ke [Remote Control](/docs/id/remote-control) session ID saat sesi lokal memiliki koneksi Remote Control yang aktif.329Handlers dijalankan di direktori saat ini dengan lingkungan Claude Code. Variabel lingkungan `$CLAUDE_CODE_REMOTE` diatur ke `"true"` di lingkungan web jarak jauh dan tidak diatur di CLI lokal. Mulai dari v2.1.199, [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/id/env-vars) diatur ke [Remote Control](/docs/id/remote-control) session ID saat sesi lokal memiliki koneksi Remote Control yang aktif.

330 330 

331<h4 id="common-fields">331<h4 id="common-fields">

332 Bidang umum332 Bidang umum


644| Bidang | Deskripsi |644| Bidang | Deskripsi |

645| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |645| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

646| `session_id` | Pengenal sesi saat ini |646| `session_id` | Pengenal sesi saat ini |

647| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada events OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes), sehingga Anda dapat menghubungkan output hook dengan telemetri untuk satu prompt. Tidak ada sampai input pengguna pertama. {/* min-version: 2.1.196 */}Memerlukan Claude Code v2.1.196 atau lebih baru |647| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada events OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes), sehingga Anda dapat menghubungkan output hook dengan telemetri untuk satu prompt. Tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru |

648| `transcript_path` | Path ke JSON percakapan. File transkrip ditulis secara asinkron dan mungkin tertinggal dari percakapan dalam memori, jadi mungkin belum menyertakan pesan terbaru giliran saat ini ketika hook dijalankan. Hooks yang memerlukan teks asisten akhir dari giliran saat ini harus menggunakan `last_assistant_message` pada [Stop](#stop) dan [SubagentStop](#subagentstop) alih-alih membaca transkrip |648| `transcript_path` | Path ke JSON percakapan. File transkrip ditulis secara asinkron dan mungkin tertinggal dari percakapan dalam memori, jadi mungkin belum menyertakan pesan terbaru giliran saat ini ketika hook dijalankan. Hooks yang memerlukan teks asisten akhir dari giliran saat ini harus menggunakan `last_assistant_message` pada [Stop](#stop) dan [SubagentStop](#subagentstop) alih-alih membaca transkrip |

649| `cwd` | Direktori kerja saat hook dipanggil |649| `cwd` | Direktori kerja saat hook dipanggil |

650| `permission_mode` | [Mode izin](/docs/id/permissions#permission-modes) saat ini: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"`, atau `"bypassPermissions"`. Mode yang diberi label **Manual** tiba sebagai `"default"`, tidak pernah sebagai `"manual"`, jadi skrip yang cocok dengan `"default"` terus bekerja. Tidak semua events menerima bidang ini. Periksa contoh JSON di setiap bagian [hook event](#hook-events) |650| `permission_mode` | [Mode izin](/docs/id/permissions#permission-modes) saat ini: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"`, atau `"bypassPermissions"`. Mode yang diberi label **Manual** tiba sebagai `"default"`, tidak pernah sebagai `"manual"`, jadi skrip yang cocok dengan `"default"` terus bekerja. Tidak semua events menerima bidang ini. Periksa contoh JSON di setiap bagian [hook event](#hook-events) |


1569Dalam `PostToolUse`, `tool_response` untuk panggilan Agent yang selesai membawa teks akhir subagent bersama dengan telemetri penggunaan. Baca bidang-bidang ini untuk mencatat biaya per-subagent dari hook:1569Dalam `PostToolUse`, `tool_response` untuk panggilan Agent yang selesai membawa teks akhir subagent bersama dengan telemetri penggunaan. Baca bidang-bidang ini untuk mencatat biaya per-subagent dari hook:

1570 1570 

1571| Bidang | Tipe | Contoh | Deskripsi |1571| Bidang | Tipe | Contoh | Deskripsi |

1572| :------------------ | :----- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :------------------ | :----- | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1573| `status` | string | `"completed"` | `"completed"` untuk panggilan foreground subagents, `"async_launched"` untuk background subagents. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, subagents berjalan di latar belakang secara default, jadi `run_in_background` yang dihilangkan juga menghasilkan `"async_launched"` |1573| `status` | string | `"completed"` | `"completed"` untuk panggilan foreground subagents, `"async_launched"` untuk background subagents. Mulai dari v2.1.198, subagents berjalan di latar belakang secara default, jadi `run_in_background` yang dihilangkan juga menghasilkan `"async_launched"` |

1574| `agentId` | string | `"a4d2c8f1e0b3a297"` | Pengenal untuk run subagent |1574| `agentId` | string | `"a4d2c8f1e0b3a297"` | Pengenal untuk run subagent |

1575| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Blok teks akhir subagent |1575| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Blok teks akhir subagent |

1576| `resolvedModel` | string | `"claude-sonnet-4-5"` | Model yang dijalankan subagent, yang mungkin berbeda dari model yang diminta. {/* min-version: 2.1.174 */}Memerlukan Claude Code v2.1.174 atau lebih baru |1576| `resolvedModel` | string | `"claude-sonnet-4-5"` | Model yang dijalankan subagent, yang mungkin berbeda dari model yang diminta. Memerlukan Claude Code v2.1.174 atau lebih baru |

1577| `totalTokens` | number | `12450` | Total tokens yang ditagih di seluruh giliran subagent |1577| `totalTokens` | number | `12450` | Total tokens yang ditagih di seluruh giliran subagent |

1578| `totalDurationMs` | number | `48211` | Durasi wall-clock dari run subagent |1578| `totalDurationMs` | number | `48211` | Durasi wall-clock dari run subagent |

1579| `totalToolUseCount` | number | `7` | Jumlah pemanggilan tool yang dibuat subagent |1579| `totalToolUseCount` | number | `7` | Jumlah pemanggilan tool yang dibuat subagent |


1603Menyajikan rencana dan meminta pengguna untuk menyetujuinya sebelum Claude meninggalkan [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode). Claude menulis rencana ke file di disk sebelum memanggil tool, jadi `tool_input` literal dari model hanya membawa `allowedPrompts`. Claude Code menyuntikkan konten rencana dan path file sebelum meneruskan input ke hooks.1603Menyajikan rencana dan meminta pengguna untuk menyetujuinya sebelum Claude meninggalkan [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode). Claude menulis rencana ke file di disk sebelum memanggil tool, jadi `tool_input` literal dari model hanya membawa `allowedPrompts`. Claude Code menyuntikkan konten rencana dan path file sebelum meneruskan input ke hooks.

1604 1604 

1605| Bidang | Tipe | Contoh | Deskripsi |1605| Bidang | Tipe | Contoh | Deskripsi |

1606| :--------------- | :----- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1606| :--------------- | :----- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1607| `plan` | string | `"## Refactor auth\n1. Extract..."` | Konten rencana dalam Markdown. Disuntikkan dari file rencana di disk |1607| `plan` | string | `"## Refactor auth\n1. Extract..."` | Konten rencana dalam Markdown. Disuntikkan dari file rencana di disk |

1608| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Path ke file rencana. Disuntikkan |1608| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Path ke file rencana. Disuntikkan |

1609| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | {/* min-version: 2.1.205 */}Usang. Claude Code menerima bidang tetapi mengabaikannya. Sebelum v2.1.205, itu membawa izin berbasis prompt yang diminta Claude untuk mengimplementasikan rencana |1609| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Usang. Claude Code menerima bidang tetapi mengabaikannya. Sebelum v2.1.205, itu membawa izin berbasis prompt yang diminta Claude untuk mengimplementasikan rencana |

1610 1610 

1611Dalam `PostToolUse`, `tool_response` adalah objek dengan bidang `plan` dan `filePath` yang menyimpan rencana yang disetujui, ditambah flag status internal. Baca `tool_response.plan` untuk konten rencana daripada membaca ulang file dari disk.1611Dalam `PostToolUse`, `tool_response` adalah objek dengan bidang `plan` dan `filePath` yang menyimpan rencana yang disetujui, ditambah flag status internal. Baca `tool_response.plan` untuk konten rencana daripada membaca ulang file dari disk.

1612 1612 


1764Bidang output `updatedPermissions` dan bidang input [`permission_suggestions`](#permissionrequest-input) keduanya menggunakan array objek entry yang sama. Setiap entry memiliki `type` yang menentukan bidang lainnya, dan `destination` yang mengontrol di mana perubahan ditulis.1764Bidang output `updatedPermissions` dan bidang input [`permission_suggestions`](#permissionrequest-input) keduanya menggunakan array objek entry yang sama. Setiap entry memiliki `type` yang menentukan bidang lainnya, dan `destination` yang mengontrol di mana perubahan ditulis.

1765 1765 

1766| `type` | Bidang | Efek |1766| `type` | Bidang | Efek |

1767| :------------------ | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1767| :------------------ | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1768| `addRules` | `rules`, `behavior`, `destination` | Menambahkan aturan izin. `rules` adalah array dari objek `{toolName, ruleContent?}`. Hilangkan `ruleContent` untuk mencocokkan seluruh tool. `behavior` adalah `"allow"`, `"deny"`, atau `"ask"` |1768| `addRules` | `rules`, `behavior`, `destination` | Menambahkan aturan izin. `rules` adalah array dari objek `{toolName, ruleContent?}`. Hilangkan `ruleContent` untuk mencocokkan seluruh tool. `behavior` adalah `"allow"`, `"deny"`, atau `"ask"` |

1769| `replaceRules` | `rules`, `behavior`, `destination` | Mengganti semua aturan dari `behavior` yang diberikan di `destination` dengan `rules` yang disediakan |1769| `replaceRules` | `rules`, `behavior`, `destination` | Mengganti semua aturan dari `behavior` yang diberikan di `destination` dengan `rules` yang disediakan |

1770| `removeRules` | `rules`, `behavior`, `destination` | Menghapus aturan yang cocok dari `behavior` yang diberikan |1770| `removeRules` | `rules`, `behavior`, `destination` | Menghapus aturan yang cocok dari `behavior` yang diberikan |

1771| `setMode` | `mode`, `destination` | Mengubah mode izin. Mode yang valid adalah `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, dan {/* min-version: 2.1.200 */}`manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru |1771| `setMode` | `mode`, `destination` | Mengubah mode izin. Mode yang valid adalah `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, dan `manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru |

1772| `addDirectories` | `directories`, `destination` | Menambahkan direktori kerja. `directories` adalah array dari string path |1772| `addDirectories` | `directories`, `destination` | Menambahkan direktori kerja. `directories` adalah array dari string path |

1773| `removeDirectories` | `directories`, `destination` | Menghapus direktori kerja |1773| `removeDirectories` | `directories`, `destination` | Menghapus direktori kerja |

1774 1774 

Details

11</h2>11</h2>

12 12 

13<Note>13<Note>

14 Pintasan keyboard mungkin berbeda menurut platform dan terminal. Dalam [rendering fullscreen](/id/fullscreen), tekan `?` di penampil transkrip untuk melihat pintasan yang tersedia di sana.14 Pintasan keyboard mungkin berbeda menurut platform dan terminal. Dalam [rendering fullscreen](/docs/id/fullscreen), tekan `?` di penampil transkrip untuk melihat pintasan yang tersedia di sana.

15 15 

16 **Pengguna macOS**: Pintasan tombol Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) memerlukan konfigurasi Option sebagai Meta di terminal Anda:16 **Pengguna macOS**: Pintasan tombol Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) memerlukan konfigurasi Option sebagai Meta di terminal Anda:

17 17 


19 * **Apple Terminal**: Settings → Profiles → Keyboard → centang "Use Option as Meta Key"19 * **Apple Terminal**: Settings → Profiles → Keyboard → centang "Use Option as Meta Key"

20 * **VS Code**: atur `"terminal.integrated.macOptionIsMeta": true` dalam pengaturan VS Code20 * **VS Code**: atur `"terminal.integrated.macOptionIsMeta": true` dalam pengaturan VS Code

21 21 

22 Lihat [Konfigurasi terminal](/id/terminal-config) untuk detail.22 Lihat [Konfigurasi terminal](/docs/id/terminal-config) untuk detail.

23</Note>23</Note>

24 24 

25<h3 id="general-controls">25<h3 id="general-controls">


27</h3>27</h3>

28 28 

29| Pintasan | Deskripsi | Konteks |29| Pintasan | Deskripsi | Konteks |

30| :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |30| :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

31| `Ctrl+C` | Interupsi, atau hapus input | Mengganggu operasi yang sedang berjalan. Jika tidak ada yang berjalan, tekan pertama kali menghapus input prompt dan tekan kedua kali keluar dari Claude Code |31| `Ctrl+C` | Interupsi, atau hapus input | Mengganggu operasi yang sedang berjalan. Jika tidak ada yang berjalan, tekan pertama kali menghapus input prompt dan tekan kedua kali keluar dari Claude Code |

32| `Ctrl+X Ctrl+K` | Matikan semua [subagen latar belakang](/id/sub-agents#run-subagents-in-foreground-or-background) yang berjalan dalam sesi ini. Tekan dua kali dalam 3 detik untuk mengonfirmasi | Kontrol subagen |32| `Ctrl+X Ctrl+K` | Matikan semua [subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) yang berjalan dalam sesi ini. Tekan dua kali dalam 3 detik untuk mengonfirmasi | Kontrol subagen |

33| `Ctrl+D` | Keluar dari sesi Claude Code | Sinyal EOF |33| `Ctrl+D` | Keluar dari sesi Claude Code | Sinyal EOF |

34| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default. `Ctrl+X Ctrl+E` adalah binding readline-native. Aktifkan Show last response in external editor di `/config` untuk menambahkan respons Claude sebelumnya sebagai konteks berkomentar `#` di atas prompt Anda; blok komentar dihapus saat Anda menyimpan |34| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default. `Ctrl+X Ctrl+E` adalah binding readline-native. Aktifkan Show last response in external editor di `/config` untuk menambahkan respons Claude sebelumnya sebagai konteks berkomentar `#` di atas prompt Anda; blok komentar dihapus saat Anda menyimpan |

35| `Ctrl+L` | Gambar ulang layar | Memaksa redraw terminal penuh. Input dan riwayat percakapan disimpan. Gunakan ini untuk memulihkan jika tampilan menjadi berantakan atau sebagian kosong |35| `Ctrl+L` | Gambar ulang layar | Memaksa redraw terminal penuh. Input dan riwayat percakapan disimpan. Gunakan ini untuk memulihkan jika tampilan menjadi berantakan atau sebagian kosong |


37| `Ctrl+R` | Pencarian riwayat perintah terbalik | Cari melalui perintah sebelumnya secara interaktif |37| `Ctrl+R` | Pencarian riwayat perintah terbalik | Cari melalui perintah sebelumnya secara interaktif |

38| `Ctrl+V` atau `Cmd+V` (iTerm2) atau `Alt+V` (Windows dan WSL) | Tempel gambar dari clipboard | Menyisipkan chip `[Image #N]` di kursor sehingga Anda dapat mereferensikannya secara posisional dalam prompt Anda. Di WSL, baik `Ctrl+V` maupun `Alt+V` terikat; gunakan `Alt+V` jika terminal Anda menangkap `Ctrl+V` |38| `Ctrl+V` atau `Cmd+V` (iTerm2) atau `Alt+V` (Windows dan WSL) | Tempel gambar dari clipboard | Menyisipkan chip `[Image #N]` di kursor sehingga Anda dapat mereferensikannya secara posisional dalam prompt Anda. Di WSL, baik `Ctrl+V` maupun `Alt+V` terikat; gunakan `Alt+V` jika terminal Anda menangkap `Ctrl+V` |

39| `Ctrl+B` | Tugas yang berjalan di latar belakang | Menjalankan perintah bash dan agen di latar belakang. Pengguna Tmux tekan dua kali |39| `Ctrl+B` | Tugas yang berjalan di latar belakang | Menjalankan perintah bash dan agen di latar belakang. Pengguna Tmux tekan dua kali |

40| `Ctrl+T` | Alihkan daftar tugas Claude | Tampilkan atau sembunyikan [daftar tugas Claude](#task-list) di area status. Ini bukan tampilan tugas latar belakang; gunakan [`/tasks`](/id/commands) untuk melihat shell dan subagen yang berjalan |40| `Ctrl+T` | Alihkan daftar tugas Claude | Tampilkan atau sembunyikan [daftar tugas Claude](#task-list) di area status. Ini bukan tampilan tugas latar belakang; gunakan [`/tasks`](/docs/id/commands) untuk melihat shell dan subagen yang berjalan |

41| `Left/Right arrows` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu |41| `Left/Right arrows` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu |

42| `Up/Down arrows` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama-tama memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Mulai dari v2.1.169, input single-line yang dibungkus berperilaku sama dengan multiline |42| `Up/Down arrows` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama-tama memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Mulai dari v2.1.169, input single-line yang dibungkus berperilaku sama dengan multiline |

43| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah-tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang telah dilakukan sejauh ini. Ketika dialog seperti prompt izin terbuka, `Esc` menutup dialog daripada mengganggu Claude. {/* min-version: 2.1.202 */}Sebelum v2.1.202, `Esc` pada beberapa dialog mengganggu Claude dan membiarkan dialog tetap terbuka |43| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah-tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang telah dilakukan sejauh ini. Ketika dialog seperti prompt izin terbuka, `Esc` menutup dialog daripada mengganggu Claude. Sebelum v2.1.202, `Esc` pada beberapa dialog mengganggu Claude dan membiarkan dialog tetap terbuka |

44| `Esc` + `Esc` | Hapus draft input, atau putar ulang | Ketika input prompt berisi teks, tekan `Esc` dua kali menghapusnya dan menyimpan draft ke riwayat sehingga `Up` dapat mengingatnya. Ketika input kosong, tekan `Esc` dua kali membuka [menu putar ulang](/id/checkpointing) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |44| `Esc` + `Esc` | Hapus draft input, atau putar ulang | Ketika input prompt berisi teks, tekan `Esc` dua kali menghapusnya dan menyimpan draft ke riwayat sehingga `Up` dapat mengingatnya. Ketika input kosong, tekan `Esc` dua kali membuka [menu putar ulang](/docs/id/checkpointing) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |

45| `Shift+Tab` atau `Alt+M` (beberapa konfigurasi) | Alihkan mode izin | Beralih antara `default` (berlabel Manual dalam indikator mode), `acceptEdits`, `plan`, dan mode apa pun yang telah Anda aktifkan, seperti `auto` atau `bypassPermissions`. Lihat [permission modes](/id/permission-modes). |45| `Shift+Tab` atau `Alt+M` (beberapa konfigurasi) | Alihkan mode izin | Beralih antara `default` (berlabel Manual dalam indikator mode), `acceptEdits`, `plan`, dan mode apa pun yang telah Anda aktifkan, seperti `auto` atau `bypassPermissions`. Lihat [permission modes](/docs/id/permission-modes). |

46| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Alihkan model | Alihkan model tanpa menghapus prompt Anda |46| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Alihkan model | Alihkan model tanpa menghapus prompt Anda |

47| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan extended thinking | Aktifkan atau nonaktifkan mode extended thinking. Tidak berpengaruh pada Fable 5, yang selalu menggunakan extended thinking. Mulai dari v2.1.132 pintasan ini berfungsi di macOS tanpa mengonfigurasi Option sebagai Meta |47| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan extended thinking | Aktifkan atau nonaktifkan mode extended thinking. Tidak berpengaruh pada Fable 5, yang selalu menggunakan extended thinking. Mulai dari v2.1.132 pintasan ini berfungsi di macOS tanpa mengonfigurasi Option sebagai Meta |

48| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [fast mode](/id/fast-mode) |48| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [fast mode](/docs/id/fast-mode) |

49 49 

50<h3 id="text-editing">50<h3 id="text-editing">

51 Pengeditan teks51 Pengeditan teks


78| Metode | Pintasan | Konteks |78| Metode | Pintasan | Konteks |

79| :------------- | :-------------- | :------------------------------------------------------------------------------------------------------- |79| :------------- | :-------------- | :------------------------------------------------------------------------------------------------------- |

80| Escape cepat | `\` + `Enter` | Berfungsi di semua terminal |80| Escape cepat | `\` + `Enter` | Berfungsi di semua terminal |

81| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option as Meta](/id/terminal-config#enable-option-key-shortcuts-on-macos) di macOS |81| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option as Meta](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) di macOS |

82| Shift+Enter | `Shift+Enter` | Bawaan di iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal |82| Shift+Enter | `Shift+Enter` | Bawaan di iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal |

83| Urutan kontrol | `Ctrl+J` | Berfungsi di terminal apa pun tanpa konfigurasi |83| Urutan kontrol | `Ctrl+J` | Berfungsi di terminal apa pun tanpa konfigurasi |

84| Mode tempel | Tempel langsung | Untuk blok kode, log |84| Mode tempel | Tempel langsung | Untuk blok kode, log |


93 93 

94| Pintasan | Deskripsi | Catatan |94| Pintasan | Deskripsi | Catatan |

95| :---------- | :-------------------- | :---------------------------------------------------------------------------------------------------- |95| :---------- | :-------------------- | :---------------------------------------------------------------------------------------------------- |

96| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/id/skills) |96| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/docs/id/skills) |

97| `!` di awal | Mode Bash | Jalankan perintah secara langsung, tambahkan output eksekusi ke sesi, dan biarkan Claude meresponsnya |97| `!` di awal | Mode Bash | Jalankan perintah secara langsung, tambahkan output eksekusi ke sesi, dan biarkan Claude meresponsnya |

98| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file |98| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file |

99 99 


101 Penampil transkrip101 Penampil transkrip

102</h3>102</h3>

103 103 

104Ketika penampil transkrip terbuka (dialihkan dengan `Ctrl+O`), pintasan ini tersedia. Dalam [rendering fullscreen](/id/fullscreen), tekan `?` untuk menampilkan panel referensi pintasan keyboard lengkap di dalam penampil. `Ctrl+E` dapat diubah melalui [`transcript:toggleShowAll`](/id/keybindings).104Ketika penampil transkrip terbuka (dialihkan dengan `Ctrl+O`), pintasan ini tersedia. Dalam [rendering fullscreen](/docs/id/fullscreen), tekan `?` untuk menampilkan panel referensi pintasan keyboard lengkap di dalam penampil. `Ctrl+E` dapat diubah melalui [`transcript:toggleShowAll`](/docs/id/keybindings).

105 105 

106| Pintasan | Deskripsi |106| Pintasan | Deskripsi |

107| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |107| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

108| `?` | Alihkan panel bantuan pintasan keyboard. Memerlukan [rendering fullscreen](/id/fullscreen) |108| `?` | Alihkan panel bantuan pintasan keyboard. Memerlukan [rendering fullscreen](/docs/id/fullscreen) |

109| `{` / `}` | Lompat ke prompt pengguna sebelumnya atau berikutnya, seperti gerakan paragraf vim. Memerlukan [rendering fullscreen](/id/fullscreen) |109| `{` / `}` | Lompat ke prompt pengguna sebelumnya atau berikutnya, seperti gerakan paragraf vim. Memerlukan [rendering fullscreen](/docs/id/fullscreen) |

110| `Ctrl+E` | Alihkan tampilkan semua konten |110| `Ctrl+E` | Alihkan tampilkan semua konten |

111| `[` | Tulis percakapan lengkap ke scrollback asli terminal Anda sehingga `Cmd+F`, mode copy tmux, dan alat asli lainnya dapat mencarinya. Memerlukan [rendering fullscreen](/id/fullscreen#search-and-review-the-conversation) |111| `[` | Tulis percakapan lengkap ke scrollback asli terminal Anda sehingga `Cmd+F`, mode copy tmux, dan alat asli lainnya dapat mencarinya. Memerlukan [rendering fullscreen](/docs/id/fullscreen#search-and-review-the-conversation) |

112| `v` | Tulis percakapan ke file sementara dan buka di `$VISUAL` atau `$EDITOR`. Memerlukan [rendering fullscreen](/id/fullscreen) |112| `v` | Tulis percakapan ke file sementara dan buka di `$VISUAL` atau `$EDITOR`. Memerlukan [rendering fullscreen](/docs/id/fullscreen) |

113| `q`, `Ctrl+C`, `Esc` | Keluar dari tampilan transkrip. Ketiganya dapat diubah melalui [`transcript:exit`](/id/keybindings) |113| `q`, `Ctrl+C`, `Esc` | Keluar dari tampilan transkrip. Ketiganya dapat diubah melalui [`transcript:exit`](/docs/id/keybindings) |

114 114 

115<h3 id="voice-input">115<h3 id="voice-input">

116 Input suara116 Input suara


118 118 

119| Pintasan | Deskripsi | Catatan |119| Pintasan | Deskripsi | Catatan |

120| :----------------------- | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |120| :----------------------- | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

121| Tahan atau ketuk `Space` | Dictation suara | Memerlukan [voice dictation](/id/voice-dictation) untuk diaktifkan. Tahan untuk merekam, atau jalankan `/voice tap` untuk tap-to-toggle. [Dapat diubah](/id/voice-dictation#rebind-the-dictation-key) |121| Tahan atau ketuk `Space` | Dictation suara | Memerlukan [voice dictation](/docs/id/voice-dictation) untuk diaktifkan. Tahan untuk merekam, atau jalankan `/voice tap` untuk tap-to-toggle. [Dapat diubah](/docs/id/voice-dictation#rebind-the-dictation-key) |

122 122 

123<h2 id="commands">123<h2 id="commands">

124 Perintah124 Perintah

125</h2>125</h2>

126 126 

127Ketik `/` di Claude Code untuk melihat semua perintah yang tersedia, atau ketik `/` diikuti huruf apa pun untuk memfilter. Menu `/` menampilkan semua yang dapat Anda panggil: perintah bawaan, [skills](/id/skills) bundel dan yang ditulis pengguna, dan perintah yang disumbangkan oleh [plugins](/id/plugins) dan [MCP servers](/id/mcp#use-mcp-prompts-as-commands). Tidak semua perintah bawaan terlihat oleh setiap pengguna karena beberapa bergantung pada platform atau paket Anda.127Ketik `/` di Claude Code untuk melihat semua perintah yang tersedia, atau ketik `/` diikuti huruf apa pun untuk memfilter. Menu `/` menampilkan semua yang dapat Anda panggil: perintah bawaan, [skills](/docs/id/skills) bundel dan yang ditulis pengguna, dan perintah yang disumbangkan oleh [plugins](/docs/id/plugins) dan [MCP servers](/docs/id/mcp#use-mcp-prompts-as-commands). Tidak semua perintah bawaan terlihat oleh setiap pengguna karena beberapa bergantung pada platform atau paket Anda.

128 128 

129Dalam [rendering layar penuh](/id/fullscreen#use-the-mouse), daftar saran perintah `/` dan file `@` juga merespons mouse: mengarahkan kursor menyoroti baris dan mengklik menerimanya.129Dalam [rendering layar penuh](/docs/id/fullscreen#use-the-mouse), daftar saran perintah `/` dan file `@` juga merespons mouse: mengarahkan kursor menyoroti baris dan mengklik menerimanya.

130 130 

131Lihat [referensi perintah](/id/commands) untuk daftar lengkap perintah yang disertakan dalam Claude Code.131Lihat [referensi perintah](/docs/id/commands) untuk daftar lengkap perintah yang disertakan dalam Claude Code.

132 132 

133<h2 id="vim-editor-mode">133<h2 id="vim-editor-mode">

134 Mode editor Vim134 Mode editor Vim


156 Pemetaan ulang urutan kunci mode INSERT156 Pemetaan ulang urutan kunci mode INSERT

157</h3>157</h3>

158 158 

159Pengaturan [`vimInsertModeRemaps`](/id/settings#available-settings) memetakan urutan mode INSERT dua kunci ke Escape, sehingga pemetaan seperti `jj` mengembalikan Anda ke mode NORMAL. {/* min-version: 2.1.208 */}Memerlukan Claude Code v2.1.208 atau lebih baru.159Pengaturan [`vimInsertModeRemaps`](/docs/id/settings#available-settings) memetakan urutan mode INSERT dua kunci ke Escape, sehingga pemetaan seperti `jj` mengembalikan Anda ke mode NORMAL. Memerlukan Claude Code v2.1.208 atau lebih baru.

160 160 

161Contoh `~/.claude/settings.json` berikut mengaktifkan mode vim dan memetakan `jj` ke Escape:161Contoh `~/.claude/settings.json` berikut mengaktifkan mode vim dan memetakan `jj` ke Escape:

162 162 


171 171 

172Mengetik karakter pertama dari urutan menyisipkannya secara normal. Menekan karakter kedua dalam satu detik menghapus karakter yang tertunda itu dan beralih ke mode NORMAL, meninggalkan tidak ada karakter dalam input Anda. Setelah jendela satu detik, atau jika kunci yang berbeda mengikuti, kedua karakter tetap sebagai teks literal, sehingga Anda masih dapat mengetik kata yang berisi urutan dengan berhenti di antara dua kunci.172Mengetik karakter pertama dari urutan menyisipkannya secara normal. Menekan karakter kedua dalam satu detik menghapus karakter yang tertunda itu dan beralih ke mode NORMAL, meninggalkan tidak ada karakter dalam input Anda. Setelah jendela satu detik, atau jika kunci yang berbeda mengikuti, kedua karakter tetap sebagai teks literal, sehingga Anda masih dapat mengetik kata yang berisi urutan dengan berhenti di antara dua kunci.

173 173 

174Claude Code membaca pengaturan ini dari file pengaturan pengguna Anda, bendera `--settings`, dan [pengaturan yang dikelola](/id/permissions#managed-settings) saja. Entri dalam `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan, sehingga repositori yang diperiksa tidak dapat memetakan ulang penekanan tombol Anda.174Claude Code membaca pengaturan ini dari file pengaturan pengguna Anda, bendera `--settings`, dan [pengaturan yang dikelola](/docs/id/permissions#managed-settings) saja. Entri dalam `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan, sehingga repositori yang diperiksa tidak dapat memetakan ulang penekanan tombol Anda.

175 175 

176<h3 id="navigation-normal-mode">176<h3 id="navigation-normal-mode">

177 Navigasi (mode NORMAL)177 Navigasi (mode NORMAL)


316 316 

317* Output ditulis ke file dan Claude dapat mengambilnya menggunakan alat Read317* Output ditulis ke file dan Claude dapat mengambilnya menggunakan alat Read

318* Tugas latar belakang memiliki ID unik untuk pelacakan dan pengambilan output318* Tugas latar belakang memiliki ID unik untuk pelacakan dan pengambilan output

319* Tugas latar belakang dibersihkan secara otomatis ketika Claude Code keluar. Backgrounding sesi alih-alih keluar menyerahkannya ke sesi latar belakang, di mana mereka terus berjalan. Lihat [background a running session](/id/agent-view#from-inside-a-session)319* Tugas latar belakang dibersihkan secara otomatis ketika Claude Code keluar. Backgrounding sesi alih-alih keluar menyerahkannya ke sesi latar belakang, di mana mereka terus berjalan. Lihat [background a running session](/docs/id/agent-view#from-inside-a-session)

320* Tugas latar belakang secara otomatis dihentikan jika output melebihi 5GB, dengan catatan di stderr yang menjelaskan alasannya320* Tugas latar belakang secara otomatis dihentikan jika output melebihi 5GB, dengan catatan di stderr yang menjelaskan alasannya

321* Sejak v2.1.193, di macOS dan Linux, tugas latar belakang yang sedang berjalan dihentikan ketika sistem operasi menandakan tekanan memori, asalkan sesi telah idle selama minimal 30 menit tanpa turn atau subagent yang berjalan. Atur [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/id/env-vars) ke `1` untuk mematikannya321* Sejak v2.1.193, di macOS dan Linux, tugas latar belakang yang sedang berjalan dihentikan ketika sistem operasi menandakan tekanan memori, asalkan sesi telah idle selama minimal 30 menit tanpa turn atau subagent yang berjalan. Atur [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/id/env-vars) ke `1` untuk mematikannya

322 322 

323Untuk menonaktifkan semua fungsionalitas tugas latar belakang, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars) untuk detail.323Untuk menonaktifkan semua fungsionalitas tugas latar belakang, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/docs/id/env-vars) untuk detail.

324 324 

325**Perintah yang sering di-background:**325**Perintah yang sering di-background:**

326 326 


353* Keluar dengan `Escape`, `Backspace`, atau `Ctrl+U` pada prompt kosong353* Keluar dengan `Escape`, `Backspace`, atau `Ctrl+U` pada prompt kosong

354* Menempel teks yang dimulai dengan `!` ke prompt kosong memasuki mode shell secara otomatis, sesuai dengan perilaku `!` yang diketik354* Menempel teks yang dimulai dengan `!` ke prompt kosong memasuki mode shell secara otomatis, sesuai dengan perilaku `!` yang diketik

355 355 

356Sejak v2.1.186, Claude merespons output perintah secara otomatis setelah masuk ke transkrip, sehingga Anda dapat menjalankan `! npm test` dan mendapatkan penjelasan tentang kegagalan tanpa prompt kedua. Respons memiliki biaya yang sama dengan mengirim prompt normal. Untuk mengembalikan perilaku sebelumnya di mana output ditambahkan ke konteks tanpa respons, atur [`respondToBashCommands`](/id/settings#available-settings) ke `false` dalam `settings.json`. Sebelum v2.1.186, mode shell selalu menambahkan output ke konteks tanpa respons.356Sejak v2.1.186, Claude merespons output perintah secara otomatis setelah masuk ke transkrip, sehingga Anda dapat menjalankan `! npm test` dan mendapatkan penjelasan tentang kegagalan tanpa prompt kedua. Respons memiliki biaya yang sama dengan mengirim prompt normal. Untuk mengembalikan perilaku sebelumnya di mana output ditambahkan ke konteks tanpa respons, atur [`respondToBashCommands`](/docs/id/settings#available-settings) ke `false` dalam `settings.json`. Sebelum v2.1.186, mode shell selalu menambahkan output ke konteks tanpa respons.

357 357 

358Ini berguna untuk operasi shell cepat sambil mempertahankan konteks percakapan.358Ini berguna untuk operasi shell cepat sambil mempertahankan konteks percakapan.

359 359 


370 370 

371Saran berjalan sebagai permintaan latar belakang yang menggunakan kembali cache prompt percakapan induk, sehingga biaya tambahan minimal. Claude Code melewati pembuatan saran ketika cache dingin untuk menghindari biaya yang tidak perlu.371Saran berjalan sebagai permintaan latar belakang yang menggunakan kembali cache prompt percakapan induk, sehingga biaya tambahan minimal. Claude Code melewati pembuatan saran ketika cache dingin untuk menghindari biaya yang tidak perlu.

372 372 

373Saran secara otomatis dilewati setelah giliran pertama percakapan dan dalam Plan Mode. Dalam print mode, saran dimatikan secara default. Lewatkan [`--prompt-suggestions`](/id/cli-reference#cli-flags) dengan `--output-format stream-json --verbose` untuk mengeluarkan pesan `prompt_suggestion` setelah setiap giliran.373Saran secara otomatis dilewati setelah giliran pertama percakapan dan dalam Plan Mode. Dalam print mode, saran dimatikan secara default. Lewatkan [`--prompt-suggestions`](/docs/id/cli-reference#cli-flags) dengan `--output-format stream-json --verbose` untuk mengeluarkan pesan `prompt_suggestion` setelah setiap giliran.

374 374 

375Untuk menonaktifkan saran prompt sepenuhnya, atur variabel lingkungan atau alihkan pengaturan di `/config`:375Untuk menonaktifkan saran prompt sepenuhnya, atur variabel lingkungan atau alihkan pengaturan di `/config`:

376 376 


403| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |403| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

404| `Space`, `Enter`, `Escape` | Tutup jawaban dan kembali ke prompt |404| `Space`, `Enter`, `Escape` | Tutup jawaban dan kembali ke prompt |

405| `Up` / `Down` | Gulir jawaban |405| `Up` / `Down` | Gulir jawaban |

406| `Left` / `Right` | {/* min-version: 2.1.187 */}Langkah di antara jawaban `/btw` Anda dan jawaban sebelumnya dari sesi. `Left` bergerak ke jawaban yang lebih lama dan `Right` kembali ke arah yang saat ini. Memerlukan Claude Code v2.1.187 atau lebih baru |406| `Left` / `Right` | Langkah di antara jawaban `/btw` Anda dan jawaban sebelumnya dari sesi. `Left` bergerak ke jawaban yang lebih lama dan `Right` kembali ke arah yang saat ini. Memerlukan Claude Code v2.1.187 atau lebih baru |

407| `c` | Salin jawaban ke papan klip Anda sebagai Markdown mentah. Gunakan ini alih-alih pemilihan mouse, yang menangkap rendering terminal yang dibungkus keras daripada teks sumber |407| `c` | Salin jawaban ke papan klip Anda sebagai Markdown mentah. Gunakan ini alih-alih pemilihan mouse, yang menangkap rendering terminal yang dibungkus keras daripada teks sumber |

408| `f` | Pisahkan ke sesi baru. Pemisahan mewarisi percakapan induk ditambah pertanyaan dan jawaban ini sebagai giliran transkrip nyata, sehingga Anda dapat melanjutkan dengan akses alat penuh. Sesi asli disimpan di bawah [`/resume`](/id/commands). Tersedia hanya dalam sesi lokal |408| `f` | Pisahkan ke sesi baru. Pemisahan mewarisi percakapan induk ditambah pertanyaan dan jawaban ini sebagai giliran transkrip nyata, sehingga Anda dapat melanjutkan dengan akses alat penuh. Sesi asli disimpan di bawah [`/resume`](/docs/id/commands). Tersedia hanya dalam sesi lokal |

409| `x` | Hapus daftar pertukaran `/btw` sebelumnya yang ditampilkan di atas jawaban saat ini |409| `x` | Hapus daftar pertukaran `/btw` sebelumnya yang ditampilkan di atas jawaban saat ini |

410 410 

411`/btw` adalah kebalikan dari [subagent](/id/sub-agents): ia melihat percakapan lengkap Anda tetapi tidak memiliki alat, sementara subagent memiliki alat lengkap tetapi dimulai dengan konteks kosong. Gunakan `/btw` untuk bertanya tentang apa yang sudah diketahui Claude dari sesi ini; gunakan subagent untuk menemukan sesuatu yang baru.411`/btw` adalah kebalikan dari [subagent](/docs/id/sub-agents): ia melihat percakapan lengkap Anda tetapi tidak memiliki alat, sementara subagent memiliki alat lengkap tetapi dimulai dengan konteks kosong. Gunakan `/btw` untuk bertanya tentang apa yang sudah diketahui Claude dari sesi ini; gunakan subagent untuk menemukan sesuatu yang baru.

412 412 

413<h2 id="task-list">413<h2 id="task-list">

414 Daftar tugas414 Daftar tugas

415</h2>415</h2>

416 416 

417Daftar tugas adalah daftar periksa Claude: item yang dibuat Claude untuk merencanakan pekerjaan multi-langkah, dengan indikator yang menunjukkan apa yang tertunda, sedang berlangsung, atau selesai. Ini terpisah dari tampilan tugas latar belakang. Untuk melihat shell yang berjalan dan subagen, gunakan [`/tasks`](/id/commands) sebagai gantinya.417Daftar tugas adalah daftar periksa Claude: item yang dibuat Claude untuk merencanakan pekerjaan multi-langkah, dengan indikator yang menunjukkan apa yang tertunda, sedang berlangsung, atau selesai. Ini terpisah dari tampilan tugas latar belakang. Untuk melihat shell yang berjalan dan subagen, gunakan [`/tasks`](/docs/id/commands) sebagai gantinya.

418 418 

419* Tekan `Ctrl+T` untuk mengalihkan tampilan daftar tugas. Tampilan menampilkan hingga lima tugas sekaligus. Ketika Claude belum membuat item daftar periksa apa pun, toggle tidak memiliki efek visual karena tidak ada yang ditampilkan419* Tekan `Ctrl+T` untuk mengalihkan tampilan daftar tugas. Tampilan menampilkan hingga lima tugas sekaligus. Ketika Claude belum membuat item daftar periksa apa pun, toggle tidak memiliki efek visual karena tidak ada yang ditampilkan

420* Untuk melihat semua tugas atau menghapusnya, minta Claude secara langsung: "show me all tasks" atau "clear all tasks"420* Untuk melihat semua tugas atau menghapusnya, minta Claude secara langsung: "show me all tasks" atau "clear all tasks"


452 Lihat juga452 Lihat juga

453</h2>453</h2>

454 454 

455* [Skills](/id/skills) - Prompt dan alur kerja kustom455* [Skills](/docs/id/skills) - Prompt dan alur kerja kustom

456* [Checkpointing](/id/checkpointing) - Putar ulang pengeditan Claude dan kembalikan status sebelumnya456* [Checkpointing](/docs/id/checkpointing) - Putar ulang pengeditan Claude dan kembalikan status sebelumnya

457* [Referensi CLI](/id/cli-reference) - Bendera dan opsi baris perintah457* [Referensi CLI](/docs/id/cli-reference) - Bendera dan opsi baris perintah

458* [Pengaturan](/id/settings) - Opsi konfigurasi458* [Pengaturan](/docs/id/settings) - Opsi konfigurasi

459* [Manajemen memori](/id/memory) - Mengelola file CLAUDE.md459* [Manajemen memori](/docs/id/memory) - Mengelola file CLAUDE.md

keybindings.md +11 −11

Details

68| `Plugin` | Dialog plugin (jelajahi, temukan, kelola) |68| `Plugin` | Dialog plugin (jelajahi, temukan, kelola) |

69| `Scroll` | Pengguliran percakapan dan pemilihan teks dalam mode fullscreen |69| `Scroll` | Pengguliran percakapan dan pemilihan teks dalam mode fullscreen |

70 70 

71{/* max-version: 2.1.204 */}Sebelum v2.1.205, konteks `Doctor` dan tindakan `doctor:fix` ada untuk layar diagnostik `/doctor`.71Sebelum v2.1.205, konteks `Doctor` dan tindakan `doctor:fix` ada untuk layar diagnostik `/doctor`.

72 72 

73<h2 id="available-actions">73<h2 id="available-actions">

74 Tindakan yang tersedia74 Tindakan yang tersedia


87| `app:interrupt` | Ctrl+C | Batalkan operasi saat ini |87| `app:interrupt` | Ctrl+C | Batalkan operasi saat ini |

88| `app:exit` | Ctrl+D | Keluar dari Claude Code |88| `app:exit` | Ctrl+D | Keluar dari Claude Code |

89| `app:redraw` | (unbound) | Paksa terminal untuk digambar ulang |89| `app:redraw` | (unbound) | Paksa terminal untuk digambar ulang |

90| `app:toggleTodos` | Ctrl+T | Alihkan visibilitas daftar tugas Claude. Ini bukan tampilan background-task [`/tasks`](/id/commands) |90| `app:toggleTodos` | Ctrl+T | Alihkan visibilitas daftar tugas Claude. Ini bukan tampilan background-task [`/tasks`](/docs/id/commands) |

91| `app:toggleTranscript` | Ctrl+O | Alihkan transkrip verbose |91| `app:toggleTranscript` | Ctrl+O | Alihkan transkrip verbose |

92 92 

93<h3 id="history-actions">93<h3 id="history-actions">


111| Tindakan | Default | Deskripsi |111| Tindakan | Default | Deskripsi |

112| :-------------------- | :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |112| :-------------------- | :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `chat:cancel` | Escape | Batalkan input saat ini |113| `chat:cancel` | Escape | Batalkan input saat ini |

114| `chat:clearInput` | Ctrl+L | Paksa gambar ulang layar penuh, mempertahankan input. Dalam [rendering fullscreen](/id/fullscreen#clear-the-conversation), tekan dua kali dalam dua detik untuk menjalankan `/clear` |114| `chat:clearInput` | Ctrl+L | Paksa gambar ulang layar penuh, mempertahankan input. Dalam [rendering fullscreen](/docs/id/fullscreen#clear-the-conversation), tekan dua kali dalam dua detik untuk menjalankan `/clear` |

115| `chat:clearScreen` | Cmd+K | Dalam [rendering fullscreen](/id/fullscreen#clear-the-conversation), tekan dua kali dalam dua detik untuk menjalankan `/clear` |115| `chat:clearScreen` | Cmd+K | Dalam [rendering fullscreen](/docs/id/fullscreen#clear-the-conversation), tekan dua kali dalam dua detik untuk menjalankan `/clear` |

116| `chat:killAgents` | Ctrl+X Ctrl+K | Matikan semua [subagen latar belakang](/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi ini |116| `chat:killAgents` | Ctrl+X Ctrl+K | Matikan semua [subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi ini |

117| `chat:cycleMode` | Shift+Tab\* | Mode izin siklus |117| `chat:cycleMode` | Shift+Tab\* | Mode izin siklus |

118| `chat:modelPicker` | Meta+P | Buka pemilih model |118| `chat:modelPicker` | Meta+P | Buka pemilih model |

119| `chat:fastMode` | Meta+O | Alihkan mode cepat |119| `chat:fastMode` | Meta+O | Alihkan mode cepat |


200Tindakan yang tersedia dalam konteks `Task`:200Tindakan yang tersedia dalam konteks `Task`:

201 201 

202| Tindakan | Default | Deskripsi |202| Tindakan | Default | Deskripsi |

203| :---------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |203| :---------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------- |

204| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Tugas latar belakang saat ini. {/* min-version: 2.1.169 */}Akord Ctrl+X Ctrl+B memerlukan v2.1.169 atau lebih baru dan menghindari konflik awalan tmux |204| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Tugas latar belakang saat ini. Akord Ctrl+X Ctrl+B memerlukan v2.1.169 atau lebih baru dan menghindari konflik awalan tmux |

205 205 

206<h3 id="theme-actions">206<h3 id="theme-actions">

207 Tindakan tema207 Tindakan tema


357 Tindakan suara357 Tindakan suara

358</h3>358</h3>

359 359 

360Tindakan yang tersedia dalam konteks `Chat` ketika [dikte suara](/id/voice-dictation) diaktifkan:360Tindakan yang tersedia dalam konteks `Chat` ketika [dikte suara](/docs/id/voice-dictation) diaktifkan:

361 361 

362| Tindakan | Default | Deskripsi |362| Tindakan | Default | Deskripsi |

363| :----------------- | :------ | :--------------------------------------------- |363| :----------------- | :------ | :--------------------------------------------- |


367 Tindakan scroll367 Tindakan scroll

368</h3>368</h3>

369 369 

370Tindakan yang tersedia dalam konteks `Scroll` ketika [rendering fullscreen](/id/fullscreen) diaktifkan:370Tindakan yang tersedia dalam konteks `Scroll` ketika [rendering fullscreen](/docs/id/fullscreen) diaktifkan:

371 371 

372| Tindakan | Default | Deskripsi |372| Tindakan | Default | Deskripsi |

373| :-------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- |373| :-------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- |


526* **Keybindings** menangani tindakan pada tingkat komponen (alihkan todos, kirim, dll.)526* **Keybindings** menangani tindakan pada tingkat komponen (alihkan todos, kirim, dll.)

527* Tombol Escape dalam mode vim beralih dari INSERT ke mode NORMAL; itu tidak memicu `chat:cancel`527* Tombol Escape dalam mode vim beralih dari INSERT ke mode NORMAL; itu tidak memicu `chat:cancel`

528* Sebagian besar pintasan Ctrl+key melewati mode vim ke sistem keybinding528* Sebagian besar pintasan Ctrl+key melewati mode vim ke sistem keybinding

529* Kunci vim tidak dapat dipetakan ulang melalui file keybindings. Untuk memetakan urutan mode INSERT dua kunci seperti `jj` ke Escape, gunakan pengaturan [`vimInsertModeRemaps`](/id/interactive-mode#remap-insert-mode-key-sequences)529* Kunci vim tidak dapat dipetakan ulang melalui file keybindings. Untuk memetakan urutan mode INSERT dua kunci seperti `jj` ke Escape, gunakan pengaturan [`vimInsertModeRemaps`](/docs/id/interactive-mode#remap-insert-mode-key-sequences)

530* Dalam mode NORMAL vim, `?` menampilkan menu bantuan (perilaku vim)530* Dalam mode NORMAL vim, `?` menampilkan menu bantuan (perilaku vim)

531* Dalam mode NORMAL vim, `/` membuka pencarian riwayat, sama seperti Ctrl+R dalam mode standar531* Dalam mode NORMAL vim, `/` membuka pencarian riwayat, sama seperti Ctrl+R dalam mode standar

532 532 


542* Konflik multiplexer terminal542* Konflik multiplexer terminal

543* Binding duplikat dalam konteks yang sama543* Binding duplikat dalam konteks yang sama

544 544 

545Claude Code melaporkan peringatan ketika file dimuat dan menulis masing-masing ke log debug. Mulai Claude Code dengan [`--debug`](/id/cli-reference#cli-flags) untuk melihat detailnya.545Claude Code melaporkan peringatan ketika file dimuat dan menulis masing-masing ke log debug. Mulai Claude Code dengan [`--debug`](/docs/id/cli-reference#cli-flags) untuk melihat detailnya.

Details

6 6 

7> Arahkan Claude Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.7> Arahkan Claude Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.

8 8 

9[Gateway LLM](/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Claude Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login claude.ai pribadi Anda.9[Gateway LLM](/docs/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Claude Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login claude.ai pribadi Anda.

10 10 

11Halaman ini untuk pengembang yang menjalankan Claude Code melalui gateway yang dioperasikan organisasi mereka. Ini mencakup dua jalur: [memeriksa apakah administrator Anda sudah mengonfigurasinya untuk Anda](#check-for-an-existing-configuration), dan [mengonfigurasinya sendiri](#configure-claude-code-yourself) ketika mereka belum.11Halaman ini untuk pengembang yang menjalankan Claude Code melalui gateway yang dioperasikan organisasi mereka. Ini mencakup dua jalur: [memeriksa apakah administrator Anda sudah mengonfigurasinya untuk Anda](#check-for-an-existing-configuration), dan [mengonfigurasinya sendiri](#configure-claude-code-yourself) ketika mereka belum.

12 12 

13<Note>13<Note>

14 * Untuk menerapkan gateway untuk organisasi Anda, lihat [Luncurkan gateway LLM](/id/llm-gateway-rollout)14 * Untuk menerapkan gateway untuk organisasi Anda, lihat [Luncurkan gateway LLM](/docs/id/llm-gateway-rollout)

15 * Untuk apa yang Claude Code kirim ke gateway, lihat [referensi protokol gateway](/id/llm-gateway-protocol)15 * Untuk apa yang Claude Code kirim ke gateway, lihat [referensi protokol gateway](/docs/id/llm-gateway-protocol)

16</Note>16</Note>

17 17 

18<h2 id="check-for-an-existing-configuration">18<h2 id="check-for-an-existing-configuration">

19 Periksa konfigurasi yang ada19 Periksa konfigurasi yang ada

20</h2>20</h2>

21 21 

22Administrator dapat mendistribusikan alamat gateway dan kredensial melalui [pengaturan terkelola](/id/settings#settings-files), manajemen perangkat, atau [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), sehingga Claude Code mengambilnya saat startup tanpa apa pun yang perlu Anda atur. Untuk memeriksa apakah organisasi Anda sudah melakukan ini:22Administrator dapat mendistribusikan alamat gateway dan kredensial melalui [pengaturan terkelola](/docs/id/settings#settings-files), manajemen perangkat, atau [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), sehingga Claude Code mengambilnya saat startup tanpa apa pun yang perlu Anda atur. Untuk memeriksa apakah organisasi Anda sudah melakukan ini:

23 23 

24<Steps>24<Steps>

25 <Step title="Mulai Claude Code">25 <Step title="Mulai Claude Code">


107 Atur di file pengaturan107 Atur di file pengaturan

108</h4>108</h4>

109 109 

110Untuk membuat konfigurasi berlaku di mana pun Claude Code berjalan tanpa bergantung pada shell Anda, atur variabel di blok `env` dari [file pengaturan](/id/settings). File pengaturan memiliki cakupan berbeda:110Untuk membuat konfigurasi berlaku di mana pun Claude Code berjalan tanpa bergantung pada shell Anda, atur variabel di blok `env` dari [file pengaturan](/docs/id/settings). File pengaturan memiliki cakupan berbeda:

111 111 

112* `~/.claude/settings.json` berlaku untuk semua proyek Anda. Di Windows jalurnya adalah `%USERPROFILE%\.claude\settings.json`112* `~/.claude/settings.json` berlaku untuk semua proyek Anda. Di Windows jalurnya adalah `%USERPROFILE%\.claude\settings.json`

113* `.claude/settings.local.json` berlaku untuk satu proyek. Claude Code menambahkannya ke gitignore Anda ketika membuat file; jika Anda membuatnya sendiri, tambahkan ke gitignore Anda secara manual terlebih dahulu sehingga Anda tidak secara tidak sengaja melakukan komit kredensial Anda113* `.claude/settings.local.json` berlaku untuk satu proyek. Claude Code menambahkannya ke gitignore Anda ketika membuat file; jika Anda membuatnya sendiri, tambahkan ke gitignore Anda secara manual terlebih dahulu sehingga Anda tidak secara tidak sengaja melakukan komit kredensial Anda


194 Ekstensi VS Code194 Ekstensi VS Code

195</h3>195</h3>

196 196 

197Atur variabel gateway untuk [ekstensi VS Code](/id/vs-code) di `claudeCode.environmentVariables`, di pengaturan pengguna VS Code sendiri yang dibuka dengan perintah **Preferences: Open User Settings (JSON)**. Ekstensi memeriksa kredensial dari pengaturan ini sebelum meluncurkan, jadi itu tempat yang andal untuk kredensial gateway; nilai di `~/.claude/settings.json` mencapai proses yang dihasilkan tetapi bukan pemeriksaan login ekstensi sendiri.197Atur variabel gateway untuk [ekstensi VS Code](/docs/id/vs-code) di `claudeCode.environmentVariables`, di pengaturan pengguna VS Code sendiri yang dibuka dengan perintah **Preferences: Open User Settings (JSON)**. Ekstensi memeriksa kredensial dari pengaturan ini sebelum meluncurkan, jadi itu tempat yang andal untuk kredensial gateway; nilai di `~/.claude/settings.json` mencapai proses yang dihasilkan tetapi bukan pemeriksaan login ekstensi sendiri.

198 198 

199```json theme={null}199```json theme={null}

200{200{


211 211 

212Aplikasi desktop membaca perutean gateway dari [konfigurasi inferensi pihak ketiga](https://claude.com/docs/third-party/claude-desktop/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Konfigurasi itu dapat berasal dari organisasi Anda atau dari formulir di aplikasi itu sendiri:212Aplikasi desktop membaca perutean gateway dari [konfigurasi inferensi pihak ketiga](https://claude.com/docs/third-party/claude-desktop/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Konfigurasi itu dapat berasal dari organisasi Anda atau dari formulir di aplikasi itu sendiri:

213 213 

214* **Didistribusikan oleh administrator**: jika organisasi Anda telah [menerapkan konfigurasi](/id/llm-gateway-rollout#distribute-through-managed-settings), aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda214* **Didistribusikan oleh administrator**: jika organisasi Anda telah [menerapkan konfigurasi](/docs/id/llm-gateway-rollout#distribute-through-managed-settings), aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda

215* **Dikonfigurasi secara lokal**: untuk perangkat tanpa konfigurasi yang didistribusikan administrator, buka Help → Troubleshooting → Enable Developer Mode, yang memulai ulang aplikasi dengan menu Developer. Kemudian buka Developer → Configure Third-Party Inference dan masukkan URL dasar gateway Anda. Konfigurasi yang didistribusikan administrator memiliki prioritas dan membuat formulir ini hanya-baca215* **Dikonfigurasi secara lokal**: untuk perangkat tanpa konfigurasi yang didistribusikan administrator, buka Help → Troubleshooting → Enable Developer Mode, yang memulai ulang aplikasi dengan menu Developer. Kemudian buka Developer → Configure Third-Party Inference dan masukkan URL dasar gateway Anda. Konfigurasi yang didistribusikan administrator memiliki prioritas dan membuat formulir ini hanya-baca

216 216 

217Dengan konfigurasi gateway aktif, aplikasi desktop menjalankan sesi hanya di mesin lokal Anda: pemilih lingkungan tidak menawarkan sesi SSH atau lingkungan cloud yang dihosting Anthropic, dan [Remote Control](/id/remote-control) tidak tersedia. Untuk menggunakan Claude Code pada host jarak jauh melalui gateway, jalankan CLI pada host itu dengan [`ANTHROPIC_BASE_URL` dan kredensial gateway](#set-the-base-url-and-credential) diatur di sana.217Dengan konfigurasi gateway aktif, aplikasi desktop menjalankan sesi hanya di mesin lokal Anda: pemilih lingkungan tidak menawarkan sesi SSH atau lingkungan cloud yang dihosting Anthropic, dan [Remote Control](/docs/id/remote-control) tidak tersedia. Untuk menggunakan Claude Code pada host jarak jauh melalui gateway, jalankan CLI pada host itu dengan [`ANTHROPIC_BASE_URL` dan kredensial gateway](#set-the-base-url-and-credential) diatur di sana.

218 218 

219Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).219Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).

220 220 


222 GitHub Actions222 GitHub Actions

223</h3>223</h3>

224 224 

225[Claude Code GitHub Actions](/id/github-actions) membaca `ANTHROPIC_BASE_URL` dan `ANTHROPIC_CUSTOM_HEADERS` dari blok `env` alur kerja. Teruskan kredensial sebagai input `anthropic_api_key` tindakan; tindakan mengaturnya sebagai `ANTHROPIC_API_KEY`, sehingga mencapai gateway di header `x-api-key`.225[Claude Code GitHub Actions](/docs/id/github-actions) membaca `ANTHROPIC_BASE_URL` dan `ANTHROPIC_CUSTOM_HEADERS` dari blok `env` alur kerja. Teruskan kredensial sebagai input `anthropic_api_key` tindakan; tindakan mengaturnya sebagai `ANTHROPIC_API_KEY`, sehingga mencapai gateway di header `x-api-key`.

226 226 

227Untuk gateway `x-api-key`, atur URL dasar di `env` dan teruskan kunci gateway sebagai input:227Untuk gateway `x-api-key`, atur URL dasar di `env` dan teruskan kunci gateway sebagai input:

228 228 


249 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}249 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

250```250```

251 251 

252Untuk opsi autentikasi lain tindakan, termasuk `CLAUDE_CODE_OAUTH_TOKEN` dan federasi identitas beban kerja, lihat [Claude Code GitHub Actions](/id/github-actions) dan [README](https://github.com/anthropics/claude-code-action#readme) tindakan.252Untuk opsi autentikasi lain tindakan, termasuk `CLAUDE_CODE_OAUTH_TOKEN` dan federasi identitas beban kerja, lihat [Claude Code GitHub Actions](/docs/id/github-actions) dan [README](https://github.com/anthropics/claude-code-action#readme) tindakan.

253 253 

254<h3 id="agent-sdk">254<h3 id="agent-sdk">

255 Agent SDK255 Agent SDK

256</h3>256</h3>

257 257 

258[Agent SDK](/id/agent-sdk/overview) tidak memiliki opsi khusus gateway; itu melewatkan variabel lingkungan ke proses Claude Code yang dihasilkannya. Setiap SDK menerima opsi `env` yang mengatur lingkungan proses yang dihasilkan, dan SDK TypeScript dan Python memperlakukannya berbeda:258[Agent SDK](/docs/id/agent-sdk/overview) tidak memiliki opsi khusus gateway; itu melewatkan variabel lingkungan ke proses Claude Code yang dihasilkannya. Setiap SDK menerima opsi `env` yang mengatur lingkungan proses yang dihasilkan, dan SDK TypeScript dan Python memperlakukannya berbeda:

259 259 

260* TypeScript: proses yang dihasilkan mewarisi lingkungan induk secara default, tetapi pengaturan `options.env` mengganti lingkungan sepenuhnya. Sebarkan `process.env` ke dalamnya untuk menyimpan variabel gateway Anda.260* TypeScript: proses yang dihasilkan mewarisi lingkungan induk secara default, tetapi pengaturan `options.env` mengganti lingkungan sepenuhnya. Sebarkan `process.env` ke dalamnya untuk menyimpan variabel gateway Anda.

261* Python: `ClaudeAgentOptions(env=...)` menggabungkan di atas lingkungan yang diwarisi, jadi variabel gateway yang diatur dalam proses induk membawa tanpa penyebaran.261* Python: `ClaudeAgentOptions(env=...)` menggabungkan di atas lingkungan yang diwarisi, jadi variabel gateway yang diatur dalam proses induk membawa tanpa penyebaran.


288 Slack, web, dan Remote Control288 Slack, web, dan Remote Control

289</h3>289</h3>

290 290 

291[Claude Code di Slack](/id/slack) dan [Claude Code di web](/id/claude-code-on-the-web) adalah produk yang dihosting Anthropic yang selalu menggunakan API Anthropic; mereka bukan bagian dari penerapan gateway. Variabel gateway yang diatur dalam konfigurasi lingkungan sesi cloud tidak diterapkan. Jika lalu lintas Anda harus tetap di gateway, jangan aktifkan permukaan ini untuk pengguna tersebut.291[Claude Code di Slack](/docs/id/slack) dan [Claude Code di web](/docs/id/claude-code-on-the-web) adalah produk yang dihosting Anthropic yang selalu menggunakan API Anthropic; mereka bukan bagian dari penerapan gateway. Variabel gateway yang diatur dalam konfigurasi lingkungan sesi cloud tidak diterapkan. Jika lalu lintas Anda harus tetap di gateway, jangan aktifkan permukaan ini untuk pengguna tersebut.

292 292 

293[Remote Control](/id/remote-control) dan [voice dictation](/id/voice-dictation) keduanya mengandalkan identitas claude.ai: Remote Control untuk memasangkan sesi langsung dengan akun Anda, dan voice dictation untuk menjangkau titik akhir transkripsi claude.ai. Mereka tidak tersedia sementara `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` aktif. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, Remote Control juga dinonaktifkan sementara `ANTHROPIC_BASE_URL` menunjuk ke host non-Anthropic, jadi masuk dengan claude.ai saja tidak cukup.293[Remote Control](/docs/id/remote-control) dan [voice dictation](/docs/id/voice-dictation) keduanya mengandalkan identitas claude.ai: Remote Control untuk memasangkan sesi langsung dengan akun Anda, dan voice dictation untuk menjangkau titik akhir transkripsi claude.ai. Mereka tidak tersedia sementara `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` aktif. Mulai dari v2.1.196, Remote Control juga dinonaktifkan sementara `ANTHROPIC_BASE_URL` menunjuk ke host non-Anthropic, jadi masuk dengan claude.ai saja tidak cukup.

294 294 

295Untuk mengembalikan salah satu fitur, masuk dengan claude.ai dan batalkan pengaturan variabel gateway yang diperiksa. Bagian Remote Control dari `claude doctor` menamai variabel kredensial untuk dibatalkan pengaturannya.295Untuk mengembalikan salah satu fitur, masuk dengan claude.ai dan batalkan pengaturan variabel gateway yang diperiksa. Bagian Remote Control dari `claude doctor` menamai variabel kredensial untuk dibatalkan pengaturannya.

296 296 


307 Kirim header tambahan307 Kirim header tambahan

308</h3>308</h3>

309 309 

310Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:310Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](/docs/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:

311 311 

312<Tabs>312<Tabs>

313 <Tab title="Bash atau Zsh">313 <Tab title="Bash atau Zsh">


341 341 

342Aktifkan jika gateway Anda melayani nama model yang tidak ada dalam daftar bawaan Claude Code dan Anda ingin memilihnya dari pemilih. Jika model bawaan adalah apa yang Anda gunakan, Anda tidak memerlukan penemuan; administrator Anda mungkin juga telah mengaktifkannya melalui pengaturan terkelola.342Aktifkan jika gateway Anda melayani nama model yang tidak ada dalam daftar bawaan Claude Code dan Anda ingin memilihnya dari pemilih. Jika model bawaan adalah apa yang Anda gunakan, Anda tidak memerlukan penemuan; administrator Anda mungkin juga telah mengaktifkannya melalui pengaturan terkelola.

343 343 

344Untuk mengaktifkannya, atur `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` di shell Anda atau di blok `env` dari `~/.claude/settings.json`. Penemuan memerlukan Claude Code v2.1.129 atau lebih baru. {/* min-version: 2.1.129 */}344Untuk mengaktifkannya, atur `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` di shell Anda atau di blok `env` dari `~/.claude/settings.json`. Penemuan memerlukan Claude Code v2.1.129 atau lebih baru.&#x20;

345 345 

346Model yang ditemukan muncul sebagai entri `/model` tambahan berlabel `From gateway`. Untuk mengonfirmasi penemuan berjalan, mulai `claude --debug` dan cari baris `[gatewayDiscovery]`: keberhasilan mencatat berapa banyak model yang di-cache, dan `404`, timeout, atau pengalihan dicatat di sana juga. Untuk kapan penemuan berjalan, apa yang disaringnya, dan format respons yang dilayani gateway, lihat [referensi penemuan model](/id/llm-gateway-protocol#model-discovery).346Model yang ditemukan muncul sebagai entri `/model` tambahan berlabel `From gateway`. Untuk mengonfirmasi penemuan berjalan, mulai `claude --debug` dan cari baris `[gatewayDiscovery]`: keberhasilan mencatat berapa banyak model yang di-cache, dan `404`, timeout, atau pengalihan dicatat di sana juga. Untuk kapan penemuan berjalan, apa yang disaringnya, dan format respons yang dilayani gateway, lihat [referensi penemuan model](/docs/id/llm-gateway-protocol#model-discovery).

347 347 

348<h3 id="rotate-credentials-with-apikeyhelper">348<h3 id="rotate-credentials-with-apikeyhelper">

349 Putar kredensial dengan apiKeyHelper349 Putar kredensial dengan apiKeyHelper


353 353 

354Gunakan pembantu ketika kredensial kedaluwarsa sesuai jadwal, berasal dari vault atau perintah SSO, atau administrator Anda mengatakan untuk mengonfigurasi satu. Jika kredensial Anda adalah string tetap yang Anda atur sekali, [variabel kredensial](#set-the-credential-variable) adalah semua yang Anda butuhkan dan Anda dapat melewati bagian ini.354Gunakan pembantu ketika kredensial kedaluwarsa sesuai jadwal, berasal dari vault atau perintah SSO, atau administrator Anda mengatakan untuk mengonfigurasi satu. Jika kredensial Anda adalah string tetap yang Anda atur sekali, [variabel kredensial](#set-the-credential-variable) adalah semua yang Anda butuhkan dan Anda dapat melewati bagian ini.

355 355 

356Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Claude Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](/id/settings) Anda:356Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Claude Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](/docs/id/settings) Anda:

357 357 

358<Tabs>358<Tabs>

359 <Tab title="Bash atau Zsh">359 <Tab title="Bash atau Zsh">


419Mengatur variabel memiliki efek dan batasan ini:419Mengatur variabel memiliki efek dan batasan ini:

420 420 

421* Ini menonaktifkan pembaruan otomatis, jadi rencanakan jalur pembaruan lain, seperti pengelola paket Anda atau distribusi terkelola.421* Ini menonaktifkan pembaruan otomatis, jadi rencanakan jalur pembaruan lain, seperti pengelola paket Anda atau distribusi terkelola.

422* Ini menekan pemeriksaan ketersediaan [mode cepat](/id/fast-mode). Kecuali pemeriksaan sebelumnya telah mengaktifkan mode cepat di mesin, `/fast` melaporkan bahwa mode cepat tidak tersedia.422* Ini menekan pemeriksaan ketersediaan [mode cepat](/docs/id/fast-mode). Kecuali pemeriksaan sebelumnya telah mengaktifkan mode cepat di mesin, `/fast` melaporkan bahwa mode cepat tidak tersedia.

423* Ini mematikan [penemuan model gateway](#add-gateway-models-to-the-model-picker), meskipun penemuan menanyakan gateway itu sendiri. Model yang sebelumnya ditemukan tetap tersedia dari cache lokal, tetapi daftar tidak disegarkan.423* Ini mematikan [penemuan model gateway](#add-gateway-models-to-the-model-picker), meskipun penemuan menanyakan gateway itu sendiri. Model yang sebelumnya ditemukan tetap tersedia dari cache lokal, tetapi daftar tidak disegarkan.

424* Pemeriksaan keamanan domain alat WebFetch tidak terpengaruh dan masih memanggil `api.anthropic.com`. Matikan secara terpisah dengan `skipWebFetchPreflight: true` di [pengaturan](/id/settings) jika jaringan Anda memblokir host itu.424* Pemeriksaan keamanan domain alat WebFetch tidak terpengaruh dan masih memanggil `api.anthropic.com`. Matikan secara terpisah dengan `skipWebFetchPreflight: true` di [pengaturan](/docs/id/settings) jika jaringan Anda memblokir host itu.

425* Untuk setiap aliran telemetri dan variabel yang mengontrolnya, lihat [layanan telemetri](/id/data-usage#telemetry-services).425* Untuk setiap aliran telemetri dan variabel yang mengontrolnya, lihat [layanan telemetri](/docs/id/data-usage#telemetry-services).

426 426 

427<h3 id="route-to-a-cloud-provider-through-a-gateway">427<h3 id="route-to-a-cloud-provider-through-a-gateway">

428 Rutekan ke penyedia cloud melalui gateway428 Rutekan ke penyedia cloud melalui gateway


432 432 

433Gunakan satu hanya jika tim gateway Anda secara khusus menamai Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Jika [permintaan verifikasi](#verify-the-connection) di atas mengembalikan JSON, Anda dapat melewati bagian ini.433Gunakan satu hanya jika tim gateway Anda secara khusus menamai Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Jika [permintaan verifikasi](#verify-the-connection) di atas mengembalikan JSON, Anda dapat melewati bagian ini.

434 434 

435Atur blok untuk penyedia yang dinamai tim gateway Anda. Variabel skip-auth memberitahu Claude Code untuk tidak menandatangani permintaan dengan kredensial penyedia, karena gateway menyimpannya. Jika gateway memerlukan token sendiri, tambahkan `ANTHROPIC_AUTH_TOKEN` setelah blok, kecuali untuk Microsoft Foundry, yang menggunakan `ANTHROPIC_FOUNDRY_API_KEY` seperti yang ditunjukkan. {/* min-version: 2.1.203 */}Gateway Microsoft Foundry yang mengharapkan token bearer dapat menggunakan [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/id/env-vars) sebagai gantinya; itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. `ANTHROPIC_FOUNDRY_AUTH_TOKEN` memerlukan Claude Code v2.1.203 atau lebih baru.435Atur blok untuk penyedia yang dinamai tim gateway Anda. Variabel skip-auth memberitahu Claude Code untuk tidak menandatangani permintaan dengan kredensial penyedia, karena gateway menyimpannya. Jika gateway memerlukan token sendiri, tambahkan `ANTHROPIC_AUTH_TOKEN` setelah blok, kecuali untuk Microsoft Foundry, yang menggunakan `ANTHROPIC_FOUNDRY_API_KEY` seperti yang ditunjukkan. Gateway Microsoft Foundry yang mengharapkan token bearer dapat menggunakan [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/docs/id/env-vars) sebagai gantinya; itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. `ANTHROPIC_FOUNDRY_AUTH_TOKEN` memerlukan Claude Code v2.1.203 atau lebih baru.

436 436 

437<h4 id="amazon-bedrock">437<h4 id="amazon-bedrock">

438 Amazon Bedrock438 Amazon Bedrock


486 Microsoft Foundry486 Microsoft Foundry

487</h4>487</h4>

488 488 

489Letakkan kredensial gateway di `ANTHROPIC_FOUNDRY_API_KEY`; itu dikirim ke gateway sebagai header `x-api-key`. {/* min-version: 2.1.203 */}Gateway yang mengharapkan token bearer dapat mengambil [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/id/env-vars) sebagai gantinya. Claude Code mengirim nilai itu sebagai header `Authorization: Bearer`, dan itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. Memerlukan Claude Code v2.1.203 atau lebih baru.489Letakkan kredensial gateway di `ANTHROPIC_FOUNDRY_API_KEY`; itu dikirim ke gateway sebagai header `x-api-key`. Gateway yang mengharapkan token bearer dapat mengambil [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/docs/id/env-vars) sebagai gantinya. Claude Code mengirim nilai itu sebagai header `Authorization: Bearer`, dan itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. Memerlukan Claude Code v2.1.203 atau lebih baru.

490 490 

491Untuk gateway yang menyuntikkan header `Authorization` miliknya sendiri, atur `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` dan biarkan kedua variabel kredensial tidak diatur. Claude Code kemudian mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda suplai, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. {/* min-version: 2.1.203 */}Sebelum v2.1.203, `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` tanpa kunci API membuat klien Microsoft Foundry tidak dapat mengirim permintaan.491Untuk gateway yang menyuntikkan header `Authorization` miliknya sendiri, atur `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` dan biarkan kedua variabel kredensial tidak diatur. Claude Code kemudian mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda suplai, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. Sebelum v2.1.203, `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` tanpa kunci API membuat klien Microsoft Foundry tidak dapat mengirim permintaan.

492 492 

493<Tabs>493<Tabs>

494 <Tab title="Bash atau Zsh">494 <Tab title="Bash atau Zsh">


512 Claude Platform di AWS512 Claude Platform di AWS

513</h4>513</h4>

514 514 

515Lihat [Claude Platform di AWS](/id/claude-platform-on-aws) untuk ID ruang kerja.515Lihat [Claude Platform di AWS](/docs/id/claude-platform-on-aws) untuk ID ruang kerja.

516 516 

517<Tabs>517<Tabs>

518 <Tab title="Bash atau Zsh">518 <Tab title="Bash atau Zsh">


544| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |544| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

545| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |545| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |

546| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |546| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |

547| `Your apiKeyHelper script is failing` | Perintah dalam pengaturan [`apiKeyHelper`](/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](/id/errors#your-apikeyhelper-script-is-failing) |547| `Your apiKeyHelper script is failing` | Perintah dalam pengaturan [`apiKeyHelper`](/docs/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](/docs/id/errors#your-apikeyhelper-script-is-failing) |

548| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/id/errors#automatic-retries) | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |548| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/docs/id/errors#automatic-retries) | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |

549| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON |549| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON |

550| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu |550| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu |

551| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found` | Build model upstream tidak menerima adaptive reasoning, yang diminta Claude Code untuk model Claude 4.6 dan lebih baru | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL` |551| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found` | Build model upstream tidak menerima adaptive reasoning, yang diminta Claude Code untuk model Claude 4.6 dan lebih baru | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/docs/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL` |

552| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M` | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi compact-and-retry otomatis, yang cocok dengan pesan `prompt is too long` Anthropic, tidak terbangkitkan | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; nilainya diklem ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi batas gateway di bawah 100.000 tidak dapat dicocokkan dan `/compact` tetap menjadi pemulihan di sana. Juga atur `CLAUDE_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |552| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M` | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi compact-and-retry otomatis, yang cocok dengan pesan `prompt is too long` Anthropic, tidak terbangkitkan | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; nilainya diklem ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi batas gateway di bawah 100.000 tidak dapat dicocokkan dan `/compact` tetap menjadi pemulihan di sana. Juga atur `CLAUDE_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |

553| Model hilang dari pemilih `/model` | Nama model gateway tidak ada dalam daftar bawaan Claude Code | Aktifkan [penemuan model gateway](#add-gateway-models-to-the-model-picker) atau tambahkan nama dengan variabel [konfigurasi model](/id/model-config) |553| Model hilang dari pemilih `/model` | Nama model gateway tidak ada dalam daftar bawaan Claude Code | Aktifkan [penemuan model gateway](#add-gateway-models-to-the-model-picker) atau tambahkan nama dengan variabel [konfigurasi model](/docs/id/model-config) |

554| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan prompt kepercayaan | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |554| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan prompt kepercayaan | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |

555| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |555| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |

556| `This machine's managed settings require a first-party login` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang pada Claude Code v2.1.146 dan lebih baru tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod` dan `forceLoginOrgUUID` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway untuk menggunakan login pihak pertama. Keduanya tidak dapat digabungkan |556| `This machine's managed settings require a first-party login` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang pada Claude Code v2.1.146 dan lebih baru tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod` dan `forceLoginOrgUUID` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway untuk menggunakan login pihak pertama. Keduanya tidak dapat digabungkan |

557| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Claude Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara |557| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Claude Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara |

558| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil | Runtime Claude Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/id/network-config#ca-certificate-store) |558| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil | Runtime Claude Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/docs/id/network-config#ca-certificate-store) |

559 559 

560Jika Claude Code meminta Anda untuk masuk berulang kali setelah menghapus konfigurasi gateway, penyebabnya biasanya penyimpanan kredensial daripada gateway; lihat [kesalahan autentikasi](/id/errors#authentication-errors).560Jika Claude Code meminta Anda untuk masuk berulang kali setelah menghapus konfigurasi gateway, penyebabnya biasanya penyimpanan kredensial daripada gateway; lihat [kesalahan autentikasi](/docs/id/errors#authentication-errors).

561 561 

562<h2 id="related-resources">562<h2 id="related-resources">

563 Sumber daya terkait563 Sumber daya terkait

564</h2>564</h2>

565 565 

566* [Ikhtisar gateway LLM](/id/llm-gateway): apa itu gateway dan bagaimana berinteraksi dengan langganan claude.ai566* [Ikhtisar gateway LLM](/docs/id/llm-gateway): apa itu gateway dan bagaimana berinteraksi dengan langganan claude.ai

567* [Luncurkan gateway LLM untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa yang menghadap admin untuk menerapkan dan mendistribusikan konfigurasi gateway567* [Luncurkan gateway LLM untuk organisasi Anda](/docs/id/llm-gateway-rollout): daftar periksa yang menghadap admin untuk menerapkan dan mendistribusikan konfigurasi gateway

568* [Referensi protokol gateway](/id/llm-gateway-protocol): apa yang dikirim Claude Code ke gateway, termasuk header dan bidang yang harus diteruskan gateway568* [Referensi protokol gateway](/docs/id/llm-gateway-protocol): apa yang dikirim Claude Code ke gateway, termasuk header dan bidang yang harus diteruskan gateway

569* [Pengaturan](/id/settings): di mana file pengaturan berada dan bagaimana blok `env` dibaca569* [Pengaturan](/docs/id/settings): di mana file pengaturan berada dan bagaimana blok `env` dibaca

570* [Autentikasi](/id/authentication): bagaimana variabel kredensial, `apiKeyHelper`, dan login OAuth berinteraksi570* [Autentikasi](/docs/id/authentication): bagaimana variabel kredensial, `apiKeyHelper`, dan login OAuth berinteraksi

Details

8 8 

9Halaman ini mendokumentasikan permintaan yang dikirim Claude Code ke gateway, termasuk endpoint yang dipanggilnya, header dan field body yang harus diteruskan gateway, dan fitur mana yang berhenti berfungsi ketika tidak ada. Halaman ini ditulis untuk operator yang mengonfigurasi produk gateway agar bekerja dengan Claude Code.9Halaman ini mendokumentasikan permintaan yang dikirim Claude Code ke gateway, termasuk endpoint yang dipanggilnya, header dan field body yang harus diteruskan gateway, dan fitur mana yang berhenti berfungsi ketika tidak ada. Halaman ini ditulis untuk operator yang mengonfigurasi produk gateway agar bekerja dengan Claude Code.

10 10 

11Gateway [Claude apps gateway](/id/claude-apps-gateway) yang berjalan melayani versi yang dapat dibaca mesin dari kontrak ini di `GET /protocol`, mencakup persyaratan penerusan yang sama ditambah endpoint spesifik Claude apps gateway untuk SSO sign-in, pengiriman managed-settings, dan telemetri. Claude apps gateway berjalan dari binary `claude` yang sama dengan CLI, jadi [Claude apps gateway quickstart](/id/claude-apps-gateway#quickstart) adalah jalur tercepat ke instance yang berjalan dari mana Anda dapat mengambil spesifikasinya.11Gateway [Claude apps gateway](/docs/id/claude-apps-gateway) yang berjalan melayani versi yang dapat dibaca mesin dari kontrak ini di `GET /protocol`, mencakup persyaratan penerusan yang sama ditambah endpoint spesifik Claude apps gateway untuk SSO sign-in, pengiriman managed-settings, dan telemetri. Claude apps gateway berjalan dari binary `claude` yang sama dengan CLI, jadi [Claude apps gateway quickstart](/docs/id/claude-apps-gateway#quickstart) adalah jalur tercepat ke instance yang berjalan dari mana Anda dapat mengambil spesifikasinya.

12 12 

13<Note>13<Note>

14 * Untuk meluncurkan gateway yang sudah ada atau pihak ketiga untuk organisasi Anda, lihat [Meluncurkan gateway LLM](/id/llm-gateway-rollout)14 * Untuk meluncurkan gateway yang sudah ada atau pihak ketiga untuk organisasi Anda, lihat [Meluncurkan gateway LLM](/docs/id/llm-gateway-rollout)

15 * Jika Anda adalah pengembang individual yang mengautentikasi Claude Code ke gateway dengan kredensial yang diberikan kepada Anda, lihat [Menghubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect)15 * Jika Anda adalah pengembang individual yang mengautentikasi Claude Code ke gateway dengan kredensial yang diberikan kepada Anda, lihat [Menghubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect)

16</Note>16</Note>

17 17 

18Halaman ini mencakup:18Halaman ini mencakup:


46 Foundry dan Claude Platform on AWS46 Foundry dan Claude Platform on AWS

47</h3>47</h3>

48 48 

49Microsoft Foundry dan [Claude Platform on AWS](/id/claude-platform-on-aws) mengimplementasikan format Anthropic Messages. Claude Code merutekan ke mereka melalui variabel mereka sendiri, `ANTHROPIC_FOUNDRY_BASE_URL` dan `ANTHROPIC_AWS_BASE_URL`, tetapi gateway yang berada di depan salah satu dari mereka mengimplementasikan baris Anthropic Messages di atas. Gateway yang berada di depan Claude Platform on AWS juga harus meneruskan header `anthropic-workspace-id`, yang [platform tersebut memerlukan pada setiap permintaan](/id/claude-platform-on-aws).49Microsoft Foundry dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) mengimplementasikan format Anthropic Messages. Claude Code merutekan ke mereka melalui variabel mereka sendiri, `ANTHROPIC_FOUNDRY_BASE_URL` dan `ANTHROPIC_AWS_BASE_URL`, tetapi gateway yang berada di depan salah satu dari mereka mengimplementasikan baris Anthropic Messages di atas. Gateway yang berada di depan Claude Platform on AWS juga harus meneruskan header `anthropic-workspace-id`, yang [platform tersebut memerlukan pada setiap permintaan](/docs/id/claude-platform-on-aws).

50 50 

51<h3 id="optional-endpoints-and-startup-traffic">51<h3 id="optional-endpoints-and-startup-traffic">

52 Endpoint opsional dan lalu lintas startup52 Endpoint opsional dan lalu lintas startup


77 Header permintaan77 Header permintaan

78</h2>78</h2>

79 79 

80Claude Code menyertakan header ini pada permintaan API. Nama header tidak peka huruf besar-kecil di kawat. Teruskan `anthropic-version` dan `anthropic-beta` tanpa perubahan, ditambah `anthropic-workspace-id` ketika upstream adalah [Claude Platform on AWS](/id/claude-platform-on-aws); sisanya gateway dapat konsumsi untuk routing, atribusi, dan tracing, dan tidak perlu diteruskan.80Claude Code menyertakan header ini pada permintaan API. Nama header tidak peka huruf besar-kecil di kawat. Teruskan `anthropic-version` dan `anthropic-beta` tanpa perubahan, ditambah `anthropic-workspace-id` ketika upstream adalah [Claude Platform on AWS](/docs/id/claude-platform-on-aws); sisanya gateway dapat konsumsi untuk routing, atribusi, dan tracing, dan tidak perlu diteruskan.

81 81 

82| Header | Deskripsi |82| Header | Deskripsi |

83| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

84| `Authorization`, `x-api-key` | Kredensial gateway pengembang, di satu atau kedua header tergantung pada [variabel kredensial](/id/llm-gateway-connect#set-the-credential-variable) yang mereka atur |84| `Authorization`, `x-api-key` | Kredensial gateway pengembang, di satu atau kedua header tergantung pada [variabel kredensial](/docs/id/llm-gateway-connect#set-the-credential-variable) yang mereka atur |

85| `anthropic-version` | Versi API, saat ini `2023-06-01`. Permintaan format Amazon Bedrock dan Google Cloud's Agent Platform juga membawa field body `anthropic_version`, yang nilainya adalah string dialek penyedia, bukan nilai header ini |85| `anthropic-version` | Versi API, saat ini `2023-06-01`. Permintaan format Amazon Bedrock dan Google Cloud's Agent Platform juga membawa field body `anthropic_version`, yang nilainya adalah string dialek penyedia, bukan nilai header ini |

86| `anthropic-beta` | Nilai kemampuan yang dipisahkan koma untuk permintaan. Teruskan header secara verbatim; jangan allowlist nilai individual, karena set berubah dengan rilis Claude Code. Ketika pengembang mengautentikasi dengan login claude.ai, yang mungkin ketika `ANTHROPIC_BASE_URL` diatur tanpa variabel kredensial gateway, header ini juga membawa kemampuan OAuth yang diperlukan upstream, dan menghapusnya gagal permintaan tersebut dengan `401` |86| `anthropic-beta` | Nilai kemampuan yang dipisahkan koma untuk permintaan. Teruskan header secara verbatim; jangan allowlist nilai individual, karena set berubah dengan rilis Claude Code. Ketika pengembang mengautentikasi dengan login claude.ai, yang mungkin ketika `ANTHROPIC_BASE_URL` diatur tanpa variabel kredensial gateway, header ini juga membawa kemampuan OAuth yang diperlukan upstream, dan menghapusnya gagal permintaan tersebut dengan `401` |

87| `x-claude-code-session-id` | Pengidentifikasi unik untuk sesi Claude Code saat ini. Gunakan untuk mengagregasi semua permintaan dari satu sesi tanpa mengurai body permintaan |87| `x-claude-code-session-id` | Pengidentifikasi unik untuk sesi Claude Code saat ini. Gunakan untuk mengagregasi semua permintaan dari satu sesi tanpa mengurai body permintaan |

88| `x-claude-code-agent-id` | Pengidentifikasi [subagent](/id/sub-agents) yang mengeluarkan permintaan, hadir hanya pada permintaan dari agen yang Claude Code spawn di dalam sesi. Gunakan dengan ID sesi untuk mengatribusikan biaya ke agen paralel |88| `x-claude-code-agent-id` | Pengidentifikasi [subagent](/docs/id/sub-agents) yang mengeluarkan permintaan, hadir hanya pada permintaan dari agen yang Claude Code spawn di dalam sesi. Gunakan dengan ID sesi untuk mengatribusikan biaya ke agen paralel |

89| `x-claude-code-parent-agent-id` | Pengidentifikasi agen yang menspawn agen yang meminta, hadir hanya untuk agen bersarang |89| `x-claude-code-parent-agent-id` | Pengidentifikasi agen yang menspawn agen yang meminta, hadir hanya untuk agen bersarang |

90 90 

91ID subagent dihasilkan segar untuk setiap spawn. Agen rekan kerja, anggota bernama dari [tim agen](/id/agent-teams), menggunakan kembali ID berbasis nama yang stabil di seluruh reconnections. Dalam kedua kasus ID mengidentifikasi agen, bukan orang atau perangkat, jadi jangan perlakukan header ID agen sebagai pengidentifikasi pengguna.91ID subagent dihasilkan segar untuk setiap spawn. Agen rekan kerja, anggota bernama dari [tim agen](/docs/id/agent-teams), menggunakan kembali ID berbasis nama yang stabil di seluruh reconnections. Dalam kedua kasus ID mengidentifikasi agen, bukan orang atau perangkat, jadi jangan perlakukan header ID agen sebagai pengidentifikasi pengguna.

92 92 

93Jika pengembang Anda menetapkan `ANTHROPIC_CUSTOM_HEADERS`, header tersebut muncul pada permintaan juga.93Jika pengembang Anda menetapkan `ANTHROPIC_CUSTOM_HEADERS`, header tersebut muncul pada permintaan juga.

94 94 


112 112 

113* Teruskan array `system` persis seperti yang diterima, menjaga blok tetap pertama: menambahkan blok sistem lain, mengurutkan ulang array, atau mengonversinya menjadi string tunggal mengalahkan strip, dan blok kemudian mencapai model dan kunci cache prompt.113* Teruskan array `system` persis seperti yang diterima, menjaga blok tetap pertama: menambahkan blok sistem lain, mengurutkan ulang array, atau mengonversinya menjadi string tunggal mengalahkan strip, dan blok kemudian mencapai model dan kunci cache prompt.

114* Jaga blok dalam entri array-nya sendiri: endpoint memperlakukan blok yang digabungkan yang dimulai dengan header atribusi sebagai atribusi sepenuhnya dan menghapus semua yang digabungkan ke dalamnya, termasuk sisa prompt sistem.114* Jaga blok dalam entri array-nya sendiri: endpoint memperlakukan blok yang digabungkan yang dimulai dengan header atribusi sebagai atribusi sepenuhnya dan menghapus semua yang digabungkan ke dalamnya, termasuk sisa prompt sistem.

115* Jika gateway Anda harus membentuk ulang konten sistem, atur [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/id/env-vars) sehingga Claude Code menghilangkan blok. Anthropic dan endpoint Claude penyedia cloud membacanya untuk atribusi, jadi hilangkan di klien daripada menghapusnya atau memindahkannya di gateway.115* Jika gateway Anda harus membentuk ulang konten sistem, atur [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/docs/id/env-vars) sehingga Claude Code menghilangkan blok. Anthropic dan endpoint Claude penyedia cloud membacanya untuk atribusi, jadi hilangkan di klien daripada menghapusnya atau memindahkannya di gateway.

116 116 

117Permintaan yang mencapai endpoint tanpa dimodifikasi tidak terpengaruh.117Permintaan yang mencapai endpoint tanpa dimodifikasi tidak terpengaruh.

118 118 

119{/* min-version: 2.1.181 */}Dari Claude Code v2.1.181, blok stabil untuk seumur hidup percakapan ketika permintaan merutekan melalui URL dasar kustom, jadi cache prompt gateway-side yang dikunci pada body permintaan lengkap bekerja tanpa menonaktifkannya. Sebelum v2.1.181 blok menyertakan token per-permintaan; pada versi tersebut, atur `CLAUDE_CODE_ATTRIBUTION_HEADER=0` jika gateway Anda mengimplementasikan cache seperti itu.119Dari Claude Code v2.1.181, blok stabil untuk seumur hidup percakapan ketika permintaan merutekan melalui URL dasar kustom, jadi cache prompt gateway-side yang dikunci pada body permintaan lengkap bekerja tanpa menonaktifkannya. Sebelum v2.1.181 blok menyertakan token per-permintaan; pada versi tersebut, atur `CLAUDE_CODE_ATTRIBUTION_HEADER=0` jika gateway Anda mengimplementasikan cache seperti itu.

120 120 

121<h2 id="feature-pass-through">121<h2 id="feature-pass-through">

122 Penerusan fitur122 Penerusan fitur


126 126 

127Kemampuan yang menambahkan field body memasangkannya dengan header beta, dan pasangan bepergian bersama. Gateway yang menghapus header sambil melewatkan body, atau meneruskan body format Anthropic ke upstream dengan skema berbeda, menghasilkan kesalahan `400` keras; hanya ketika kedua bagian tidak ada bersama-sama fitur mati diam-diam. Gateway yang menulis ulang atau menyunting body permintaan untuk inspeksi konten memecah pasangan dengan cara yang sama seperti penghapusan, jadi inspeksi tanpa memodifikasi. Tabel mencatat di mana fitur menyimpang dari pasangan.127Kemampuan yang menambahkan field body memasangkannya dengan header beta, dan pasangan bepergian bersama. Gateway yang menghapus header sambil melewatkan body, atau meneruskan body format Anthropic ke upstream dengan skema berbeda, menghasilkan kesalahan `400` keras; hanya ketika kedua bagian tidak ada bersama-sama fitur mati diam-diam. Gateway yang menulis ulang atau menyunting body permintaan untuk inspeksi konten memecah pasangan dengan cara yang sama seperti penghapusan, jadi inspeksi tanpa memodifikasi. Tabel mencatat di mana fitur menyimpang dari pasangan.

128 128 

129Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/id/env-vars).129Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/id/env-vars).

130 130 

131| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |131| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |

132| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |132| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |

133| [Penalaran adaptif](/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |133| [Penalaran adaptif](/docs/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |

134| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-management) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) |134| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-management) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) |

135| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |135| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |

136| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |136| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

137| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` penamaan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama |137| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` penamaan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama |

138| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Claude Code kembali ke estimasi penggunaan konteks secara lokal | Ekspos endpoint jika Anda menginginkan hitungan yang tepat |138| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Claude Code kembali ke estimasi penggunaan konteks secara lokal | Ekspos endpoint jika Anda menginginkan hitungan yang tepat |

139 139 

140Variabel `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [](/id/model-config) mendeklarasikan kemampuan model hanya dalam konfigurasi penyedia: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, dan [`CLAUDE_CODE_USE_MANTLE`](/id/amazon-bedrock#use-the-mantle-endpoint). Mereka tidak memiliki efek di belakang gateway `ANTHROPIC_BASE_URL`.140Variabel `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [](/docs/id/model-config) mendeklarasikan kemampuan model hanya dalam konfigurasi penyedia: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, dan [`CLAUDE_CODE_USE_MANTLE`](/docs/id/amazon-bedrock#use-the-mantle-endpoint). Mereka tidak memiliki efek di belakang gateway `ANTHROPIC_BASE_URL`.

141 141 

142<h3 id="automatic-retry-and-error-forwarding">142<h3 id="automatic-retry-and-error-forwarding">

143 Retry otomatis dan penerusan kesalahan143 Retry otomatis dan penerusan kesalahan


161 161 

162Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway yang mengekspos format Anthropic Messages, Claude Code dapat menanyakan endpoint `/v1/models` gateway pada startup dan menambahkan model yang dikembalikan ke pemilih `/model`.162Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway yang mengekspos format Anthropic Messages, Claude Code dapat menanyakan endpoint `/v1/models` gateway pada startup dan menambahkan model yang dikembalikan ke pemilih `/model`.

163 163 

164Pengembang mengaktifkannya dengan menetapkan [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/id/env-vars), di lingkungan mereka sendiri atau melalui pengaturan terkelola. Penemuan dimatikan secara default sehingga gateway yang didukung oleh kunci API bersama tidak menampilkan setiap model yang dapat diakses kunci kepada setiap pengguna. Ini memerlukan Claude Code v2.1.129 atau lebih baru.164Pengembang mengaktifkannya dengan menetapkan [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/docs/id/env-vars), di lingkungan mereka sendiri atau melalui pengaturan terkelola. Penemuan dimatikan secara default sehingga gateway yang didukung oleh kunci API bersama tidak menampilkan setiap model yang dapat diakses kunci kepada setiap pengguna. Ini memerlukan Claude Code v2.1.129 atau lebih baru.

165 165 

166<h3 id="when-discovery-runs">166<h3 id="when-discovery-runs">

167 Ketika penemuan berjalan167 Ketika penemuan berjalan


171 171 

172* Variabel penyedia `CLAUDE_CODE_USE_*` apa pun diatur, bahkan jika `ANTHROPIC_BASE_URL` juga diatur172* Variabel penyedia `CLAUDE_CODE_USE_*` apa pun diatur, bahkan jika `ANTHROPIC_BASE_URL` juga diatur

173* `ANTHROPIC_BASE_URL` tidak diatur atau menunjuk ke `api.anthropic.com`173* `ANTHROPIC_BASE_URL` tidak diatur atau menunjuk ke `api.anthropic.com`

174* Lalu lintas nonessential dinonaktifkan, melalui [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) atau kebijakan organisasi174* Lalu lintas nonessential dinonaktifkan, melalui [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/id/env-vars) atau kebijakan organisasi

175 175 

176<h3 id="request-and-response">176<h3 id="request-and-response">

177 Permintaan dan respons177 Permintaan dan respons


182Permintaan penemuan mengirim tepat satu header kredensial:182Permintaan penemuan mengirim tepat satu header kredensial:

183 183 

184* `ANTHROPIC_AUTH_TOKEN` sebagai token bearer, ketika diatur184* `ANTHROPIC_AUTH_TOKEN` sebagai token bearer, ketika diatur

185* Jika tidak, kunci API yang diselesaikan, termasuk nilai [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper), di header `x-api-key`185* Jika tidak, kunci API yang diselesaikan, termasuk nilai [`apiKeyHelper`](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper), di header `x-api-key`

186 186 

187Ini berbeda dari permintaan inferensi, yang mengirim nilai helper di kedua header. Gateway yang mengautentikasi `/v1/models` harus menerima `x-api-key` untuk deployment helper. Header apa pun dari `ANTHROPIC_CUSTOM_HEADERS` juga disertakan.187Ini berbeda dari permintaan inferensi, yang mengirim nilai helper di kedua header. Gateway yang mengautentikasi `/v1/models` harus menerima `x-api-key` untuk deployment helper. Header apa pun dari `ANTHROPIC_CUSTOM_HEADERS` juga disertakan.

188 188 


201 Entri pemilih dan caching201 Entri pemilih dan caching

202</h3>202</h3>

203 203 

204Pemilih adalah daftar model interaktif yang terbuka ketika pengembang menjalankan `/model` di Claude Code. Setiap entri yang ditemukan diberi label "Dari gateway" dan menggunakan `display_name` ketika disediakan. Pengaturan terkelola [`availableModels`](/id/settings#available-settings) membatasi apa yang dapat ditambahkan penemuan.204Pemilih adalah daftar model interaktif yang terbuka ketika pengembang menjalankan `/model` di Claude Code. Setiap entri yang ditemukan diberi label "Dari gateway" dan menggunakan `display_name` ketika disediakan. Pengaturan terkelola [`availableModels`](/docs/id/settings#available-settings) membatasi apa yang dapat ditambahkan penemuan.

205 205 

206ID yang ditemukan dilewati ketika cocok persis dengan baris yang sudah ada di pemilih, atau ketika ID yang ditemukan dan yang ada keduanya diselesaikan ke [Fable](/id/model-config#work-with-fable-5). {/* min-version: 2.1.197 */}Mulai dari Claude Code v2.1.197, ID eksplisit yang ditemukan juga dilipat ke entri built-in ketika keduanya diselesaikan ke model yang sama. Baris built-in dikunci pada alias seperti `sonnet`, jadi ID eksplisit yang ditemukan dari model yang alias saat ini diselesaikan, seperti `claude-sonnet-5`, runtuh ke baris `sonnet`, sementara ID yang alias tidak diselesaikan, seperti `claude-sonnet-4-6`, masih menambahkan baris "Dari gateway" miliknya sendiri di samping entri built-in.206ID yang ditemukan dilewati ketika cocok persis dengan baris yang sudah ada di pemilih, atau ketika ID yang ditemukan dan yang ada keduanya diselesaikan ke [Fable](/docs/id/model-config#work-with-fable-5). Mulai dari Claude Code v2.1.197, ID eksplisit yang ditemukan juga dilipat ke entri built-in ketika keduanya diselesaikan ke model yang sama. Baris built-in dikunci pada alias seperti `sonnet`, jadi ID eksplisit yang ditemukan dari model yang alias saat ini diselesaikan, seperti `claude-sonnet-5`, runtuh ke baris `sonnet`, sementara ID yang alias tidak diselesaikan, seperti `claude-sonnet-4-6`, masih menambahkan baris "Dari gateway" miliknya sendiri di samping entri built-in.

207 207 

208Hasil di-cache ke `~/.claude/cache/gateway-models.json`, atau `%USERPROFILE%\.claude\cache\gateway-models.json` di Windows, dan disegarkan pada setiap startup. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model built-in. Jika gateway Anda melayani model Claude di bawah alias yang tidak cocok dengan filter penemuan, pengembang dapat menambahkan alias tersebut secara manual dengan variabel [konfigurasi model](/id/model-config).208Hasil di-cache ke `~/.claude/cache/gateway-models.json`, atau `%USERPROFILE%\.claude\cache\gateway-models.json` di Windows, dan disegarkan pada setiap startup. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model built-in. Jika gateway Anda melayani model Claude di bawah alias yang tidak cocok dengan filter penemuan, pengembang dapat menambahkan alias tersebut secara manual dengan variabel [konfigurasi model](/docs/id/model-config).

209 209 

210<h2 id="related-resources">210<h2 id="related-resources">

211 Sumber daya terkait211 Sumber daya terkait


213 213 

214Untuk sisa set dokumentasi gateway dan referensi API yang mendasarinya:214Untuk sisa set dokumentasi gateway dan referensi API yang mendasarinya:

215 215 

216* [Ikhtisar gateway](/id/gateways): apa itu gateway dan cara memilih antara gateway aplikasi Claude dan produk lainnya216* [Ikhtisar gateway](/docs/id/gateways): apa itu gateway dan cara memilih antara gateway aplikasi Claude dan produk lainnya

217* [Gateway LLM lainnya](/id/llm-gateway): cara meluncurkan gateway yang dijalankan organisasi Anda dan cara berinteraksinya dengan langganan claude.ai217* [Gateway LLM lainnya](/docs/id/llm-gateway): cara meluncurkan gateway yang dijalankan organisasi Anda dan cara berinteraksinya dengan langganan claude.ai

218* [Meluncurkan gateway LLM untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa admin yang menggunakan kontrak ini218* [Meluncurkan gateway LLM untuk organisasi Anda](/docs/id/llm-gateway-rollout): daftar periksa admin yang menggunakan kontrak ini

219* [Menghubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect): konfigurasi per-pengembang dan tabel pemecahan masalah219* [Menghubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect): konfigurasi per-pengembang dan tabel pemecahan masalah

220* [Referensi header beta](https://platform.claude.com/docs/en/api/beta-headers): set nilai `anthropic-beta` saat ini220* [Referensi header beta](https://platform.claude.com/docs/en/api/beta-headers): set nilai `anthropic-beta` saat ini

221* [Messages API](https://platform.claude.com/docs/en/api/messages): format API yang diimplementasikan gateway format Anthropic221* [Messages API](https://platform.claude.com/docs/en/api/messages): format API yang diimplementasikan gateway format Anthropic

Details

9Halaman ini memandu administrator melalui peluncuran gateway LLM untuk Claude Code. Halaman ini mengasumsikan Anda memiliki produk gateway yang diterapkan yang memenuhi [persyaratan gateway](#gateway-requirements). Penerapan atau pengoperasian produk spesifik apa pun tidak tercakup di sini; terapkan milik Anda mengikuti dokumentasi vendor.9Halaman ini memandu administrator melalui peluncuran gateway LLM untuk Claude Code. Halaman ini mengasumsikan Anda memiliki produk gateway yang diterapkan yang memenuhi [persyaratan gateway](#gateway-requirements). Penerapan atau pengoperasian produk spesifik apa pun tidak tercakup di sini; terapkan milik Anda mengikuti dokumentasi vendor.

10 10 

11<Note>11<Note>

12 * Untuk menghubungkan Claude Code di mesin Anda sendiri ke gateway yang ada, lihat [Hubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect)12 * Untuk menghubungkan Claude Code di mesin Anda sendiri ke gateway yang ada, lihat [Hubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect)

13 * Untuk apa yang dikirim Claude Code ke gateway dan apa yang harus diteruskan, lihat [referensi protokol gateway](/id/llm-gateway-protocol)13 * Untuk apa yang dikirim Claude Code ke gateway dan apa yang harus diteruskan, lihat [referensi protokol gateway](/docs/id/llm-gateway-protocol)

14</Note>14</Note>

15 15 

16<h2 id="prerequisites">16<h2 id="prerequisites">


22* Gateway yang diterapkan di infrastruktur Anda, melayani HTTPS di alamat yang tepat yang akan Anda distribusikan kepada pengembang, bukan alamat yang mengalihkannya, dan dikonfigurasi untuk merutekan nama model Claude ke penyedia Anda22* Gateway yang diterapkan di infrastruktur Anda, melayani HTTPS di alamat yang tepat yang akan Anda distribusikan kepada pengembang, bukan alamat yang mengalihkannya, dan dikonfigurasi untuk merutekan nama model Claude ke penyedia Anda

23* Kredensial penyedia untuk gateway yang akan diteruskan dengan:23* Kredensial penyedia untuk gateway yang akan diteruskan dengan:

24 * Untuk API Anthropic: kunci API dari [Konsol Claude](https://platform.claude.com/settings/keys)24 * Untuk API Anthropic: kunci API dari [Konsol Claude](https://platform.claude.com/settings/keys)

25 * Untuk penyedia cloud: kredensial cloud dengan akses model. Lihat prasyarat di halaman [Amazon Bedrock](/id/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/id/google-vertex-ai#prerequisites), atau [Microsoft Foundry](/id/microsoft-foundry#prerequisites)25 * Untuk penyedia cloud: kredensial cloud dengan akses model. Lihat prasyarat di halaman [Amazon Bedrock](/docs/id/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai#prerequisites), atau [Microsoft Foundry](/docs/id/microsoft-foundry#prerequisites)

26* Cara untuk mengirimkan file pengaturan ke mesin pengembang, seperti MDM atau manajemen konfigurasi26* Cara untuk mengirimkan file pengaturan ke mesin pengembang, seperti MDM atau manajemen konfigurasi

27 * Jika Anda belum memilikinya, [bagaimana pengaturan mencapai perangkat](/id/admin-setup#decide-how-settings-reach-devices) membandingkan opsi27 * Jika Anda belum memilikinya, [bagaimana pengaturan mencapai perangkat](/docs/id/admin-setup#decide-how-settings-reach-devices) membandingkan opsi

28 28 

29<h3 id="gateway-requirements">29<h3 id="gateway-requirements">

30 Persyaratan gateway30 Persyaratan gateway


32 32 

33Produk apa pun yang menyediakan gateway harus:33Produk apa pun yang menyediakan gateway harus:

34 34 

35* **Terima format API yang didukung**: salah satu format dalam [tabel format API](/id/llm-gateway-protocol#api-formats). Langkah peluncuran di bawah mengasumsikan API Pesan Anthropic di `POST /v1/messages`, yang dilayani sebagian besar gateway35* **Terima format API yang didukung**: salah satu format dalam [tabel format API](/docs/id/llm-gateway-protocol#api-formats). Langkah peluncuran di bawah mengasumsikan API Pesan Anthropic di `POST /v1/messages`, yang dilayani sebagian besar gateway

36* **Alirkan respons**: teruskan peristiwa yang dikirim server saat tiba daripada membuffer seluruh respons36* **Alirkan respons**: teruskan peristiwa yang dikirim server saat tiba daripada membuffer seluruh respons

37* **Rutekan nama model Claude**: petakan setiap nama yang digunakan pengembang ke model upstream. Claude Code mengirimkan nama model seperti `claude-sonnet-4-6` di setiap permintaan; di sebagian besar produk gateway pemetaan adalah daftar model atau tabel perutean dalam konfigurasi gateway sendiri37* **Rutekan nama model Claude**: petakan setiap nama yang digunakan pengembang ke model upstream. Claude Code mengirimkan nama model seperti `claude-sonnet-4-6` di setiap permintaan; di sebagian besar produk gateway pemetaan adalah daftar model atau tabel perutean dalam konfigurasi gateway sendiri

38* **Teruskan header dan body tanpa perubahan**: teruskan `anthropic-beta`, `anthropic-version`, dan badan permintaan di kedua arah; [tabel pass-through fitur](/id/llm-gateway-protocol#feature-pass-through) memetakan masing-masing ke fitur yang rusak tanpanya38* **Teruskan header dan body tanpa perubahan**: teruskan `anthropic-beta`, `anthropic-version`, dan badan permintaan di kedua arah; [tabel pass-through fitur](/docs/id/llm-gateway-protocol#feature-pass-through) memetakan masing-masing ke fitur yang rusak tanpanya

39* **Kembalikan kesalahan upstream tanpa modifikasi**: pemulihan otomatis Claude Code cocok dengan kata-kata kesalahan, jadi membungkus kesalahan dalam amplop gateway sendiri memecahnya39* **Kembalikan kesalahan upstream tanpa modifikasi**: pemulihan otomatis Claude Code cocok dengan kata-kata kesalahan, jadi membungkus kesalahan dalam amplop gateway sendiri memecahnya

40* **Bebaskan jalur dari inspeksi WAF badan permintaan**: prompt Claude Code membawa kode sumber dan tag gaya XML yang cocok dengan aturan badan cross-site-scripting; WAF di depan gateway mengembalikan `403` pada sesi nyata sementara permintaan uji pendek lulus40* **Bebaskan jalur dari inspeksi WAF badan permintaan**: prompt Claude Code membawa kode sumber dan tag gaya XML yang cocok dengan aturan badan cross-site-scripting; WAF di depan gateway mengembalikan `403` pada sesi nyata sementara permintaan uji pendek lulus

41 41 

42Secara opsional, layani `GET /v1/models` sehingga Claude Code dapat mengisi pemilih model dari gateway Anda dengan [penemuan model](/id/llm-gateway-protocol#model-discovery). {/* min-version: 2.1.129 */}42Secara opsional, layani `GET /v1/models` sehingga Claude Code dapat mengisi pemilih model dari gateway Anda dengan [penemuan model](/docs/id/llm-gateway-protocol#model-discovery).&#x20;

43 43 

44<h2 id="rollout-steps">44<h2 id="rollout-steps">

45 Langkah peluncuran45 Langkah peluncuran


96Ulangi permintaan sekali per nama model Claude dalam konfigurasi perutean gateway Anda. Nama yang tidak dirutekan gateway mengembalikan `404` kepada pengembang mana pun yang memilihnya, jadi uji setiap nama sebelum peluncuran.96Ulangi permintaan sekali per nama model Claude dalam konfigurasi perutean gateway Anda. Nama yang tidak dirutekan gateway mengembalikan `404` kepada pengembang mana pun yang memilihnya, jadi uji setiap nama sebelum peluncuran.

97 97 

98<Note>98<Note>

99 Hindari melayani gateway di belakang pengalihan. Pengalihan dapat menghilangkan badan permintaan atau menghapus header kredensial pada permintaan inferensi, dan [penemuan model](/id/llm-gateway-protocol#model-discovery) memperlakukan pengalihan apa pun sebagai kegagalan sehingga kredensial tidak dapat bocor ke target pengalihan.99 Hindari melayani gateway di belakang pengalihan. Pengalihan dapat menghilangkan badan permintaan atau menghapus header kredensial pada permintaan inferensi, dan [penemuan model](/docs/id/llm-gateway-protocol#model-discovery) memperlakukan pengalihan apa pun sebagai kegagalan sehingga kredensial tidak dapat bocor ke target pengalihan.

100</Note>100</Note>

101 101 

102<h3 id="issue-developer-credentials">102<h3 id="issue-developer-credentials">


130 130 

131**Checkpoint**: `200` dengan bidang `content` berarti kunci pengembang mencapai gateway dan gateway meneruskannya. `401` di sini, ketika [langkah sebelumnya](#confirm-the-gateway-routes-your-models) berhasil, berarti kunci pengembang salah atau belum berlaku di gateway.131**Checkpoint**: `200` dengan bidang `content` berarti kunci pengembang mencapai gateway dan gateway meneruskannya. `401` di sini, ketika [langkah sebelumnya](#confirm-the-gateway-routes-your-models) berhasil, berarti kunci pengembang salah atau belum berlaku di gateway.

132 132 

133Mengeluarkan satu kunci per pengembang daripada kunci bersama adalah apa yang membuat atribusi penggunaan per pengembang dan offboarding individual berfungsi. Variabel lingkungan yang menyimpan kunci tergantung pada header mana yang dibaca gateway. Untuk gateway yang memeriksa kredensial di header `Authorization: Bearer`, pengembang menetapkan kunci mereka di `ANTHROPIC_AUTH_TOKEN`. Untuk gateway yang membaca kunci dari header `x-api-key`, pengembang menetapkan `ANTHROPIC_API_KEY` sebagai gantinya; [tabel kredensial](/id/llm-gateway-connect#set-the-credential-variable) mencakup pemetaan.133Mengeluarkan satu kunci per pengembang daripada kunci bersama adalah apa yang membuat atribusi penggunaan per pengembang dan offboarding individual berfungsi. Variabel lingkungan yang menyimpan kunci tergantung pada header mana yang dibaca gateway. Untuk gateway yang memeriksa kredensial di header `Authorization: Bearer`, pengembang menetapkan kunci mereka di `ANTHROPIC_AUTH_TOKEN`. Untuk gateway yang membaca kunci dari header `x-api-key`, pengembang menetapkan `ANTHROPIC_API_KEY` sebagai gantinya; [tabel kredensial](/docs/id/llm-gateway-connect#set-the-credential-variable) mencakup pemetaan.

134 134 

135<h3 id="test-claude-code-against-the-gateway">135<h3 id="test-claude-code-against-the-gateway">

136 Uji Claude Code terhadap gateway136 Uji Claude Code terhadap gateway


165* `Not logged in`: periksa log gateway untuk membedakan dua penyebab. Jika kosong, tidak ada kredensial yang mencapai sesi dan tidak ada permintaan yang meninggalkan mesin; jalankan kembali ekspor di shell yang Anda uji. Jika menunjukkan permintaan yang ditolak dengan `x-api-key` dalam badan `401`, gateway mengharapkan kunci di header itu; beralih ke `ANTHROPIC_API_KEY`165* `Not logged in`: periksa log gateway untuk membedakan dua penyebab. Jika kosong, tidak ada kredensial yang mencapai sesi dan tidak ada permintaan yang meninggalkan mesin; jalankan kembali ekspor di shell yang Anda uji. Jika menunjukkan permintaan yang ditolak dengan `x-api-key` dalam badan `401`, gateway mengharapkan kunci di header itu; beralih ke `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` berarti kredensial dikirim dan ditolak, dan log gateway mengatakan di mana: `401` yang menyebutkan `api.anthropic.com` atau endpoint penyedia Anda berarti gateway mencapai upstream tetapi kredensial penyedia yang dipegang gateway ditolak, jadi kunci pengembang bekerja dan kredensial penyedia yang dipegang gateway salah atau placeholder166* `Failed to authenticate. API Error: 401` berarti kredensial dikirim dan ditolak, dan log gateway mengatakan di mana: `401` yang menyebutkan `api.anthropic.com` atau endpoint penyedia Anda berarti gateway mencapai upstream tetapi kredensial penyedia yang dipegang gateway ditolak, jadi kunci pengembang bekerja dan kredensial penyedia yang dipegang gateway salah atau placeholder

167 167 

168URL dasar yang salah atau tidak dapat dijangkau menghasilkan gejala berbeda: Claude Code [mencoba ulang koneksi dengan backoff](/id/errors#automatic-retries) dan dapat duduk tanpa output selama beberapa menit sebelum melaporkan kesalahan. Jika perintah tampak hang, periksa log gateway daripada menunggu; tidak ada permintaan yang tiba berarti `ANTHROPIC_BASE_URL` tidak menunjuk ke gateway.168URL dasar yang salah atau tidak dapat dijangkau menghasilkan gejala berbeda: Claude Code [mencoba ulang koneksi dengan backoff](/docs/id/errors#automatic-retries) dan dapat duduk tanpa output selama beberapa menit sebelum melaporkan kesalahan. Jika perintah tampak hang, periksa log gateway daripada menunggu; tidak ada permintaan yang tiba berarti `ANTHROPIC_BASE_URL` tidak menunjuk ke gateway.

169 169 

170<h3 id="distribute-the-configuration">170<h3 id="distribute-the-configuration">

171 Distribusikan konfigurasi171 Distribusikan konfigurasi

172</h3>172</h3>

173 173 

174Setiap mesin pengembang memerlukan alamat gateway dan kredensial. Anda dapat mendistribusikannya secara terpusat melalui [pengaturan terkelola](/id/settings#settings-files), sehingga pengembang tidak mengonfigurasi apa pun, atau berikan pengembang nilai untuk menetapkan sendiri.174Setiap mesin pengembang memerlukan alamat gateway dan kredensial. Anda dapat mendistribusikannya secara terpusat melalui [pengaturan terkelola](/docs/id/settings#settings-files), sehingga pengembang tidak mengonfigurasi apa pun, atau berikan pengembang nilai untuk menetapkan sendiri.

175 175 

176<h4 id="what-to-distribute">176<h4 id="what-to-distribute">

177 Apa yang harus didistribusikan177 Apa yang harus didistribusikan


186| `ANTHROPIC_CUSTOM_HEADERS` | Menambahkan header HTTP ekstra ke setiap permintaan API | Gateway Anda memerlukan header penyewa atau perutean pada setiap permintaan |186| `ANTHROPIC_CUSTOM_HEADERS` | Menambahkan header HTTP ekstra ke setiap permintaan API | Gateway Anda memerlukan header penyewa atau perutean pada setiap permintaan |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Menanyakan `/v1/models` gateway saat startup dan menambahkan nama yang dikembalikan ke pemilih `/model` | Gateway Anda melayani `/v1/models` dan Anda ingin pemilih pengembang diisi darinya |187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Menanyakan `/v1/models` gateway saat startup dan menambahkan nama yang dikembalikan ke pemilih `/model` | Gateway Anda melayani `/v1/models` dan Anda ingin pemilih pengembang diisi darinya |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Menghentikan Claude Code mengirim header dan bidang badan kemampuan pra-rilis | Gateway Anda meneruskan ke upstream Bedrock atau Agent Platform yang menolak bidang beta; lihat [Persyaratan gateway](#gateway-requirements) |188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Menghentikan Claude Code mengirim header dan bidang badan kemampuan pra-rilis | Gateway Anda meneruskan ke upstream Bedrock atau Agent Platform yang menolak bidang beta; lihat [Persyaratan gateway](#gateway-requirements) |

189| `ANTHROPIC_MODEL` atau [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/id/model-config) | Tetapkan nama model mana yang diminta Claude Code untuk sesi utama dan lalu lintas latar belakang | Gateway Anda merutekan nama model yang tidak cocok dengan default Claude Code, atau Anda merutekan [fungsionalitas latar belakang](/id/costs#background-token-usage) ke model berbeda. Rutekan nama penggantian dan nama default Claude Code di gateway, karena beberapa sub-panggilan dapat meminta nama default terlepas dari penggantian; [konfigurasi model](/id/model-config) mencakup model mana yang digunakan setiap bagian dari sesi |189| `ANTHROPIC_MODEL` atau [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/id/model-config) | Tetapkan nama model mana yang diminta Claude Code untuk sesi utama dan lalu lintas latar belakang | Gateway Anda merutekan nama model yang tidak cocok dengan default Claude Code, atau Anda merutekan [fungsionalitas latar belakang](/docs/id/costs#background-token-usage) ke model berbeda. Rutekan nama penggantian dan nama default Claude Code di gateway, karena beberapa sub-panggilan dapat meminta nama default terlepas dari penggantian; [konfigurasi model](/docs/id/model-config) mencakup model mana yang digunakan setiap bagian dari sesi |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, atau `ANTHROPIC_AWS_BASE_URL` dengan [variabel untuk penyedia itu](/id/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Arahkan Claude Code ke gateway melalui URL dasar khusus penyedia. Bedrock dan Agent Platform juga beralih ke format permintaan asli penyedia | Gateway Anda di depan Bedrock, Agent Platform, Foundry, atau Platform Claude di AWS; lihat [Format API](/id/llm-gateway-protocol#api-formats) |190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, atau `ANTHROPIC_AWS_BASE_URL` dengan [variabel untuk penyedia itu](/docs/id/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Arahkan Claude Code ke gateway melalui URL dasar khusus penyedia. Bedrock dan Agent Platform juga beralih ke format permintaan asli penyedia | Gateway Anda di depan Bedrock, Agent Platform, Foundry, atau Platform Claude di AWS; lihat [Format API](/docs/id/llm-gateway-protocol#api-formats) |

191 191 

192<h4 id="distribute-through-managed-settings">192<h4 id="distribute-through-managed-settings">

193 Distribusikan melalui pengaturan terkelola193 Distribusikan melalui pengaturan terkelola

194</h4>194</h4>

195 195 

196Berikan variabel melalui blok `env` dari [file pengaturan terkelola](/id/settings#settings-files), didorong oleh MDM, kebijakan registri, atau manajemen konfigurasi:196Berikan variabel melalui blok `env` dari [file pengaturan terkelola](/docs/id/settings#settings-files), didorong oleh MDM, kebijakan registri, atau manajemen konfigurasi:

197 197 

198```json theme={null}198```json theme={null}

199{199{


206 206 

207Tambahkan variabel bersyarat dari tabel ke blok `env` yang sama. `ANTHROPIC_BASE_URL` yang dikelola diberlakukan dan tidak dapat ditimpa oleh ekspor shell pengembang, karena Claude Code menerapkannya di atas lingkungan proses dan pengaturan prioritas lebih rendah.207Tambahkan variabel bersyarat dari tabel ke blok `env` yang sama. `ANTHROPIC_BASE_URL` yang dikelola diberlakukan dan tidak dapat ditimpa oleh ekspor shell pengembang, karena Claude Code menerapkannya di atas lingkungan proses dan pengaturan prioritas lebih rendah.

208 208 

209Jangan sertakan `forceLoginMethod` atau `forceLoginOrgUUID` dalam pengaturan terkelola bersama kredensial gateway. Pada Claude Code v2.1.146 dan yang lebih baru, salah satu kunci, dengan nilai apa pun, memblokir `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, dan `apiKeyHelper` saat startup, sehingga pengembang melihat `This machine's managed settings require a first-party login` dan tidak dapat melanjutkan. {/* min-version: 2.1.146 */}209Jangan sertakan `forceLoginMethod` atau `forceLoginOrgUUID` dalam pengaturan terkelola bersama kredensial gateway. Pada Claude Code v2.1.146 dan yang lebih baru, salah satu kunci, dengan nilai apa pun, memblokir `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, dan `apiKeyHelper` saat startup, sehingga pengembang melihat `This machine's managed settings require a first-party login` dan tidak dapat melanjutkan.&#x20;

210 210 

211Pengiriman [pengaturan terkelola server](/id/server-managed-settings#platform-availability) memerlukan koneksi langsung ke `api.anthropic.com`, sehingga tidak mencapai sesi yang dirutekan gateway. Penerapan gateway menggunakan jalur pengaturan terkelola berbasis file ini, yang memberlakukan kunci yang sama.211Pengiriman [pengaturan terkelola server](/docs/id/server-managed-settings#platform-availability) memerlukan koneksi langsung ke `api.anthropic.com`, sehingga tidak mencapai sesi yang dirutekan gateway. Penerapan gateway menggunakan jalur pengaturan terkelola berbasis file ini, yang memberlakukan kunci yang sama.

212 212 

213Untuk kredensial, distribusikan satu perintah [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) dalam file pengaturan terkelola seperti yang ditunjukkan di atas; perintah mengautentikasi ke penyimpanan rahasia Anda sebagai pengembang lokal, sehingga setiap mesin menerima kuncinya sendiri. Alternatifnya, berikan setiap pengembang kunci mereka melalui proses rahasia yang ada dan minta mereka menetapkan `ANTHROPIC_AUTH_TOKEN` sendiri.213Untuk kredensial, distribusikan satu perintah [`apiKeyHelper`](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) dalam file pengaturan terkelola seperti yang ditunjukkan di atas; perintah mengautentikasi ke penyimpanan rahasia Anda sebagai pengembang lokal, sehingga setiap mesin menerima kuncinya sendiri. Alternatifnya, berikan setiap pengembang kunci mereka melalui proses rahasia yang ada dan minta mereka menetapkan `ANTHROPIC_AUTH_TOKEN` sendiri.

214 214 

215Beberapa lingkungan memerlukan pengiriman terpisah:215Beberapa lingkungan memerlukan pengiriman terpisah:

216 216 

217* Aplikasi desktop membaca perutean gateway dari konfigurasi inferensi pihak ketiga, bukan dari pengaturan terkelola; terapkan file itu melalui MDM bersama pengaturan terkelola sehingga sesi desktop juga merutekan melalui gateway. Lihat [dokumentasi konfigurasi pihak ketiga desktop](https://claude.com/docs/third-party/claude-desktop/configuration) dan [dokumentasi gateway desktop](https://claude.com/docs/third-party/claude-desktop/gateway)217* Aplikasi desktop membaca perutean gateway dari konfigurasi inferensi pihak ketiga, bukan dari pengaturan terkelola; terapkan file itu melalui MDM bersama pengaturan terkelola sehingga sesi desktop juga merutekan melalui gateway. Lihat [dokumentasi konfigurasi pihak ketiga desktop](https://claude.com/docs/third-party/claude-desktop/configuration) dan [dokumentasi gateway desktop](https://claude.com/docs/third-party/claude-desktop/gateway)

218* Runner CI memerlukan `ANTHROPIC_BASE_URL` dan kredensial yang ditetapkan di [lingkungan runner](/id/llm-gateway-connect#configure-each-surface)218* Runner CI memerlukan `ANTHROPIC_BASE_URL` dan kredensial yang ditetapkan di [lingkungan runner](/docs/id/llm-gateway-connect#configure-each-surface)

219* WSL pada mesin Windows terkelola membaca pengaturan terkelola Windows hanya ketika [`wslInheritsWindowsSettings`](/id/settings#available-settings) adalah `true`219* WSL pada mesin Windows terkelola membaca pengaturan terkelola Windows hanya ketika [`wslInheritsWindowsSettings`](/docs/id/settings#available-settings) adalah `true`

220 220 

221<h4 id="hand-developers-the-values-to-set-themselves">221<h4 id="hand-developers-the-values-to-set-themselves">

222 Berikan pengembang nilai untuk menetapkan sendiri222 Berikan pengembang nilai untuk menetapkan sendiri

223</h4>223</h4>

224 224 

225Jika Anda tidak memiliki distribusi pengaturan terkelola, kirim setiap pengembang apa yang mereka butuhkan untuk mengikuti [halaman koneksi](/id/llm-gateway-connect#configure-claude-code-yourself):225Jika Anda tidak memiliki distribusi pengaturan terkelola, kirim setiap pengembang apa yang mereka butuhkan untuk mengikuti [halaman koneksi](/docs/id/llm-gateway-connect#configure-claude-code-yourself):

226 226 

227* URL gateway227* URL gateway

228* Kredensial pribadi mereka228* Kredensial pribadi mereka

229* **Variabel mana yang harus dimasukkan kredensial**: `ANTHROPIC_AUTH_TOKEN` untuk gateway token-bearer, atau `ANTHROPIC_API_KEY` untuk gateway `x-api-key`. Memberitahu pengembang mana yang menghemat mereka dari trial-and-error yang dijelaskan di [halaman koneksi](/id/llm-gateway-connect#set-the-credential-variable)229* **Variabel mana yang harus dimasukkan kredensial**: `ANTHROPIC_AUTH_TOKEN` untuk gateway token-bearer, atau `ANTHROPIC_API_KEY` untuk gateway `x-api-key`. Memberitahu pengembang mana yang menghemat mereka dari trial-and-error yang dijelaskan di [halaman koneksi](/docs/id/llm-gateway-connect#set-the-credential-variable)

230* Variabel bersyarat apa pun dari [tabel Apa yang harus didistribusikan](#what-to-distribute), dengan nilainya230* Variabel bersyarat apa pun dari [tabel Apa yang harus didistribusikan](#what-to-distribute), dengan nilainya

231 231 

232[Halaman koneksi](/id/llm-gateway-connect#configure-claude-code-yourself) memandu pengembang melalui pengaturan masing-masing.232[Halaman koneksi](/docs/id/llm-gateway-connect#configure-claude-code-yourself) memandu pengembang melalui pengaturan masing-masing.

233 233 

234**Checkpoint**: pada mesin pengembang, `claude` memulai sesi tanpa menampilkan layar login, karena kredensial yang didistribusikan memenuhi autentikasi. Kemudian jalankan `/status` dan buka tab **Status**: baris `Anthropic base URL` menunjukkan alamat gateway, dan untuk distribusi terkelola baris `Setting sources` mencakup pengaturan terkelola. Layar login, atau baris `Anthropic base URL` yang hilang, berarti konfigurasi tidak mencapai mesin.234**Checkpoint**: pada mesin pengembang, `claude` memulai sesi tanpa menampilkan layar login, karena kredensial yang didistribusikan memenuhi autentikasi. Kemudian jalankan `/status` dan buka tab **Status**: baris `Anthropic base URL` menunjukkan alamat gateway, dan untuk distribusi terkelola baris `Setting sources` mencakup pengaturan terkelola. Layar login, atau baris `Anthropic base URL` yang hilang, berarti konfigurasi tidak mencapai mesin.

235 235 


270* Kesalahan `Failed to authenticate` berarti gateway menolak permintaan; lognya mengatakan kredensial mana yang gagal. Penolakan yang dicatat gateway sendiri menyebutkan kunci pengembang, sementara `401` dari `api.anthropic.com` atau endpoint penyedia Anda berarti kredensial penyedia yang dipegang gateway ditolak270* Kesalahan `Failed to authenticate` berarti gateway menolak permintaan; lognya mengatakan kredensial mana yang gagal. Penolakan yang dicatat gateway sendiri menyebutkan kunci pengembang, sementara `401` dari `api.anthropic.com` atau endpoint penyedia Anda berarti kredensial penyedia yang dipegang gateway ditolak

271* Prompt persetujuan satu kali untuk kunci diharapkan pada penggunaan pertama ketika gateway mengharapkan kunci di header `x-api-key`, ditetapkan sebagai `ANTHROPIC_API_KEY`. Dengan `ANTHROPIC_AUTH_TOKEN`, tidak ada prompt yang muncul dan variabel mengambil alih secara diam-diam; login claude.ai yang sebelumnya disimpan tidak aktif untuk sesi itu271* Prompt persetujuan satu kali untuk kunci diharapkan pada penggunaan pertama ketika gateway mengharapkan kunci di header `x-api-key`, ditetapkan sebagai `ANTHROPIC_API_KEY`. Dengan `ANTHROPIC_AUTH_TOKEN`, tidak ada prompt yang muncul dan variabel mengambil alih secara diam-diam; login claude.ai yang sebelumnya disimpan tidak aktif untuk sesi itu

272 272 

273Terakhir, periksa log gateway untuk pesan yang Anda kirim: kredensial mengidentifikasi pengembang, dan [header `x-claude-code-session-id`](/id/llm-gateway-protocol#request-headers) mengelompokkan permintaan berdasarkan sesi. Jika fitur gagal dengan [gejala pemecahan masalah](/id/llm-gateway-connect#troubleshoot-gateway-errors), gateway menghapus header atau menulis ulang kesalahan; lihat [persyaratan gateway](#gateway-requirements) di atas.273Terakhir, periksa log gateway untuk pesan yang Anda kirim: kredensial mengidentifikasi pengembang, dan [header `x-claude-code-session-id`](/docs/id/llm-gateway-protocol#request-headers) mengelompokkan permintaan berdasarkan sesi. Jika fitur gagal dengan [gejala pemecahan masalah](/docs/id/llm-gateway-connect#troubleshoot-gateway-errors), gateway menghapus header atau menulis ulang kesalahan; lihat [persyaratan gateway](#gateway-requirements) di atas.

274 274 

275<h2 id="maintain-the-gateway">275<h2 id="maintain-the-gateway">

276 Pertahankan gateway276 Pertahankan gateway


280 280 

281| Perubahan | Gejala ketika gateway belum mengikuti | Tindakan |281| Perubahan | Gejala ketika gateway belum mengikuti | Tindakan |

282| :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |282| :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

283| Rilis Claude Code baru menambahkan nilai `anthropic-beta` dan bidang badan permintaan | Pengembang melaporkan kesalahan `400` yang menyebutkan bidang baru setelah mereka memperbarui Claude Code; lihat [pass-through fitur](/id/llm-gateway-protocol#feature-pass-through) | Teruskan header `anthropic-*` dan badan permintaan secara verbatim daripada allowlisting; uji rilis Claude Code baru terhadap gateway sebelum mencapai pengembang |283| Rilis Claude Code baru menambahkan nilai `anthropic-beta` dan bidang badan permintaan | Pengembang melaporkan kesalahan `400` yang menyebutkan bidang baru setelah mereka memperbarui Claude Code; lihat [pass-through fitur](/docs/id/llm-gateway-protocol#feature-pass-through) | Teruskan header `anthropic-*` dan badan permintaan secara verbatim daripada allowlisting; uji rilis Claude Code baru terhadap gateway sebelum mencapai pengembang |

284| Model Claude baru menjadi tersedia | Pengembang memilih nama model baru mendapat `404`; pemilih `/model` tidak mencantumkannya | Tambahkan nama model ke konfigurasi perutean gateway, kemudian jalankan kembali [pemeriksaan perutean](#confirm-the-gateway-routes-your-models). Jika Anda mendistribusikan `ANTHROPIC_MODEL` atau variabel model default, perbarui pengaturan terkelola |284| Model Claude baru menjadi tersedia | Pengembang memilih nama model baru mendapat `404`; pemilih `/model` tidak mencantumkannya | Tambahkan nama model ke konfigurasi perutean gateway, kemudian jalankan kembali [pemeriksaan perutean](#confirm-the-gateway-routes-your-models). Jika Anda mendistribusikan `ANTHROPIC_MODEL` atau variabel model default, perbarui pengaturan terkelola |

285| Kredensial kedaluwarsa atau perlu rotasi | Semua permintaan pengembang mulai gagal dengan `401` dari upstream | Rotasi kredensial penyedia gateway sesuai jadwal sendiri; kunci pengembang berputar di gateway, dan [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) menangani rotasi per pengembang tanpa mendistribusikan ulang pengaturan |285| Kredensial kedaluwarsa atau perlu rotasi | Semua permintaan pengembang mulai gagal dengan `401` dari upstream | Rotasi kredensial penyedia gateway sesuai jadwal sendiri; kunci pengembang berputar di gateway, dan [`apiKeyHelper`](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) menangani rotasi per pengembang tanpa mendistribusikan ulang pengaturan |

286 286 

287Saat mengukur batas laju per kunci, akun untuk klien [mencoba ulang kegagalan transien](/id/errors#automatic-retries), termasuk respons `429`, hingga 10 kali dengan backoff, menghormati `Retry-After`. Simpan [referensi protokol](/id/llm-gateway-protocol) sebagai kontrak untuk apa yang dikirim setiap rilis Claude Code.287Saat mengukur batas laju per kunci, akun untuk klien [mencoba ulang kegagalan transien](/docs/id/errors#automatic-retries), termasuk respons `429`, hingga 10 kali dengan backoff, menghormati `Retry-After`. Simpan [referensi protokol](/docs/id/llm-gateway-protocol) sebagai kontrak untuk apa yang dikirim setiap rilis Claude Code.

288 288 

289<h2 id="related-resources">289<h2 id="related-resources">

290 Sumber daya terkait290 Sumber daya terkait

291</h2>291</h2>

292 292 

293* [Hubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect): langkah pengaturan yang menghadap pengembang, dengan konfigurasi per-permukaan dan tabel pemecahan masalah yang dapat Anda berikan kepada pengembang293* [Hubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect): langkah pengaturan yang menghadap pengembang, dengan konfigurasi per-permukaan dan tabel pemecahan masalah yang dapat Anda berikan kepada pengembang

294* [Referensi protokol gateway](/id/llm-gateway-protocol): kontrak kawat untuk operator gateway, mencakup endpoint, header untuk diteruskan, dan tabel pass-through fitur294* [Referensi protokol gateway](/docs/id/llm-gateway-protocol): kontrak kawat untuk operator gateway, mencakup endpoint, header untuk diteruskan, dan tabel pass-through fitur

295* [File pengaturan dan prioritas](/id/settings#settings-files): bagaimana pengaturan terkelola, proyek, dan pengguna digabungkan, dan di mana file terkelola berada di setiap platform295* [File pengaturan dan prioritas](/docs/id/settings#settings-files): bagaimana pengaturan terkelola, proyek, dan pengguna digabungkan, dan di mana file terkelola berada di setiap platform

296* [Siapkan Claude Code untuk organisasi Anda](/id/admin-setup): peluncuran yang lebih luas yang merupakan bagian dari gateway ini, termasuk penegakan kebijakan, visibilitas penggunaan, dan penanganan data296* [Siapkan Claude Code untuk organisasi Anda](/docs/id/admin-setup): peluncuran yang lebih luas yang merupakan bagian dari gateway ini, termasuk penegakan kebijakan, visibilitas penggunaan, dan penanganan data

managed-mcp.md +24 −24

Details

6 6 

7> Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna dengan file konfigurasi yang dikelola, daftar izin, dan daftar penolakan.7> Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna dengan file konfigurasi yang dikelola, daftar izin, dan daftar penolakan.

8 8 

9Secara default, siapa pun yang menjalankan Claude Code dapat menghubungkan [server MCP](/id/mcp) apa pun yang mereka pilih. Anthropic meninjau konektor terhadap [kriteria pendaftarannya](https://claude.com/docs/connectors/building/review-criteria) sebelum menambahkannya ke [Direktori Anthropic](https://claude.ai/directory), tetapi tidak melakukan audit keamanan atau mengelola server MCP apa pun. Sebagai administrator, Anda dapat membatasi server mana yang berjalan di organisasi Anda, mulai dari menerapkan set yang disetujui tetap hingga menonaktifkan MCP sepenuhnya.9Secara default, siapa pun yang menjalankan Claude Code dapat menghubungkan [server MCP](/docs/id/mcp) apa pun yang mereka pilih. Anthropic meninjau konektor terhadap [kriteria pendaftarannya](https://claude.com/docs/connectors/building/review-criteria) sebelum menambahkannya ke [Direktori Anthropic](https://claude.ai/directory), tetapi tidak melakukan audit keamanan atau mengelola server MCP apa pun. Sebagai administrator, Anda dapat membatasi server mana yang berjalan di organisasi Anda, mulai dari menerapkan set yang disetujui tetap hingga menonaktifkan MCP sepenuhnya.

10 10 

11Halaman ini mencakup cara untuk:11Halaman ini mencakup cara untuk:

12 12 


17* [Memantau server mana yang benar-benar digunakan organisasi Anda](#monitor-mcp-usage)17* [Memantau server mana yang benar-benar digunakan organisasi Anda](#monitor-mcp-usage)

18 18 

19<Note>19<Note>

20 Halaman [Security](/id/security) mencakup model ancaman MCP dan cara mengevaluasi server sebelum menyetujuinya. [Tentukan apa yang akan diterapkan](/id/admin-setup#decide-what-to-enforce) mencakup pembatasan MCP bersama dengan kontrol administratif lainnya.20 Halaman [Security](/docs/id/security) mencakup model ancaman MCP dan cara mengevaluasi server sebelum menyetujuinya. [Tentukan apa yang akan diterapkan](/docs/id/admin-setup#decide-what-to-enforce) mencakup pembatasan MCP bersama dengan kontrol administratif lainnya.

21</Note>21</Note>

22 22 

23<h2 id="choose-a-pattern">23<h2 id="choose-a-pattern">


31| **Nonaktifkan MCP** | Tidak ada server yang dimuat di mana pun | `managed-mcp.json` dengan peta server kosong |31| **Nonaktifkan MCP** | Tidak ada server yang dimuat di mana pun | `managed-mcp.json` dengan peta server kosong |

32| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah yang lain | `managed-mcp.json` dengan server yang Anda inginkan |32| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah yang lain | `managed-mcp.json` dengan server yang Anda inginkan |

33| **Katalog yang disetujui** | Publikasikan daftar server yang disetujui; pengguna menambahkan yang mereka inginkan, yang lain diblokir | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |33| **Katalog yang disetujui** | Publikasikan daftar server yang disetujui; pengguna menambahkan yang mereka inginkan, yang lain diblokir | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |

34| **Server plugin saja** | Server hanya dapat berasal dari plugin; pengguna tidak dapat menambah milik mereka sendiri | [`strictPluginOnlyCustomization`](/id/settings#strictpluginonlycustomization) dengan `mcp` dalam daftar |34| **Server plugin saja** | Server hanya dapat berasal dari plugin; pengguna tidak dapat menambah milik mereka sendiri | [`strictPluginOnlyCustomization`](/docs/id/settings#strictpluginonlycustomization) dengan `mcp` dalam daftar |

35| **Daftar izin lunak** | Terapkan daftar izin yang dapat diperluas pengguna dalam pengaturan mereka sendiri | `allowedMcpServers` tanpa `allowManagedMcpServersOnly` |35| **Daftar izin lunak** | Terapkan daftar izin yang dapat diperluas pengguna dalam pengaturan mereka sendiri | `allowedMcpServers` tanpa `allowManagedMcpServersOnly` |

36| **Hanya daftar penolakan** | Blokir server yang diketahui buruk, izinkan yang lain | `deniedMcpServers` |36| **Hanya daftar penolakan** | Blokir server yang diketahui buruk, izinkan yang lain | `deniedMcpServers` |

37| **Tanpa pembatasan** | Pengguna menambahkan apa pun | Jangan terapkan konfigurasi MCP yang dikelola |37| **Tanpa pembatasan** | Pengguna menambahkan apa pun | Jangan terapkan konfigurasi MCP yang dikelola |

38 38 

39<Note>39<Note>

40 Claude Code tidak memiliki registri server MCP bawaan yang dapat ditelusuri dan diinstal pengguna. Untuk pola katalog yang disetujui, bagikan daftar yang disetujui dan perintah `claude mcp add` di tempat yang akan ditemukan pengguna Anda, seperti wiki internal, atau distribusikan server sebagai plugin melalui [marketplace plugin yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) sehingga pengguna dapat menelusuri dan menginstalnya dari `/plugin`.40 Claude Code tidak memiliki registri server MCP bawaan yang dapat ditelusuri dan diinstal pengguna. Untuk pola katalog yang disetujui, bagikan daftar yang disetujui dan perintah `claude mcp add` di tempat yang akan ditemukan pengguna Anda, seperti wiki internal, atau distribusikan server sebagai plugin melalui [marketplace plugin yang dikelola](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) sehingga pengguna dapat menelusuri dan menginstalnya dari `/plugin`.

41</Note>41</Note>

42 42 

43<h2 id="exclusive-control-with-managed-mcp-json">43<h2 id="exclusive-control-with-managed-mcp-json">


53 53 

54Lihat [Bagaimana server dievaluasi](#how-a-server-is-evaluated) untuk urutan pemeriksaan lengkap.54Lihat [Bagaimana server dievaluasi](#how-a-server-is-evaluated) untuk urutan pemeriksaan lengkap.

55 55 

56`managed-mcp.json` adalah file mandiri, jadi tidak dapat dikirimkan melalui [pengaturan yang dikelola server](/id/server-managed-settings). Proses apa pun yang dapat menulis ke jalur sistem dengan hak istimewa administrator dapat menerapkannya. Dalam skala besar, itu biasanya melalui alat manajemen perangkat, seperti Jamf atau profil konfigurasi di macOS, Group Policy atau Intune di Windows, atau manajemen armada pilihan Anda di Linux. Claude Code mencari file di salah satu jalur berikut:56`managed-mcp.json` adalah file mandiri, jadi tidak dapat dikirimkan melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings). Proses apa pun yang dapat menulis ke jalur sistem dengan hak istimewa administrator dapat menerapkannya. Dalam skala besar, itu biasanya melalui alat manajemen perangkat, seperti Jamf atau profil konfigurasi di macOS, Group Policy atau Intune di Windows, atau manajemen armada pilihan Anda di Linux. Claude Code mencari file di salah satu jalur berikut:

57 57 

58| Platform | Jalur |58| Platform | Jalur |

59| :------------ | :--------------------------------------------------------- |59| :------------ | :--------------------------------------------------------- |


61| Linux dan WSL | `/etc/claude-code/managed-mcp.json` |61| Linux dan WSL | `/etc/claude-code/managed-mcp.json` |

62| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |62| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |

63 63 

64File menggunakan format yang sama dengan file proyek [`.mcp.json`](/id/mcp#project-scope):64File menggunakan format yang sama dengan file proyek [`.mcp.json`](/docs/id/mcp#project-scope):

65 65 

66```json theme={null}66```json theme={null}

67{67{


92 92 

93Pengguna apa pun di mesin dapat membaca file ini, jadi jangan simpan kunci API atau kredensial lain dalam blok `env`. Teruskan kredensial per pengguna dengan salah satu dari ini:93Pengguna apa pun di mesin dapat membaca file ini, jadi jangan simpan kunci API atau kredensial lain dalam blok `env`. Teruskan kredensial per pengguna dengan salah satu dari ini:

94 94 

95* [Ekspansi `${VAR}`](/id/mcp#environment-variable-expansion-in-mcp-json) untuk membaca rahasia dari lingkungan setiap pengguna.95* [Ekspansi `${VAR}`](/docs/id/mcp#environment-variable-expansion-in-mcp-json) untuk membaca rahasia dari lingkungan setiap pengguna.

96* [OAuth atau header per pengguna](/id/mcp#authenticate-with-remote-mcp-servers) sehingga setiap pengguna mengautentikasi sebagai diri mereka sendiri.96* [OAuth atau header per pengguna](/docs/id/mcp#authenticate-with-remote-mcp-servers) sehingga setiap pengguna mengautentikasi sebagai diri mereka sendiri.

97* [`headersHelper`](/id/mcp#use-dynamic-headers-for-custom-authentication) untuk menghasilkan kredensial pada waktu koneksi.97* [`headersHelper`](/docs/id/mcp#use-dynamic-headers-for-custom-authentication) untuk menghasilkan kredensial pada waktu koneksi.

98 98 

99<h3 id="validate-the-configuration">99<h3 id="validate-the-configuration">

100 Validasi konfigurasi100 Validasi konfigurasi


123 Izinkan konektor claude.ai bersama set yang dikelola123 Izinkan konektor claude.ai bersama set yang dikelola

124</h3>124</h3>

125 125 

126Menerapkan `managed-mcp.json` menekan [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) secara default, termasuk konektor yang dikonfigurasi administrator untuk organisasi di konsol admin claude.ai. Untuk memuat konektor tersebut bersama server di `managed-mcp.json`, atur `"allowAllClaudeAiMcps": true` dalam [sumber pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices). Memerlukan Claude Code v2.1.149 atau lebih baru.126Menerapkan `managed-mcp.json` menekan [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) secara default, termasuk konektor yang dikonfigurasi administrator untuk organisasi di konsol admin claude.ai. Untuk memuat konektor tersebut bersama server di `managed-mcp.json`, atur `"allowAllClaudeAiMcps": true` dalam [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices). Memerlukan Claude Code v2.1.149 atau lebih baru.

127 127 

128Dengan pengaturan diaktifkan, Claude Code memuat konektor claude.ai yang sama yang akan dimuat jika `managed-mcp.json` tidak diterapkan. [Daftar izin dan daftar penolakan](#policy-based-control-with-allowlists-and-denylists) masih berlaku untuk konektor tersebut, jadi Anda dapat memblokir yang spesifik dengan `deniedMcpServers`. Pengaturan hanya mempengaruhi konektor claude.ai; server yang disediakan plugin tetap ditekan.128Dengan pengaturan diaktifkan, Claude Code memuat konektor claude.ai yang sama yang akan dimuat jika `managed-mcp.json` tidak diterapkan. [Daftar izin dan daftar penolakan](#policy-based-control-with-allowlists-and-denylists) masih berlaku untuk konektor tersebut, jadi Anda dapat memblokir yang spesifik dengan `deniedMcpServers`. Pengaturan hanya mempengaruhi konektor claude.ai; server yang disediakan plugin tetap ditekan.

129 129 


133 Kontrol berbasis kebijakan dengan daftar izin dan daftar penolakan133 Kontrol berbasis kebijakan dengan daftar izin dan daftar penolakan

134</h2>134</h2>

135 135 

136Daftar izin dan daftar penolakan memfilter server mana yang dikonfigurasi yang diizinkan untuk dimuat. Mereka bukan registri: server masih harus ditambahkan oleh pengguna, plugin, atau `managed-mcp.json` sebelum daftar izin atau daftar penolakan berlaku padanya. Untuk menerapkan server kepada pengguna, gunakan [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json). Kedua daftar juga memfilter server yang dilewatkan dengan bendera CLI [`--mcp-config`](/id/cli-reference#cli-flags); `--strict-mcp-config` membatasi file konfigurasi mana yang dimuat dan tidak melewati salah satu daftar.136Daftar izin dan daftar penolakan memfilter server mana yang dikonfigurasi yang diizinkan untuk dimuat. Mereka bukan registri: server masih harus ditambahkan oleh pengguna, plugin, atau `managed-mcp.json` sebelum daftar izin atau daftar penolakan berlaku padanya. Untuk menerapkan server kepada pengguna, gunakan [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json). Kedua daftar juga memfilter server yang dilewatkan dengan bendera CLI [`--mcp-config`](/docs/id/cli-reference#cli-flags); `--strict-mcp-config` membatasi file konfigurasi mana yang dimuat dan tidak melewati salah satu daftar.

137 137 

138Untuk membuat daftar izin berwenang, atur `allowedMcpServers` dan `allowManagedMcpServersOnly: true` bersama-sama dalam [sumber pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices), seperti pengaturan yang dikelola server atau file `managed-settings.json` yang diterapkan. [Batasi daftar izin ke pengaturan yang dikelola saja](#restrict-the-allowlist-to-managed-settings-only) menunjukkan konfigurasi. Tanpa `allowManagedMcpServersOnly`, daftar izin dari setiap sumber pengaturan digabungkan, termasuk `~/.claude/settings.json` pengguna sendiri, jadi pengguna dapat memperluas apa yang diizinkan daftar izin Anda. Daftar penolakan digabungkan dari setiap sumber terlepas dari itu.138Untuk membuat daftar izin berwenang, atur `allowedMcpServers` dan `allowManagedMcpServersOnly: true` bersama-sama dalam [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices), seperti pengaturan yang dikelola server atau file `managed-settings.json` yang diterapkan. [Batasi daftar izin ke pengaturan yang dikelola saja](#restrict-the-allowlist-to-managed-settings-only) menunjukkan konfigurasi. Tanpa `allowManagedMcpServersOnly`, daftar izin dari setiap sumber pengaturan digabungkan, termasuk `~/.claude/settings.json` pengguna sendiri, jadi pengguna dapat memperluas apa yang diizinkan daftar izin Anda. Daftar penolakan digabungkan dari setiap sumber terlepas dari itu.

139 139 

140<Note>140<Note>

141 `allowManagedMcpServersOnly` terpisah dari `allowManagedPermissionRulesOnly`, yang mengunci [aturan izin](/id/permissions#managed-settings) saja. Menetapkan bendera itu tidak menerapkan daftar izin MCP.141 `allowManagedMcpServersOnly` terpisah dari `allowManagedPermissionRulesOnly`, yang mengunci [aturan izin](/docs/id/permissions#managed-settings) saja. Menetapkan bendera itu tidak menerapkan daftar izin MCP.

142</Note>142</Note>

143 143 

144<h3 id="match-servers-by-url-command-or-name">144<h3 id="match-servers-by-url-command-or-name">


160| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan | Hanya server yang cocok diizinkan |160| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan | Hanya server yang cocok diizinkan |

161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |

162 162 

163Lihat [Entri tidak valid dalam pengaturan yang dikelola](/id/settings#invalid-entries-in-managed-settings) untuk mengetahui apa yang terjadi ketika entri gagal validasi skema.163Lihat [Entri tidak valid dalam pengaturan yang dikelola](/docs/id/settings#invalid-entries-in-managed-settings) untuk mengetahui apa yang terjadi ketika entri gagal validasi skema.

164 164 

165<Warning>165<Warning>

166 Entri `serverName`, dalam daftar apa pun, bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk konektor claude.ai, nama adalah nama tampilan yang dikembalikan oleh claude.ai, yang dapat berubah. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.166 Entri `serverName`, dalam daftar apa pun, bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk konektor claude.ai, nama adalah nama tampilan yang dikembalikan oleh claude.ai, yang dapat berubah. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.


168 168 

169Validasi `serverName` berbeda antara dua daftar:169Validasi `serverName` berbeda antara dua daftar:

170 170 

171* {/* min-version: 2.1.182 */}Dalam `deniedMcpServers`, `serverName` menerima string non-kosong apa pun, jadi Anda dapat memblokir [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) berdasarkan nama tampilan mereka. Misalnya, `{ "serverName": "claude.ai Slack" }` memblokir konektor Slack. Lebih suka entri `serverUrl` ketika Anda memerlukan penolakan yang kuat terhadap penggantian nama, atau ketika nama konektor bertabrakan dan mendapatkan akhiran ` (N)`.171* Dalam `deniedMcpServers`, `serverName` menerima string non-kosong apa pun, jadi Anda dapat memblokir [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) berdasarkan nama tampilan mereka. Misalnya, `{ "serverName": "claude.ai Slack" }` memblokir konektor Slack. Lebih suka entri `serverUrl` ketika Anda memerlukan penolakan yang kuat terhadap penggantian nama, atau ketika nama konektor bertabrakan dan mendapatkan akhiran ` (N)`.

172* Dalam `allowedMcpServers`, `serverName` terbatas pada huruf, angka, tanda hubung, dan garis bawah. Gunakan `serverUrl` untuk daftar izin konektor claude.ai.172* Dalam `allowedMcpServers`, `serverName` terbatas pada huruf, angka, tanda hubung, dan garis bawah. Gunakan `serverUrl` untuk daftar izin konektor claude.ai.

173 173 

174Untuk mematikan semua konektor claude.ai, lihat [`disableClaudeAiConnectors`](/id/mcp#disable-claude-ai-connectors).174Untuk mematikan semua konektor claude.ai, lihat [`disableClaudeAiConnectors`](/docs/id/mcp#disable-claude-ai-connectors).

175 175 

176<h3 id="how-a-server-is-evaluated">176<h3 id="how-a-server-is-evaluated">

177 Bagaimana server dievaluasi177 Bagaimana server dievaluasi


191Tiga aturan pencocokan berlaku dalam pemeriksaan tersebut:191Tiga aturan pencocokan berlaku dalam pemeriksaan tersebut:

192 192 

193* **Perintah cocok dengan tepat.** Setiap argumen, dalam urutan. `["npx", "-y", "server"]` tidak cocok dengan `["npx", "server"]` atau `["npx", "-y", "server", "--flag"]`.193* **Perintah cocok dengan tepat.** Setiap argumen, dalam urutan. `["npx", "-y", "server"]` tidak cocok dengan `["npx", "server"]` atau `["npx", "-y", "server", "--flag"]`.

194* **Nilai `serverCommand` dan `serverUrl` diperluas sebelum pencocokan.** Baik entri kebijakan maupun nilai yang dikonfigurasi server melalui ekspansi [`${VAR}` dan `${VAR:-default}`](/id/mcp#environment-variable-expansion-in-mcp-json) yang sama seperti `.mcp.json`, jadi entri yang ditulis sebagai `["${HOME}/bin/server"]` cocok dengan konfigurasi server yang menggunakan referensi yang sama atau jalur yang diperluas. Di Windows, referensikan variabel lingkungan yang diatur di sana, seperti `${USERPROFILE}` bukan `${HOME}`. Nilai `serverName` cocok secara harfiah dan tidak pernah diperluas.194* **Nilai `serverCommand` dan `serverUrl` diperluas sebelum pencocokan.** Baik entri kebijakan maupun nilai yang dikonfigurasi server melalui ekspansi [`${VAR}` dan `${VAR:-default}`](/docs/id/mcp#environment-variable-expansion-in-mcp-json) yang sama seperti `.mcp.json`, jadi entri yang ditulis sebagai `["${HOME}/bin/server"]` cocok dengan konfigurasi server yang menggunakan referensi yang sama atau jalur yang diperluas. Di Windows, referensikan variabel lingkungan yang diatur di sana, seperti `${USERPROFILE}` bukan `${HOME}`. Nilai `serverName` cocok secara harfiah dan tidak pernah diperluas.

195* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.195* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.

196 196 

197| Pola | Mengizinkan |197| Pola | Mengizinkan |


363 Pantau penggunaan MCP363 Pantau penggunaan MCP

364</h2>364</h2>

365 365 

366Ketika [ekspor OpenTelemetry](/id/monitoring-usage) dikonfigurasi, Claude Code dapat merekam server MCP dan alat mana yang digunakan pengguna. Atur `OTEL_LOG_TOOL_DETAILS=1` untuk menyertakan nama server dan alat MCP dalam acara alat, kemudian agregasikan di kolektor Anda untuk melihat server mana yang benar-benar dihubungkan pengguna Anda. Lihat [Monitoring](/id/monitoring-usage) untuk menyiapkan pengekspor dan untuk skema acara lengkap.366Ketika [ekspor OpenTelemetry](/docs/id/monitoring-usage) dikonfigurasi, Claude Code dapat merekam server MCP dan alat mana yang digunakan pengguna. Atur `OTEL_LOG_TOOL_DETAILS=1` untuk menyertakan nama server dan alat MCP dalam acara alat, kemudian agregasikan di kolektor Anda untuk melihat server mana yang benar-benar dihubungkan pengguna Anda. Lihat [Monitoring](/docs/id/monitoring-usage) untuk menyiapkan pengekspor dan untuk skema acara lengkap.

367 367 

368<h2 id="configuration-summary">368<h2 id="configuration-summary">

369 Ringkasan konfigurasi369 Ringkasan konfigurasi


374| Permukaan | Apa yang dikontrol | Di mana itu berada | Cara mengirimkan |374| Permukaan | Apa yang dikontrol | Di mana itu berada | Cara mengirimkan |

375| :--------------------------- | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |375| :--------------------------- | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

376| `managed-mcp.json` | Set server tetap, kontrol eksklusif | Jalur sistem: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, atau `C:\Program Files\ClaudeCode\` | MDM, GPO, manajemen armada, atau proses apa pun dengan hak istimewa administrator. Tidak dapat diatur melalui pengaturan yang dikelola server |376| `managed-mcp.json` | Set server tetap, kontrol eksklusif | Jalur sistem: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, atau `C:\Program Files\ClaudeCode\` | MDM, GPO, manajemen armada, atau proses apa pun dengan hak istimewa administrator. Tidak dapat diatur melalui pengaturan yang dikelola server |

377| `allowedMcpServers` | Daftar izin server yang diizinkan | File [pengaturan](/id/settings#settings-files) apa pun; entri dari setiap sumber digabungkan kecuali `allowManagedMcpServersOnly` diatur | Untuk penegakan, [sumber pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |377| `allowedMcpServers` | Daftar izin server yang diizinkan | File [pengaturan](/docs/id/settings#settings-files) apa pun; entri dari setiap sumber digabungkan kecuali `allowManagedMcpServersOnly` diatur | Untuk penegakan, [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |

378| `deniedMcpServers` | Daftar penolakan server yang diblokir | File pengaturan apa pun; entri dari setiap sumber digabungkan | Sama seperti `allowedMcpServers` |378| `deniedMcpServers` | Daftar penolakan server yang diblokir | File pengaturan apa pun; entri dari setiap sumber digabungkan | Sama seperti `allowedMcpServers` |

379| `allowManagedMcpServersOnly` | Mengunci daftar izin ke sumber yang dikelola saja | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |379| `allowManagedMcpServersOnly` | Mengunci daftar izin ke sumber yang dikelola saja | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |

380| `allowAllClaudeAiMcps` | Memuat konektor claude.ai bersama `managed-mcp.json` alih-alih menekannya | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |380| `allowAllClaudeAiMcps` | Memuat konektor claude.ai bersama `managed-mcp.json` alih-alih menekannya | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |


383 Sumber daya terkait383 Sumber daya terkait

384</h2>384</h2>

385 385 

386* [Tentukan apa yang akan diterapkan](/id/admin-setup#decide-what-to-enforce): pembatasan MCP bersama dengan aturan izin, sandboxing, dan kontrol admin lainnya386* [Tentukan apa yang akan diterapkan](/docs/id/admin-setup#decide-what-to-enforce): pembatasan MCP bersama dengan aturan izin, sandboxing, dan kontrol admin lainnya

387* [Hubungkan Claude Code ke alat melalui MCP](/id/mcp): referensi MCP lengkap, termasuk transportasi, cakupan, dan autentikasi387* [Hubungkan Claude Code ke alat melalui MCP](/docs/id/mcp): referensi MCP lengkap, termasuk transportasi, cakupan, dan autentikasi

388* [Pengaturan](/id/settings): hierarki pengaturan dan bagaimana pengaturan yang dikelola memiliki prioritas388* [Pengaturan](/docs/id/settings): hierarki pengaturan dan bagaimana pengaturan yang dikelola memiliki prioritas

389* [Pengaturan yang dikelola server](/id/server-managed-settings): kirimkan `allowedMcpServers` dan `deniedMcpServers` dari konsol admin Claude.ai389* [Pengaturan yang dikelola server](/docs/id/server-managed-settings): kirimkan `allowedMcpServers` dan `deniedMcpServers` dari konsol admin Claude.ai

390* [Keamanan](/id/security): model ancaman yang dilindungi kontrol ini390* [Keamanan](/docs/id/security): model ancaman yang dilindungi kontrol ini

391* [Panduan Administrator Perusahaan Claude](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, manajemen kursi, dan playbook peluncuran391* [Panduan Administrator Perusahaan Claude](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, manajemen kursi, dan playbook peluncuran

mcp.md +36 −36

Details

10 10 

11Hubungkan server ketika Anda menemukan diri Anda menyalin data ke dalam chat dari alat lain, seperti pelacak masalah atau dasbor pemantauan. Setelah terhubung, Claude dapat membaca dan bertindak pada sistem tersebut secara langsung alih-alih bekerja dari apa yang Anda tempel.11Hubungkan server ketika Anda menemukan diri Anda menyalin data ke dalam chat dari alat lain, seperti pelacak masalah atau dasbor pemantauan. Setelah terhubung, Claude dapat membaca dan bertindak pada sistem tersebut secara langsung alih-alih bekerja dari apa yang Anda tempel.

12 12 

13Jika Anda menghubungkan server pertama Anda, mulai dengan [panduan cepat MCP](/id/mcp-quickstart) untuk panduan langkah demi langkah. Halaman ini adalah referensi lengkap.13Jika Anda menghubungkan server pertama Anda, mulai dengan [panduan cepat MCP](/docs/id/mcp-quickstart) untuk panduan langkah demi langkah. Halaman ini adalah referensi lengkap.

14 14 

15<h2 id="what-you-can-do-with-mcp">15<h2 id="what-you-can-do-with-mcp">

16 Apa yang dapat Anda lakukan dengan MCP16 Apa yang dapat Anda lakukan dengan MCP


23* **Menanyakan database**: "Temukan email 10 pengguna acak yang menggunakan fitur ENG-4521, berdasarkan database PostgreSQL kami."23* **Menanyakan database**: "Temukan email 10 pengguna acak yang menggunakan fitur ENG-4521, berdasarkan database PostgreSQL kami."

24* **Mengintegrasikan desain**: "Perbarui template email standar kami berdasarkan desain Figma baru yang diposting di Slack"24* **Mengintegrasikan desain**: "Perbarui template email standar kami berdasarkan desain Figma baru yang diposting di Slack"

25* **Mengotomatisasi alur kerja**: "Buat draf Gmail mengundang 10 pengguna ini ke sesi umpan balik tentang fitur baru."25* **Mengotomatisasi alur kerja**: "Buat draf Gmail mengundang 10 pengguna ini ke sesi umpan balik tentang fitur baru."

26* **Bereaksi terhadap peristiwa eksternal**: Server MCP juga dapat bertindak sebagai [saluran](/id/channels) yang mendorong pesan ke dalam sesi Anda, sehingga Claude bereaksi terhadap pesan Telegram, obrolan Discord, atau peristiwa webhook saat Anda sedang pergi.26* **Bereaksi terhadap peristiwa eksternal**: Server MCP juga dapat bertindak sebagai [saluran](/docs/id/channels) yang mendorong pesan ke dalam sesi Anda, sehingga Claude bereaksi terhadap pesan Telegram, obrolan Discord, atau peristiwa webhook saat Anda sedang pergi.

27 27 

28<h2 id="find-and-build-mcp-servers">28<h2 id="find-and-build-mcp-servers">

29 Temukan dan bangun server MCP29 Temukan dan bangun server MCP


32Jelajahi konektor yang telah ditinjau di [Direktori Anthropic](https://claude.ai/directory). Konektor Direktori menggunakan infrastruktur MCP yang sama dengan Claude Code, jadi Anda dapat menambahkan server jarak jauh apa pun yang terdaftar di sana dengan `claude mcp add`.32Jelajahi konektor yang telah ditinjau di [Direktori Anthropic](https://claude.ai/directory). Konektor Direktori menggunakan infrastruktur MCP yang sama dengan Claude Code, jadi Anda dapat menambahkan server jarak jauh apa pun yang terdaftar di sana dengan `claude mcp add`.

33 33 

34<Warning>34<Warning>

35 Verifikasi bahwa Anda mempercayai setiap server sebelum menghubungkannya. Server yang mengambil konten eksternal dapat mengekspos Anda ke [risiko injeksi prompt](/id/security#protect-against-prompt-injection).35 Verifikasi bahwa Anda mempercayai setiap server sebelum menghubungkannya. Server yang mengambil konten eksternal dapat mengekspos Anda ke [risiko injeksi prompt](/docs/id/security#protect-against-prompt-injection).

36</Warning>36</Warning>

37 37 

38Untuk membangun server Anda sendiri, lihat [panduan server MCP](https://modelcontextprotocol.io/docs/develop/build-server) untuk dasar-dasar protokol dan [dokumentasi pembangun konektor Claude](https://claude.com/docs/connectors/building) untuk autentikasi, pengujian, dan pengajuan Direktori.38Untuk membangun server Anda sendiri, lihat [panduan server MCP](https://modelcontextprotocol.io/docs/develop/build-server) untuk dasar-dasar protokol dan [dokumentasi pembangun konektor Claude](https://claude.com/docs/connectors/building) untuk autentikasi, pengujian, dan pengajuan Direktori.


115 115 

116Claude Code menetapkan `CLAUDE_PROJECT_DIR` di lingkungan server yang dihasilkan ke akar proyek, sehingga server Anda dapat menyelesaikan jalur relatif proyek tanpa bergantung pada direktori kerja. Ini adalah direktori yang sama yang diterima hooks dalam variabel `CLAUDE_PROJECT_DIR` mereka. Bacalah dari dalam proses server Anda, misalnya `process.env.CLAUDE_PROJECT_DIR` di Node atau `os.environ["CLAUDE_PROJECT_DIR"]` di Python.116Claude Code menetapkan `CLAUDE_PROJECT_DIR` di lingkungan server yang dihasilkan ke akar proyek, sehingga server Anda dapat menyelesaikan jalur relatif proyek tanpa bergantung pada direktori kerja. Ini adalah direktori yang sama yang diterima hooks dalam variabel `CLAUDE_PROJECT_DIR` mereka. Bacalah dari dalam proses server Anda, misalnya `process.env.CLAUDE_PROJECT_DIR` di Node atau `os.environ["CLAUDE_PROJECT_DIR"]` di Python.

117 117 

118`CLAUDE_PROJECT_DIR` adalah akar proyek yang stabil dan tidak berubah ketika Anda menambah atau menghapus direktori kerja di tengah sesi. Server yang membatasi akses sistem file-nya sendiri ke serangkaian direktori yang diizinkan harus mengimplementasikan permintaan MCP `roots/list` sebagai gantinya. Claude Code menjawab `roots/list` dengan direktori peluncuran sesi ditambah setiap [direktori kerja tambahan](/id/permissions#working-directories) yang telah Anda berikan dengan `--add-dir`, `/add-dir`, atau pengaturan `additionalDirectories`. Claude Code mengirim `notifications/roots/list_changed` ketika set tersebut berubah. Sebelum v2.1.203, `roots/list` hanya mengembalikan direktori peluncuran dan Claude Code tidak mengirim `notifications/roots/list_changed`.118`CLAUDE_PROJECT_DIR` adalah akar proyek yang stabil dan tidak berubah ketika Anda menambah atau menghapus direktori kerja di tengah sesi. Server yang membatasi akses sistem file-nya sendiri ke serangkaian direktori yang diizinkan harus mengimplementasikan permintaan MCP `roots/list` sebagai gantinya. Claude Code menjawab `roots/list` dengan direktori peluncuran sesi ditambah setiap [direktori kerja tambahan](/docs/id/permissions#working-directories) yang telah Anda berikan dengan `--add-dir`, `/add-dir`, atau pengaturan `additionalDirectories`. Claude Code mengirim `notifications/roots/list_changed` ketika set tersebut berubah. Sebelum v2.1.203, `roots/list` hanya mengembalikan direktori peluncuran dan Claude Code tidak mengirim `notifications/roots/list_changed`.

119 119 

120Variabel ini ditetapkan di lingkungan server, bukan di lingkungan Claude Code itu sendiri, jadi mereferensikannya melalui ekspansi `${VAR}` dalam `.mcp.json` yang bersifat proyek atau pengguna `command` atau `args` memerlukan default seperti `${CLAUDE_PROJECT_DIR:-.}`. Konfigurasi MCP yang disediakan plugin mengganti `${CLAUDE_PROJECT_DIR}` secara langsung dan tidak memerlukan default.120Variabel ini ditetapkan di lingkungan server, bukan di lingkungan Claude Code itu sendiri, jadi mereferensikannya melalui ekspansi `${VAR}` dalam `.mcp.json` yang bersifat proyek atau pengguna `command` atau `args` memerlukan default seperti `${CLAUDE_PROJECT_DIR:-.}`. Konfigurasi MCP yang disediakan plugin mengganti `${CLAUDE_PROJECT_DIR}` secara langsung dan tidak memerlukan default.

121 121 


180 180 

181Server yang bersifat proyek dari `.mcp.json` yang menunggu persetujuan Anda muncul dalam `claude mcp list` sebagai `⏸ Pending approval`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujui mereka. `claude mcp get <name>` menampilkan server yang tertunda sebagai `⏸ Pending approval` dan server yang ditolak sebagai `✗ Rejected`.181Server yang bersifat proyek dari `.mcp.json` yang menunggu persetujuan Anda muncul dalam `claude mcp list` sebagai `⏸ Pending approval`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujui mereka. `claude mcp get <name>` menampilkan server yang tertunda sebagai `⏸ Pending approval` dan server yang ditolak sebagai `✗ Rejected`.

182 182 

183Mulai dari v2.1.196, `claude mcp list` dan `claude mcp get` membaca persetujuan `.mcp.json` hanya dari file pengaturan yang tidak dimasukkan ke dalam repositori sampai Anda mempercayai workspace dengan menjalankan `claude` di dalamnya dan menerima dialog kepercayaan workspace. Repositori yang diklon tidak dapat menyetujui server-nya sendiri: [`enableAllProjectMcpServers` atau `enabledMcpjsonServers`](/id/settings#available-settings) yang dikomitkan ke `.claude/settings.json` proyek diabaikan dalam folder yang tidak dipercaya, dan server tetap di `⏸ Pending approval` alih-alih terhubung dan diperiksa kesehatannya.183Mulai dari v2.1.196, `claude mcp list` dan `claude mcp get` membaca persetujuan `.mcp.json` hanya dari file pengaturan yang tidak dimasukkan ke dalam repositori sampai Anda mempercayai workspace dengan menjalankan `claude` di dalamnya dan menerima dialog kepercayaan workspace. Repositori yang diklon tidak dapat menyetujui server-nya sendiri: [`enableAllProjectMcpServers` atau `enabledMcpjsonServers`](/docs/id/settings#available-settings) yang dikomitkan ke `.claude/settings.json` proyek diabaikan dalam folder yang tidak dipercaya, dan server tetap di `⏸ Pending approval` alih-alih terhubung dan diperiksa kesehatannya.

184 184 

185Persetujuan dari sumber-sumber ini masih berlaku dalam folder yang tidak dipercaya:185Persetujuan dari sumber-sumber ini masih berlaku dalam folder yang tidak dipercaya:

186 186 


188* pengaturan yang dikelola188* pengaturan yang dikelola

189* pengaturan yang diteruskan dengan `--settings`189* pengaturan yang diteruskan dengan `--settings`

190 190 

191Persetujuan dalam `.claude/settings.local.json` yang tidak dilacak juga berlaku, tetapi hanya setelah Anda menerima dialog kepercayaan untuk folder tersebut atau salah satu direktori induknya: Claude Code menjalankan git untuk memeriksa apakah file dilacak, dan menjalankan pemeriksaan itu hanya dalam folder yang dipercaya. Dalam folder yang belum pernah Anda percayai, persetujuan file menunggu dialog kepercayaan kecuali folder adalah rumah konfigurasi Anda sendiri: direktori rumah Anda, atau direktori yang `.claude` Anda telah atur sebagai [`CLAUDE_CONFIG_DIR`](/id/env-vars). Sebelum v2.1.207, `.claude/settings.local.json` yang tidak dilacak menyetujui server dalam folder yang belum pernah Anda percayai.191Persetujuan dalam `.claude/settings.local.json` yang tidak dilacak juga berlaku, tetapi hanya setelah Anda menerima dialog kepercayaan untuk folder tersebut atau salah satu direktori induknya: Claude Code menjalankan git untuk memeriksa apakah file dilacak, dan menjalankan pemeriksaan itu hanya dalam folder yang dipercaya. Dalam folder yang belum pernah Anda percayai, persetujuan file menunggu dialog kepercayaan kecuali folder adalah rumah konfigurasi Anda sendiri: direktori rumah Anda, atau direktori yang `.claude` Anda telah atur sebagai [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars). Sebelum v2.1.207, `.claude/settings.local.json` yang tidak dilacak menyetujui server dalam folder yang belum pernah Anda percayai.

192 192 

193Entri `disabledMcpjsonServers` dalam file pengaturan apa pun masih menolak server.193Entri `disabledMcpjsonServers` dalam file pengaturan apa pun masih menolak server.

194 194 

195Panel `/mcp` menampilkan jumlah alat di sebelah setiap server yang terhubung dan menandai server yang mengiklankan kemampuan alat tetapi tidak mengekspos alat apa pun.195Panel `/mcp` menampilkan jumlah alat di sebelah setiap server yang terhubung dan menandai server yang mengiklankan kemampuan alat tetapi tidak mengekspos alat apa pun.

196 196 

197Server jarak jauh yang konfigurasinya memiliki `url` kosong ditampilkan sebagai `not configured` dalam `/mcp`, dalam `claude mcp list`, dan dalam [manajer `/plugin`](/id/plugins), dan Claude Code tidak mencoba terhubung ke server tersebut. Plugin dapat menyertakan entri placeholder seperti ini untuk konektor yang Anda konfigurasi nanti, sehingga Claude Code tidak melaporkannya sebagai kesalahan atau masalah pengaturan. Tampilan detail server dalam `/mcp` membaca `No URL configured for this server`; atur `url` entri untuk menghubungkannya. Sebelum v2.1.208, Claude Code melaporkan `url` kosong sebagai masalah konfigurasi dengan prompt untuk menghubungkan kembali.197Server jarak jauh yang konfigurasinya memiliki `url` kosong ditampilkan sebagai `not configured` dalam `/mcp`, dalam `claude mcp list`, dan dalam [manajer `/plugin`](/docs/id/plugins), dan Claude Code tidak mencoba terhubung ke server tersebut. Plugin dapat menyertakan entri placeholder seperti ini untuk konektor yang Anda konfigurasi nanti, sehingga Claude Code tidak melaporkannya sebagai kesalahan atau masalah pengaturan. Tampilan detail server dalam `/mcp` membaca `No URL configured for this server`; atur `url` entri untuk menghubungkannya. Sebelum v2.1.208, Claude Code melaporkan `url` kosong sebagai masalah konfigurasi dengan prompt untuk menghubungkan kembali.

198 198 

199Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server tersebut sebelum melanjutkan. Dengan [pencarian alat](#scale-with-mcp-tool-search) diaktifkan, yang merupakan default, penantian terjadi di dalam panggilan `ToolSearch`. Dalam konfigurasi tanpa pencarian alat, seperti Platform Agen Google Cloud, `ANTHROPIC_BASE_URL` khusus, atau `ENABLE_TOOL_SEARCH=false`, Claude menggunakan alat `WaitForMcpServers` sebagai gantinya.199Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server tersebut sebelum melanjutkan. Dengan [pencarian alat](#scale-with-mcp-tool-search) diaktifkan, yang merupakan default, penantian terjadi di dalam panggilan `ToolSearch`. Dalam konfigurasi tanpa pencarian alat, seperti Platform Agen Google Cloud, `ANTHROPIC_BASE_URL` khusus, atau `ENABLE_TOOL_SEARCH=false`, Claude menggunakan alat `WaitForMcpServers` sebagai gantinya.

200 200 

201Beberapa nama server dicadangkan untuk server bawaan Claude Code: `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, dan `Claude Browser`. Jika konfigurasi Anda menentukan server dengan nama yang dicadangkan, Claude Code melewatinya saat waktu muat dan menampilkan peringatan yang meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan.201Beberapa nama server dicadangkan untuk server bawaan Claude Code: `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, dan `Claude Browser`. Jika konfigurasi Anda menentukan server dengan nama yang dicadangkan, Claude Code melewatinya saat waktu muat dan menampilkan peringatan yang meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan.

202 202 

203`Claude Preview` dan `Claude Browser` keduanya menamai server bawaan yang digunakan oleh [panel pratinjau aplikasi desktop Claude Code](/id/desktop#preview-your-app). Sebelum v2.1.205, `Claude Browser` tidak dicadangkan, jadi server yang dikonfigurasi pengguna dapat terdaftar di bawah nama tersebut.203`Claude Preview` dan `Claude Browser` keduanya menamai server bawaan yang digunakan oleh [panel pratinjau aplikasi desktop Claude Code](/docs/id/desktop#preview-your-app). Sebelum v2.1.205, `Claude Browser` tidak dicadangkan, jadi server yang dikonfigurasi pengguna dapat terdaftar di bawah nama tersebut.

204 204 

205<h3 id="dynamic-tool-updates">205<h3 id="dynamic-tool-updates">

206 Pembaruan alat dinamis206 Pembaruan alat dinamis


224 Dorong pesan dengan saluran224 Dorong pesan dengan saluran

225</h3>225</h3>

226 226 

227Server MCP juga dapat mendorong pesan langsung ke dalam sesi Anda sehingga Claude dapat bereaksi terhadap peristiwa eksternal seperti hasil CI, peringatan pemantauan, atau pesan obrolan. Untuk mengaktifkan ini, server Anda mendeklarasikan kemampuan `claude/channel` dan Anda memilihnya dengan flag `--channels` saat startup. Lihat [Saluran](/id/channels) untuk menggunakan saluran yang didukung secara resmi, atau [Referensi saluran](/id/channels-reference) untuk membangun saluran Anda sendiri.227Server MCP juga dapat mendorong pesan langsung ke dalam sesi Anda sehingga Claude dapat bereaksi terhadap peristiwa eksternal seperti hasil CI, peringatan pemantauan, atau pesan obrolan. Untuk mengaktifkan ini, server Anda mendeklarasikan kemampuan `claude/channel` dan Anda memilihnya dengan flag `--channels` saat startup. Lihat [Saluran](/docs/id/channels) untuk menggunakan saluran yang didukung secara resmi, atau [Referensi saluran](/docs/id/channels-reference) untuk membangun saluran Anda sendiri.

228 228 

229<Tip>229<Tip>

230 Tips:230 Tips:


241 * Gunakan `/mcp` untuk autentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0241 * Gunakan `/mcp` untuk autentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0

242</Tip>242</Tip>

243 243 

244Waktu tunggu per-server `timeout` adalah batas dinding jam yang keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau ke default-nya sekitar 28 jam ketika variabel tersebut tidak diatur. Untuk server HTTP, SSE, atau [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) ada juga timer per-permintaan kedua yang mencakup setiap permintaan hingga byte respons pertama server. Timer itu adalah 60 detik kecuali Anda menetapkan waktu tunggu per-server `timeout` atau `MCP_TOOL_TIMEOUT`; menetapkan salah satu ke 60 detik atau lebih tinggi menaikkan timer per-permintaan ke nilai itu, nilai yang lebih rendah tidak mempersingkatnya, dan default 28 jam dari `MCP_TOOL_TIMEOUT` yang tidak diatur tidak pernah memberinya makan. Server stdio dan WebSocket tidak memiliki timer per-permintaan. {/* min-version: 2.1.162 */}Sebelum v2.1.162, nilai di bawah 1000 dibulatkan ke satu detik sebagai gantinya.244Waktu tunggu per-server `timeout` adalah batas dinding jam yang keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau ke default-nya sekitar 28 jam ketika variabel tersebut tidak diatur. Untuk server HTTP, SSE, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) ada juga timer per-permintaan kedua yang mencakup setiap permintaan hingga byte respons pertama server. Timer itu adalah 60 detik kecuali Anda menetapkan waktu tunggu per-server `timeout` atau `MCP_TOOL_TIMEOUT`; menetapkan salah satu ke 60 detik atau lebih tinggi menaikkan timer per-permintaan ke nilai itu, nilai yang lebih rendah tidak mempersingkatnya, dan default 28 jam dari `MCP_TOOL_TIMEOUT` yang tidak diatur tidak pernah memberinya makan. Server stdio dan WebSocket tidak memiliki timer per-permintaan. Sebelum v2.1.162, nilai di bawah 1000 dibulatkan ke satu detik sebagai gantinya.

245 245 

246Waktu tunggu per-server `timeout` setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah membatalkan panggilan alat server tersebut karena menganggur lebih cepat daripada waktu tunggu per-server `timeout`. Memerlukan Claude Code v2.1.203 atau lebih baru.246Waktu tunggu per-server `timeout` setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah membatalkan panggilan alat server tersebut karena menganggur lebih cepat daripada waktu tunggu per-server `timeout`. Memerlukan Claude Code v2.1.203 atau lebih baru.

247 247 

248Panggilan alat ke server MCP yang tidak mengirim respons dan tidak ada notifikasi kemajuan untuk jendela idle akan dibatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Timeout idle memerlukan Claude Code v2.1.187 atau lebih baru. {/* min-version: 2.1.203 */}Ini berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk HTTP, SSE, WebSocket, dan server [konektor claude.ai](#use-mcp-servers-from-claude-ai), dan ke 30 menit untuk server stdio. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle.248Panggilan alat ke server MCP yang tidak mengirim respons dan tidak ada notifikasi kemajuan untuk jendela idle akan dibatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Timeout idle memerlukan Claude Code v2.1.187 atau lebih baru. Ini berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk HTTP, SSE, WebSocket, dan server [konektor claude.ai](#use-mcp-servers-from-claude-ai), dan ke 30 menit untuk server stdio. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle.

249 249 

250Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.250Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.

251 251 

252<h3 id="plugin-provided-mcp-servers">252<h3 id="plugin-provided-mcp-servers">

253 Server MCP yang disediakan plugin253 Server MCP yang disediakan plugin

254</h3>254</h3>

255 255 

256[Plugin](/id/plugins) dapat menggabungkan server MCP, secara otomatis menyediakan alat dan integrasi ketika plugin diaktifkan. Server MCP plugin bekerja identik dengan server yang dikonfigurasi pengguna.256[Plugin](/docs/id/plugins) dapat menggabungkan server MCP, secara otomatis menyediakan alat dan integrasi ketika plugin diaktifkan. Server MCP plugin bekerja identik dengan server yang dikonfigurasi pengguna.

257 257 

258**Cara kerja server MCP plugin**:258**Cara kerja server MCP plugin**:

259 259 


297**Fitur MCP plugin**:297**Fitur MCP plugin**:

298 298 

299* **Siklus hidup otomatis**: Pada startup sesi, server untuk plugin yang diaktifkan terhubung secara otomatis. Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, jalankan `/reload-plugins` untuk menghubungkan atau memutuskan server MCP-nya299* **Siklus hidup otomatis**: Pada startup sesi, server untuk plugin yang diaktifkan terhubung secara otomatis. Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, jalankan `/reload-plugins` untuk menghubungkan atau memutuskan server MCP-nya

300* **Variabel placeholder jalur**: `${CLAUDE_PLUGIN_ROOT}` diselesaikan ke direktori instalasi plugin, `${CLAUDE_PLUGIN_DATA}` ke direktori [status persisten](/id/plugins-reference#persistent-data-directory)-nya, dan `${CLAUDE_PROJECT_DIR}` ke akar proyek yang stabil. Substitusi berlaku untuk:300* **Variabel placeholder jalur**: `${CLAUDE_PLUGIN_ROOT}` diselesaikan ke direktori instalasi plugin, `${CLAUDE_PLUGIN_DATA}` ke direktori [status persisten](/docs/id/plugins-reference#persistent-data-directory)-nya, dan `${CLAUDE_PROJECT_DIR}` ke akar proyek yang stabil. Substitusi berlaku untuk:

301 * server `stdio`: `command`, `args`, `env`301 * server `stdio`: `command`, `args`, `env`

302 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. {/* min-version: 2.1.195 */}Sebelum v2.1.195, `headersHelper` meneruskan placeholder sebagai string literal302 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. Sebelum v2.1.195, `headersHelper` meneruskan placeholder sebagai string literal

303* **Akses lingkungan pengguna**: Akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual303* **Akses lingkungan pengguna**: Akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual

304* **Jenis transport berganda**: Dukungan transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server304* **Jenis transport berganda**: Dukungan transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server

305 305 


320mcp__plugin_my-plugin_database-tools__query320mcp__plugin_my-plugin_database-tools__query

321```321```

322 322 

323Gunakan nama lengkap ini saat mereferensikan alat dalam [aturan izin](/id/permissions), daftar `allowed-tools` skill, [bidang `tools` subagent](/id/sub-agents#available-tools), atau [pencocokan hook](/id/hooks#match-mcp-tools). Pencocokan hook yang ditulis terhadap kunci server telanjang, seperti `mcp__database-tools__.*`, tidak pernah aktif untuk server bundel plugin.323Gunakan nama lengkap ini saat mereferensikan alat dalam [aturan izin](/docs/id/permissions), daftar `allowed-tools` skill, [bidang `tools` subagent](/docs/id/sub-agents#available-tools), atau [pencocokan hook](/docs/id/hooks#match-mcp-tools). Pencocokan hook yang ditulis terhadap kunci server telanjang, seperti `mcp__database-tools__.*`, tidak pernah aktif untuk server bundel plugin.

324 324 

325Server itu sendiri terdaftar di bawah nama yang bersifat scoped `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:database-tools`. Gunakan nama tersebut di mana nama server yang dikonfigurasi diharapkan, seperti [bidang `server` hook `mcp_tool`](/id/hooks#mcp-tool-hook-fields).325Server itu sendiri terdaftar di bawah nama yang bersifat scoped `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:database-tools`. Gunakan nama tersebut di mana nama server yang dikonfigurasi diharapkan, seperti [bidang `server` hook `mcp_tool`](/docs/id/hooks#mcp-tool-hook-fields).

326 326 

327**Manfaat server MCP plugin**:327**Manfaat server MCP plugin**:

328 328 


330* **Pengaturan otomatis**: Tidak perlu konfigurasi MCP manual330* **Pengaturan otomatis**: Tidak perlu konfigurasi MCP manual

331* **Konsistensi tim**: Semua orang mendapatkan alat yang sama ketika plugin diinstal331* **Konsistensi tim**: Semua orang mendapatkan alat yang sama ketika plugin diinstal

332 332 

333Lihat [referensi komponen plugin](/id/plugins-reference#mcp-servers) untuk detail tentang penggabungan server MCP dengan plugin.333Lihat [referensi komponen plugin](/docs/id/plugins-reference#mcp-servers) untuk detail tentang penggabungan server MCP dengan plugin.

334 334 

335<h2 id="mcp-installation-scopes">335<h2 id="mcp-installation-scopes">

336 Cakupan instalasi MCP336 Cakupan instalasi MCP


351Cakupan lokal adalah default. Server dengan cakupan lokal hanya dimuat di proyek tempat Anda menambahkannya dan tetap pribadi untuk Anda. Claude Code menyimpannya dalam `~/.claude.json` di bawah jalur proyek tersebut, jadi server yang sama tidak akan muncul di proyek lain Anda. Gunakan cakupan lokal untuk server pengembangan pribadi, konfigurasi eksperimental, atau server dengan kredensial yang tidak ingin Anda masukkan ke dalam kontrol versi.351Cakupan lokal adalah default. Server dengan cakupan lokal hanya dimuat di proyek tempat Anda menambahkannya dan tetap pribadi untuk Anda. Claude Code menyimpannya dalam `~/.claude.json` di bawah jalur proyek tersebut, jadi server yang sama tidak akan muncul di proyek lain Anda. Gunakan cakupan lokal untuk server pengembangan pribadi, konfigurasi eksperimental, atau server dengan kredensial yang tidak ingin Anda masukkan ke dalam kontrol versi.

352 352 

353<Note>353<Note>

354 Istilah "cakupan lokal" untuk server MCP berbeda dari pengaturan lokal umum. Server MCP dengan cakupan lokal disimpan dalam `~/.claude.json` (direktori home Anda), sementara pengaturan lokal umum menggunakan `.claude/settings.local.json` (di direktori proyek). Lihat [Pengaturan](/id/settings#settings-files) untuk detail tentang lokasi file pengaturan.354 Istilah "cakupan lokal" untuk server MCP berbeda dari pengaturan lokal umum. Server MCP dengan cakupan lokal disimpan dalam `~/.claude.json` (direktori home Anda), sementara pengaturan lokal umum menggunakan `.claude/settings.local.json` (di direktori proyek). Lihat [Pengaturan](/docs/id/settings#settings-files) untuk detail tentang lokasi file pengaturan.

355</Note>355</Note>

356 356 

357```bash theme={null}357```bash theme={null}


4261. Cakupan lokal4261. Cakupan lokal

4272. Cakupan proyek4272. Cakupan proyek

4283. Cakupan pengguna4283. Cakupan pengguna

4294. [Server yang disediakan plugin](/id/plugins)4294. [Server yang disediakan plugin](/docs/id/plugins)

4305. [Konektor claude.ai](#use-mcp-servers-from-claude-ai)4305. [Konektor claude.ai](#use-mcp-servers-from-claude-ai)

431 431 

432Tiga cakupan mencocokkan duplikat berdasarkan nama. Plugin dan konektor mencocokkan berdasarkan endpoint, jadi yang menunjuk ke URL atau perintah yang sama dengan server di atas diperlakukan sebagai duplikat.432Tiga cakupan mencocokkan duplikat berdasarkan nama. Plugin dan konektor mencocokkan berdasarkan endpoint, jadi yang menunjuk ke URL atau perintah yang sama dengan server di atas diperlakukan sebagai duplikat.


805| :---------------------------- | :-------------------------------------------------------------------------------------------------------- |805| :---------------------------- | :-------------------------------------------------------------------------------------------------------- |

806| `CLAUDE_CODE_MCP_SERVER_NAME` | nama server MCP |806| `CLAUDE_CODE_MCP_SERVER_NAME` | nama server MCP |

807| `CLAUDE_CODE_MCP_SERVER_URL` | URL server MCP |807| `CLAUDE_CODE_MCP_SERVER_URL` | URL server MCP |

808| `CLAUDE_PLUGIN_ROOT` | direktori root plugin. Diatur hanya ketika [plugin](/id/plugins-reference#mcp-servers) menyediakan server |808| `CLAUDE_PLUGIN_ROOT` | direktori root plugin. Diatur hanya ketika [plugin](/docs/id/plugins-reference#mcp-servers) menyediakan server |

809 809 

810Gunakan ini untuk menulis satu skrip helper yang melayani beberapa server MCP.810Gunakan ini untuk menulis satu skrip helper yang melayani beberapa server MCP.

811 811 

812Untuk server yang disediakan plugin, helper juga berjalan dengan direktori kerjanya diatur ke root plugin, sehingga jalur `headersHelper` relatif diselesaikan di dalam direktori plugin daripada terhadap direktori kerja sesi. Memerlukan Claude Code v2.1.195 atau lebih baru.812Untuk server yang disediakan plugin, helper juga berjalan dengan direktori kerjanya diatur ke root plugin, sehingga jalur `headersHelper` relatif diselesaikan di dalam direktori plugin daripada terhadap direktori kerja sesi. Memerlukan Claude Code v2.1.195 atau lebih baru.

813 813 

814Plugin-provided `headersHelper` tidak dapat mereferensikan nilai [`${user_config.*}`](/id/plugins-reference#user-configuration) plugin, karena perintah berjalan melalui shell. Claude Code melaporkan server sebagai salah konfigurasi dengan [kesalahan](/id/errors#plugin-command-references-user-config) dan tidak mengganti nilai. Letakkan `${user_config.KEY}` di bidang `headers` server sebagai gantinya, yang tidak diurai shell, atau buat skrip helper membaca nilai dari lingkungannya sendiri atau file konfigurasi. Sebelum v2.1.207, `headersHelper` mengganti nilai `${user_config.*}`.814Plugin-provided `headersHelper` tidak dapat mereferensikan nilai [`${user_config.*}`](/docs/id/plugins-reference#user-configuration) plugin, karena perintah berjalan melalui shell. Claude Code melaporkan server sebagai salah konfigurasi dengan [kesalahan](/docs/id/errors#plugin-command-references-user-config) dan tidak mengganti nilai. Letakkan `${user_config.KEY}` di bidang `headers` server sebagai gantinya, yang tidak diurai shell, atau buat skrip helper membaca nilai dari lingkungannya sendiri atau file konfigurasi. Sebelum v2.1.207, `headersHelper` mengganti nilai `${user_config.*}`.

815 815 

816<Note>816<Note>

817 `headersHelper` mengeksekusi perintah shell arbitrer. Ketika ditentukan pada cakupan proyek atau lokal, itu hanya berjalan setelah Anda menerima dialog kepercayaan ruang kerja.817 `headersHelper` mengeksekusi perintah shell arbitrer. Ketika ditentukan pada cakupan proyek atau lokal, itu hanya berjalan setelah Anda menerima dialog kepercayaan ruang kerja.


920 920 

921Mulai dari v2.1.161, konektor yang belum pernah Anda masuki disembunyikan di balik baris `Show unused connectors` di akhir bagian claude.ai, sehingga daftar yang disediakan organisasi tidak mengisi panel. Pilih baris untuk memperluas mereka. Konektor yang Anda masuki sebelumnya tetap terlihat bahkan ketika saat ini memerlukan autentikasi ulang.921Mulai dari v2.1.161, konektor yang belum pernah Anda masuki disembunyikan di balik baris `Show unused connectors` di akhir bagian claude.ai, sehingga daftar yang disediakan organisasi tidak mengisi panel. Pilih baris untuk memperluas mereka. Konektor yang Anda masuki sebelumnya tetap terlihat bahkan ketika saat ini memerlukan autentikasi ulang.

922 922 

923Konektor dari claude.ai diambil hanya ketika [metode autentikasi](/id/authentication#authentication-precedence) aktif Anda adalah langganan claude.ai Anda. Mereka tidak dimuat ketika `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, atau penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform aktif, bahkan jika Anda sebelumnya menjalankan `/login`.923Konektor dari claude.ai diambil hanya ketika [metode autentikasi](/docs/id/authentication#authentication-precedence) aktif Anda adalah langganan claude.ai Anda. Mereka tidak dimuat ketika `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, atau penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform aktif, bahkan jika Anda sebelumnya menjalankan `/login`.

924 924 

925Jika `/mcp` tidak mencantumkan konektor yang Anda tambahkan, jalankan `/status` untuk mengonfirmasi metode autentikasi mana yang aktif, hapus variabel lingkungan tersebut atau hapus pengaturan `apiKeyHelper`, kemudian jalankan `/login` untuk memilih akun claude.ai Anda.925Jika `/mcp` tidak mencantumkan konektor yang Anda tambahkan, jalankan `/status` untuk mengonfirmasi metode autentikasi mana yang aktif, hapus variabel lingkungan tersebut atau hapus pengaturan `apiKeyHelper`, kemudian jalankan `/login` untuk memilih akun claude.ai Anda.

926 926 


934 934 

935Organisasi Anda dapat mengatur kontrol per-alat pada [connector claude.ai](https://claude.com/docs/connectors). Claude Code membaca pengaturan ini saat startup dan memberlakukannya secara lokal. Jalankan `/mcp` untuk melihat pengaturan mana yang berlaku untuk setiap alat pada connector.935Organisasi Anda dapat mengatur kontrol per-alat pada [connector claude.ai](https://claude.com/docs/connectors). Claude Code membaca pengaturan ini saat startup dan memberlakukannya secara lokal. Jalankan `/mcp` untuk melihat pengaturan mana yang berlaku untuk setiap alat pada connector.

936 936 

937* **Alat diatur ke `ask`**: Claude Code meminta pada setiap panggilan dengan alasan `Your organization requires approval for this tool`. Prompt muncul bahkan dalam [mode izin](/id/permissions#permission-modes) `acceptEdits`, `auto`, dan `bypassPermissions`, dan tidak pernah menawarkan opsi untuk mengingat pilihan Anda. [Aturan Allow](/id/permissions) yang cocok dengan alat tidak melewati prompt juga. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.937* **Alat diatur ke `ask`**: Claude Code meminta pada setiap panggilan dengan alasan `Your organization requires approval for this tool`. Prompt muncul bahkan dalam [mode izin](/docs/id/permissions#permission-modes) `acceptEdits`, `auto`, dan `bypassPermissions`, dan tidak pernah menawarkan opsi untuk mengingat pilihan Anda. [Aturan Allow](/docs/id/permissions) yang cocok dengan alat tidak melewati prompt juga. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.

938* **Alat diatur ke `blocked`**: Claude Code memfilter alat sebelum Claude melihatnya, sehingga tidak pernah muncul dalam daftar alat.938* **Alat diatur ke `blocked`**: Claude Code memfilter alat sebelum Claude melihatnya, sehingga tidak pernah muncul dalam daftar alat.

939 939 

940Memberlakukan kontrol ini memerlukan Claude Code v2.1.129 atau lebih baru. Versi sebelumnya mengabaikan pengaturan dan menerapkan alur izin standar.940Memberlakukan kontrol ini memerlukan Claude Code v2.1.129 atau lebih baru. Versi sebelumnya mengabaikan pengaturan dan menerapkan alur izin standar.


943 Nonaktifkan konektor claude.ai943 Nonaktifkan konektor claude.ai

944</h3>944</h3>

945 945 

946Untuk menonaktifkan server MCP claude.ai di Claude Code, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) ke `true` dalam cakupan pengaturan apa pun:946Untuk menonaktifkan server MCP claude.ai di Claude Code, atur [`disableClaudeAiConnectors`](/docs/id/settings#available-settings) ke `true` dalam cakupan pengaturan apa pun:

947 947 

948```json theme={null}948```json theme={null}

949{949{


959ENABLE_CLAUDEAI_MCP_SERVERS=false claude959ENABLE_CLAUDEAI_MCP_SERVERS=false claude

960```960```

961 961 

962Untuk memblokir konektor claude.ai individual alih-alih semuanya, tambahkan mereka ke [`deniedMcpServers`](/id/managed-mcp) berdasarkan nama atau pola URL. Misalnya, entri `serverName` dari `"claude.ai Slack"` memblokir konektor Slack. Untuk mengalihkan konektor aktif atau nonaktif hanya untuk proyek saat ini, gunakan panel `/mcp`.962Untuk memblokir konektor claude.ai individual alih-alih semuanya, tambahkan mereka ke [`deniedMcpServers`](/docs/id/managed-mcp) berdasarkan nama atau pola URL. Misalnya, entri `serverName` dari `"claude.ai Slack"` memblokir konektor Slack. Untuk mengalihkan konektor aktif atau nonaktif hanya untuk proyek saat ini, gunakan panel `/mcp`.

963 963 

964<Note>964<Note>

965 Pengaturan sisi klien ini mengatur sesi Claude Code lokal. Dalam sesi [Claude Code di web](/id/claude-code-on-the-web), konektor claude.ai disediakan oleh host jarak jauh dan tiba sebagai entri `--mcp-config` eksplisit, jadi `disableClaudeAiConnectors` tidak berlaku di sana. URL konektor juga ditulis ulang melalui proxy sesi, jadi pola `serverUrl` `deniedMcpServers` yang menargetkan URL vendor tidak akan cocok. Kelola konektor mana yang dapat digunakan sesi cloud dari pengaturan organisasi claude.ai Anda.965 Pengaturan sisi klien ini mengatur sesi Claude Code lokal. Dalam sesi [Claude Code di web](/docs/id/claude-code-on-the-web), konektor claude.ai disediakan oleh host jarak jauh dan tiba sebagai entri `--mcp-config` eksplisit, jadi `disableClaudeAiConnectors` tidak berlaku di sana. URL konektor juga ditulis ulang melalui proxy sesi, jadi pola `serverUrl` `deniedMcpServers` yang menargetkan URL vendor tidak akan cocok. Kelola konektor mana yang dapat digunakan sesi cloud dari pengaturan organisasi claude.ai Anda.

966</Note>966</Note>

967 967 

968<h2 id="use-claude-code-as-an-mcp-server">968<h2 id="use-claude-code-as-an-mcp-server">


1095 1095 

1096Jika Anda membangun server MCP, Anda dapat menandai alat sebagai memerlukan persetujuan eksplisit pada setiap panggilan dengan menetapkan `_meta["anthropic/requiresUserInteraction"]` ke `true` dalam entri `tools/list` alat. Nilainya harus boolean JSON `true`; nilai lain diabaikan.1096Jika Anda membangun server MCP, Anda dapat menandai alat sebagai memerlukan persetujuan eksplisit pada setiap panggilan dengan menetapkan `_meta["anthropic/requiresUserInteraction"]` ke `true` dalam entri `tools/list` alat. Nilainya harus boolean JSON `true`; nilai lain diabaikan.

1097 1097 

1098Claude Code menampilkan prompt izin alat itu pada setiap panggilan, bahkan dalam mode izin `acceptEdits`, `auto`, dan `bypassPermissions` [permission modes](/id/permissions#permission-modes), dan tidak menawarkan opsi "jangan tanya lagi" untuk itu. [Aturan izin](/id/permissions#permission-rule-syntax) yang cocok dengan alat tidak melewati prompt baik. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.1098Claude Code menampilkan prompt izin alat itu pada setiap panggilan, bahkan dalam mode izin `acceptEdits`, `auto`, dan `bypassPermissions` [permission modes](/docs/id/permissions#permission-modes), dan tidak menawarkan opsi "jangan tanya lagi" untuk itu. [Aturan izin](/docs/id/permissions#permission-rule-syntax) yang cocok dengan alat tidak melewati prompt baik. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.

1099 1099 

1100Prompt harus mencapai seseorang. Dalam mode non-interaktif dengan [`--permission-prompt-tool`](/id/cli-reference#cli-flags), hasil `allow` dari alat prompt untuk alat yang ditandai dikonversi menjadi deny dengan pesan `MCP tool requires user interaction; not supported via --permission-prompt-tool`. Callback [`canUseTool`](/id/agent-sdk/permissions) Agent SDK menerima panggilan ini dan dapat menyetujuinya, karena host SDK diharapkan menunjukkannya kepada pengguna.1100Prompt harus mencapai seseorang. Dalam mode non-interaktif dengan [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags), hasil `allow` dari alat prompt untuk alat yang ditandai dikonversi menjadi deny dengan pesan `MCP tool requires user interaction; not supported via --permission-prompt-tool`. Callback [`canUseTool`](/docs/id/agent-sdk/permissions) Agent SDK menerima panggilan ini dan dapat menyetujuinya, karena host SDK diharapkan menunjukkannya kepada pengguna.

1101 1101 

1102Gunakan ini untuk alat yang prompt izinnya adalah poin itu sendiri, seperti langkah persetujuan atau pemberian akses di mana persetujuan otomatis berarti tidak ada manusia yang pernah setuju. Alat lain dari server yang sama menjaga perilaku izin normal mereka.1102Gunakan ini untuk alat yang prompt izinnya adalah poin itu sendiri, seperti langkah persetujuan atau pemberian akses di mana persetujuan otomatis berarti tidak ada manusia yang pernah setuju. Alat lain dari server yang sama menjaga perilaku izin normal mereka.

1103 1103 


1115 1115 

1116Anotasi `anthropic/requiresUserInteraction` memerlukan Claude Code v2.1.199 atau lebih baru. Versi sebelumnya mengabaikannya dan menerapkan alur izin standar.1116Anotasi `anthropic/requiresUserInteraction` memerlukan Claude Code v2.1.199 atau lebih baru. Versi sebelumnya mengabaikannya dan menerapkan alur izin standar.

1117 1117 

1118Ketika sesi terhubung ke [Remote Control](/id/remote-control) atau host SDK, Claude Code menandai permintaan izin sebagai memerlukan interaksi pengguna, sehingga klien menampilkan prompt izin alat untuk Anda jawab alih-alih tindakan persetujuan satu ketukan.1118Ketika sesi terhubung ke [Remote Control](/docs/id/remote-control) atau host SDK, Claude Code menandai permintaan izin sebagai memerlukan interaksi pengguna, sehingga klien menampilkan prompt izin alat untuk Anda jawab alih-alih tindakan persetujuan satu ketukan.

1119 1119 

1120<h2 id="respond-to-mcp-elicitation-requests">1120<h2 id="respond-to-mcp-elicitation-requests">

1121 Tanggapi permintaan elicitasi MCP1121 Tanggapi permintaan elicitasi MCP


1128* **Mode formulir**: Claude Code menampilkan dialog dengan field formulir yang ditentukan oleh server (misalnya, prompt nama pengguna dan kata sandi). Isi field dan kirim.1128* **Mode formulir**: Claude Code menampilkan dialog dengan field formulir yang ditentukan oleh server (misalnya, prompt nama pengguna dan kata sandi). Isi field dan kirim.

1129* **Mode URL**: Claude Code membuka URL browser untuk autentikasi atau persetujuan. Selesaikan alur di browser, kemudian konfirmasi di CLI.1129* **Mode URL**: Claude Code membuka URL browser untuk autentikasi atau persetujuan. Selesaikan alur di browser, kemudian konfirmasi di CLI.

1130 1130 

1131Untuk merespons otomatis permintaan elicitasi tanpa menampilkan dialog, gunakan [hook `Elicitation`](/id/hooks#elicitation).1131Untuk merespons otomatis permintaan elicitasi tanpa menampilkan dialog, gunakan [hook `Elicitation`](/docs/id/hooks#elicitation).

1132 1132 

1133Jika Anda membangun server MCP yang menggunakan elicitasi, lihat [spesifikasi elicitasi MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) untuk detail protokol dan contoh skema.1133Jika Anda membangun server MCP yang menggunakan elicitasi, lihat [spesifikasi elicitasi MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) untuk detail protokol dan contoh skema.

1134 1134 


1195 Untuk penulis server MCP1195 Untuk penulis server MCP

1196</h3>1196</h3>

1197 1197 

1198Jika Anda membangun server MCP, field instruksi server menjadi lebih berguna dengan Pencarian Alat yang diaktifkan. Instruksi server membantu Claude memahami kapan harus mencari alat Anda, mirip dengan cara [skills](/id/skills) bekerja.1198Jika Anda membangun server MCP, field instruksi server menjadi lebih berguna dengan Pencarian Alat yang diaktifkan. Instruksi server membantu Claude memahami kapan harus mencari alat Anda, mirip dengan cara [skills](/docs/id/skills) bekerja.

1199 1199 

1200Tambahkan instruksi server yang jelas dan deskriptif yang menjelaskan:1200Tambahkan instruksi server yang jelas dan deskriptif yang menjelaskan:

1201 1201 


1211 1211 

1212Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Platform Agent Google Cloud. Pencarian alat juga dinonaktifkan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback mana pun.1212Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Platform Agent Google Cloud. Pencarian alat juga dinonaktifkan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback mana pun.

1213 1213 

1214Setting [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/id/env-vars) menjaga pencarian alat tetap mati, dan `ENABLE_TOOL_SEARCH` tidak dapat menggantikannya. Variabel ini menghapus header beta yang diperlukan oleh definisi alat `defer_loading` dan blok konten `tool_reference`.1214Setting [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/id/env-vars) menjaga pencarian alat tetap mati, dan `ENABLE_TOOL_SEARCH` tidak dapat menggantikannya. Variabel ini menghapus header beta yang diperlukan oleh definisi alat `defer_loading` dan blok konten `tool_reference`.

1215 1215 

1216Pencarian alat memerlukan model yang mendukung blok `tool_reference`: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, dan model yang lebih baru. Lihat [kompatibilitas model dalam dokumentasi API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility) untuk daftar terkini. Di Platform Agent Google Cloud, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.1216Pencarian alat memerlukan model yang mendukung blok `tool_reference`: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, dan model yang lebih baru. Lihat [kompatibilitas model dalam dokumentasi API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility) untuk daftar terkini. Di Platform Agent Google Cloud, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.

1217 1217 


1233ENABLE_TOOL_SEARCH=false claude1233ENABLE_TOOL_SEARCH=false claude

1234```1234```

1235 1235 

1236Atau atur nilai dalam [field `env` settings.json](/id/settings#available-settings) Anda.1236Atau atur nilai dalam [field `env` settings.json](/docs/id/settings#available-settings) Anda.

1237 1237 

1238Anda juga dapat menonaktifkan alat `ToolSearch` secara khusus:1238Anda juga dapat menonaktifkan alat `ToolSearch` secara khusus:

1239 1239 


1267 1267 

1268Field `alwaysLoad` tersedia di semua jenis server dan memerlukan Claude Code v2.1.121 atau lebih baru. Server MCP juga dapat menandai alat individual sebagai selalu-dimuat dengan menyertakan `"anthropic/alwaysLoad": true` dalam objek `_meta` alat, yang memiliki efek yang sama hanya untuk alat tersebut.1268Field `alwaysLoad` tersedia di semua jenis server dan memerlukan Claude Code v2.1.121 atau lebih baru. Server MCP juga dapat menandai alat individual sebagai selalu-dimuat dengan menyertakan `"anthropic/alwaysLoad": true` dalam objek `_meta` alat, yang memiliki efek yang sama hanya untuk alat tersebut.

1269 1269 

1270Pengaturan `alwaysLoad: true` juga memblokir startup sampai server terhubung, dibatasi pada timeout koneksi standar 5 detik. Ini berlaku bahkan ketika MCP startup adalah [non-blocking secara default](/id/env-vars), karena alat harus ada saat prompt pertama dibangun. Server lain terus terhubung di latar belakang.1270Pengaturan `alwaysLoad: true` juga memblokir startup sampai server terhubung, dibatasi pada timeout koneksi standar 5 detik. Ini berlaku bahkan ketika MCP startup adalah [non-blocking secara default](/docs/id/env-vars), karena alat harus ada saat prompt pertama dibangun. Server lain terus terhubung di latar belakang.

1271 1271 

1272<h2 id="use-mcp-prompts-as-commands">1272<h2 id="use-mcp-prompts-as-commands">

1273 Gunakan prompt MCP sebagai perintah1273 Gunakan prompt MCP sebagai perintah


1316 Konfigurasi MCP yang dikelola1316 Konfigurasi MCP yang dikelola

1317</h2>1317</h2>

1318 1318 

1319Untuk organisasi yang memerlukan kontrol terpusat atas server MCP mana yang dapat dihubungkan pengguna, lihat [Konfigurasi MCP yang dikelola](/id/managed-mcp). Ini mencakup penerapan set server tetap dengan `managed-mcp.json`, pembatasan server dengan `allowedMcpServers` dan `deniedMcpServers`, dan apa yang dilihat pengguna ketika server diblokir.1319Untuk organisasi yang memerlukan kontrol terpusat atas server MCP mana yang dapat dihubungkan pengguna, lihat [Konfigurasi MCP yang dikelola](/docs/id/managed-mcp). Ini mencakup penerapan set server tetap dengan `managed-mcp.json`, pembatasan server dengan `allowedMcpServers` dan `deniedMcpServers`, dan apa yang dilihat pengguna ketika server diblokir.

Details

139 139 

140**Opsi C: Autentikasi bearer token**140**Opsi C: Autentikasi bearer token**

141 141 

142{/* min-version: 2.1.203 */}Claude Code mengirimkan nilai `ANTHROPIC_FOUNDRY_AUTH_TOKEN` pada setiap permintaan sebagai header `Authorization: Bearer`. Gunakan opsi ini ketika proses lain, seperti aplikasi host atau skrip sign-in, telah memperoleh token akses untuk Anda. Memerlukan Claude Code v2.1.203 atau lebih baru.142Claude Code mengirimkan nilai `ANTHROPIC_FOUNDRY_AUTH_TOKEN` pada setiap permintaan sebagai header `Authorization: Bearer`. Gunakan opsi ini ketika proses lain, seperti aplikasi host atau skrip sign-in, telah memperoleh token akses untuk Anda. Memerlukan Claude Code v2.1.203 atau lebih baru.

143 143 

144Atur variabel ke bearer token yang dikeluarkan Microsoft Entra ID untuk sumber daya Anda:144Atur variabel ke bearer token yang dikeluarkan Microsoft Entra ID untuk sumber daya Anda:

145 145 


189 189 

190Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Microsoft Foundry, Claude Code secara default menggunakan model utama karena tidak setiap akun memiliki deployment Haiku. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke deployment Haiku yang tersedia di akun Anda, seperti yang ditunjukkan di atas.190Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Microsoft Foundry, Claude Code secara default menggunakan model utama karena tidak setiap akun memiliki deployment Haiku. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke deployment Haiku yang tersedia di akun Anda, seperti yang ditunjukkan di atas.

191 191 

192Untuk ID model saat ini dan legacy, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.192Untuk ID model saat ini dan legacy, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/docs/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.

193 193 

194[Prompt caching](/id/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur variabel berikut; cache writes dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi:194[Prompt caching](/docs/id/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur variabel berikut; cache writes dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi:

195 195 

196```bash theme={null}196```bash theme={null}

197export ENABLE_PROMPT_CACHING_1H=1197export ENABLE_PROMPT_CACHING_1H=1

model-config.md +72 −76

Details

22Untuk panduan tentang model mana dan tingkat upaya yang sesuai untuk berbagai jenis pekerjaan, lihat [Memilih model Claude dan tingkat upaya di Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) di blog.22Untuk panduan tentang model mana dan tingkat upaya yang sesuai untuk berbagai jenis pekerjaan, lihat [Memilih model Claude dan tingkat upaya di Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) di blog.

23 23 

24<Note>24<Note>

25 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [gateway LLM](/id/llm-gateway).25 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [gateway LLM](/docs/id/llm-gateway).

26</Note>26</Note>

27 27 

28<h3 id="model-aliases">28<h3 id="model-aliases">


39| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas coding sehari-hari |39| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas coding sehari-hari |

40| **`opus`** | Menggunakan model Opus terbaru untuk tugas penalaran kompleks |40| **`opus`** | Menggunakan model Opus terbaru untuk tugas penalaran kompleks |

41| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas sederhana |41| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas sederhana |

42| **`sonnet[1m]`** | Menggunakan Sonnet dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah diselesaikan ke Sonnet 5 dengan jendela 1M bawaannya; di belakang [gateway LLM](/id/llm-gateway), memilih jendela 1M untuk Sonnet 5 |42| **`sonnet[1m]`** | Menggunakan Sonnet dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah diselesaikan ke Sonnet 5 dengan jendela 1M bawaannya; di belakang [gateway LLM](/docs/id/llm-gateway), memilih jendela 1M untuk Sonnet 5 |

43| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang |43| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang |

44| **`opusplan`** | Mode khusus yang menggunakan `opus` selama Plan Mode, kemudian beralih ke `sonnet` untuk eksekusi |44| **`opusplan`** | Mode khusus yang menggunakan `opus` selama Plan Mode, kemudian beralih ke `sonnet` untuk eksekusi |

45 45 


48| Penyedia | `opus` | `sonnet` |48| Penyedia | `opus` | `sonnet` |

49| :--------------------------------------------------- | :------- | :--------- |49| :--------------------------------------------------- | :------- | :--------- |

50| Anthropic API | Opus 4.8 | Sonnet 5 |50| Anthropic API | Opus 4.8 | Sonnet 5 |

51| [Claude Platform on AWS](/id/claude-platform-on-aws) | Opus 4.8 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/id/claude-platform-on-aws) | Opus 4.8 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 4.8 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 4.8 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.55Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.

56 56 

57{/* min-version: 2.1.207 */}Sebelum v2.1.207, `opus` diselesaikan ke Opus 4.7 di Claude Platform on AWS dan ke Opus 4.6 di Amazon Bedrock dan Google Cloud's Agent Platform.57Sebelum v2.1.207, `opus` diselesaikan ke Opus 4.7 di Claude Platform on AWS dan ke Opus 4.6 di Amazon Bedrock dan Google Cloud's Agent Platform.

58 58 

59Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menetapkan versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-4-8`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.59Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menetapkan versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-4-8`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.

60 60 


72 72 

73Untuk mendapatkan hasil maksimal dari Fable 5:73Untuk mendapatkan hasil maksimal dari Fable 5:

74 74 

75* **Jelaskan hasilnya, bukan langkah-langkahnya**: berikan hasil yang Anda inginkan dan biarkan ia merencanakan jalurnya. Untuk membuatnya terus bekerja sampai hasil itu terpenuhi, [tetapkan tujuan](/id/goal).75* **Jelaskan hasilnya, bukan langkah-langkahnya**: berikan hasil yang Anda inginkan dan biarkan ia merencanakan jalurnya. Untuk membuatnya terus bekerja sampai hasil itu terpenuhi, [tetapkan tujuan](/docs/id/goal).

76* **Berikan masalah yang ambigu**: investigasi akar penyebab, debugging pemadaman, dan keputusan arsitektur adalah tempat investigasi dan verifikasi ekstra memberikan hasil.76* **Berikan masalah yang ambigu**: investigasi akar penyebab, debugging pemadaman, dan keputusan arsitektur adalah tempat investigasi dan verifikasi ekstra memberikan hasil.

77* **Lewati pengingat verifikasi**: ia memverifikasi pekerjaan sendiri dengan prompting yang lebih sedikit, jadi pengingat untuk menguji atau memeriksa biasanya tidak perlu.77* **Lewati pengingat verifikasi**: ia memverifikasi pekerjaan sendiri dengan prompting yang lebih sedikit, jadi pengingat untuk menguji atau memeriksa biasanya tidak perlu.

78* **Ukur tugas yang lebih besar**: berikan pekerjaan yang biasanya akan Anda pecah menjadi beberapa bagian. Ia mempertahankan sesi panjang tanpa kehilangan benang merah.78* **Ukur tugas yang lebih besar**: berikan pekerjaan yang biasanya akan Anda pecah menjadi beberapa bagian. Ia mempertahankan sesi panjang tanpa kehilangan benang merah.

79 79 

80<Note>80<Note>

81 Fable 5 memerlukan Claude Code v2.1.170 atau lebih baru. Versi yang lebih lama tidak menampilkan Fable 5 di pemilih model dan tidak dapat memilihnya. Jalankan `claude update` untuk meningkatkan. Fable 5 tidak tersedia di bawah [zero data retention](/id/zero-data-retention), di mana pemilih `/model` baik menghilangkannya atau menampilkannya dinonaktifkan.81 Fable 5 memerlukan Claude Code v2.1.170 atau lebih baru. Versi yang lebih lama tidak menampilkan Fable 5 di pemilih model dan tidak dapat memilihnya. Jalankan `claude update` untuk meningkatkan. Fable 5 tidak tersedia di bawah [zero data retention](/docs/id/zero-data-retention), di mana pemilih `/model` baik menghilangkannya atau menampilkannya dinonaktifkan.

82</Note>82</Note>

83 83 

84<h3 id="setting-your-model">84<h3 id="setting-your-model">


97* `Enter`: beralih model dan simpan sebagai default Anda97* `Enter`: beralih model dan simpan sebagai default Anda

98* `s`: beralih model hanya untuk sesi ini98* `s`: beralih model hanya untuk sesi ini

99 99 

100Mengetik `/model <name>` langsung berperilaku seperti `Enter`. {/* min-version: 2.1.205 */}Model yang ditetapkan dengan `/model` dalam [mode non-interaktif](/id/headless), dengan bendera `-p`, berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda. Pengaturan proyek dan yang dikelola masih memiliki prioritas dan diterapkan kembali pada peluncuran berikutnya. {/* min-version: 2.1.196 */}Sebuah [model default organisasi](#organization-default-model) yang admin Anda telah konfigurasi untuk mengganti pilihan pengguna juga diterapkan kembali pada peluncuran berikutnya.100Mengetik `/model <name>` langsung berperilaku seperti `Enter`. Model yang ditetapkan dengan `/model` dalam [mode non-interaktif](/docs/id/headless), dengan bendera `-p`, berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda. Pengaturan proyek dan yang dikelola masih memiliki prioritas dan diterapkan kembali pada peluncuran berikutnya. Sebuah [model default organisasi](#organization-default-model) yang admin Anda telah konfigurasi untuk mengganti pilihan pengguna juga diterapkan kembali pada peluncuran berikutnya.

101 101 

102Di v2.1.144 hingga v2.1.152, `/model` hanya berlaku untuk sesi saat ini dan `d` di pemilih menyimpan default.102Di v2.1.144 hingga v2.1.152, `/model` hanya berlaku untuk sesi saat ini dan `d` di pemilih menyimpan default.

103 103 

104Bendera `--model` dan variabel lingkungan `ANTHROPIC_MODEL` hanya berlaku untuk sesi yang Anda luncurkan dengan mereka. Untuk menjalankan model yang berbeda di terminal yang berbeda pada waktu yang sama, luncurkan masing-masing dengan bendera `--model` miliknya sendiri daripada beralih dengan `/model`.104Bendera `--model` dan variabel lingkungan `ANTHROPIC_MODEL` hanya berlaku untuk sesi yang Anda luncurkan dengan mereka. Untuk menjalankan model yang berbeda di terminal yang berbeda pada waktu yang sama, luncurkan masing-masing dengan bendera `--model` miliknya sendiri daripada beralih dengan `/model`.

105 105 

106Harga di pemilih `/model` muncul ketika Claude Code berbicara dengan Anthropic API, secara langsung atau melalui [gateway LLM](/id/llm-gateway) yang memproksikannya, dan harga di baris adalah harga model yang dipilih baris tersebut. Di [penyedia pihak ketiga](/id/third-party-integrations) seperti Amazon Bedrock dan di [gateway aplikasi Claude](/id/claude-apps-gateway), penyedia atau gateway Anda menentukan apa yang Anda bayar, jadi baris pemilih tidak menampilkan harga. Harga adalah label tampilan saja; itu tidak mempengaruhi model mana yang dipilih baris atau apa yang ditagihkan penyedia Anda. Sebelum v2.1.206, [Claude Platform on AWS](/id/claude-platform-on-aws) dan sesi gateway menampilkan harga daftar Anthropic, dan baris dapat menampilkan harga model yang berbeda dari yang dipilihnya.106Harga di pemilih `/model` muncul ketika Claude Code berbicara dengan Anthropic API, secara langsung atau melalui [gateway LLM](/docs/id/llm-gateway) yang memproksikannya, dan harga di baris adalah harga model yang dipilih baris tersebut. Di [penyedia pihak ketiga](/docs/id/third-party-integrations) seperti Amazon Bedrock dan di [gateway aplikasi Claude](/docs/id/claude-apps-gateway), penyedia atau gateway Anda menentukan apa yang Anda bayar, jadi baris pemilih tidak menampilkan harga. Harga adalah label tampilan saja; itu tidak mempengaruhi model mana yang dipilih baris atau apa yang ditagihkan penyedia Anda. Sebelum v2.1.206, [Claude Platform on AWS](/docs/id/claude-platform-on-aws) dan sesi gateway menampilkan harga daftar Anthropic, dan baris dapat menampilkan harga model yang berbeda dari yang dipilihnya.

107 107 

108Sesi yang dilanjutkan dimulai dengan `claude --resume`, `--continue`, atau pemilih `/resume` menyimpan model yang mereka gunakan ketika transkrip disimpan, terlepas dari pengaturan `model` saat ini. Jika model tersebut telah pensiun atau dikecualikan oleh [`availableModels`](#restrict-model-selection), sesi jatuh melalui urutan prioritas normal. Ini mencegah pilihan `/model` sesi lain dari mengubah model saat dilanjutkan.108Sesi yang dilanjutkan dimulai dengan `claude --resume`, `--continue`, atau pemilih `/resume` menyimpan model yang mereka gunakan ketika transkrip disimpan, terlepas dari pengaturan `model` saat ini. Jika model tersebut telah pensiun atau dikecualikan oleh [`availableModels`](#restrict-model-selection), sesi jatuh melalui urutan prioritas normal. Ini mencegah pilihan `/model` sesi lain dari mengubah model saat dilanjutkan.

109 109 

110Model yang Anda pilih untuk peluncuran baru dengan `--model` atau `ANTHROPIC_MODEL` masih memiliki prioritas lebih tinggi daripada model yang dipulihkan. {/* min-version: 2.1.195 */}Mulai dari v2.1.195, demikian juga variabel keluarga [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).110Model yang Anda pilih untuk peluncuran baru dengan `--model` atau `ANTHROPIC_MODEL` masih memiliki prioritas lebih tinggi daripada model yang dipulihkan. Mulai dari v2.1.195, demikian juga variabel keluarga [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).

111 111 

112Ketika model aktif saat startup berasal dari pengaturan proyek atau yang dikelola daripada pilihan Anda sendiri, header startup menunjukkan file pengaturan mana yang menetapkannya. Jalankan `/model` untuk mengganti; pengaturan proyek atau yang dikelola diterapkan kembali pada peluncuran berikutnya.112Ketika model aktif saat startup berasal dari pengaturan proyek atau yang dikelola daripada pilihan Anda sendiri, header startup menunjukkan file pengaturan mana yang menetapkannya. Jalankan `/model` untuk mengganti; pengaturan proyek atau yang dikelola diterapkan kembali pada peluncuran berikutnya.

113 113 

114Ketika permintaan penggantian model dilakukan melalui metode [Agent SDK](/id/agent-sdk/overview) `setModel()` atau oleh aplikasi seperti [Desktop app](/id/desktop) yang menjalankan Claude Code CLI untuk Anda, Claude Code memeriksa bahwa string tersebut adalah salah satu yang dikenalinya sebelum menyimpannya. Pemeriksaan ini memerlukan Claude Code v2.1.200 atau lebih baru. Di Anthropic API, Claude Code mengenali:114Ketika permintaan penggantian model dilakukan melalui metode [Agent SDK](/docs/id/agent-sdk/overview) `setModel()` atau oleh aplikasi seperti [Desktop app](/docs/id/desktop) yang menjalankan Claude Code CLI untuk Anda, Claude Code memeriksa bahwa string tersebut adalah salah satu yang dikenalinya sebelum menyimpannya. Pemeriksaan ini memerlukan Claude Code v2.1.200 atau lebih baru. Di Anthropic API, Claude Code mengenali:

115 115 

116* alias model116* alias model

117* entri dari pemilih `/model`117* entri dari pemilih `/model`

118* nama apa pun yang dimulai dengan `claude-`118* nama apa pun yang dimulai dengan `claude-`

119* nilai yang Anda konfigurasi sendiri sebagai [opsi model kustom](#add-a-custom-model-option) atau dalam [`modelOverrides`](#override-model-ids-per-version)119* nilai yang Anda konfigurasi sendiri sebagai [opsi model kustom](#add-a-custom-model-option) atau dalam [`modelOverrides`](#override-model-ids-per-version)

120 120 

121Claude Code menolak string yang tidak dikenali dengan `Model "<name>" is not a recognized model id.` dan sesi menyimpan model saat ini, daripada menyimpan string dan gagal pada permintaan berikutnya. Lihat [referensi kesalahan](/id/errors#model-is-not-a-recognized-model-id) untuk langkah pemulihan.121Claude Code menolak string yang tidak dikenali dengan `Model "<name>" is not a recognized model id.` dan sesi menyimpan model saat ini, daripada menyimpan string dan gagal pada permintaan berikutnya. Lihat [referensi kesalahan](/docs/id/errors#model-is-not-a-recognized-model-id) untuk langkah pemulihan.

122 122 

123Pemeriksaan hanya berjalan di Anthropic API. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/id/claude-platform-on-aws), dan di belakang [gateway LLM](/id/llm-gateway) atau `ANTHROPIC_BASE_URL` kustom, penyedia atau gateway Anda menentukan nama model, jadi Claude Code melewatkan string apa pun tanpa memeriksanya. Pemeriksaan juga tidak mencakup bendera `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model`; nilai yang salah ketik di sana menghasilkan [There's an issue with the selected model](/id/errors#theres-an-issue-with-the-selected-model) pada permintaan pertama sebagai gantinya.123Pemeriksaan hanya berjalan di Anthropic API. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan di belakang [gateway LLM](/docs/id/llm-gateway) atau `ANTHROPIC_BASE_URL` kustom, penyedia atau gateway Anda menentukan nama model, jadi Claude Code melewatkan string apa pun tanpa memeriksanya. Pemeriksaan juga tidak mencakup bendera `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model`; nilai yang salah ketik di sana menghasilkan [There's an issue with the selected model](/docs/id/errors#theres-an-issue-with-the-selected-model) pada permintaan pertama sebagai gantinya.

124 124 

125Ketika model yang diminta memiliki tanggal pensiun yang dijadwalkan atau secara otomatis dipetakan ulang ke versi yang lebih baru, Claude Code menampilkan peringatan yang menyebutkan model yang diminta. Sesi interaktif menampilkannya sebagai pemberitahuan startup. Dari v2.1.182, peringatan yang sama ditulis ke stderr dalam [mode non-interaktif](/id/headless) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](/id/sub-agents). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](/id/headless#get-structured-output) sebagai gantinya.125Ketika model yang diminta memiliki tanggal pensiun yang dijadwalkan atau secara otomatis dipetakan ulang ke versi yang lebih baru, Claude Code menampilkan peringatan yang menyebutkan model yang diminta. Sesi interaktif menampilkannya sebagai pemberitahuan startup. Dari v2.1.182, peringatan yang sama ditulis ke stderr dalam [mode non-interaktif](/docs/id/headless) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](/docs/id/sub-agents). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](/docs/id/headless#get-structured-output) sebagai gantinya.

126 126 

127Contoh penggunaan:127Contoh penggunaan:

128 128 


149 Batasi pemilihan model149 Batasi pemilihan model

150</h2>150</h2>

151 151 

152Administrator enterprise dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](/id/settings#settings-files) untuk membatasi model mana yang dapat dipilih pengguna. Entri cocok dengan keluarga model seperti `sonnet`, awalan versi seperti `claude-sonnet-4-5`, atau ID model lengkap seperti `claude-sonnet-4-5-20250929`.152Administrator enterprise dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](/docs/id/settings#settings-files) untuk membatasi model mana yang dapat dipilih pengguna. Entri cocok dengan keluarga model seperti `sonnet`, awalan versi seperti `claude-sonnet-4-5`, atau ID model lengkap seperti `claude-sonnet-4-5-20250929`.

153 153 

154Ketika `availableModels` diatur, daftar izin berlaku di mana pun pengguna dapat menentukan model:154Ketika `availableModels` diatur, daftar izin berlaku di mana pun pengguna dapat menentukan model:

155 155 

156* **Model sesi utama**: `/model`, flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, pengaturan `model`, dan model yang dipulihkan ketika [melanjutkan sesi](#setting-your-model)156* **Model sesi utama**: `/model`, flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, pengaturan `model`, dan model yang dipulihkan ketika [melanjutkan sesi](#setting-your-model)

157* **Resolusi alias**: {/* min-version: 2.1.176 */}variabel lingkungan `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, dan `ANTHROPIC_DEFAULT_FABLE_MODEL` tidak dapat mengarahkan ulang alias yang diizinkan ke model di luar daftar157* **Resolusi alias**: variabel lingkungan `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, dan `ANTHROPIC_DEFAULT_FABLE_MODEL` tidak dapat mengarahkan ulang alias yang diizinkan ke model di luar daftar

158* **Mode cepat**: {/* min-version: 2.1.176 */}`/fast` menolak untuk beralih ketika akan secara implisit beralih ke model Opus di luar daftar, dengan pesan "is not in your organization's allowed models"158* **Mode cepat**: `/fast` menolak untuk beralih ketika akan secara implisit beralih ke model Opus di luar daftar, dengan pesan "is not in your organization's allowed models"

159* **Model subagent**: bidang `model` dalam frontmatter [subagent](/id/sub-agents#choose-a-model), parameter `model` dari alat Agent, `CLAUDE_CODE_SUBAGENT_MODEL`, dan, pada v2.1.197 dan lebih awal, pemilih model di wizard `/agents` {/* max-version: 2.1.197 */}159* **Model subagent**: bidang `model` dalam frontmatter [subagent](/docs/id/sub-agents#choose-a-model), parameter `model` dari alat Agent, `CLAUDE_CODE_SUBAGENT_MODEL`, dan, pada v2.1.197 dan lebih awal, pemilih model di wizard `/agents`&#x20;

160* **Model skill dan command**: frontmatter `model` dalam [skills dan commands](/id/skills)160* **Model skill dan command**: frontmatter `model` dalam [skills dan commands](/docs/id/skills)

161* **Model advisor**: pengaturan [`advisorModel`](/id/advisor) yang dikonfigurasi dan flag `--advisor`161* **Model advisor**: pengaturan [`advisorModel`](/docs/id/advisor) yang dikonfigurasi dan flag `--advisor`

162* **Model background agent**: model yang dipilih dalam [dispatch picker](/id/agent-view)162* **Model background agent**: model yang dipilih dalam [dispatch picker](/docs/id/agent-view)

163 163 

164Di API Anthropic dan [Claude Platform di AWS](/id/claude-platform-on-aws), alias keluarga model, `opus`, `sonnet`, `haiku`, atau `fable`, diselesaikan ke versi terbaru dari keluarganya yang daftar izin izinkan. Ketika daftar izin menetapkan versi tertentu, misalnya `["sonnet", "claude-opus-4-6"]`, baik `/model opus` maupun `--model opus` memilih Claude Opus 4.6, Opus terbaru yang diizinkan, dan menampilkan pemberitahuan yang menyebutkan model yang diminta dan model pengganti. Sebelum v2.1.205, alias yang versi rilis terbarunya berada di luar daftar ditolak atau diganti seperti pilihan terblokir lainnya, bahkan ketika daftar mengizinkan versi yang lebih lama.164Di API Anthropic dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws), alias keluarga model, `opus`, `sonnet`, `haiku`, atau `fable`, diselesaikan ke versi terbaru dari keluarganya yang daftar izin izinkan. Ketika daftar izin menetapkan versi tertentu, misalnya `["sonnet", "claude-opus-4-6"]`, baik `/model opus` maupun `--model opus` memilih Claude Opus 4.6, Opus terbaru yang diizinkan, dan menampilkan pemberitahuan yang menyebutkan model yang diminta dan model pengganti. Sebelum v2.1.205, alias yang versi rilis terbarunya berada di luar daftar ditolak atau diganti seperti pilihan terblokir lainnya, bahkan ketika daftar mengizinkan versi yang lebih lama.

165 165 

166Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan [Mantle](/id/amazon-bedrock#use-the-mantle-endpoint) menggunakan ID penyebaran khusus penyedia daripada ID model Anthropic, jadi alias yang diblokir di sana mengikuti perilaku penolakan dan penggantian di bawah.166Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan [Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) menggunakan ID penyebaran khusus penyedia daripada ID model Anthropic, jadi alias yang diblokir di sana mengikuti perilaku penolakan dan penggantian di bawah.

167 167 

168Claude Code menangani pilihan terblokir lainnya sesuai dengan tempat model diatur:168Claude Code menangani pilihan terblokir lainnya sesuai dengan tempat model diatur:

169 169 


173* **Pengaturan `advisorModel`**: advisor dinonaktifkan untuk sesi173* **Pengaturan `advisorModel`**: advisor dinonaktifkan untuk sesi

174* **Flag `--advisor`**: Claude Code keluar dengan kesalahan saat peluncuran174* **Flag `--advisor`**: Claude Code keluar dengan kesalahan saat peluncuran

175 175 

176Model yang dikecualikan disembunyikan dari pemilih `/model`. {/* min-version: 2.1.199 */}ID model lengkap dalam daftar yang tidak memiliki baris pemilih bawaan, seperti versi yang lebih lama yang ditetapkan daftar, muncul di pemilih `/model` sebagai baris berlabel miliknya sendiri. Sebelum v2.1.199, ID tersebut hanya dapat dipilih dengan mengetik `/model <id>`.176Model yang dikecualikan disembunyikan dari pemilih `/model`. ID model lengkap dalam daftar yang tidak memiliki baris pemilih bawaan, seperti versi yang lebih lama yang ditetapkan daftar, muncul di pemilih `/model` sebagai baris berlabel miliknya sendiri. Sebelum v2.1.199, ID tersebut hanya dapat dipilih dengan mengetik `/model <id>`.

177 177 

178Perubahan model yang Claude Code buat atas nama Anda diperiksa dengan cara yang sama:178Perubahan model yang Claude Code buat atas nama Anda diperiksa dengan cara yang sama:

179 179 

180* **[Rantai model fallback](#fallback-model-chains)**: elemen di luar daftar izin dihapus180* **[Rantai model fallback](#fallback-model-chains)**: elemen di luar daftar izin dihapus

181* **Peningkatan mode rencana**: di API Anthropic dan Claude Platform di AWS, peningkatan seperti [`opusplan`](#opusplan-model-setting) ke model yang dikecualikan menggunakan versi terbaru yang diizinkan dari keluarga peningkatan. Pada penyedia dengan ID model khusus penyedia, dan ketika tidak ada versi yang diizinkan, peningkatan dilewati dan perencanaan berlanjut pada model sesi181* **Peningkatan mode rencana**: di API Anthropic dan Claude Platform di AWS, peningkatan seperti [`opusplan`](#opusplan-model-setting) ke model yang dikecualikan menggunakan versi terbaru yang diizinkan dari keluarga peningkatan. Pada penyedia dengan ID model khusus penyedia, dan ketika tidak ada versi yang diizinkan, peningkatan dilewati dan perencanaan berlanjut pada model sesi

182* **[Fallback model otomatis](#automatic-model-fallback)**: fallback yang targetnya dikecualikan tidak berjalan, sehingga permintaan yang ditandai berakhir dengan penolakan182* **[Fallback model otomatis](#automatic-model-fallback)**: fallback yang targetnya dikecualikan tidak berjalan, sehingga permintaan yang ditandai berakhir dengan penolakan

183* **[Mode cepat](/id/fast-mode)**: mengaktifkan mode cepat ditolak ketika model yang akan dijalankan sesi setelahnya berada di luar daftar izin183* **[Mode cepat](/docs/id/fast-mode)**: mengaktifkan mode cepat ditolak ketika model yang akan dijalankan sesi setelahnya berada di luar daftar izin

184 184 

185```json theme={null}185```json theme={null}

186{186{


196 196 

197| Mekanisme pengiriman | CLI dan IDE | Sesi lokal Desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |197| Mekanisme pengiriman | CLI dan IDE | Sesi lokal Desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |

198| :--------------------------------------------------------------------------- | :----------- | :----------------- | :-------------------------- | :--------------------------- | :------------------------------ |198| :--------------------------------------------------------------------------- | :----------- | :----------------- | :-------------------------- | :--------------------------- | :------------------------------ |

199| [Pengaturan terkelola server](/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirimkan |199| [Pengaturan terkelola server](/docs/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirimkan |

200| [File pengaturan MDM atau terkelola](/id/settings#settings-files) | Diberlakukan | Diberlakukan | Tidak dikirimkan | Diberlakukan | Diberlakukan di mana diterapkan |200| [File pengaturan MDM atau terkelola](/docs/id/settings#settings-files) | Diberlakukan | Diberlakukan | Tidak dikirimkan | Diberlakukan | Diberlakukan di mana diterapkan |

201 201 

202* Sesi cloud, di [Claude Code di web](/id/claude-code-on-the-web) atau di aplikasi Desktop, berjalan di VM yang dikelola Anthropic: pengaturan yang diterapkan ke perangkat Anda tidak mencapainya, jadi kirimkan daftar izin melalui pengaturan terkelola server. Peralihan model pertengahan sesi dalam sesi cloud ditolak ketika model yang diminta dikecualikan oleh daftar izin. Penolakan sisi server saat pembuatan sesi berlaku untuk [pembatasan model organisasi](#organization-model-restrictions), bukan kunci pengaturan `availableModels`.202* Sesi cloud, di [Claude Code di web](/docs/id/claude-code-on-the-web) atau di aplikasi Desktop, berjalan di VM yang dikelola Anthropic: pengaturan yang diterapkan ke perangkat Anda tidak mencapainya, jadi kirimkan daftar izin melalui pengaturan terkelola server. Peralihan model pertengahan sesi dalam sesi cloud ditolak ketika model yang diminta dikecualikan oleh daftar izin. Penolakan sisi server saat pembuatan sesi berlaku untuk [pembatasan model organisasi](#organization-model-restrictions), bukan kunci pengaturan `availableModels`.

203* Cowork, tab pekerjaan agentic di aplikasi Claude Desktop, bukan permukaan Claude Code dan tidak menerima pengaturan terkelola server sesuai desain. File pengaturan terkelola berlaku untuk sesi Cowork ketika ada di mana sesi berjalan; sesi Cowork jarak jauh berjalan di VM yang dikelola Anthropic, di mana file yang diterapkan perangkat tidak ada.203* Cowork, tab pekerjaan agentic di aplikasi Claude Desktop, bukan permukaan Claude Code dan tidak menerima pengaturan terkelola server sesuai desain. File pengaturan terkelola berlaku untuk sesi Cowork ketika ada di mana sesi berjalan; sesi Cowork jarak jauh berjalan di VM yang dikelola Anthropic, di mana file yang diterapkan perangkat tidak ada.

204* Sesi di [penyedia pihak ketiga](/id/server-managed-settings#platform-availability) seperti Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan [Claude Platform di AWS](/id/claude-platform-on-aws) tidak menerima pengaturan terkelola server, jadi kirimkan daftar izin melalui file pengaturan MDM atau terkelola di sana.204* Sesi di [penyedia pihak ketiga](/docs/id/server-managed-settings#platform-availability) seperti Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws) tidak menerima pengaturan terkelola server, jadi kirimkan daftar izin melalui file pengaturan MDM atau terkelola di sana.

205* Pengiriman terkelola server juga memerlukan sesi untuk mengautentikasi dengan login organisasi atau kunci API yang dikonfigurasi langsung. Fleet yang menghasilkan kunci hanya melalui skrip [`apiKeyHelper`](/id/settings#available-settings) harus mengirimkan daftar izin melalui file pengaturan MDM atau terkelola.205* Pengiriman terkelola server juga memerlukan sesi untuk mengautentikasi dengan login organisasi atau kunci API yang dikonfigurasi langsung. Fleet yang menghasilkan kunci hanya melalui skrip [`apiKeyHelper`](/docs/id/settings#available-settings) harus mengirimkan daftar izin melalui file pengaturan MDM atau terkelola.

206* Tab Desktop Code juga menampilkan [sesi SSH](/id/desktop#ssh-sessions), yang membaca file pengaturan terkelola dari host jarak jauh tempat mereka berjalan. Lihat [Pengaturan terkelola Desktop](/id/desktop#managed-settings).206* Tab Desktop Code juga menampilkan [sesi SSH](/docs/id/desktop#ssh-sessions), yang membaca file pengaturan terkelola dari host jarak jauh tempat mereka berjalan. Lihat [Pengaturan terkelola Desktop](/docs/id/desktop#managed-settings).

207* Pemilih model di claude.ai dan di aplikasi Desktop menyembunyikan atau memudarkan model yang dikecualikan oleh daftar izin organisasi Anda. Status pemilih adalah kenyamanan bagi pengguna; penegakan terjadi dalam sesi.207* Pemilih model di claude.ai dan di aplikasi Desktop menyembunyikan atau memudarkan model yang dikecualikan oleh daftar izin organisasi Anda. Status pemilih adalah kenyamanan bagi pengguna; penegakan terjadi dalam sesi.

208 208 

209<h3 id="default-model-behavior">209<h3 id="default-model-behavior">


231 231 

232`enforceAvailableModels` tidak berpengaruh ketika `availableModels` tidak diatur atau kosong: dengan `availableModels: []`, model Default untuk jenis akun tetap dapat digunakan, sehingga pengaturan tidak dapat mengunci pengguna dari setiap model. Ketika `availableModels` tidak kosong tetapi tidak ada entri yang diselesaikan ke model yang diizinkan dan tersedia, penegakan menurun dan Default jatuh kembali ke default jenis akun, dengan peringatan yang hanya terlihat di bawah `--debug`. Pertahankan setidaknya satu entri yang dijamin tersedia dalam daftar untuk menghindari ini.232`enforceAvailableModels` tidak berpengaruh ketika `availableModels` tidak diatur atau kosong: dengan `availableModels: []`, model Default untuk jenis akun tetap dapat digunakan, sehingga pengaturan tidak dapat mengunci pengguna dari setiap model. Ketika `availableModels` tidak kosong tetapi tidak ada entri yang diselesaikan ke model yang diizinkan dan tersedia, penegakan menurun dan Default jatuh kembali ke default jenis akun, dengan peringatan yang hanya terlihat di bawah `--debug`. Pertahankan setidaknya satu entri yang dijamin tersedia dalam daftar untuk menghindari ini.

233 233 

234Terapkan kedua kunci dalam [sumber terkelola dengan prioritas tertinggi](/id/settings#settings-precedence): sumber terkelola yang diterapkan admin tidak menggabung, jadi pasangan yang ditempatkan dalam file pengaturan terkelola diabaikan ketika konsol admin mengirimkan pengaturan apa pun.234Terapkan kedua kunci dalam [sumber terkelola dengan prioritas tertinggi](/docs/id/settings#settings-precedence): sumber terkelola yang diterapkan admin tidak menggabung, jadi pasangan yang ditempatkan dalam file pengaturan terkelola diabaikan ketika konsol admin mengirimkan pengaturan apa pun.

235 235 

236<h3 id="control-the-model-users-run-on">236<h3 id="control-the-model-users-run-on">

237 Kontrol model yang dijalankan pengguna237 Kontrol model yang dijalankan pengguna


265 Perilaku penggabungan265 Perilaku penggabungan

266</h3>266</h3>

267 267 

268Ketika [sumber pengaturan terkelola dengan prioritas tertinggi](/id/settings#settings-precedence) mendefinisikan `availableModels`, hanya daftar itu yang berlaku: entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperluas daftar, dan sumber terkelola yang diterapkan admin tidak menggabung satu sama lain, jadi daftar yang diterapkan dalam file pengaturan terkelola diabaikan ketika pengaturan terkelola server mengirimkan kunci apa pun. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal [digabungkan dan dideduplikasi](/id/settings#settings-precedence) seperti pengaturan array lainnya. {/* min-version: 2.1.175 */}Mulai dari Claude Code v2.1.175, daftar terkelola menggantikan entri prioritas lebih rendah; versi sebelumnya menggabungkan mereka.268Ketika [sumber pengaturan terkelola dengan prioritas tertinggi](/docs/id/settings#settings-precedence) mendefinisikan `availableModels`, hanya daftar itu yang berlaku: entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperluas daftar, dan sumber terkelola yang diterapkan admin tidak menggabung satu sama lain, jadi daftar yang diterapkan dalam file pengaturan terkelola diabaikan ketika pengaturan terkelola server mengirimkan kunci apa pun. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal [digabungkan dan dideduplikasi](/docs/id/settings#settings-precedence) seperti pengaturan array lainnya. Mulai dari Claude Code v2.1.175, daftar terkelola menggantikan entri prioritas lebih rendah; versi sebelumnya menggabungkan mereka.

269 269 

270Dalam daftar yang efektif, entri yang menamai model tertentu dalam keluarga, baik awalan versi atau ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` hanya memungkinkan versi Sonnet 4.5, bukan setiap model Sonnet.270Dalam daftar yang efektif, entri yang menamai model tertentu dalam keluarga, baik awalan versi atau ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` hanya memungkinkan versi Sonnet 4.5, bukan setiap model Sonnet.

271 271 


273 ID model Mantle273 ID model Mantle

274</h3>274</h3>

275 275 

276Ketika [endpoint Bedrock Mantle](/id/amazon-bedrock#use-the-mantle-endpoint) diaktifkan, entri dalam `availableModels` yang dimulai dengan `anthropic.` ditambahkan ke pemilih `/model` sebagai opsi kustom dan dirutekan ke endpoint Mantle. Ini adalah pengecualian terhadap pencocokan alias yang dijelaskan dalam [Pin models for third-party deployments](#pin-models-for-third-party-deployments). Pengaturan masih membatasi pemilih ke entri yang tercantum, dan ID Mantle menyematkan nama keluarga, jadi dihitung sebagai entri tertentu dan menonaktifkan wildcard keluarga itu: bersama ID Mantle apa pun, daftarkan awalan versi atau ID lengkap yang ingin Anda pertahankan dapat dipilih. Lihat [Perilaku penggabungan](#merge-behavior).276Ketika [endpoint Bedrock Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) diaktifkan, entri dalam `availableModels` yang dimulai dengan `anthropic.` ditambahkan ke pemilih `/model` sebagai opsi kustom dan dirutekan ke endpoint Mantle. Ini adalah pengecualian terhadap pencocokan alias yang dijelaskan dalam [Pin models for third-party deployments](#pin-models-for-third-party-deployments). Pengaturan masih membatasi pemilih ke entri yang tercantum, dan ID Mantle menyematkan nama keluarga, jadi dihitung sebagai entri tertentu dan menonaktifkan wildcard keluarga itu: bersama ID Mantle apa pun, daftarkan awalan versi atau ID lengkap yang ingin Anda pertahankan dapat dipilih. Lihat [Perilaku penggabungan](#merge-behavior).

277 277 

278<h3 id="organization-model-restrictions">278<h3 id="organization-model-restrictions">

279 Pembatasan model organisasi279 Pembatasan model organisasi


283 283 

284Pembatasan berlaku ketika anggota masuk atau menggunakan kunci API mereka sendiri. Kredensial yang bersifat organisasi, seperti kunci layanan organisasi, tidak terikat pada pengguna, jadi pembatasan tidak berlaku untuk mereka.284Pembatasan berlaku ketika anggota masuk atau menggunakan kunci API mereka sendiri. Kredensial yang bersifat organisasi, seperti kunci layanan organisasi, tidak terikat pada pengguna, jadi pembatasan tidak berlaku untuk mereka.

285 285 

286Claude Console tidak memiliki kontrol pembatasan model. Organisasi tanpa paket Claude Enterprise, termasuk mereka yang anggotanya mengautentikasi melalui API Anthropic, membatasi model dengan [`availableModels`](#restrict-model-selection) dalam [pengaturan terkelola](/id/settings#settings-files) sebagai gantinya, menambahkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) untuk mencakup opsi Default. Pengaturan ini diberlakukan oleh Claude Code itu sendiri, bukan oleh server.286Claude Console tidak memiliki kontrol pembatasan model. Organisasi tanpa paket Claude Enterprise, termasuk mereka yang anggotanya mengautentikasi melalui API Anthropic, membatasi model dengan [`availableModels`](#restrict-model-selection) dalam [pengaturan terkelola](/docs/id/settings#settings-files) sebagai gantinya, menambahkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) untuk mencakup opsi Default. Pengaturan ini diberlakukan oleh Claude Code itu sendiri, bukan oleh server.

287 287 

288Model yang dibatasi disembunyikan dari pemilih `/model`. Memilihnya berdasarkan nama dengan `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model` menunjukkan pemberitahuan `Model "<name>" is restricted by your organization's settings. Using <model> instead.` dan sesi dimulai pada model yang diizinkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` dan sesi mempertahankan model saat ini.288Model yang dibatasi disembunyikan dari pemilih `/model`. Memilihnya berdasarkan nama dengan `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model` menunjukkan pemberitahuan `Model "<name>" is restricted by your organization's settings. Using <model> instead.` dan sesi dimulai pada model yang diizinkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` dan sesi mempertahankan model saat ini.

289 289 


296* Model Haiku selalu tersedia dan tidak dapat dinonaktifkan, jadi setiap anggota menyimpan setidaknya satu model yang dapat digunakan.296* Model Haiku selalu tersedia dan tidak dapat dinonaktifkan, jadi setiap anggota menyimpan setidaknya satu model yang dapat digunakan.

297* Perubahan akses berlaku org-wide dalam sekitar satu menit; pemilih `/model` mencerminkannya saat sesi berikutnya dimulai.297* Perubahan akses berlaku org-wide dalam sekitar satu menit; pemilih `/model` mencerminkannya saat sesi berikutnya dimulai.

298 298 

299Kedua pembatasan berlaku bersama: model dapat dipilih hanya ketika diizinkan oleh `availableModels` dan tidak dibatasi oleh organisasi. Pembatasan organisasi dikirimkan ke sesi di API Anthropic dan penyebaran [gateway LLM](/id/llm-gateway). Sesi di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya, jadi gunakan `availableModels` di penyedia tersebut.299Kedua pembatasan berlaku bersama: model dapat dipilih hanya ketika diizinkan oleh `availableModels` dan tidak dibatasi oleh organisasi. Pembatasan organisasi dikirimkan ke sesi di API Anthropic dan penyebaran [gateway LLM](/docs/id/llm-gateway). Sesi di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya, jadi gunakan `availableModels` di penyedia tersebut.

300 300 

301<h2 id="organization-default-model">301<h2 id="organization-default-model">

302 Model default organisasi302 Model default organisasi

303</h2>303</h2>

304 304 

305{/* plan-availability: feature=org-default-model plans=enterprise */}

306 

307Admin organisasi pada paket Claude Enterprise dapat menetapkan model default untuk anggota Claude Code dari konsol admin claude.ai, untuk seluruh organisasi atau per role kustom. Ketika satu diatur, opsi Default diselesaikan ke model itu alih-alih [default jenis akun](#default-model-setting). Memerlukan Claude Code v2.1.196 atau lebih baru.305Admin organisasi pada paket Claude Enterprise dapat menetapkan model default untuk anggota Claude Code dari konsol admin claude.ai, untuk seluruh organisasi atau per role kustom. Ketika satu diatur, opsi Default diselesaikan ke model itu alih-alih [default jenis akun](#default-model-setting). Memerlukan Claude Code v2.1.196 atau lebih baru.

308 306 

309Baris Default di pemilih `/model` menampilkan nama model default organisasi dengan label Org default. Label membaca Org default apakah admin menetapkan default untuk seluruh organisasi atau untuk role Anda. Default role mencakup anggota role kustom itu dan mengambil alih default organisasi-lebar; ketika beberapa role Anda menetapkan default yang berbeda, model paling mampu berlaku.307Baris Default di pemilih `/model` menampilkan nama model default organisasi dengan label Org default. Label membaca Org default apakah admin menetapkan default untuk seluruh organisasi atau untuk role Anda. Default role mencakup anggota role kustom itu dan mengambil alih default organisasi-lebar; ketika beberapa role Anda menetapkan default yang berbeda, model paling mampu berlaku.


311Model default organisasi adalah titik awal, bukan pembatasan, dan pilihan model lainnya mengambil alih atasnya:309Model default organisasi adalah titik awal, bukan pembatasan, dan pilihan model lainnya mengambil alih atasnya:

312 310 

313* flag `--model` dan variabel lingkungan `ANTHROPIC_MODEL`311* flag `--model` dan variabel lingkungan `ANTHROPIC_MODEL`

314* nilai `model` dalam [pengaturan terkelola](/id/settings#settings-files) atau disediakan melalui `--settings`312* nilai `model` dalam [pengaturan terkelola](/docs/id/settings#settings-files) atau disediakan melalui `--settings`

315* nilai `model` dalam pengaturan pengguna, proyek, atau lokal Anda, termasuk model yang Anda simpan dengan `/model`313* nilai `model` dalam pengaturan pengguna, proyek, atau lokal Anda, termasuk model yang Anda simpan dengan `/model`

316 314 

317Admin juga dapat mengonfigurasi model default organisasi untuk mengganti pilihan pengguna. Dengan override aktif, ia mengambil alih nilai `model` dalam pengaturan pengguna, proyek, dan lokal, jadi model yang Anda simpan dengan `/model` berlaku untuk sesi saat ini dan model default organisasi kembali pada peluncuran berikutnya. Ketika pilihan Anda berbeda, `/model` menampilkan `Your organization's default (<model>) applies on restart`. Flag `--model`, `ANTHROPIC_MODEL`, pengaturan terkelola, dan `--settings` masih mengambil alih bahkan dengan override aktif. Override tersedia untuk set organisasi terbatas; tanyakan tim akun Anthropic Anda tentang ketersediaan.315Admin juga dapat mengonfigurasi model default organisasi untuk mengganti pilihan pengguna. Dengan override aktif, ia mengambil alih nilai `model` dalam pengaturan pengguna, proyek, dan lokal, jadi model yang Anda simpan dengan `/model` berlaku untuk sesi saat ini dan model default organisasi kembali pada peluncuran berikutnya. Ketika pilihan Anda berbeda, `/model` menampilkan `Your organization's default (<model>) applies on restart`. Flag `--model`, `ANTHROPIC_MODEL`, pengaturan terkelola, dan `--settings` masih mengambil alih bahkan dengan override aktif. Override tersedia untuk set organisasi terbatas; tanyakan tim akun Anthropic Anda tentang ketersediaan.


326 324 

327* [`availableModels`](#restrict-model-selection) dengan sendirinya tidak pernah membatasi opsi Default, jadi model default organisasi di luar daftar izin masih berlaku. Ketika [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) juga diatur, model default organisasi di luar daftar izin dipetakan ulang ke entri daftar izin pertama, seperti Default lainnya325* [`availableModels`](#restrict-model-selection) dengan sendirinya tidak pernah membatasi opsi Default, jadi model default organisasi di luar daftar izin masih berlaku. Ketika [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) juga diatur, model default organisasi di luar daftar izin dipetakan ulang ke entri daftar izin pertama, seperti Default lainnya

328* model default organisasi yang [pembatasan model organisasi](#organization-model-restrictions) tolak untuk akun Anda diganti dengan model yang paling baru diizinkan dalam keluarganya, atau keluarga biaya lebih rendah ketika setiap versi itu dibatasi326* model default organisasi yang [pembatasan model organisasi](#organization-model-restrictions) tolak untuk akun Anda diganti dengan model yang paling baru diizinkan dalam keluarganya, atau keluarga biaya lebih rendah ketika setiap versi itu dibatasi

329* model default organisasi yang tidak tersedia untuk akun Anda sama sekali, seperti Fable 5 di bawah [zero data retention](/id/zero-data-retention), dilewati, dan opsi Default diselesaikan ke default jenis akun327* model default organisasi yang tidak tersedia untuk akun Anda sama sekali, seperti Fable 5 di bawah [zero data retention](/docs/id/zero-data-retention), dilewati, dan opsi Default diselesaikan ke default jenis akun

330 328 

331Mulai dari v2.1.199, ketika model default organisasi adalah keluarga model yang berbeda dari default biasa jenis akun Anda, pemilih `/model` menyimpan baris terpisah untuk keluarga biasa itu, sehingga Anda masih dapat beralih ke itu untuk sesi. Di v2.1.196 hingga v2.1.198 baris itu hilang dari pemilih.329Mulai dari v2.1.199, ketika model default organisasi adalah keluarga model yang berbeda dari default biasa jenis akun Anda, pemilih `/model` menyimpan baris terpisah untuk keluarga biasa itu, sehingga Anda masih dapat beralih ke itu untuk sesi. Di v2.1.196 hingga v2.1.198 baris itu hilang dari pemilih.

332 330 

333Model default organisasi dikirimkan ke sesi yang diautentikasi dengan API Anthropic. Sesi di penyebaran [gateway LLM](/id/llm-gateway), Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya. Untuk menetapkan default pada penyebaran itu, gunakan kunci `model` dalam [pengaturan terkelola](/id/settings#settings-files) sebagai gantinya.331Model default organisasi dikirimkan ke sesi yang diautentikasi dengan API Anthropic. Sesi di penyebaran [gateway LLM](/docs/id/llm-gateway), Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya. Untuk menetapkan default pada penyebaran itu, gunakan kunci `model` dalam [pengaturan terkelola](/docs/id/settings#settings-files) sebagai gantinya.

334 332 

335<h2 id="organization-effort-limits">333<h2 id="organization-effort-limits">

336 Batas usaha organisasi334 Batas usaha organisasi

337</h2>335</h2>

338 336 

339{/* plan-availability: feature=org-effort-limits plans=enterprise */}

340 

341Admin organisasi pada paket Claude Enterprise dapat menetapkan tingkat [usaha](#adjust-effort-level) maksimum per model untuk setiap role kustom, bersama [pembatasan model organisasi](#organization-model-restrictions) tingkat role. Tingkat di atas batas tidak ditawarkan di pemilih `/effort`, dan menamai tingkat lebih tinggi dengan `--effort` atau `/effort` berjalan pada batas sebagai gantinya. Dalam sesi interaktif dan lari `--print` teks biasa, peringatan menyebutkan tingkat yang diminta dan diterapkan; dengan output `json` atau `stream-json` atau di agen latar belakang, penjepit berlaku diam-diam. Batas adalah per model, jadi beralih model dapat mengubah tingkat mana yang tersedia. Ketika beberapa role Anda memberikan model yang sama, batas paling permisif berlaku. Memerlukan Claude Code v2.1.195 atau lebih baru.337Admin organisasi pada paket Claude Enterprise dapat menetapkan tingkat [usaha](#adjust-effort-level) maksimum per model untuk setiap role kustom, bersama [pembatasan model organisasi](#organization-model-restrictions) tingkat role. Tingkat di atas batas tidak ditawarkan di pemilih `/effort`, dan menamai tingkat lebih tinggi dengan `--effort` atau `/effort` berjalan pada batas sebagai gantinya. Dalam sesi interaktif dan lari `--print` teks biasa, peringatan menyebutkan tingkat yang diminta dan diterapkan; dengan output `json` atau `stream-json` atau di agen latar belakang, penjepit berlaku diam-diam. Batas adalah per model, jadi beralih model dapat mengubah tingkat mana yang tersedia. Ketika beberapa role Anda memberikan model yang sama, batas paling permisif berlaku. Memerlukan Claude Code v2.1.195 atau lebih baru.

342 338 

343Batas usaha dikirimkan bersama [pembatasan model organisasi](#organization-model-restrictions) dan mengikuti ketersediaan penyedia yang sama: sesi di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya.339Batas usaha dikirimkan bersama [pembatasan model organisasi](#organization-model-restrictions) dan mengikuti ketersediaan penyedia yang sama: sesi di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan Claude Platform di AWS tidak menerimanya.


359 355 

360Enterprise pay-as-you-go berarti organisasi Enterprise yang ditagihkan berdasarkan penggunaan daripada kursi langganan.356Enterprise pay-as-you-go berarti organisasi Enterprise yang ditagihkan berdasarkan penggunaan daripada kursi langganan.

361 357 

362{/* min-version: 2.1.207 */}Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 di Claude Platform di AWS dan ke Sonnet 4.5 di Amazon Bedrock dan Google Cloud's Agent Platform.358Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 di Claude Platform di AWS dan ke Sonnet 4.5 di Amazon Bedrock dan Google Cloud's Agent Platform.

363 359 

364Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model itu sebagai gantinya dari default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru.360Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model itu sebagai gantinya dari default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru.

365 361 


382 378 

383Ketika [`availableModels`](#restrict-model-selection) mengecualikan Opus terbaru tetapi mengizinkan versi yang lebih lama, misalnya `["sonnet", "claude-opus-4-6"]`, `opusplan` menggunakan Opus terbaru yang diizinkan untuk perencanaan dan tetap pada Sonnet hanya ketika setiap Opus dikecualikan. Sesi Haiku yang biasanya akan ditingkatkan ke Sonnet dalam plan mode demikian pula menggunakan Sonnet terbaru yang diizinkan, dan tetap pada Haiku hanya ketika setiap Sonnet dikecualikan. Sebelum v2.1.205, plan mode tetap pada model sesi kapan pun versi terbaru dari keluarga upgrade dikecualikan, bahkan ketika allowlist mengizinkan yang lebih lama.379Ketika [`availableModels`](#restrict-model-selection) mengecualikan Opus terbaru tetapi mengizinkan versi yang lebih lama, misalnya `["sonnet", "claude-opus-4-6"]`, `opusplan` menggunakan Opus terbaru yang diizinkan untuk perencanaan dan tetap pada Sonnet hanya ketika setiap Opus dikecualikan. Sesi Haiku yang biasanya akan ditingkatkan ke Sonnet dalam plan mode demikian pula menggunakan Sonnet terbaru yang diizinkan, dan tetap pada Haiku hanya ketika setiap Sonnet dikecualikan. Sebelum v2.1.205, plan mode tetap pada model sesi kapan pun versi terbaru dari keluarga upgrade dikecualikan, bahkan ketika allowlist mengizinkan yang lebih lama.

384 380 

385Substitusi versi yang lebih lama yang diizinkan berlaku pada Anthropic API dan [Claude Platform di AWS](/id/claude-platform-on-aws). Pada Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Mantle, yang penyebarannya menggunakan ID model spesifik penyedia, plan mode tetap pada model sesi kapan pun model upgrade dikecualikan.381Substitusi versi yang lebih lama yang diizinkan berlaku pada Anthropic API dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws). Pada Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan Mantle, yang penyebarannya menggunakan ID model spesifik penyedia, plan mode tetap pada model sesi kapan pun model upgrade dikecualikan.

386 382 

387Untuk pendekatan hibrida di mana Claude memutuskan di tengah-tugas kapan harus berkonsultasi dengan model kedua daripada beralih di batas rencana, lihat [advisor tool](/id/advisor).383Untuk pendekatan hibrida di mana Claude memutuskan di tengah-tugas kapan harus berkonsultasi dengan model kedua daripada beralih di batas rencana, lihat [advisor tool](/docs/id/advisor).

388 384 

389<h3 id="fallback-model-chains">385<h3 id="fallback-model-chains">

390 Rantai model fallback386 Rantai model fallback


400claude --fallback-model sonnet,haiku396claude --fallback-model sonnet,haiku

401```397```

402 398 

403Untuk mempertahankan chain di seluruh sesi, atur `fallbackModel` dalam [settings](/id/settings) sebagai array:399Untuk mempertahankan chain di seluruh sesi, atur `fallbackModel` dalam [settings](/docs/id/settings) sebagai array:

404 400 

405```json theme={null}401```json theme={null}

406{402{


421 417 

422Bagian ini mencakup fallback berbasis konten dari Fable 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).418Bagian ini mencakup fallback berbasis konten dari Fable 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).

423 419 

424Fable 5 berjalan dengan pengklasifikasi keamanan untuk konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan, Claude Code menjalankan kembali permintaan itu pada model Opus default penyedia Anda dan menampilkan pemberitahuan dalam transkrip. Pada Anthropic API, penyebaran [LLM gateway](/id/llm-gateway), dan [Claude Platform di AWS](/id/claude-platform-on-aws), model itu adalah Opus 4.8. Pada [Claude apps gateway](/id/claude-apps-gateway), itu adalah Opus 4.7 kecuali Anda menunjukkan alias [`opus`](#environment-variables) ke model lain.420Fable 5 berjalan dengan pengklasifikasi keamanan untuk konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan, Claude Code menjalankan kembali permintaan itu pada model Opus default penyedia Anda dan menampilkan pemberitahuan dalam transkrip. Pada Anthropic API, penyebaran [LLM gateway](/docs/id/llm-gateway), dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws), model itu adalah Opus 4.8. Pada [Claude apps gateway](/docs/id/claude-apps-gateway), itu adalah Opus 4.7 kecuali Anda menunjukkan alias [`opus`](#environment-variables) ke model lain.

425 421 

426Sesi kemudian berlanjut pada model Opus itu. Untuk kembali ke Fable 5, jalankan `/model fable`.422Sesi kemudian berlanjut pada model Opus itu. Untuk kembali ke Fable 5, jalankan `/model fable`.

427 423 


444Beberapa kasus berperilaku berbeda:440Beberapa kasus berperilaku berbeda:

445 441 

446* Jika kedua model menandai permintaan yang sama, Anda dapat mengedit prompt dan mencoba ulang, atau memulai sesi baru.442* Jika kedua model menandai permintaan yang sama, Anda dapat mengedit prompt dan mencoba ulang, atau memulai sesi baru.

447* Pada sesi mobile [Claude Code di web](/id/claude-code-on-the-web), pengeditan dan pengulangan tidak didukung. Beralih model, atau lanjutkan sesi dari browser desktop atau aplikasi desktop.443* Pada sesi mobile [Claude Code di web](/docs/id/claude-code-on-the-web), pengeditan dan pengulangan tidak didukung. Beralih model, atau lanjutkan sesi dari browser desktop atau aplikasi desktop.

448* Dalam [mode non-interaktif](/id/cli-reference#cli-flags) dan integrasi SDK yang tidak dapat menampilkan prompt, permintaan yang ditandai mengakhiri giliran dengan penolakan sebagai gantinya.444* Dalam [mode non-interaktif](/docs/id/cli-reference#cli-flags) dan integrasi SDK yang tidak dapat menampilkan prompt, permintaan yang ditandai mengakhiri giliran dengan penolakan sebagai gantinya.

449* Ketika target fallback diblokir oleh [`availableModels`](#restrict-model-selection), prompt tidak ditampilkan. Permintaan yang ditandai berakhir dengan penolakan, sama seperti fallback otomatis ketika target diblokir.445* Ketika target fallback diblokir oleh [`availableModels`](#restrict-model-selection), prompt tidak ditampilkan. Permintaan yang ditandai berakhir dengan penolakan, sama seperti fallback otomatis ketika target diblokir.

450 446 

451<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">447<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">

452 Aktifkan fallback di Bedrock, Agent Platform, dan Foundry448 Aktifkan fallback di Bedrock, Agent Platform, dan Foundry

453</h4>449</h4>

454 450 

455Pada [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), dan [Microsoft Foundry](/id/microsoft-foundry), ID model spesifik penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi kedua model yang terlibat:451Pada [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), ID model spesifik penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi kedua model yang terlibat:

456 452 

457* Claude Code harus mengenali model saat ini sebagai Fable 5: ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version).453* Claude Code harus mengenali model saat ini sebagai Fable 5: ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version).

458* Target fallback harus diselesaikan ke model Opus: nilai `ANTHROPIC_DEFAULT_OPUS_MODEL` jika diatur, jika tidak, entri Opus 4.8 dalam daftar model penyedia.454* Target fallback harus diselesaikan ke model Opus: nilai `ANTHROPIC_DEFAULT_OPUS_MODEL` jika diatur, jika tidak, entri Opus 4.8 dalam daftar model penyedia.


487 483 

488Ketika Anda pertama kali menjalankan Fable 5, Opus 4.8, atau Opus 4.7, Claude Code menerapkan usaha default model itu bahkan jika Anda sebelumnya menetapkan tingkat yang berbeda untuk model lain: `high` pada Fable 5 dan Opus 4.8, dan `xhigh` pada Opus 4.7. Jalankan `/effort` lagi untuk memilih tingkat yang berbeda setelah beralih. Default itu dipertahankan di seluruh sesi sampai Anda membuat pilihan usaha eksplisit, seperti menjalankan `/effort` dalam sesi interaktif atau meluncurkan dengan `--effort`.484Ketika Anda pertama kali menjalankan Fable 5, Opus 4.8, atau Opus 4.7, Claude Code menerapkan usaha default model itu bahkan jika Anda sebelumnya menetapkan tingkat yang berbeda untuk model lain: `high` pada Fable 5 dan Opus 4.8, dan `xhigh` pada Opus 4.7. Jalankan `/effort` lagi untuk memilih tingkat yang berbeda setelah beralih. Default itu dipertahankan di seluruh sesi sampai Anda membuat pilihan usaha eksplisit, seperti menjalankan `/effort` dalam sesi interaktif atau meluncurkan dengan `--effort`.

489 485 

490`low`, `medium`, `high`, dan `xhigh` bertahan di seluruh sesi ketika Anda menetapkannya dalam sesi interaktif. {/* min-version: 2.1.205 */}Tingkat yang ditetapkan dengan `/effort` dalam [mode non-interaktif](/id/headless), dengan flag `-p`, berlaku untuk sesi saat ini saja dan tidak disimpan sebagai default Anda. `/effort` non-interaktif juga tidak dapat melepaskan penahan default model di atas: pada Fable 5, Opus 4.8, dan Opus 4.7 itu melaporkan `Not applied` dan sesi tetap pada usaha default model, jadi teruskan `--effort` saat peluncuran sebagai gantinya. `max` memberikan penalaran paling dalam tanpa batasan pengeluaran token dan berlaku untuk sesi saat ini saja, kecuali ketika diatur melalui variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL`.486`low`, `medium`, `high`, dan `xhigh` bertahan di seluruh sesi ketika Anda menetapkannya dalam sesi interaktif. Tingkat yang ditetapkan dengan `/effort` dalam [mode non-interaktif](/docs/id/headless), dengan flag `-p`, berlaku untuk sesi saat ini saja dan tidak disimpan sebagai default Anda. `/effort` non-interaktif juga tidak dapat melepaskan penahan default model di atas: pada Fable 5, Opus 4.8, dan Opus 4.7 itu melaporkan `Not applied` dan sesi tetap pada usaha default model, jadi teruskan `--effort` saat peluncuran sebagai gantinya. `max` memberikan penalaran paling dalam tanpa batasan pengeluaran token dan berlaku untuk sesi saat ini saja, kecuali ketika diatur melalui variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL`.

491 487 

492Menu `/effort` juga menawarkan `ultracode`. Ultracode adalah pengaturan Claude Code daripada tingkat usaha model: ia mengirim `xhigh` ke model dan selain itu memiliki Claude mengorkestra [alur kerja dinamis](/id/workflows) untuk tugas-tugas substansial. Ini berlaku untuk sesi saat ini saja.488Menu `/effort` juga menawarkan `ultracode`. Ultracode adalah pengaturan Claude Code daripada tingkat usaha model: ia mengirim `xhigh` ke model dan selain itu memiliki Claude mengorkestra [alur kerja dinamis](/docs/id/workflows) untuk tugas-tugas substansial. Ini berlaku untuk sesi saat ini saja.

493 489 

494Anda dapat mengaktifkan ultracode melalui salah satu dari berikut ini:490Anda dapat mengaktifkan ultracode melalui salah satu dari berikut ini:

495 491 

496* **`/effort`**: jalankan `/effort ultracode`, atau pilih dari menu492* **`/effort`**: jalankan `/effort ultracode`, atau pilih dari menu

497* **Flag `--effort`**: luncurkan dengan `claude --effort ultracode`, yang memulai sesi pada usaha `xhigh` dengan ultracode aktif493* **Flag `--effort`**: luncurkan dengan `claude --effort ultracode`, yang memulai sesi pada usaha `xhigh` dengan ultracode aktif

498* **`--settings` atau permintaan kontrol Agent SDK**: teruskan `"ultracode": true`. Permintaan [`applyFlagSettings()`](/id/agent-sdk/typescript#applyflagsettings) juga menerima `effortLevel: "ultracode"`494* **`--settings` atau permintaan kontrol Agent SDK**: teruskan `"ultracode": true`. Permintaan [`applyFlagSettings()`](/docs/id/agent-sdk/typescript#applyflagsettings) juga menerima `effortLevel: "ultracode"`

499 495 

500Melewatkan `ultracode` ke flag `--effort` atau nilai Agent SDK `effortLevel` memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, `--effort ultracode` mencetak `Unknown --effort value 'ultracode'` dan sesi dimulai pada usaha default.496Melewatkan `ultracode` ke flag `--effort` atau nilai Agent SDK `effortLevel` memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, `--effort ultracode` mencetak `Unknown --effort value 'ultracode'` dan sesi dimulai pada usaha default.

501 497 

502Pengaturan `effortLevel` yang bertahan dan variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL` tidak menerima `ultracode`.498Pengaturan `effortLevel` yang bertahan dan variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL` tidak menerima `ultracode`.

503 499 

504Ketika ultracode tidak tersedia, misalnya ketika [workflows dimatikan](/id/workflows#turn-workflows-off), `--effort ultracode` menetapkan usaha `xhigh` saja.500Ketika ultracode tidak tersedia, misalnya ketika [workflows dimatikan](/docs/id/workflows#turn-workflows-off), `--effort ultracode` menetapkan usaha `xhigh` saja.

505 501 

506<h4 id="choose-an-effort-level">502<h4 id="choose-an-effort-level">

507 Pilih tingkat usaha503 Pilih tingkat usaha


516| `high` | Menyeimbangkan penggunaan token dan intelijen. Default pada Fable 5, Sonnet 5, Opus 4.8, Opus 4.6, dan Sonnet 4.6 |512| `high` | Menyeimbangkan penggunaan token dan intelijen. Default pada Fable 5, Sonnet 5, Opus 4.8, Opus 4.6, dan Sonnet 4.6 |

517| `xhigh` | Penalaran lebih dalam dengan pengeluaran token lebih tinggi. Default pada Opus 4.7 |513| `xhigh` | Penalaran lebih dalam dengan pengeluaran token lebih tinggi. Default pada Opus 4.7 |

518| `max` | Dapat meningkatkan kinerja pada tugas yang menuntut tetapi mungkin menunjukkan hasil yang berkurang dan rentan terhadap overthinking. Uji sebelum mengadopsi secara luas |514| `max` | Dapat meningkatkan kinerja pada tugas yang menuntut tetapi mungkin menunjukkan hasil yang berkurang dan rentan terhadap overthinking. Uji sebelum mengadopsi secara luas |

519| `ultracode` | Pengaturan Claude Code yang merencanakan [alur kerja dinamis](/id/workflows) untuk setiap tugas substansial dengan penalaran `xhigh` per-pesan. Hanya sesi |515| `ultracode` | Pengaturan Claude Code yang merencanakan [alur kerja dinamis](/docs/id/workflows) untuk setiap tugas substansial dengan penalaran `xhigh` per-pesan. Hanya sesi |

520 516 

521Skala usaha dikalibrasi per model, jadi nama tingkat yang sama tidak mewakili nilai yang sama di seluruh model.517Skala usaha dikalibrasi per model, jadi nama tingkat yang sama tidak mewakili nilai yang sama di seluruh model.

522 518 


537* **Flag `--effort`**: teruskan nama tingkat untuk menetapkannya untuk sesi tunggal saat meluncurkan Claude Code533* **Flag `--effort`**: teruskan nama tingkat untuk menetapkannya untuk sesi tunggal saat meluncurkan Claude Code

538* **Variabel lingkungan**: atur `CLAUDE_CODE_EFFORT_LEVEL` ke nama tingkat atau `auto`534* **Variabel lingkungan**: atur `CLAUDE_CODE_EFFORT_LEVEL` ke nama tingkat atau `auto`

539* **Pengaturan**: atur `effortLevel` ke `low`, `medium`, `high`, atau `xhigh` dalam file pengaturan Anda. `max` dan `ultracode` adalah [hanya sesi](#adjust-effort-level) dan tidak diterima di sini535* **Pengaturan**: atur `effortLevel` ke `low`, `medium`, `high`, atau `xhigh` dalam file pengaturan Anda. `max` dan `ultracode` adalah [hanya sesi](#adjust-effort-level) dan tidak diterima di sini

540* **Skill dan subagent frontmatter**: atur `effort` dalam file markdown [skill](/id/skills#frontmatter-reference) atau [subagent](/id/sub-agents#supported-frontmatter-fields) untuk mengganti tingkat usaha ketika skill atau subagent itu berjalan536* **Skill dan subagent frontmatter**: atur `effort` dalam file markdown [skill](/docs/id/skills#frontmatter-reference) atau [subagent](/docs/id/sub-agents#supported-frontmatter-fields) untuk mengganti tingkat usaha ketika skill atau subagent itu berjalan

541 537 

542Variabel lingkungan mengambil alih semua metode lain, kemudian tingkat yang Anda konfigurasi, kemudian default model. Usaha frontmatter berlaku ketika skill atau subagent itu aktif, mengganti tingkat sesi tetapi bukan variabel lingkungan.538Variabel lingkungan mengambil alih semua metode lain, kemudian tingkat yang Anda konfigurasi, kemudian default model. Usaha frontmatter berlaku ketika skill atau subagent itu aktif, mengganti tingkat sesi tetapi bukan variabel lingkungan.

543 539 


551 547 

552Fable 5, Sonnet 5, dan Opus 4.7 dan yang lebih baru selalu menggunakan penalaran adaptif. Mode anggaran pemikiran tetap dan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` tidak berlaku untuk mereka.548Fable 5, Sonnet 5, dan Opus 4.7 dan yang lebih baru selalu menggunakan penalaran adaptif. Mode anggaran pemikiran tetap dan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` tidak berlaku untuk mereka.

553 549 

554Di Opus 4.6 dan Sonnet 4.6, Anda dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` untuk kembali ke anggaran pemikiran tetap sebelumnya yang dikendalikan oleh `MAX_THINKING_TOKENS`. Lihat [variabel lingkungan](/id/env-vars).550Di Opus 4.6 dan Sonnet 4.6, Anda dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` untuk kembali ke anggaran pemikiran tetap sebelumnya yang dikendalikan oleh `MAX_THINKING_TOKENS`. Lihat [variabel lingkungan](/docs/id/env-vars).

555 551 

556<h3 id="extended-thinking">552<h3 id="extended-thinking">

557 Pemikiran diperluas553 Pemikiran diperluas


563| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |559| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

564| Toggle untuk sesi saat ini | Tekan `Option+T` di macOS atau `Alt+T` di Windows dan Linux |560| Toggle untuk sesi saat ini | Tekan `Option+T` di macOS atau `Alt+T` di Windows dan Linux |

565| Atur default global | Jalankan `/config` dan toggle thinking mode. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |561| Atur default global | Jalankan `/config` dan toggle thinking mode. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |

566| Nonaktifkan terlepas dari usaha | Atur [`MAX_THINKING_TOKENS=0`](/id/env-vars), yang mematikan pemikiran pada Anthropic API kecuali pada Fable 5. Pada [penyedia pihak ketiga](/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain berlaku hanya dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |562| Nonaktifkan terlepas dari usaha | Atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars), yang mematikan pemikiran pada Anthropic API kecuali pada Fable 5. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain berlaku hanya dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |

567 563 

568Pemikiran tidak dapat dimatikan pada Fable 5. Toggle sesi, `alwaysThinkingEnabled`, dan `MAX_THINKING_TOKENS=0` tidak memiliki efek di sana, dan Fable 5 memutuskan per langkah berapa banyak untuk berpikir berdasarkan tingkat usaha.564Pemikiran tidak dapat dimatikan pada Fable 5. Toggle sesi, `alwaysThinkingEnabled`, dan `MAX_THINKING_TOKENS=0` tidak memiliki efek di sana, dan Fable 5 memutuskan per langkah berapa banyak untuk berpikir berdasarkan tingkat usaha.

569 565 

570Output pemikiran dilipat secara default. Tekan `Ctrl+O` untuk toggle verbose mode dan lihat penalaran sebagai teks miring abu-abu. Sesi interaktif pada Anthropic API menerima blok pemikiran yang diredaksi secara default, jadi atur `showThinkingSummaries: true` dalam [pengaturan](/id/settings) jika Anda menginginkan ringkasan lengkap yang tersedia saat Anda memperluas. Anda dikenakan biaya untuk semua token pemikiran yang dihasilkan, bahkan ketika dilipat atau diredaksi.566Output pemikiran dilipat secara default. Tekan `Ctrl+O` untuk toggle verbose mode dan lihat penalaran sebagai teks miring abu-abu. Sesi interaktif pada Anthropic API menerima blok pemikiran yang diredaksi secara default, jadi atur `showThinkingSummaries: true` dalam [pengaturan](/docs/id/settings) jika Anda menginginkan ringkasan lengkap yang tersedia saat Anda memperluas. Anda dikenakan biaya untuk semua token pemikiran yang dihasilkan, bahkan ketika dilipat atau diredaksi.

571 567 

572<h3 id="extended-context">568<h3 id="extended-context">

573 Konteks diperluas569 Konteks diperluas


583| Pro | Memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |579| Pro | Memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

584| API dan pay-as-you-go | Akses penuh | Akses penuh |580| API dan pay-as-you-go | Akses penuh | Akses penuh |

585 581 

586Untuk menonaktifkan konteks 1M sepenuhnya, atur `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Ini menghapus varian model 1M dari pemilih model. Lihat [variabel lingkungan](/id/env-vars).582Untuk menonaktifkan konteks 1M sepenuhnya, atur `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Ini menghapus varian model 1M dari pemilih model. Lihat [variabel lingkungan](/docs/id/env-vars).

587 583 

588Jendela konteks 1M menggunakan harga model standar tanpa premium untuk token di luar 200K. Untuk paket di mana konteks diperluas disertakan dengan langganan Anda, penggunaan tetap tercakup oleh langganan Anda. Untuk paket yang mengakses konteks diperluas melalui penggunaan tambahan, token ditagihkan ke penggunaan tambahan.584Jendela konteks 1M menggunakan harga model standar tanpa premium untuk token di luar 200K. Untuk paket di mana konteks diperluas disertakan dengan langganan Anda, penggunaan tetap tercakup oleh langganan Anda. Untuk paket yang mengakses konteks diperluas melalui penggunaan tambahan, token ditagihkan ke penggunaan tambahan.

589 585 


604 Jendela konteks Sonnet 5600 Jendela konteks Sonnet 5

605</h4>601</h4>

606 602 

607Pada Anthropic API, Sonnet 5 selalu berjalan dengan jendela konteks 1M. Tidak ada varian 200K, tidak ada akhiran `[1m]` untuk dipilih, dan tidak ada penggunaan tambahan yang diperlukan di paket apa pun. Sesi melakukan auto-compact sebelum jendela penuh, sekitar 967K token secara default; atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/id/env-vars) untuk memilih ambang batas yang berbeda.603Pada Anthropic API, Sonnet 5 selalu berjalan dengan jendela konteks 1M. Tidak ada varian 200K, tidak ada akhiran `[1m]` untuk dipilih, dan tidak ada penggunaan tambahan yang diperlukan di paket apa pun. Sesi melakukan auto-compact sebelum jendela penuh, sekitar 967K token secara default; atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) untuk memilih ambang batas yang berbeda.

608 604 

609Dua konfigurasi menganggarkan jendela pada 200K sebagai gantinya dan melakukan auto-compact pada batas itu:605Dua konfigurasi menganggarkan jendela pada 200K sebagai gantinya dan melakukan auto-compact pada batas itu:

610 606 

611* **Gateway LLM**: ketika `ANTHROPIC_BASE_URL` mengarah ke [gateway](/id/llm-gateway), Claude Code tidak dapat memverifikasi dukungan 1M. Untuk menggunakan jendela penuh, pilih Sonnet 5 (1M context) di pemilih model, yang dipetakan ke `sonnet[1m]`.607* **Gateway LLM**: ketika `ANTHROPIC_BASE_URL` mengarah ke [gateway](/docs/id/llm-gateway), Claude Code tidak dapat memverifikasi dukungan 1M. Untuk menggunakan jendela penuh, pilih Sonnet 5 (1M context) di pemilih model, yang dipetakan ke `sonnet[1m]`.

612* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: memperlakukan sesi Sonnet 5 sebagai memiliki jendela 200K, untuk penyebaran yang perlu membatasi konteks.608* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: memperlakukan sesi Sonnet 5 sebagai memiliki jendela 200K, untuk penyebaran yang perlu membatasi konteks.

613 609 

614<h2 id="checking-your-current-model">610<h2 id="checking-your-current-model">


617 613 

618Anda dapat melihat model mana yang sedang Anda gunakan di dua tempat:614Anda dapat melihat model mana yang sedang Anda gunakan di dua tempat:

619 615 

620* Dalam [status line](/id/statusline), jika Anda memiliki satu yang dikonfigurasi616* Dalam [status line](/docs/id/statusline), jika Anda memiliki satu yang dikonfigurasi

621* Dalam `/status`, yang juga menampilkan informasi akun Anda617* Dalam `/status`, yang juga menampilkan informasi akun Anda

622 618 

623<h2 id="add-a-custom-model-option">619<h2 id="add-a-custom-model-option">

624 Tambahkan opsi model kustom620 Tambahkan opsi model kustom

625</h2>621</h2>

626 622 

627Gunakan `ANTHROPIC_CUSTOM_MODEL_OPTION` untuk menambahkan satu entri kustom ke pemilih `/model` tanpa mengganti alias bawaan. Ini berguna untuk pengujian ID model yang tidak tercantum Claude Code secara default. Untuk deployment gateway LLM, Claude Code dapat mengisi pemilih dari endpoint `/v1/models` gateway ketika `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` diatur, jadi variabel ini diperlukan hanya ketika penemuan dinonaktifkan atau tidak mengembalikan model yang Anda inginkan. Lihat [penemuan model gateway](/id/llm-gateway-protocol#model-discovery).623Gunakan `ANTHROPIC_CUSTOM_MODEL_OPTION` untuk menambahkan satu entri kustom ke pemilih `/model` tanpa mengganti alias bawaan. Ini berguna untuk pengujian ID model yang tidak tercantum Claude Code secara default. Untuk deployment gateway LLM, Claude Code dapat mengisi pemilih dari endpoint `/v1/models` gateway ketika `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` diatur, jadi variabel ini diperlukan hanya ketika penemuan dinonaktifkan atau tidak mengembalikan model yang Anda inginkan. Lihat [penemuan model gateway](/docs/id/llm-gateway-protocol#model-discovery).

628 624 

629Contoh ini menetapkan ketiga variabel untuk membuat deployment Opus yang dirutekan gateway dapat dipilih:625Contoh ini menetapkan ketiga variabel untuk membuat deployment Opus yang dirutekan gateway dapat dipilih:

630 626 


649| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Model yang digunakan untuk `fable`, dan ID model yang dikenali Claude Code sebagai Fable 5 untuk [fallback model otomatis](#automatic-model-fallback) pada penyedia pihak ketiga |645| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Model yang digunakan untuk `fable`, dan ID model yang dikenali Claude Code sebagai Fable 5 untuk [fallback model otomatis](#automatic-model-fallback) pada penyedia pihak ketiga |

650| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Model yang digunakan untuk `opus`, atau untuk `opusplan` ketika Plan Mode aktif. |646| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Model yang digunakan untuk `opus`, atau untuk `opusplan` ketika Plan Mode aktif. |

651| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Model yang digunakan untuk `sonnet`, atau untuk `opusplan` ketika Plan Mode tidak aktif. |647| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Model yang digunakan untuk `sonnet`, atau untuk `opusplan` ketika Plan Mode tidak aktif. |

652| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/id/costs#background-token-usage) |648| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/docs/id/costs#background-token-usage) |

653| `CLAUDE_CODE_SUBAGENT_MODEL` | Model yang digunakan untuk semua [subagents](/id/sub-agents#choose-a-model), [agent teams](/id/agent-teams), dan agen yang dijalankan [workflow](/id/workflows). Menerima alias seperti `haiku` atau nama model lengkap, dan mengganti baik parameter `model` per-invocation maupun frontmatter `model` definisi subagent. Atur ke `inherit` untuk menggunakan resolusi model normal sebagai gantinya |649| `CLAUDE_CODE_SUBAGENT_MODEL` | Model yang digunakan untuk semua [subagents](/docs/id/sub-agents#choose-a-model), [agent teams](/docs/id/agent-teams), dan agen yang dijalankan [workflow](/docs/id/workflows). Menerima alias seperti `haiku` atau nama model lengkap, dan mengganti baik parameter `model` per-invocation maupun frontmatter `model` definisi subagent. Atur ke `inherit` untuk menggunakan resolusi model normal sebagai gantinya |

654 650 

655Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.651Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.

656 652 


658 Tetapkan model untuk deployment pihak ketiga654 Tetapkan model untuk deployment pihak ketiga

659</h3>655</h3>

660 656 

661Saat menerapkan Claude Code melalui [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), atau [Claude Platform on AWS](/id/claude-platform-on-aws), tetapkan versi model sebelum meluncurkan ke pengguna.657Saat menerapkan Claude Code melalui [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), atau [Claude Platform on AWS](/docs/id/claude-platform-on-aws), tetapkan versi model sebelum meluncurkan ke pengguna.

662 658 

663Tanpa penentapan, Claude Code menggunakan alias model seperti `fable`, `opus`, `sonnet`, dan `haiku` yang diselesaikan ke ID model default bawaan untuk setiap penyedia. Default tersebut dapat tertinggal dari rilis Anthropic terbaru, dan model yang ditunjuknya mungkin belum diaktifkan di akun pengguna. Ketika default tidak tersedia, pengguna Amazon Bedrock dan Google Cloud's Agent Platform melihat pemberitahuan dan sesi kembali ke versi sebelumnya dari model default, atau ke model Sonnet default ketika default adalah model Opus dan tidak ada versi Opus yang tersedia. Pengguna Microsoft Foundry melihat kesalahan sebagai gantinya, karena Microsoft Foundry tidak memiliki pemeriksaan startup yang setara.659Tanpa penentapan, Claude Code menggunakan alias model seperti `fable`, `opus`, `sonnet`, dan `haiku` yang diselesaikan ke ID model default bawaan untuk setiap penyedia. Default tersebut dapat tertinggal dari rilis Anthropic terbaru, dan model yang ditunjuknya mungkin belum diaktifkan di akun pengguna. Ketika default tidak tersedia, pengguna Amazon Bedrock dan Google Cloud's Agent Platform melihat pemberitahuan dan sesi kembali ke versi sebelumnya dari model default, atau ke model Sonnet default ketika default adalah model Opus dan tidak ada versi Opus yang tersedia. Pengguna Microsoft Foundry melihat kesalahan sebagai gantinya, karena Microsoft Foundry tidak memiliki pemeriksaan startup yang setara.

664 660 


689* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.685* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.

690 686 

691<Note>687<Note>

692 Allowlist `availableModels` yang dikirimkan melalui [MDM atau file pengaturan terkelola](/id/settings#settings-files) masih berlaku saat menggunakan penyedia pihak ketiga; [pengaturan yang dikelola server tidak dikirimkan di sana](/id/server-managed-settings#platform-availability). Penyaringan cocok pada alias model seperti `opus`, awalan versi seperti `claude-opus-4-8`, atau ID model lengkap bentuk penyedia. Awalan spesifik penyedia seperti `us.anthropic.` tidak dilepas, jadi untuk memungkinkan model tertentu, daftarkan ID bentuk penyedia yang sama yang ditampilkan pemilih, atau petakan melalui [`modelOverrides`](#override-model-ids-per-version). Akhiran `[1m]` apa pun dilepas dari entri allowlist dan model yang diminta sebelum pencocokan.688 Allowlist `availableModels` yang dikirimkan melalui [MDM atau file pengaturan terkelola](/docs/id/settings#settings-files) masih berlaku saat menggunakan penyedia pihak ketiga; [pengaturan yang dikelola server tidak dikirimkan di sana](/docs/id/server-managed-settings#platform-availability). Penyaringan cocok pada alias model seperti `opus`, awalan versi seperti `claude-opus-4-8`, atau ID model lengkap bentuk penyedia. Awalan spesifik penyedia seperti `us.anthropic.` tidak dilepas, jadi untuk memungkinkan model tertentu, daftarkan ID bentuk penyedia yang sama yang ditampilkan pemilih, atau petakan melalui [`modelOverrides`](#override-model-ids-per-version). Akhiran `[1m]` apa pun dilepas dari entri allowlist dan model yang diminta sebelum pencocokan.

693</Note>689</Note>

694 690 

695<h3 id="customize-pinned-model-display-and-capabilities">691<h3 id="customize-pinned-model-display-and-capabilities">


698 694 

699Ketika Anda menetapkan model pada penyedia pihak ketiga, ID spesifik penyedia muncul apa adanya di pemilih `/model` dan Claude Code mungkin tidak mengenali fitur mana yang didukung model. Anda dapat mengganti nama tampilan dan mendeklarasikan kemampuan dengan variabel lingkungan pendamping untuk setiap model yang ditetapkan.695Ketika Anda menetapkan model pada penyedia pihak ketiga, ID spesifik penyedia muncul apa adanya di pemilih `/model` dan Claude Code mungkin tidak mengenali fitur mana yang didukung model. Anda dapat mengganti nama tampilan dan mendeklarasikan kemampuan dengan variabel lingkungan pendamping untuk setiap model yang ditetapkan.

700 696 

701Variabel ini berlaku pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Variabel `_NAME` dan `_DESCRIPTION` juga berlaku ketika `ANTHROPIC_BASE_URL` menunjuk ke [gateway LLM](/id/llm-gateway). Mereka tidak berpengaruh saat menghubungkan langsung ke `api.anthropic.com`.697Variabel ini berlaku pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Variabel `_NAME` dan `_DESCRIPTION` juga berlaku ketika `ANTHROPIC_BASE_URL` menunjuk ke [gateway LLM](/docs/id/llm-gateway). Mereka tidak berpengaruh saat menghubungkan langsung ke `api.anthropic.com`.

702 698 

703| Variabel lingkungan | Deskripsi |699| Variabel lingkungan | Deskripsi |

704| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |700| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |


713| Nilai kemampuan | Mengaktifkan |709| Nilai kemampuan | Mengaktifkan |

714| ---------------------- | --------------------------------------------------------------------------------------------- |710| ---------------------- | --------------------------------------------------------------------------------------------- |

715| `effort` | [Tingkat usaha](#adjust-effort-level) dan perintah `/effort` |711| `effort` | [Tingkat usaha](#adjust-effort-level) dan perintah `/effort` |

716| `xhigh_effort` | {/* min-version: 2.1.111 */}Tingkat usaha `xhigh` |712| `xhigh_effort` | Tingkat usaha `xhigh` |

717| `max_effort` | Tingkat usaha `max` |713| `max_effort` | Tingkat usaha `max` |

718| `thinking` | [Extended thinking](#extended-thinking) |714| `thinking` | [Extended thinking](#extended-thinking) |

719| `adaptive_thinking` | Penalaran adaptif yang secara dinamis mengalokasikan pemikiran berdasarkan kompleksitas tugas |715| `adaptive_thinking` | Penalaran adaptif yang secara dinamis mengalokasikan pemikiran berdasarkan kompleksitas tugas |


740 736 

741Ini memungkinkan administrator enterprise untuk merutekan setiap versi model ke ARN profil inferensi Amazon Bedrock tertentu, nama versi Google Cloud's Agent Platform, atau nama deployment Microsoft Foundry untuk tata kelola, alokasi biaya, atau perutean regional.737Ini memungkinkan administrator enterprise untuk merutekan setiap versi model ke ARN profil inferensi Amazon Bedrock tertentu, nama versi Google Cloud's Agent Platform, atau nama deployment Microsoft Foundry untuk tata kelola, alokasi biaya, atau perutean regional.

742 738 

743Atur `modelOverrides` dalam [file pengaturan](/id/settings#settings-files) Anda:739Atur `modelOverrides` dalam [file pengaturan](/docs/id/settings#settings-files) Anda:

744 740 

745```json theme={null}741```json theme={null}

746{742{


756 752 

757Penggantian menggantikan ID model bawaan yang mendukung setiap entri di pemilih `/model`. Di Amazon Bedrock, penggantian `modelOverrides` mengambil alih profil inferensi apa pun yang ditemukan Claude Code secara otomatis saat startup. Claude Code meneruskan nilai yang sudah bentuk penyedia asli, seperti ARN profil inferensi Amazon Bedrock atau nama deployment Microsoft Foundry, ke penyedia apa adanya.753Penggantian menggantikan ID model bawaan yang mendukung setiap entri di pemilih `/model`. Di Amazon Bedrock, penggantian `modelOverrides` mengambil alih profil inferensi apa pun yang ditemukan Claude Code secara otomatis saat startup. Claude Code meneruskan nilai yang sudah bentuk penyedia asli, seperti ARN profil inferensi Amazon Bedrock atau nama deployment Microsoft Foundry, ke penyedia apa adanya.

758 754 

759{/* min-version: 2.1.200 */}Penggantian juga berlaku ketika Anda meneruskan ID model Anthropic secara langsung melalui `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau variabel lingkungan `ANTHROPIC_DEFAULT_*_MODEL`. Di Amazon Bedrock, Google Cloud's Agent Platform, dan [Mantle](/id/amazon-bedrock#use-the-mantle-endpoint), ID model Anthropic tanpa entri `modelOverrides` diselesaikan ke ID spesifik penyedia yang sama dengan baris pemilih `/model` untuk versi itu, ketika penyedia mendukung versi itu. Mantle mendukung subset versi. Untuk ID model Anthropic di luar subset itu, Claude Code mengirim ID mentah ke Mantle tanpa memetakannya, kecuali entri `modelOverrides` mencakupnya. Sebelum v2.1.200, `--model` dan nilai variabel lingkungan mencapai penyedia apa adanya tanpa melewati peta penggantian.755Penggantian juga berlaku ketika Anda meneruskan ID model Anthropic secara langsung melalui `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau variabel lingkungan `ANTHROPIC_DEFAULT_*_MODEL`. Di Amazon Bedrock, Google Cloud's Agent Platform, dan [Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint), ID model Anthropic tanpa entri `modelOverrides` diselesaikan ke ID spesifik penyedia yang sama dengan baris pemilih `/model` untuk versi itu, ketika penyedia mendukung versi itu. Mantle mendukung subset versi. Untuk ID model Anthropic di luar subset itu, Claude Code mengirim ID mentah ke Mantle tanpa memetakannya, kecuali entri `modelOverrides` mencakupnya. Sebelum v2.1.200, `--model` dan nilai variabel lingkungan mencapai penyedia apa adanya tanpa melewati peta penggantian.

760 756 

761`modelOverrides` bekerja bersama `availableModels`. Allowlist dievaluasi terhadap ID model Anthropic, bukan nilai penggantian, jadi entri seperti `"opus"` dalam `availableModels` terus cocok bahkan ketika versi Opus dipetakan ke ARN. Ketika `enforceAvailableModels` diatur dalam pengaturan terkelola, Default yang diterapkan diselesaikan melalui `modelOverrides` dari [sumber terkelola dengan prioritas tertinggi](/id/server-managed-settings#settings-precedence) saja. Pemetaan admin, seperti versi yang ditetapkan ke ARN profil inferensi, dihormati dalam Default yang diterapkan. Penggantian dari pengaturan pengguna atau proyek tidak mempengaruhinya.757`modelOverrides` bekerja bersama `availableModels`. Allowlist dievaluasi terhadap ID model Anthropic, bukan nilai penggantian, jadi entri seperti `"opus"` dalam `availableModels` terus cocok bahkan ketika versi Opus dipetakan ke ARN. Ketika `enforceAvailableModels` diatur dalam pengaturan terkelola, Default yang diterapkan diselesaikan melalui `modelOverrides` dari [sumber terkelola dengan prioritas tertinggi](/docs/id/server-managed-settings#settings-precedence) saja. Pemetaan admin, seperti versi yang ditetapkan ke ARN profil inferensi, dihormati dalam Default yang diterapkan. Penggantian dari pengaturan pengguna atau proyek tidak mempengaruhinya.

762 758 

763{/* min-version: 2.1.200 */}Ketika `availableModels` diatur dalam [pengaturan terkelola](/id/settings#settings-files), hanya `modelOverrides` dari sumber terkelola itu yang berlaku untuk ID model Anthropic yang diteruskan secara langsung melalui `--model` atau variabel lingkungan di atas. Claude Code mengabaikan penggantian dalam pengaturan pengguna atau proyek untuk ID tersebut, dan tidak pernah menyelesaikan ID yang dikecualikan daftar terkelola melalui `modelOverrides` dari sumber pengaturan apa pun. Pembatasan sumber terkelola ini memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [Batasi pemilihan model](#restrict-model-selection) untuk cara ID yang diblokir ditangani.759Ketika `availableModels` diatur dalam [pengaturan terkelola](/docs/id/settings#settings-files), hanya `modelOverrides` dari sumber terkelola itu yang berlaku untuk ID model Anthropic yang diteruskan secara langsung melalui `--model` atau variabel lingkungan di atas. Claude Code mengabaikan penggantian dalam pengaturan pengguna atau proyek untuk ID tersebut, dan tidak pernah menyelesaikan ID yang dikecualikan daftar terkelola melalui `modelOverrides` dari sumber pengaturan apa pun. Pembatasan sumber terkelola ini memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [Batasi pemilihan model](#restrict-model-selection) untuk cara ID yang diblokir ditangani.

764 760 

765<h3 id="prompt-caching-configuration">761<h3 id="prompt-caching-configuration">

766 Konfigurasi prompt caching762 Konfigurasi prompt caching

767</h3>763</h3>

768 764 

769Claude Code secara otomatis menggunakan [prompt caching](/id/prompt-caching) untuk mengoptimalkan kinerja dan mengurangi biaya. Anda dapat menonaktifkan prompt caching secara global atau untuk tingkat model tertentu:765Claude Code secara otomatis menggunakan [prompt caching](/docs/id/prompt-caching) untuk mengoptimalkan kinerja dan mengurangi biaya. Anda dapat menonaktifkan prompt caching secara global atau untuk tingkat model tertentu:

770 766 

771| Variabel lingkungan | Deskripsi |767| Variabel lingkungan | Deskripsi |

772| ------------------------------- | ----------------------------------------------------------------------------------------------------- |768| ------------------------------- | ----------------------------------------------------------------------------------------------------- |


776| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Opus |772| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Opus |

777| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Fable |773| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Fable |

778 774 

779Untuk mengubah cache TTL atau mempelajari apa yang memicu cache miss, lihat [Bagaimana Claude Code menggunakan prompt caching](/id/prompt-caching).775Untuk mengubah cache TTL atau mempelajari apa yang memicu cache miss, lihat [Bagaimana Claude Code menggunakan prompt caching](/docs/id/prompt-caching).

Details

47 Konfigurasi administrator47 Konfigurasi administrator

48</h2>48</h2>

49 49 

50Administrator dapat mengonfigurasi pengaturan OpenTelemetry untuk semua pengguna melalui [file pengaturan terkelola](/id/settings#settings-files). Ini memungkinkan kontrol terpusat pengaturan telemetri di seluruh organisasi. Lihat [prioritas pengaturan](/id/settings#settings-precedence) untuk informasi lebih lanjut tentang bagaimana pengaturan diterapkan.50Administrator dapat mengonfigurasi pengaturan OpenTelemetry untuk semua pengguna melalui [file pengaturan terkelola](/docs/id/settings#settings-files). Ini memungkinkan kontrol terpusat pengaturan telemetri di seluruh organisasi. Lihat [prioritas pengaturan](/docs/id/settings#settings-precedence) untuk informasi lebih lanjut tentang bagaimana pengaturan diterapkan.

51 51 

52Contoh konfigurasi pengaturan terkelola:52Contoh konfigurasi pengaturan terkelola:

53 53 


93| `OTEL_METRIC_EXPORT_INTERVAL` | Interval ekspor dalam milidetik (default: 60000) | `5000`, `60000` |93| `OTEL_METRIC_EXPORT_INTERVAL` | Interval ekspor dalam milidetik (default: 60000) | `5000`, `60000` |

94| `OTEL_LOGS_EXPORT_INTERVAL` | Interval ekspor log dalam milidetik (default: 5000) | `1000`, `10000` |94| `OTEL_LOGS_EXPORT_INTERVAL` | Interval ekspor log dalam milidetik (default: 5000) | `1000`, `10000` |

95| `OTEL_LOG_USER_PROMPTS` | Aktifkan pencatatan konten prompt pengguna (default: dinonaktifkan) | `1` untuk mengaktifkan |95| `OTEL_LOG_USER_PROMPTS` | Aktifkan pencatatan konten prompt pengguna (default: dinonaktifkan) | `1` untuk mengaktifkan |

96| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktifkan pencatatan teks respons asisten pada acara `assistant_response` (default: dinonaktifkan). Saat tidak diatur, kembali ke nilai `OTEL_LOG_USER_PROMPTS`. {/* min-version: 2.1.193 */}Memerlukan Claude Code v2.1.193 atau lebih baru | `1` untuk mengaktifkan, `0` untuk tetap disunting |96| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktifkan pencatatan teks respons asisten pada acara `assistant_response` (default: dinonaktifkan). Saat tidak diatur, kembali ke nilai `OTEL_LOG_USER_PROMPTS`. Memerlukan Claude Code v2.1.193 atau lebih baru | `1` untuk mengaktifkan, `0` untuk tetap disunting |

97| `OTEL_LOG_TOOL_DETAILS` | Aktifkan pencatatan parameter alat dan argumen input dalam acara alat dan atribut span trace: perintah Bash, nama server MCP dan alat, nama skill, nama workflow yang ditulis pengguna, dan input alat. Juga mengaktifkan nama perintah custom, plugin, dan MCP pada acara `user_prompt` (default: dinonaktifkan) | `1` untuk mengaktifkan |97| `OTEL_LOG_TOOL_DETAILS` | Aktifkan pencatatan parameter alat dan argumen input dalam acara alat dan atribut span trace: perintah Bash, nama server MCP dan alat, nama skill, nama workflow yang ditulis pengguna, dan input alat. Juga mengaktifkan nama perintah custom, plugin, dan MCP pada acara `user_prompt` (default: dinonaktifkan) | `1` untuk mengaktifkan |

98| `OTEL_LOG_TOOL_CONTENT` | Aktifkan pencatatan konten input dan output alat dalam acara span (default: dinonaktifkan). Memerlukan [tracing](#traces-beta). Konten dipotong pada 60 KB | `1` untuk mengaktifkan |98| `OTEL_LOG_TOOL_CONTENT` | Aktifkan pencatatan konten input dan output alat dalam acara span (default: dinonaktifkan). Memerlukan [tracing](#traces-beta). Konten dipotong pada 60 KB | `1` untuk mengaktifkan |

99| `OTEL_LOG_RAW_API_BODIES` | Emit badan permintaan dan respons JSON API Anthropic Messages lengkap sebagai acara log `api_request_body` / `api_response_body` (default: dinonaktifkan). Badan mencakup seluruh riwayat percakapan. Mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, dan `OTEL_LOG_TOOL_CONTENT` | `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk badan tidak dipotong di disk dengan pointer `body_ref` dalam acara |99| `OTEL_LOG_RAW_API_BODIES` | Emit badan permintaan dan respons JSON API Anthropic Messages lengkap sebagai acara log `api_request_body` / `api_response_body` (default: dinonaktifkan). Badan mencakup seluruh riwayat percakapan. Mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, dan `OTEL_LOG_TOOL_CONTENT` | `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk badan tidak dipotong di disk dengan pointer `body_ref` dalam acara |


108 108 

109| Protokol | Variabel sertifikat klien | Percayai CA pengumpul dengan |109| Protokol | Variabel sertifikat klien | Percayai CA pengumpul dengan |

110| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |110| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |

111| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, dan secara opsional `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Lihat [Konfigurasi jaringan](/id/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |111| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, dan secara opsional `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Lihat [Konfigurasi jaringan](/docs/id/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

112| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` dan `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, atau varian per-sinyal seperti `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` untuk menggunakan sertifikat berbeda per sinyal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |112| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` dan `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, atau varian per-sinyal seperti `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` untuk menggunakan sertifikat berbeda per sinyal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

113 113 

114Untuk `grpc`, SDK OpenTelemetry membaca variabel OTLP standar secara langsung, jadi konfigurasi yang ada yang menetapkan variabel metrik per-sinyal terus berfungsi.114Untuk `grpc`, SDK OpenTelemetry membaca variabel OTLP standar secara langsung, jadi konfigurasi yang ada yang menetapkan variabel metrik per-sinyal terus berfungsi.


198| `query_source` | Subsistem yang mengeluarkan permintaan, seperti `repl_main_thread` atau nama subagent | |198| `query_source` | Subsistem yang mengeluarkan permintaan, seperti `repl_main_thread` atau nama subagent | |

199| `agent_id` | Pengidentifikasi subagent atau rekan kerja yang mengeluarkan permintaan. Tidak ada pada sesi utama | |199| `agent_id` | Pengidentifikasi subagent atau rekan kerja yang mengeluarkan permintaan. Tidak ada pada sesi utama | |

200| `parent_agent_id` | Pengidentifikasi agen yang menghasilkan yang ini. Tidak ada untuk sesi utama dan untuk agen yang dihasilkan langsung darinya | |200| `parent_agent_id` | Pengidentifikasi agen yang menghasilkan yang ini. Tidak ada untuk sesi utama dan untuk agen yang dihasilkan langsung darinya | |

201| `workflow.run_id` | Pengidentifikasi run dari run alat [Workflow](/id/workflows) yang menghasilkan agen ini, dengan awalan `wf_`. Tidak ada untuk agen yang tidak dihasilkan oleh workflow | |201| `workflow.run_id` | Pengidentifikasi run dari run alat [Workflow](/docs/id/workflows) yang menghasilkan agen ini, dengan awalan `wf_`. Tidak ada untuk agen yang tidak dihasilkan oleh workflow | |

202| `workflow.name` | Nama workflow yang menghasilkan agen ini. Nama yang ditulis pengguna diganti dengan `custom` kecuali gate diatur | `OTEL_LOG_TOOL_DETAILS` |202| `workflow.name` | Nama workflow yang menghasilkan agen ini. Nama yang ditulis pengguna diganti dengan `custom` kecuali gate diatur | `OTEL_LOG_TOOL_DETAILS` |

203| `speed` | `fast` atau `normal` | |203| `speed` | `fast` atau `normal` | |

204| `llm_request.context` | `interaction`, `tool`, atau `standalone` tergantung pada span induk | |204| `llm_request.context` | `interaction`, `tool`, atau `standalone` tergantung pada span induk | |


314Jika pembantu gagal atau mencetak output yang tidak memenuhi persyaratan ini, Claude Code melaporkan kesalahan dalam:314Jika pembantu gagal atau mencetak output yang tidak memenuhi persyaratan ini, Claude Code melaporkan kesalahan dalam:

315 315 

316* Output `/status`316* Output `/status`

317* Log debug, saat berjalan dengan [`--debug`](/id/cli-reference#cli-flags) atau setelah menjalankan `/debug` dalam sesi317* Log debug, saat berjalan dengan [`--debug`](/docs/id/cli-reference#cli-flags) atau setelah menjalankan `/debug` dalam sesi

318* stderr, dalam sesi non-interaktif yang dimulai dengan `-p`318* stderr, dalam sesi non-interaktif yang dimulai dengan `-p`

319 319 

320<h4 id="refresh-behavior">320<h4 id="refresh-behavior">


441| `terminal.type` | Jenis terminal, seperti `iTerm.app`, `vscode`, `cursor`, atau `tmux` | Selalu disertakan saat terdeteksi |441| `terminal.type` | Jenis terminal, seperti `iTerm.app`, `vscode`, `cursor`, atau `tmux` | Selalu disertakan saat terdeteksi |

442| Kunci dari `OTEL_RESOURCE_ATTRIBUTES` | Atribut khusus yang Anda atur, seperti `department` atau `team.id`. Lihat [Dukungan organisasi multi-tim](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (default: true) |442| Kunci dari `OTEL_RESOURCE_ATTRIBUTES` | Atribut khusus yang Anda atur, seperti `department` atau `team.id`. Lihat [Dukungan organisasi multi-tim](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (default: true) |

443 443 

444Saat Claude Code masuk ke [gateway aplikasi Claude](/id/claude-apps-gateway), CLI memberi stempel ekspor dengan identitas yang diautentikasi dari sesi gateway: `user.id` adalah subjek IdP daripada pengidentifikasi instalasi anonim, `user.email` adalah email yang masuk, dan `user.groups` membawa keanggotaan grup IdP sebagai string yang dipisahkan koma. Setiap ekspor juga membawa `identity.source: gateway-oidc`. Identitas gateway diterapkan terakhir, jadi kunci `user.*` dan `identity.*` yang diatur melalui `OTEL_RESOURCE_ATTRIBUTES` diabaikan pada sesi gateway.444Saat Claude Code masuk ke [gateway aplikasi Claude](/docs/id/claude-apps-gateway), CLI memberi stempel ekspor dengan identitas yang diautentikasi dari sesi gateway: `user.id` adalah subjek IdP daripada pengidentifikasi instalasi anonim, `user.email` adalah email yang masuk, dan `user.groups` membawa keanggotaan grup IdP sebagai string yang dipisahkan koma. Setiap ekspor juga membawa `identity.source: gateway-oidc`. Identitas gateway diterapkan terakhir, jadi kunci `user.*` dan `identity.*` yang diatur melalui `OTEL_RESOURCE_ATTRIBUTES` diabaikan pada sesi gateway.

445 445 

446Acara juga menyertakan atribut berikut. Ini tidak pernah dilampirkan pada metrik karena akan menyebabkan kardinalitas tak terbatas:446Acara juga menyertakan atribut berikut. Ini tidak pernah dilampirkan pada metrik karena akan menyebabkan kardinalitas tak terbatas:

447 447 

448* `prompt.id`: UUID yang menghubungkan prompt pengguna dengan semua acara berikutnya hingga prompt berikutnya. Lihat [Atribut korelasi acara](#event-correlation-attributes).448* `prompt.id`: UUID yang menghubungkan prompt pengguna dengan semua acara berikutnya hingga prompt berikutnya. Lihat [Atribut korelasi acara](#event-correlation-attributes).

449* `workspace.host_paths`: direktori ruang kerja host yang dipilih di aplikasi desktop, sebagai array string449* `workspace.host_paths`: direktori ruang kerja host yang dipilih di aplikasi desktop, sebagai array string

450* `workflow.run_id`: pengidentifikasi run, dengan awalan `wf_`, pada acara API dan alat yang dipancarkan oleh agen yang termasuk dalam run alat [Workflow](/id/workflows). Memfilter acara berdasarkan satu `workflow.run_id` merekonstruksi permintaan API dan hasil alat run tersebut. Pengidentifikasi mencakup agen yang dihasilkan skrip workflow dan agen apa pun yang dihasilkan agen tersebut pada gilirannya, seperti invokasi skill. Ini cocok dengan pengidentifikasi run yang dilaporkan dalam hasil alat Workflow. Tidak ada pada semua acara lainnya. Memerlukan Claude Code v2.1.202 atau lebih baru450* `workflow.run_id`: pengidentifikasi run, dengan awalan `wf_`, pada acara API dan alat yang dipancarkan oleh agen yang termasuk dalam run alat [Workflow](/docs/id/workflows). Memfilter acara berdasarkan satu `workflow.run_id` merekonstruksi permintaan API dan hasil alat run tersebut. Pengidentifikasi mencakup agen yang dihasilkan skrip workflow dan agen apa pun yang dihasilkan agen tersebut pada gilirannya, seperti invokasi skill. Ini cocok dengan pengidentifikasi run yang dilaporkan dalam hasil alat Workflow. Tidak ada pada semua acara lainnya. Memerlukan Claude Code v2.1.202 atau lebih baru

451* `workflow.name`: nama workflow, `meta.name` skrip-nya, dipancarkan bersama `workflow.run_id`. Nama workflow built-in muncul verbatim saat run mengeksekusi skrip built-in yang tidak dimodifikasi. Nama yang ditulis pengguna, termasuk salinan yang diedit dari skrip built-in, diganti dengan `custom` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Memerlukan Claude Code v2.1.202 atau lebih baru451* `workflow.name`: nama workflow, `meta.name` skrip-nya, dipancarkan bersama `workflow.run_id`. Nama workflow built-in muncul verbatim saat run mengeksekusi skrip built-in yang tidak dimodifikasi. Nama yang ditulis pengguna, termasuk salinan yang diedit dari skrip built-in, diganti dengan `custom` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Memerlukan Claude Code v2.1.202 atau lebih baru

452 452 

453<h3 id="metrics">453<h3 id="metrics">


528* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")528* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")

529* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`529* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`

530* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya530* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya

531* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.531* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.

532* `agent.name`: Jenis subagent yang mengeluarkan permintaan. Nama agen built-in dan agen dari plugin marketplace resmi muncul verbatim. Nama agen yang ditentukan pengguna lainnya diganti dengan `"custom"`. Tidak ada saat permintaan tidak dikeluarkan oleh jenis subagent bernama.532* `agent.name`: Jenis subagent yang mengeluarkan permintaan. Nama agen built-in dan agen dari plugin marketplace resmi muncul verbatim. Nama agen yang ditentukan pengguna lainnya diganti dengan `"custom"`. Tidak ada saat permintaan tidak dikeluarkan oleh jenis subagent bernama.

533* `skill.name`: Skill aktif untuk permintaan, diatur oleh alat Skill, perintah `/`, atau diwarisi oleh subagent yang dihasilkan. Nama skill built-in, bundled, yang ditentukan pengguna, dan plugin marketplace resmi muncul verbatim. Nama skill plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat tidak ada skill yang aktif.533* `skill.name`: Skill aktif untuk permintaan, diatur oleh alat Skill, perintah `/`, atau diwarisi oleh subagent yang dihasilkan. Nama skill built-in, bundled, yang ditentukan pengguna, dan plugin marketplace resmi muncul verbatim. Nama skill plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat tidak ada skill yang aktif.

534* `plugin.name`: Plugin pemilik saat skill atau subagent aktif disediakan oleh plugin. Nama plugin marketplace resmi muncul verbatim. Nama plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat skill atau subagent tidak memiliki plugin pemilik.534* `plugin.name`: Plugin pemilik saat skill atau subagent aktif disediakan oleh plugin. Nama plugin marketplace resmi muncul verbatim. Nama plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat skill atau subagent tidak memiliki plugin pemilik.


549* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")549* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")

550* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`550* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`

551* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya551* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya

552* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Lihat [Penghitung biaya](#cost-counter) untuk detail.552* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Lihat [Penghitung biaya](#cost-counter) untuk detail.

553* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.553* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

554 554 

555<h4 id="code-edit-tool-decision-counter">555<h4 id="code-edit-tool-decision-counter">


695* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.695* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.

696* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif696* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif

697* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent697* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent

698* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.698* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.

699* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.699* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

700 700 

701<h4 id="api-error-event">701<h4 id="api-error-event">


720* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.720* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.

721* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif721* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif

722* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent722* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent

723* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.723* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.

724* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.724* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

725 725 

726<h4 id="api-refusal-event">726<h4 id="api-refusal-event">


740* `model`: Pengidentifikasi model dari permintaan740* `model`: Pengidentifikasi model dari permintaan

741* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.741* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.

742* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent. Lihat [`api_request`](#api-request-event) untuk definisi.742* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent. Lihat [`api_request`](#api-request-event) untuk definisi.

743* `speed`: Baik `"fast"` saat [Mode cepat](/id/fast-mode) aktif, atau `"normal"`743* `speed`: Baik `"fast"` saat [Mode cepat](/docs/id/fast-mode) aktif, atau `"normal"`

744* `attempt`: Nomor upaya retry. Upaya pertama adalah `1`.744* `attempt`: Nomor upaya retry. Upaya pertama adalah `1`.

745* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.745* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.

746* `server_fallback_hop`: `true` saat fallback model server-side API sudah mencoba ulang penolakan ini pada model yang berbeda, jadi pengguna tidak melihat penolakan khusus ini. `false` saat permintaan berakhir dalam penolakan. Satu giliran dapat memancarkan acara hop `true` dan acara akhir `false` yang lebih baru saat model fallback juga menolak.746* `server_fallback_hop`: `true` saat fallback model server-side API sudah mencoba ulang penolakan ini pada model yang berbeda, jadi pengguna tidak melihat penolakan khusus ini. `false` saat permintaan berakhir dalam penolakan. Satu giliran dapat memancarkan acara hop `true` dan acara akhir `false` yang lebih baru saat model fallback juga menolak.

747* `has_category`: `true` saat respons API membawa `stop_details.category` dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. `false` saat respons tidak membawa kategori atau nilai di luar set itu. Tidak ada saat `server_fallback_hop` adalah `true`, karena blok hop tidak membawa `stop_details`.747* `has_category`: `true` saat respons API membawa `stop_details.category` dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. `false` saat respons tidak membawa kategori atau nilai di luar set itu. Tidak ada saat `server_fallback_hop` adalah `true`, karena blok hop tidak membawa `stop_details`.

748* `has_explanation`: `true` saat respons API membawa `stop_details.explanation`, sebaliknya `false`. Tidak ada saat `server_fallback_hop` adalah `true`.748* `has_explanation`: `true` saat respons API membawa `stop_details.explanation`, sebaliknya `false`. Tidak ada saat `server_fallback_hop` adalah `true`.


949* `skill_path_count`: jumlah direktori skill yang dideklarasikan plugin949* `skill_path_count`: jumlah direktori skill yang dideklarasikan plugin

950* `command_path_count`: jumlah direktori perintah yang dideklarasikan plugin950* `command_path_count`: jumlah direktori perintah yang dideklarasikan plugin

951* `agent_path_count`: jumlah direktori agen yang dideklarasikan plugin951* `agent_path_count`: jumlah direktori agen yang dideklarasikan plugin

952* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/id/cli-reference), `"false"` sebaliknya. Dalam mode aman acara ini melaporkan inventaris yang dikonfigurasi saja; perintah, skill, hooks, dan server MCP plugin tidak dimuat. Memerlukan Claude Code v2.1.169 atau lebih baru952* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/docs/id/cli-reference), `"false"` sebaliknya. Dalam mode aman acara ini melaporkan inventaris yang dikonfigurasi saja; perintah, skill, hooks, dan server MCP plugin tidak dimuat. Memerlukan Claude Code v2.1.169 atau lebih baru

953 953 

954<h4 id="skill-activated-event">954<h4 id="skill-activated-event">

955 Acara skill diaktifkan955 Acara skill diaktifkan


1027* `hook_event`: jenis acara hook, seperti `"PreToolUse"` atau `"PostToolUse"`1027* `hook_event`: jenis acara hook, seperti `"PreToolUse"` atau `"PostToolUse"`

1028* `hook_type`: jenis implementasi hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, atau `"agent"`1028* `hook_type`: jenis implementasi hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, atau `"agent"`

1029* `hook_source`: tempat hook didefinisikan: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, atau `"pluginHook"`1029* `hook_source`: tempat hook didefinisikan: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, atau `"pluginHook"`

1030* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru1030* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/docs/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru

1031* `hook_matcher` (saat `OTEL_LOG_TOOL_DETAILS=1`): string matcher dari konfigurasi hook, saat satu diatur1031* `hook_matcher` (saat `OTEL_LOG_TOOL_DETAILS=1`): string matcher dari konfigurasi hook, saat satu diatur

1032* `plugin.name` (saat `hook_source` adalah `"pluginHook"`): nama plugin yang berkontribusi. Untuk plugin di luar marketplace resmi dan bundel built-in nilainya adalah `"third-party"` kecuali `OTEL_LOG_TOOL_DETAILS=1`1032* `plugin.name` (saat `hook_source` adalah `"pluginHook"`): nama plugin yang berkontribusi. Untuk plugin di luar marketplace resmi dan bundel built-in nilainya adalah `"third-party"` kecuali `OTEL_LOG_TOOL_DETAILS=1`

1033* `plugin_id_hash` (saat `hook_source` adalah `"pluginHook"`): hash deterministik dari nama plugin dan marketplace, dikirim hanya ke pengekspor yang dikonfigurasi. Memungkinkan Anda menghitung plugin yang berkontribusi berbeda tanpa merekam nama mereka1033* `plugin_id_hash` (saat `hook_source` adalah `"pluginHook"`): hash deterministik dari nama plugin dan marketplace, dikirim hanya ke pengekspor yang dikonfigurasi. Memungkinkan Anda menghitung plugin yang berkontribusi berbeda tanpa merekam nama mereka


1051* `num_hooks`: Jumlah perintah hook yang cocok1051* `num_hooks`: Jumlah perintah hook yang cocok

1052* `managed_only`: `"true"` saat hanya hooks kebijakan terkelola yang diizinkan1052* `managed_only`: `"true"` saat hanya hooks kebijakan terkelola yang diizinkan

1053* `hook_source`: `"policySettings"` atau `"merged"`1053* `hook_source`: `"policySettings"` atau `"merged"`

1054* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru1054* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/docs/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru

1055* `hook_definitions`: Konfigurasi hook yang diserialisasi JSON. Disertakan hanya saat detailed beta tracing dan `OTEL_LOG_TOOL_DETAILS=1` keduanya diaktifkan1055* `hook_definitions`: Konfigurasi hook yang diserialisasi JSON. Disertakan hanya saat detailed beta tracing dan `OTEL_LOG_TOOL_DETAILS=1` keduanya diaktifkan

1056 1056 

1057<h4 id="hook-execution-complete-event">1057<h4 id="hook-execution-complete-event">


1078* `total_duration_ms`: Durasi wall-clock dari semua hooks yang cocok1078* `total_duration_ms`: Durasi wall-clock dari semua hooks yang cocok

1079* `managed_only`: `"true"` saat hanya hooks kebijakan terkelola yang diizinkan1079* `managed_only`: `"true"` saat hanya hooks kebijakan terkelola yang diizinkan

1080* `hook_source`: `"policySettings"` atau `"merged"`1080* `hook_source`: `"policySettings"` atau `"merged"`

1081* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru1081* `safe_mode`: `"true"` saat sesi dimulai dengan [`--safe-mode`](/docs/id/cli-reference), `"false"` sebaliknya. Memerlukan Claude Code v2.1.169 atau lebih baru

1082* `hook_definitions`: Konfigurasi hook yang diserialisasi JSON. Disertakan hanya saat detailed beta tracing dan `OTEL_LOG_TOOL_DETAILS=1` keduanya diaktifkan1082* `hook_definitions`: Konfigurasi hook yang diserialisasi JSON. Disertakan hanya saat detailed beta tracing dan `OTEL_LOG_TOOL_DETAILS=1` keduanya diaktifkan

1083 1083 

1084<h4 id="hook-plugin-metrics-event">1084<h4 id="hook-plugin-metrics-event">


1125 Acara survei umpan balik1125 Acara survei umpan balik

1126</h4>1126</h4>

1127 1127 

1128Dicatat saat survei kualitas sesi ditampilkan atau dijawab. Lihat [Survei kualitas sesi](/id/data-usage#session-quality-surveys) untuk mengetahui apa yang dikumpulkan survei dan cara mengontrolnya.1128Dicatat saat survei kualitas sesi ditampilkan atau dijawab. Lihat [Survei kualitas sesi](/docs/id/data-usage#session-quality-surveys) untuk mengetahui apa yang dikumpulkan survei dan cara mengontrolnya.

1129 1129 

1130**Nama Acara**: `claude_code.feedback_survey`1130**Nama Acara**: `claude_code.feedback_survey`

1131 1131 


1139* `appearance_id`: ID unik yang menghubungkan acara yang dipancarkan untuk satu instance survei1139* `appearance_id`: ID unik yang menghubungkan acara yang dipancarkan untuk satu instance survei

1140* `survey_type`: Survei mana yang menghasilkan acara. `"session"` adalah prompt rating "Bagaimana Claude melakukannya?"1140* `survey_type`: Survei mana yang menghasilkan acara. `"session"` adalah prompt rating "Bagaimana Claude melakukannya?"

1141* `response`: Pilihan pengguna pada acara `responded`1141* `response`: Pilihan pengguna pada acara `responded`

1142* `enabled_via_override`: `true` saat [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/id/env-vars) diatur. Dipancarkan sebagai boolean, bukan string. Hadir pada acara survei `session`. Filter pada atribut ini untuk mengkonfirmasi override diterapkan di seluruh armada1142* `enabled_via_override`: `true` saat [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/id/env-vars) diatur. Dipancarkan sebagai boolean, bukan string. Hadir pada acara survei `session`. Filter pada atribut ini untuk mengkonfirmasi override diterapkan di seluruh armada

1143 1143 

1144<h2 id="interpret-metrics-and-events-data">1144<h2 id="interpret-metrics-and-events-data">

1145 Menafsirkan data metrik dan acara1145 Menafsirkan data metrik dan acara


1182* Konsumsi token yang tidak biasa1182* Konsumsi token yang tidak biasa

1183* Volume sesi tinggi dari pengguna tertentu1183* Volume sesi tinggi dari pengguna tertentu

1184 1184 

1185Semua metrik dapat disegmentasikan berdasarkan [atribut standar](#standard-attributes). Atribut `model` tersedia pada `claude_code.token.usage`, `claude_code.cost.usage`, dan {/* min-version: 2.1.172 */}dari v2.1.172, `claude_code.lines_of_code.count`.1185Semua metrik dapat disegmentasikan berdasarkan [atribut standar](#standard-attributes). Atribut `model` tersedia pada `claude_code.token.usage`, `claude_code.cost.usage`, dan dari v2.1.172, `claude_code.lines_of_code.count`.

1186 1186 

1187Rincian per-model dari commit hanya dapat didekati dengan menggabungkan terhadap metrik token atau biaya pada `session.id`, karena satu sesi dapat mencakup beberapa model. Filter sisi token atau biaya ke baris di mana `query_source` adalah `"main"` sehingga permintaan auxiliary dan subagent tidak mengatribusikan commit sesi ke model yang tidak membuatnya.1187Rincian per-model dari commit hanya dapat didekati dengan menggabungkan terhadap metrik token atau biaya pada `session.id`, karena satu sesi dapat mencakup beberapa model. Filter sisi token atau biaya ke baris di mana `query_source` adalah `"main"` sehingga permintaan auxiliary dan subagent tidak mengatribusikan commit sesi ke model yang tidak membuatnya.

1188 1188 


1192 1192 

1193Claude Code mencoba ulang permintaan API yang gagal secara internal dan hanya memancarkan acara `claude_code.api_error` tunggal setelah menyerah, jadi acara itu sendiri adalah sinyal terminal untuk permintaan tersebut. Upaya retry perantara tidak dicatat sebagai acara terpisah.1193Claude Code mencoba ulang permintaan API yang gagal secara internal dan hanya memancarkan acara `claude_code.api_error` tunggal setelah menyerah, jadi acara itu sendiri adalah sinyal terminal untuk permintaan tersebut. Upaya retry perantara tidak dicatat sebagai acara terpisah.

1194 1194 

1195Atribut `attempt` pada acara mencatat berapa banyak upaya yang dilakukan secara total. `CLAUDE_CODE_MAX_RETRIES` default ke 10 dan dibatasi pada 15; {/* min-version: 2.1.199 */}sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Ketika permintaan menghabiskan semua retry pada kesalahan transien, `attempt` sama dengan satu lebih dari batas efektif tersebut: 11 secara default, dan tidak pernah lebih dari 16 kecuali watchdog diatur. Nilai yang lebih rendah menunjukkan kesalahan yang tidak dapat dicoba ulang seperti respons `400`.1195Atribut `attempt` pada acara mencatat berapa banyak upaya yang dilakukan secara total. `CLAUDE_CODE_MAX_RETRIES` default ke 10 dan dibatasi pada 15; sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Ketika permintaan menghabiskan semua retry pada kesalahan transien, `attempt` sama dengan satu lebih dari batas efektif tersebut: 11 secara default, dan tidak pernah lebih dari 16 kecuali watchdog diatur. Nilai yang lebih rendah menunjukkan kesalahan yang tidak dapat dicoba ulang seperti respons `400`.

1196 1196 

1197Untuk membedakan sesi yang pulih dari sesi yang terhenti, kelompokkan acara berdasarkan `session.id` dan periksa apakah acara `api_request` yang lebih baru ada setelah kesalahan.1197Untuk membedakan sesi yang pulih dari sesi yang terhenti, kelompokkan acara berdasarkan `session.id` dan periksa apakah acara `api_request` yang lebih baru ada setelah kesalahan.

1198 1198 


1221 Atribut tindakan untuk pengguna1221 Atribut tindakan untuk pengguna

1222</h3>1222</h3>

1223 1223 

1224[Atribut standar](#standard-attributes) pada setiap acara mencakup identitas pengguna yang diautentikasi: `user.email`, `user.account_uuid`, `user.account_id`, dan `organization.id` saat masuk dengan akun Claude, ditambah `user.id` dan `session.id` per-sesi. `user.id` adalah pengidentifikasi berskop instalasi, kecuali pada sesi [Claude apps gateway](/id/claude-apps-gateway), di mana ini adalah subjek IdP dari token yang dikeluarkan gateway.1224[Atribut standar](#standard-attributes) pada setiap acara mencakup identitas pengguna yang diautentikasi: `user.email`, `user.account_uuid`, `user.account_id`, dan `organization.id` saat masuk dengan akun Claude, ditambah `user.id` dan `session.id` per-sesi. `user.id` adalah pengidentifikasi berskop instalasi, kecuali pada sesi [Claude apps gateway](/docs/id/claude-apps-gateway), di mana ini adalah subjek IdP dari token yang dikeluarkan gateway.

1225 1225 

1226Panggilan alat MCP, perintah Bash, dan pengeditan file oleh karena itu dikaitkan dengan pengembang yang memulai sesi. Claude Code tidak bertindak di bawah akun layanan terpisah; identitas yang dicatat pada setiap acara adalah akun Claude pengembang itu sendiri, atau identitas IdP pengembang pada sesi [Claude apps gateway](/id/claude-apps-gateway).1226Panggilan alat MCP, perintah Bash, dan pengeditan file oleh karena itu dikaitkan dengan pengembang yang memulai sesi. Claude Code tidak bertindak di bawah akun layanan terpisah; identitas yang dicatat pada setiap acara adalah akun Claude pengembang itu sendiri, atau identitas IdP pengembang pada sesi [Claude apps gateway](/docs/id/claude-apps-gateway).

1227 1227 

1228Saat Claude Code diautentikasi dengan kunci API langsung, atau terhadap Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, tidak ada akun Claude dalam sesi dan hanya `user.id` dan `session.id` yang diisi. Dalam penerapan ini, lampirkan identitas pengguna sendiri dengan `OTEL_RESOURCE_ATTRIBUTES`, atur per pengguna melalui file [pengaturan terkelola](#administrator-configuration) atau pembungkus peluncuran. Sesi Claude apps gateway tidak memerlukan apa pun dari ini: CLI mencap identitas IdP secara otomatis, seperti yang dijelaskan dalam [Atribut standar](#standard-attributes).1228Saat Claude Code diautentikasi dengan kunci API langsung, atau terhadap Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, tidak ada akun Claude dalam sesi dan hanya `user.id` dan `session.id` yang diisi. Dalam penerapan ini, lampirkan identitas pengguna sendiri dengan `OTEL_RESOURCE_ATTRIBUTES`, atur per pengguna melalui file [pengaturan terkelola](#administrator-configuration) atau pembungkus peluncuran. Sesi Claude apps gateway tidak memerlukan apa pun dari ini: CLI mencap identitas IdP secara otomatis, seperti yang dijelaskan dalam [Atribut standar](#standard-attributes).

1229 1229 


1343 Keamanan dan privasi1343 Keamanan dan privasi

1344</h2>1344</h2>

1345 1345 

1346* Ekspor OpenTelemetry ke backend Anda adalah opt-in dan memerlukan konfigurasi eksplisit. Untuk telemetri operasional terpisah Anthropic dan cara menonaktifkannya, lihat [Penggunaan data](/id/data-usage#telemetry-services)1346* Ekspor OpenTelemetry ke backend Anda adalah opt-in dan memerlukan konfigurasi eksplisit. Untuk telemetri operasional terpisah Anthropic dan cara menonaktifkannya, lihat [Penggunaan data](/docs/id/data-usage#telemetry-services)

1347* Konten file mentah dan cuplikan kode tidak disertakan dalam metrik atau acara. Trace spans adalah jalur data terpisah: lihat poin `OTEL_LOG_TOOL_CONTENT` di bawah1347* Konten file mentah dan cuplikan kode tidak disertakan dalam metrik atau acara. Trace spans adalah jalur data terpisah: lihat poin `OTEL_LOG_TOOL_CONTENT` di bawah

1348* Saat diautentikasi melalui OAuth, `user.email` disertakan dalam atribut telemetri. Jika ini menjadi perhatian bagi organisasi Anda, bekerja dengan backend telemetri Anda untuk memfilter atau menyunting bidang ini1348* Saat diautentikasi melalui OAuth, `user.email` disertakan dalam atribut telemetri. Jika ini menjadi perhatian bagi organisasi Anda, bekerja dengan backend telemetri Anda untuk memfilter atau menyunting bidang ini

1349* Konten prompt pengguna tidak dikumpulkan secara default. Hanya panjang prompt yang dicatat. Untuk menyertakan konten prompt, atur `OTEL_LOG_USER_PROMPTS=1`1349* Konten prompt pengguna tidak dikumpulkan secara default. Hanya panjang prompt yang dicatat. Untuk menyertakan konten prompt, atur `OTEL_LOG_USER_PROMPTS=1`

network-config.md +15 −15

Details

9Claude Code mendukung berbagai konfigurasi jaringan dan keamanan enterprise melalui variabel lingkungan. Ini termasuk merutekan lalu lintas melalui server proxy perusahaan, mempercayai Certificate Authorities (CA) kustom, dan mengautentikasi dengan sertifikat mutual Transport Layer Security (mTLS) untuk keamanan yang ditingkatkan.9Claude Code mendukung berbagai konfigurasi jaringan dan keamanan enterprise melalui variabel lingkungan. Ini termasuk merutekan lalu lintas melalui server proxy perusahaan, mempercayai Certificate Authorities (CA) kustom, dan mengautentikasi dengan sertifikat mutual Transport Layer Security (mTLS) untuk keamanan yang ditingkatkan.

10 10 

11<Note>11<Note>

12 Semua variabel lingkungan yang ditampilkan di halaman ini juga dapat dikonfigurasi di [`settings.json`](/id/settings).12 Semua variabel lingkungan yang ditampilkan di halaman ini juga dapat dikonfigurasi di [`settings.json`](/docs/id/settings).

13</Note>13</Note>

14 14 

15<h2 id="proxy-configuration">15<h2 id="proxy-configuration">


123| `api.anthropic.com` | Permintaan Claude API |123| `api.anthropic.com` | Permintaan Claude API |

124| `claude.ai` | Autentikasi akun claude.ai |124| `claude.ai` | Autentikasi akun claude.ai |

125| `platform.claude.com` | Autentikasi akun Anthropic Console |125| `platform.claude.com` | Autentikasi akun Anthropic Console |

126| `mcp-proxy.anthropic.com` | [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai), termasuk konektor yang dikonfigurasi administrator organisasi. Lalu lintas konektor merutekan melalui proxy ini; konektor diaktifkan secara default untuk pengguna yang diautentikasi claude.ai. Untuk menonaktifkan, atur [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/id/env-vars) atau pengaturan [`disableClaudeAiConnectors`](/id/settings#available-settings) |126| `mcp-proxy.anthropic.com` | [Konektor MCP dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai), termasuk konektor yang dikonfigurasi administrator organisasi. Lalu lintas konektor merutekan melalui proxy ini; konektor diaktifkan secara default untuk pengguna yang diautentikasi claude.ai. Untuk menonaktifkan, atur [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/id/env-vars) atau pengaturan [`disableClaudeAiConnectors`](/docs/id/settings#available-settings) |

127| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |127| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |

128| `storage.googleapis.com` | Jumlah instalasi dan metadata plugin yang ditampilkan di `/plugin`. Unggahan [artifact](/id/artifacts) yang ditandatangani mencoba host ini terlebih dahulu; penerbitan kembali ke `api.anthropic.com` ketika host ini diblokir |128| `storage.googleapis.com` | Jumlah instalasi dan metadata plugin yang ditampilkan di `/plugin`. Unggahan [artifact](/docs/id/artifacts) yang ditandatangani mencoba host ini terlebih dahulu; penerbitan kembali ke `api.anthropic.com` ketika host ini diblokir |

129| `storage.googleapis.com` | {/* max-version: 2.1.115 */}Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |129| `storage.googleapis.com` | Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |

130| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/id/chrome) |130| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/docs/id/chrome) |

131| `*.claudeusercontent.com` | Melihat [artifacts](/id/artifacts) di claude.ai. Penampil memuat konten setiap artifact dari subdomain yang disandbox dari asal ini. Diperlukan di browser penampil, bukan oleh CLI itu sendiri |131| `*.claudeusercontent.com` | Melihat [artifacts](/docs/id/artifacts) di claude.ai. Penampil memuat konten setiap artifact dari subdomain yang disandbox dari asal ini. Diperlukan di browser penampil, bukan oleh CLI itu sendiri |

132| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan |132| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/docs/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan |

133 133 

134Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir tidak perlu menggunakan penginstal asli dan pembaruan otomatis `downloads.claude.ai`. Penggunaan lain dalam tabel berlaku terlepas dari metode instalasi.134Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir tidak perlu menggunakan penginstal asli dan pembaruan otomatis `downloads.claude.ai`. Penggunaan lain dalam tabel berlaku terlepas dari metode instalasi.

135 135 

136Claude Code juga mengirimkan telemetri operasional opsional secara default, yang dapat Anda nonaktifkan dengan variabel lingkungan. Lihat [Layanan telemetri](/id/data-usage#telemetry-services) untuk cara menonaktifkannya sebelum menyelesaikan daftar izin Anda.136Claude Code juga mengirimkan telemetri operasional opsional secara default, yang dapat Anda nonaktifkan dengan variabel lingkungan. Lihat [Layanan telemetri](/docs/id/data-usage#telemetry-services) untuk cara menonaktifkannya sebelum menyelesaikan daftar izin Anda.

137 137 

138Saat menggunakan [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), atau sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang sudah masuk, lalu lintas model dan autentikasi menuju penyedia atau gateway Anda alih-alih `api.anthropic.com`, `claude.ai`, atau `platform.claude.com`. Alat WebFetch masih memanggil `api.anthropic.com` untuk [pemeriksaan keamanan domainnya](/id/data-usage#webfetch-domain-safety-check) kecuali Anda menetapkan `skipWebFetchPreflight: true` di [pengaturan](/id/settings).138Saat menggunakan [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), atau sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang sudah masuk, lalu lintas model dan autentikasi menuju penyedia atau gateway Anda alih-alih `api.anthropic.com`, `claude.ai`, atau `platform.claude.com`. Alat WebFetch masih memanggil `api.anthropic.com` untuk [pemeriksaan keamanan domainnya](/docs/id/data-usage#webfetch-domain-safety-check) kecuali Anda menetapkan `skipWebFetchPreflight: true` di [pengaturan](/docs/id/settings).

139 139 

140[Claude Code di web](/id/claude-code-on-the-web) dan [Code Review](/id/code-review) terhubung ke repositori Anda dari infrastruktur yang dikelola Anthropic. Jika organisasi GitHub Enterprise Cloud Anda membatasi akses berdasarkan alamat IP, aktifkan [pewarisan daftar izin IP untuk GitHub Apps yang diinstal](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). Claude GitHub App mendaftarkan rentang IP-nya, jadi mengaktifkan pengaturan ini memungkinkan akses tanpa konfigurasi manual. Untuk [menambahkan rentang ke daftar izin Anda secara manual](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) sebagai gantinya, atau untuk mengonfigurasi firewall lainnya, lihat [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).140[Claude Code di web](/docs/id/claude-code-on-the-web) dan [Code Review](/docs/id/code-review) terhubung ke repositori Anda dari infrastruktur yang dikelola Anthropic. Jika organisasi GitHub Enterprise Cloud Anda membatasi akses berdasarkan alamat IP, aktifkan [pewarisan daftar izin IP untuk GitHub Apps yang diinstal](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). Claude GitHub App mendaftarkan rentang IP-nya, jadi mengaktifkan pengaturan ini memungkinkan akses tanpa konfigurasi manual. Untuk [menambahkan rentang ke daftar izin Anda secara manual](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) sebagai gantinya, atau untuk mengonfigurasi firewall lainnya, lihat [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).

141 141 

142Untuk instans [GitHub Enterprise Server](/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, izinkan daftar [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses) yang sama sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar tinjauan.142Untuk instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, izinkan daftar [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses) yang sama sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar tinjauan.

143 143 

144<h3 id="desktop-and-claude-ai">144<h3 id="desktop-and-claude-ai">

145 Desktop dan claude.ai145 Desktop dan claude.ai

146</h3>146</h3>

147 147 

148Tabel sebelumnya terutama mencakup CLI mandiri. Aplikasi Claude Desktop dan claude.ai di browser memuat kode aplikasi mereka dari host CDN Anthropic tambahan, termasuk `assets-proxy.anthropic.com`. Mengizinkan `claude.ai` sambil memblokir host tersebut menghasilkan halaman kosong daripada kesalahan. Lihat [persyaratan akses jaringan](/id/desktop#network-access-requirements) di halaman Desktop.148Tabel sebelumnya terutama mencakup CLI mandiri. Aplikasi Claude Desktop dan claude.ai di browser memuat kode aplikasi mereka dari host CDN Anthropic tambahan, termasuk `assets-proxy.anthropic.com`. Mengizinkan `claude.ai` sambil memblokir host tersebut menghasilkan halaman kosong daripada kesalahan. Lihat [persyaratan akses jaringan](/docs/id/desktop#network-access-requirements) di halaman Desktop.

149 149 

150<h2 id="additional-resources">150<h2 id="additional-resources">

151 Sumber daya tambahan151 Sumber daya tambahan

152</h2>152</h2>

153 153 

154* [Pengaturan Claude Code](/id/settings)154* [Pengaturan Claude Code](/docs/id/settings)

155* [Referensi variabel lingkungan](/id/env-vars)155* [Referensi variabel lingkungan](/docs/id/env-vars)

156* [Panduan pemecahan masalah](/id/troubleshooting)156* [Panduan pemecahan masalah](/docs/id/troubleshooting)

output-styles.md +15 −15

Details

10 10 

11Custom output style menambahkan instruksi Anda ke system prompt dan memungkinkan Anda memilih apakah akan mempertahankan instruksi rekayasa perangkat lunak bawaan Claude Code. Pertahankan mereka ketika Anda mengubah cara Claude berkomunikasi tetapi masih coding, seperti selalu menjawab dengan diagram. Tinggalkan mereka ketika Claude tidak melakukan rekayasa perangkat lunak sama sekali, seperti asisten penulisan atau analis data.11Custom output style menambahkan instruksi Anda ke system prompt dan memungkinkan Anda memilih apakah akan mempertahankan instruksi rekayasa perangkat lunak bawaan Claude Code. Pertahankan mereka ketika Anda mengubah cara Claude berkomunikasi tetapi masih coding, seperti selalu menjawab dengan diagram. Tinggalkan mereka ketika Claude tidak melakukan rekayasa perangkat lunak sama sekali, seperti asisten penulisan atau analis data.

12 12 

13Untuk instruksi tentang proyek, konvensi, atau codebase Anda, gunakan [CLAUDE.md](/id/memory) sebagai gantinya.13Untuk instruksi tentang proyek, konvensi, atau codebase Anda, gunakan [CLAUDE.md](/docs/id/memory) sebagai gantinya.

14 14 

15<h2 id="built-in-output-styles">15<h2 id="built-in-output-styles">

16 Gaya output bawaan16 Gaya output bawaan


20 20 

21Ada tiga gaya output bawaan tambahan:21Ada tiga gaya output bawaan tambahan:

22 22 

23* **Proactive**: Claude dieksekusi segera, membuat asumsi yang masuk akal alih-alih berhenti untuk keputusan rutin, dan lebih memilih tindakan daripada perencanaan. Ini adalah panduan eksekusi otonom yang lebih kuat daripada yang diterapkan [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode), dan ini berfungsi tanpa mengubah mode izin Anda, jadi Anda masih melihat prompt izin sebelum alat dijalankan.23* **Proactive**: Claude dieksekusi segera, membuat asumsi yang masuk akal alih-alih berhenti untuk keputusan rutin, dan lebih memilih tindakan daripada perencanaan. Ini adalah panduan eksekusi otonom yang lebih kuat daripada yang diterapkan [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), dan ini berfungsi tanpa mengubah mode izin Anda, jadi Anda masih melihat prompt izin sebelum alat dijalankan.

24 24 

25* **Explanatory**: Menyediakan "Insights" edukatif di antara membantu Anda menyelesaikan tugas-tugas rekayasa perangkat lunak. Membantu Anda memahami pilihan implementasi dan pola codebase.25* **Explanatory**: Menyediakan "Insights" edukatif di antara membantu Anda menyelesaikan tugas-tugas rekayasa perangkat lunak. Membantu Anda memahami pilihan implementasi dan pola codebase.

26 26 


30 Ubah gaya output Anda30 Ubah gaya output Anda

31</h2>31</h2>

32 32 

33Jalankan `/config` dan pilih **Output style** untuk memilih gaya dari menu. Pilihan Anda disimpan ke `.claude/settings.local.json` di [tingkat proyek lokal](/id/settings).33Jalankan `/config` dan pilih **Output style** untuk memilih gaya dari menu. Pilihan Anda disimpan ke `.claude/settings.local.json` di [tingkat proyek lokal](/docs/id/settings).

34 34 

35<Note>{/* max-version: 2.1.90 */}Perintah standalone `/output-style` sudah tidak digunakan lagi di v2.1.73 dan dihapus di v2.1.91. Gunakan `/config` atau edit pengaturan `outputStyle` secara langsung.</Note>35<Note>Perintah standalone `/output-style` sudah tidak digunakan lagi di v2.1.73 dan dihapus di v2.1.91. Gunakan `/config` atau edit pengaturan `outputStyle` secara langsung.</Note>

36 36 

37Untuk menetapkan gaya tanpa menu, edit field `outputStyle` secara langsung dalam file settings:37Untuk menetapkan gaya tanpa menu, edit field `outputStyle` secara langsung dalam file settings:

38 38 


42}42}

43```43```

44 44 

45Output style adalah bagian dari system prompt, yang dibaca Claude Code sekali saat awal sesi. Perubahan berlaku setelah `/clear` atau sesi baru. Lihat [Bagaimana Claude Code menggunakan prompt caching](/id/prompt-caching#changing-output-style) untuk mengetahui apa yang dilakukan perubahan output style terhadap cache.45Output style adalah bagian dari system prompt, yang dibaca Claude Code sekali saat awal sesi. Perubahan berlaku setelah `/clear` atau sesi baru. Lihat [Bagaimana Claude Code menggunakan prompt caching](/docs/id/prompt-caching#changing-output-style) untuk mengetahui apa yang dilakukan perubahan output style terhadap cache.

46 46 

47<h2 id="create-a-custom-output-style">47<h2 id="create-a-custom-output-style">

48 Buat custom output style48 Buat custom output style


56 56 

57 * User: `~/.claude/output-styles`57 * User: `~/.claude/output-styles`

58 * Project: `.claude/output-styles`58 * Project: `.claude/output-styles`

59 * Managed policy: `.claude/output-styles` di dalam [direktori pengaturan terkelola](/id/settings#settings-files)59 * Managed policy: `.claude/output-styles` di dalam [direktori pengaturan terkelola](/docs/id/settings#settings-files)

60 60 

61 Project output styles dimuat dari setiap `.claude/output-styles/` antara direktori kerja dan akar repositori. {/* min-version: 2.1.178 */}Mulai dari v2.1.178, ketika lebih dari satu direktori bersarang ini mendefinisikan style dengan nama yang sama, Claude Code menggunakan yang paling dekat dengan direktori kerja.61 Project output styles dimuat dari setiap `.claude/output-styles/` antara direktori kerja dan akar repositori. Mulai dari v2.1.178, ketika lebih dari satu direktori bersarang ini mendefinisikan style dengan nama yang sama, Claude Code menggunakan yang paling dekat dengan direktori kerja.

62 </Step>62 </Step>

63 63 

64 <Step title="Tambahkan frontmatter dan instruksi">64 <Step title="Tambahkan frontmatter dan instruksi">


86 </Step>86 </Step>

87</Steps>87</Steps>

88 88 

89[Plugins](/id/plugins-reference) juga dapat mengirimkan output styles dalam direktori `output-styles/`.89[Plugins](/docs/id/plugins-reference) juga dapat mengirimkan output styles dalam direktori `output-styles/`.

90 90 

91<h3 id="frontmatter">91<h3 id="frontmatter">

92 Frontmatter92 Frontmatter


122| Fitur | Cara kerjanya | Gunakan ketika |122| Fitur | Cara kerjanya | Gunakan ketika |

123| :----------------------- | :---------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |123| :----------------------- | :---------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |

124| Output styles | Memodifikasi system prompt | Anda menginginkan peran, nada, atau format respons default yang berbeda setiap giliran |124| Output styles | Memodifikasi system prompt | Anda menginginkan peran, nada, atau format respons default yang berbeda setiap giliran |

125| [CLAUDE.md](/id/memory) | Menambahkan pesan pengguna setelah system prompt | Claude harus selalu mengetahui konvensi proyek dan konteks codebase Anda |125| [CLAUDE.md](/docs/id/memory) | Menambahkan pesan pengguna setelah system prompt | Claude harus selalu mengetahui konvensi proyek dan konteks codebase Anda |

126| `--append-system-prompt` | Menambahkan ke system prompt tanpa menghapus apa pun | Anda menginginkan penambahan satu kali untuk satu invokasi |126| `--append-system-prompt` | Menambahkan ke system prompt tanpa menghapus apa pun | Anda menginginkan penambahan satu kali untuk satu invokasi |

127| [Agents](/id/sub-agents) | Menjalankan subagent dengan system prompt, model, dan tools-nya sendiri | Anda menginginkan helper dengan cakupan terpisah untuk tugas yang terfokus |127| [Agents](/docs/id/sub-agents) | Menjalankan subagent dengan system prompt, model, dan tools-nya sendiri | Anda menginginkan helper dengan cakupan terpisah untuk tugas yang terfokus |

128| [Skills](/id/skills) | Memuat instruksi khusus tugas saat dipanggil atau relevan | Anda memiliki alur kerja yang dapat digunakan kembali |128| [Skills](/docs/id/skills) | Memuat instruksi khusus tugas saat dipanggil atau relevan | Anda memiliki alur kerja yang dapat digunakan kembali |

129 129 

130<h2 id="related-resources">130<h2 id="related-resources">

131 Sumber daya terkait131 Sumber daya terkait

132</h2>132</h2>

133 133 

134* [Settings](/id/settings): di mana field `outputStyle` berada dan cara kerja precedence settings134* [Settings](/docs/id/settings): di mana field `outputStyle` berada dan cara kerja precedence settings

135* [Permission modes](/id/permission-modes): bagaimana style Proactive dibandingkan dengan mode otomatis135* [Permission modes](/docs/id/permission-modes): bagaimana style Proactive dibandingkan dengan mode otomatis

136* [Plugins](/id/plugins): paket dan distribusikan output styles bersama skills, hooks, dan agents136* [Plugins](/docs/id/plugins): paket dan distribusikan output styles bersama skills, hooks, dan agents

137* [Debug your configuration](/id/debug-your-config): diagnosa mengapa output style tidak berlaku137* [Debug your configuration](/docs/id/debug-your-config): diagnosa mengapa output style tidak berlaku

Details

27 27 

28Di setiap mode kecuali `bypassPermissions`, penulisan ke [jalur yang dilindungi](#protected-paths) tidak pernah disetujui otomatis, menjaga status repositori dan konfigurasi Claude sendiri dari kerusakan yang tidak disengaja.28Di setiap mode kecuali `bypassPermissions`, penulisan ke [jalur yang dilindungi](#protected-paths) tidak pernah disetujui otomatis, menjaga status repositori dan konfigurasi Claude sendiri dari kerusakan yang tidak disengaja.

29 29 

30Mode menetapkan baseline. Lapisi [aturan izin](/id/permissions#manage-permissions) di atas untuk pre-approve atau memblokir alat tertentu. Aturan deny, aturan ask eksplisit, [pengaturan `ask` organisasi pada alat konektor](/id/mcp#organization-controls-on-connector-tools), dan penanda [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) berlaku di setiap mode, termasuk `bypassPermissions`. Aturan allow tidak memiliki efek dalam mode itu karena semuanya sudah disetujui.30Mode menetapkan baseline. Lapisi [aturan izin](/docs/id/permissions#manage-permissions) di atas untuk pre-approve atau memblokir alat tertentu. Aturan deny, aturan ask eksplisit, [pengaturan `ask` organisasi pada alat konektor](/docs/id/mcp#organization-controls-on-connector-tools), dan penanda [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) berlaku di setiap mode, termasuk `bypassPermissions`. Aturan allow tidak memiliki efek dalam mode itu karena semuanya sudah disetujui.

31 31 

32<h2 id="switch-permission-modes">32<h2 id="switch-permission-modes">

33 Beralih mode izin33 Beralih mode izin


37 37 

38<Tabs>38<Tabs>

39 <Tab title="CLI">39 <Tab title="CLI">

40 **Selama sesi**: tekan `Shift+Tab` untuk siklus `default` → `acceptEdits` → `plan`. Mode saat ini muncul di bilah status. {/* min-version: 2.1.203 */}Mode manual, `default` dalam siklus itu, menampilkan lencana abu-abu `⏸ manual mode on`. Sebelum v2.1.203, bilah status tidak menampilkan lencana dalam mode Manual.40 **Selama sesi**: tekan `Shift+Tab` untuk siklus `default` → `acceptEdits` → `plan`. Mode saat ini muncul di bilah status. Mode manual, `default` dalam siklus itu, menampilkan lencana abu-abu `⏸ manual mode on`. Sebelum v2.1.203, bilah status tidak menampilkan lencana dalam mode Manual.

41 41 

42 Tidak setiap mode ada dalam siklus default:42 Tidak setiap mode ada dalam siklus default:

43 43 


53 claude --permission-mode plan53 claude --permission-mode plan

54 ```54 ```

55 55 

56 **Sebagai default**: atur `defaultMode` di [pengaturan](/id/settings#settings-files).56 **Sebagai default**: atur `defaultMode` di [pengaturan](/docs/id/settings#settings-files).

57 57 

58 ```json theme={null}58 ```json theme={null}

59 {59 {


63 }63 }

64 ```64 ```

65 65 

66 Flag `--permission-mode` yang sama berfungsi dengan `-p` untuk [run non-interaktif](/id/headless).66 Flag `--permission-mode` yang sama berfungsi dengan `-p` untuk [run non-interaktif](/docs/id/headless).

67 </Tab>67 </Tab>

68 68 

69 <Tab title="VS Code">69 <Tab title="VS Code">


83 83 

84 Sebelum v2.1.205, ekstensi melabeli `plan` sebagai Plan mode dan `auto` sebagai Auto mode.84 Sebelum v2.1.205, ekstensi melabeli `plan` sebagai Plan mode dan `auto` sebagai Auto mode.

85 85 

86 Mode auto muncul di indikator mode ketika akun Anda memenuhi setiap persyaratan yang tercantum di [bagian mode auto](#eliminate-prompts-with-auto-mode). Pengaturan `claudeCode.initialPermissionMode` tidak menerima `auto`. Untuk memulai dalam mode auto secara default, atur `defaultMode` di [pengaturan pengguna](/id/settings#settings-files) Anda sebagai gantinya. Claude Code mengabaikan `defaultMode: "auto"` di pengaturan proyek dan lokal.86 Mode auto muncul di indikator mode ketika akun Anda memenuhi setiap persyaratan yang tercantum di [bagian mode auto](#eliminate-prompts-with-auto-mode). Pengaturan `claudeCode.initialPermissionMode` tidak menerima `auto`. Untuk memulai dalam mode auto secara default, atur `defaultMode` di [pengaturan pengguna](/docs/id/settings#settings-files) Anda sebagai gantinya. Claude Code mengabaikan `defaultMode: "auto"` di pengaturan proyek dan lokal.

87 87 

88 Bypass permissions memerlukan toggle **Allow dangerously skip permissions** di pengaturan ekstensi sebelum muncul di indikator mode.88 Bypass permissions memerlukan toggle **Allow dangerously skip permissions** di pengaturan ekstensi sebelum muncul di indikator mode.

89 89 

90 Lihat [panduan VS Code](/id/vs-code) untuk detail khusus ekstensi.90 Lihat [panduan VS Code](/docs/id/vs-code) untuk detail khusus ekstensi.

91 </Tab>91 </Tab>

92 92 

93 <Tab title="JetBrains">93 <Tab title="JetBrains">


100 * **Auto**: muncul ketika akun Anda memenuhi [persyaratan mode auto](#eliminate-prompts-with-auto-mode)100 * **Auto**: muncul ketika akun Anda memenuhi [persyaratan mode auto](#eliminate-prompts-with-auto-mode)

101 * **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** di pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya101 * **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** di pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya

102 102 

103 Untuk detail khusus desktop, lihat [Pilih mode izin](/id/desktop#choose-a-permission-mode) di panduan Desktop.103 Untuk detail khusus desktop, lihat [Pilih mode izin](/docs/id/desktop#choose-a-permission-mode) di panduan Desktop.

104 104 

105 **Sebagai default**: atur `defaultMode` di [pengaturan](/id/settings#settings-files). Aplikasi desktop membaca file pengaturan yang sama seperti CLI dan menerapkan mode ke sesi lokal baru.105 **Sebagai default**: atur `defaultMode` di [pengaturan](/docs/id/settings#settings-files). Aplikasi desktop membaca file pengaturan yang sama seperti CLI dan menerapkan mode ke sesi lokal baru.

106 106 

107 Mode yang Anda pilih di pemilih mode diingat per folder dan mengambil alih `defaultMode` untuk folder itu. Plan adalah pengecualian: memilihnya berlaku hanya untuk sesi saat ini.107 Mode yang Anda pilih di pemilih mode diingat per folder dan mengambil alih `defaultMode` untuk folder itu. Plan adalah pengecualian: memilihnya berlaku hanya untuk sesi saat ini.

108 108 


120 <Tab title="Web dan mobile">120 <Tab title="Web dan mobile">

121 Gunakan dropdown mode di sebelah kotak prompt di [claude.ai/code](https://claude.ai/code) atau di aplikasi mobile. Prompt izin muncul di claude.ai untuk persetujuan. Mode mana yang muncul tergantung di mana sesi berjalan:121 Gunakan dropdown mode di sebelah kotak prompt di [claude.ai/code](https://claude.ai/code) atau di aplikasi mobile. Prompt izin muncul di claude.ai untuk persetujuan. Mode mana yang muncul tergantung di mana sesi berjalan:

122 122 

123 * **Sesi cloud** di [Claude Code on the web](/id/claude-code-on-the-web): Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: lingkungan cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Mode Auto muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.123 * **Sesi cloud** di [Claude Code on the web](/docs/id/claude-code-on-the-web): Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: lingkungan cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Mode Auto muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.

124 * **Sesi [Remote Control](/id/remote-control)** di mesin lokal Anda: Manual, Accept edits, dan Plan. Anda tidak dapat memilih Auto atau Bypass permissions dari aplikasi. {/* min-version: 2.1.202 */}Dropdown menampilkan mode yang sesi lokal gunakan, termasuk mode yang diatur dari terminal, dan diperbarui ketika mode berubah di aplikasi atau di terminal. Satu-satunya pengecualian adalah Bypass permissions: sesi tidak pernah melaporkan mode itu ke claude.ai, jadi beralih ke dalamnya dari terminal tidak mengubah apa yang ditampilkan dropdown. Sebelum v2.1.202, sesi yang terhubung dengan `/remote-control` atau `claude --remote-control` tidak melaporkan mode mereka sama sekali, jadi claude.ai dan aplikasi mobile dapat menampilkan mode yang sesi tidak gunakan. Ketidaksesuaian hanya mempengaruhi label: Claude Code menghasilkan prompt izin dari mode aktual sesi, dan mereka masih muncul di aplikasi untuk persetujuan.124 * **Sesi [Remote Control](/docs/id/remote-control)** di mesin lokal Anda: Manual, Accept edits, dan Plan. Anda tidak dapat memilih Auto atau Bypass permissions dari aplikasi. Dropdown menampilkan mode yang sesi lokal gunakan, termasuk mode yang diatur dari terminal, dan diperbarui ketika mode berubah di aplikasi atau di terminal. Satu-satunya pengecualian adalah Bypass permissions: sesi tidak pernah melaporkan mode itu ke claude.ai, jadi beralih ke dalamnya dari terminal tidak mengubah apa yang ditampilkan dropdown. Sebelum v2.1.202, sesi yang terhubung dengan `/remote-control` atau `claude --remote-control` tidak melaporkan mode mereka sama sekali, jadi claude.ai dan aplikasi mobile dapat menampilkan mode yang sesi tidak gunakan. Ketidaksesuaian hanya mempengaruhi label: Claude Code menghasilkan prompt izin dari mode aktual sesi, dan mereka masih muncul di aplikasi untuk persetujuan.

125 125 

126 Untuk Remote Control, Anda juga dapat mengatur mode awal saat meluncurkan host:126 Untuk Remote Control, Anda juga dapat mengatur mode awal saat meluncurkan host:

127 127 


137 137 

138Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.138Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.

139 139 

140Selain pengeditan file, mode `acceptEdits` auto-approve perintah Bash filesystem umum: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, dan `sed`. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti `LANG=C` atau `NO_COLOR=1`, atau pembungkus proses seperti `timeout`, `nice`, atau `nohup`. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau `additionalDirectories`. Jalur di luar cakupan itu, penulisan ke [jalur yang dilindungi](#protected-paths), dan semua perintah Bash lainnya kecuali [set bawaan read-only](/id/permissions#read-only-commands) masih meminta.140Selain pengeditan file, mode `acceptEdits` auto-approve perintah Bash filesystem umum: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, dan `sed`. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti `LANG=C` atau `NO_COLOR=1`, atau pembungkus proses seperti `timeout`, `nice`, atau `nohup`. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau `additionalDirectories`. Jalur di luar cakupan itu, penulisan ke [jalur yang dilindungi](#protected-paths), dan semua perintah Bash lainnya kecuali [set bawaan read-only](/docs/id/permissions#read-only-commands) masih meminta.

141 141 

142Ketika [alat PowerShell](/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku.142Ketika [alat PowerShell](/docs/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku.

143 143 

144Gunakan `acceptEdits` ketika Anda ingin meninjau perubahan di editor Anda atau melalui `git diff` setelahnya daripada menyetujui setiap pengeditan inline.144Gunakan `acceptEdits` ketika Anda ingin meninjau perubahan di editor Anda atau melalui `git diff` setelahnya daripada menyetujui setiap pengeditan inline.

145 145 


153 Analisis sebelum Anda mengedit dengan mode rencana153 Analisis sebelum Anda mengedit dengan mode rencana

154</h2>154</h2>

155 155 

156Mode rencana memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Prompt izin berlaku seperti dalam mode Manual kecuali [mode otomatis](/id/auto-mode-config) tersedia dan `useAutoModeDuringPlan` aktif, yang merupakan default. Dengan mode otomatis aktif, pengklasifikasi menyetujui perintah hanya-baca seperti pencarian dan pembacaan file tanpa meminta. Pengeditan tetap diblokir baik cara manapun sampai Anda menyetujui rencana.156Mode rencana memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Prompt izin berlaku seperti dalam mode Manual kecuali [mode otomatis](/docs/id/auto-mode-config) tersedia dan `useAutoModeDuringPlan` aktif, yang merupakan default. Dengan mode otomatis aktif, pengklasifikasi menyetujui perintah hanya-baca seperti pencarian dan pembacaan file tanpa meminta. Pengeditan tetap diblokir baik cara manapun sampai Anda menyetujui rencana.

157 157 

158Masukkan mode rencana dengan menekan `Shift+Tab` atau mengawali prompt tunggal dengan `/plan`. Anda juga dapat memulai dalam mode rencana dari CLI:158Masukkan mode rencana dengan menekan `Shift+Tab` atau mengawali prompt tunggal dengan `/plan`. Anda juga dapat memulai dalam mode rencana dari CLI:

159 159 


173* Setujui dan terima pengeditan173* Setujui dan terima pengeditan

174* Setujui dan tinjau setiap pengeditan secara manual174* Setujui dan tinjau setiap pengeditan secara manual

175* Terus merencanakan dengan umpan balik175* Terus merencanakan dengan umpan balik

176* Perbaiki dengan [Ultraplan](/id/ultraplan) untuk tinjauan berbasis browser176* Perbaiki dengan [Ultraplan](/docs/id/ultraplan) untuk tinjauan berbasis browser

177 177 

178Menyetujui rencana keluar dari mode rencana dan mengalihkan sesi ke mode izin yang dijelaskan oleh setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, kembali ke mode rencana dengan `Shift+Tab`, atau awali prompt berikutnya dengan `/plan`.178Menyetujui rencana keluar dari mode rencana dan mengalihkan sesi ke mode izin yang dijelaskan oleh setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, kembali ke mode rencana dengan `Shift+Tab`, atau awali prompt berikutnya dengan `/plan`.

179 179 

180Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya secara langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](/id/settings#available-settings) diaktifkan, setiap opsi persetujuan juga menawarkan untuk menghapus konteks perencanaan terlebih dahulu.180Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya secara langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](/docs/id/settings#available-settings) diaktifkan, setiap opsi persetujuan juga menawarkan untuk menghapus konteks perencanaan terlebih dahulu.

181 181 

182Menerima rencana juga memberi nama sesi dari konten rencana secara otomatis, kecuali Anda telah menetapkan nama dengan `--name` atau `/rename`.182Menerima rencana juga memberi nama sesi dari konten rencana secara otomatis, kecuali Anda telah menetapkan nama dengan `--name` atau `/rename`.

183 183 


199 Hilangkan prompt izin dengan mode otomatis199 Hilangkan prompt izin dengan mode otomatis

200</h2>200</h2>

201 201 

202Mode otomatis memungkinkan Claude menjalankan tanpa prompt izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum berjalan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/id/permissions#manage-permissions) eksplisit masih memaksa prompt.202Mode otomatis memungkinkan Claude menjalankan tanpa prompt izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum berjalan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/docs/id/permissions#manage-permissions) eksplisit masih memaksa prompt.

203 203 

204Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, meminta persetujuan daripada pergi ke pengklasifikasi. {/* min-version: 2.1.208 */}Prompt ini juga menyala ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, apakah penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut pergi ke pengklasifikasi daripada meminta.204Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, meminta persetujuan daripada pergi ke pengklasifikasi. Prompt ini juga menyala ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, apakah penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut pergi ke pengklasifikasi daripada meminta.

205 205 

206Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika prompt Anda atau skill secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat sambil tetap mempertahankan prompt izin, atur [gaya output Proaktif](/id/output-styles) sebagai gantinya.206Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika prompt Anda atau skill secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat sambil tetap mempertahankan prompt izin, atur [gaya output Proaktif](/docs/id/output-styles) sebagai gantinya.

207 207 

208<Warning>208<Warning>

209 Mode otomatis mengurangi prompt izin tetapi tidak menjamin keamanan. Gunakan untuk tugas di mana Anda mempercayai arah umum, bukan sebagai pengganti tinjauan pada operasi sensitif.209 Mode otomatis mengurangi prompt izin tetapi tidak menjamin keamanan. Gunakan untuk tugas di mana Anda mempercayai arah umum, bukan sebagai pengganti tinjauan pada operasi sensitif.


212Mode otomatis hanya tersedia ketika akun Anda memenuhi semua persyaratan ini:212Mode otomatis hanya tersedia ketika akun Anda memenuhi semua persyaratan ini:

213 213 

214* **Rencana**: Semua rencana.214* **Rencana**: Semua rencana.

215* **Pemilik**: di Team dan Enterprise, Pemilik harus mengaktifkannya di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code) sebelum pengguna dapat mengaktifkannya. Administrator juga dapat mematikan mode otomatis dengan mengatur `permissions.disableAutoMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings). Untuk tab Code aplikasi desktop, `disableAutoMode` adalah kontrol tingkat organisasi, dan toggle pengaturan admin tidak berlaku.215* **Pemilik**: di Team dan Enterprise, Pemilik harus mengaktifkannya di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code) sebelum pengguna dapat mengaktifkannya. Administrator juga dapat mematikan mode otomatis dengan mengatur `permissions.disableAutoMode` ke `"disable"` di [pengaturan terkelola](/docs/id/permissions#managed-settings). Untuk tab Code aplikasi desktop, `disableAutoMode` adalah kontrol tingkat organisasi, dan toggle pengaturan admin tidak berlaku.

216* **Model**: di API Anthropic, Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.216* **Model**: di API Anthropic, Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](/docs/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.

217* **Penyedia**: tersedia secara default di API Anthropic, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk. {/* min-version: 2.1.207 */}Di v2.1.158 hingga v2.1.206, mode otomatis mati di semua penyedia ini kecuali API Anthropic sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.217* **Penyedia**: tersedia secara default di API Anthropic, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk. Di v2.1.158 hingga v2.1.206, mode otomatis mati di semua penyedia ini kecuali API Anthropic sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.

218 218 

219Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, salah satu persyaratan ini tidak terpenuhi; ini bukan pemadaman sementara. Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan adalah pemadaman pengklasifikasi sementara; lihat [referensi kesalahan](/id/errors#auto-mode-cannot-determine-the-safety-of-an-action).219Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, salah satu persyaratan ini tidak terpenuhi; ini bukan pemadaman sementara. Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan adalah pemadaman pengklasifikasi sementara; lihat [referensi kesalahan](/docs/id/errors#auto-mode-cannot-determine-the-safety-of-an-action).

220 220 

221Jika Anda mengatur `defaultMode: "auto"` di [pengaturan](/id/settings#available-settings) dan sesi dimulai dalam mode `default` tanpa kesalahan, pengaturan kemungkinan berada di `.claude/settings.json` atau `.claude/settings.local.json`. Claude Code v2.1.142 dan lebih baru mengabaikan `auto` dari file-file tersebut sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Pindahkan ke `~/.claude/settings.json`.221Jika Anda mengatur `defaultMode: "auto"` di [pengaturan](/docs/id/settings#available-settings) dan sesi dimulai dalam mode `default` tanpa kesalahan, pengaturan kemungkinan berada di `.claude/settings.json` atau `.claude/settings.local.json`. Claude Code v2.1.142 dan lebih baru mengabaikan `auto` dari file-file tersebut sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Pindahkan ke `~/.claude/settings.json`.

222 222 

223<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">223<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

224 Mode otomatis di Bedrock, Agent Platform, atau Foundry224 Mode otomatis di Bedrock, Agent Platform, atau Foundry

225</h3>225</h3>

226 226 

227Di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, mode otomatis muncul dalam siklus `Shift+Tab` secara default. Muncul dalam siklus tidak mengubah mode yang dimulai sesi: sesi masih dimulai dalam [`defaultMode`](/id/settings#available-settings) Anda, yang Manual kecuali Anda mengubahnya. Hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di penyedia ini.227Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan sesi [Claude apps gateway](/docs/id/claude-apps-gateway) yang masuk, mode otomatis muncul dalam siklus `Shift+Tab` secara default. Muncul dalam siklus tidak mengubah mode yang dimulai sesi: sesi masih dimulai dalam [`defaultMode`](/docs/id/settings#available-settings) Anda, yang Manual kecuali Anda mengubahnya. Hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di penyedia ini.

228 228 

229Untuk menjadikan mode otomatis mode awal default, atur `"permissions": {"defaultMode": "auto"}` di pengaturan pengguna atau terkelola.229Untuk menjadikan mode otomatis mode awal default, atur `"permissions": {"defaultMode": "auto"}` di pengaturan pengguna atau terkelola.

230 230 

231Untuk mencegah pengembang menggunakan mode otomatis, atur `disableAutoMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings). Ini menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup.231Untuk mencegah pengembang menggunakan mode otomatis, atur `disableAutoMode` ke `"disable"` di [pengaturan terkelola](/docs/id/permissions#managed-settings). Ini menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup.

232 232 

233Di v2.1.158 hingga v2.1.206, mode otomatis mati di penyedia ini sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dan Claude Code mengabaikan `defaultMode: "auto"` di penyedia ini kecuali variabel juga diatur. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.233Di v2.1.158 hingga v2.1.206, mode otomatis mati di penyedia ini sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dan Claude Code mengabaikan `defaultMode: "auto"` di penyedia ini kecuali variabel juga diatur. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.

234 234 


236 Apa yang diblokir pengklasifikasi secara default236 Apa yang diblokir pengklasifikasi secara default

237</h3>237</h3>

238 238 

239Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuk itu ketika sesi dimulai. {/* min-version: 2.1.200 */}Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan `git remote add` atau `git remote set-url` tidak dipercaya, dan semuanya yang lain diperlakukan sebagai eksternal sampai Anda [mengkonfigurasi infrastruktur terpercaya](/id/auto-mode-config). Sebelum v2.1.200, remote yang ditambahkan di tengah sesi juga dipercaya.239Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuk itu ketika sesi dimulai. Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan `git remote add` atau `git remote set-url` tidak dipercaya, dan semuanya yang lain diperlakukan sebagai eksternal sampai Anda [mengkonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config). Sebelum v2.1.200, remote yang ditambahkan di tengah sesi juga dipercaya.

240 240 

241**Diblokir secara default**:241**Diblokir secara default**:

242 242 


248* Memodifikasi infrastruktur bersama248* Memodifikasi infrastruktur bersama

249* Menghancurkan file secara tidak dapat dipulihkan yang ada sebelum sesi249* Menghancurkan file secara tidak dapat dipulihkan yang ada sebelum sesi

250* Force push250* Force push

251* {/* min-version: 2.1.203 */}Mendorong ke cabang default repositori ketika push membawa konten sensitif seperti rahasia atau data pribadi atau terpercaya, membawa perubahan yang disembunyikan atau salah dideskripsikan relatif terhadap apa yang Anda minta, membawa konten yang diimpor atau pertama kali dibaca dari luar repositori, atau merutekan di sekitar pull request, review, atau check yang Anda minta. Push biasa ke cabang default tidak diblokir dengan sendirinya, dan menghapus push yang ditandai memerlukan penamaan konten yang ditandai atau review yang dilewati, bukan hanya push. Pengklasifikasi adalah satu lapisan: [aturan `permissions.deny`](/id/permissions#manage-permissions) berlaku di setiap mode dan dapat memblokir push ke cabang default sepenuhnya, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir251* Mendorong ke cabang default repositori ketika push membawa konten sensitif seperti rahasia atau data pribadi atau terpercaya, membawa perubahan yang disembunyikan atau salah dideskripsikan relatif terhadap apa yang Anda minta, membawa konten yang diimpor atau pertama kali dibaca dari luar repositori, atau merutekan di sekitar pull request, review, atau check yang Anda minta. Push biasa ke cabang default tidak diblokir dengan sendirinya, dan menghapus push yang ditandai memerlukan penamaan konten yang ditandai atau review yang dilewati, bukan hanya push. Pengklasifikasi adalah satu lapisan: [aturan `permissions.deny`](/docs/id/permissions#manage-permissions) berlaku di setiap mode dan dapat memblokir push ke cabang default sepenuhnya, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir

252* {/* min-version: 2.1.182 */}}`git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, atau `git stash clear`, yang pengklasifikasi asumsikan akan membuang perubahan yang belum dikomit252* }`git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, atau `git stash clear`, yang pengklasifikasi asumsikan akan membuang perubahan yang belum dikomit

253* `git commit --amend` ketika commit di HEAD tidak dibuat dalam sesi ini253* `git commit --amend` ketika commit di HEAD tidak dibuat dalam sesi ini

254* {/* min-version: 2.1.198 */}Dari v2.1.198, `git commit --amend` ketika commit di HEAD sudah didorong. Reword hanya pesan tidak diblokir: `--amend -m` tanpa apa pun yang baru dipentaskan, pada commit yang dibuat Claude selama sesi ini254* Dari v2.1.198, `git commit --amend` ketika commit di HEAD sudah didorong. Reword hanya pesan tidak diblokir: `--amend -m` tanpa apa pun yang baru dipentaskan, pada commit yang dibuat Claude selama sesi ini

255* `terraform destroy`, `pulumi destroy`, `cdk destroy`, atau `terragrunt destroy`, dan menerapkan rencana yang menghancurkan sumber daya255* `terraform destroy`, `pulumi destroy`, `cdk destroy`, atau `terragrunt destroy`, dan menerapkan rencana yang menghancurkan sumber daya

256 256 

257Claude Code v2.1.195 dan lebih baru memblokir lebih banyak kategori secara default. Beberapa bergantung pada entri [lingkungan](/id/auto-mode-config#define-trusted-infrastructure), seperti target jarak jauh sensitif dan cakupan IaC yang dilindungi, yang dapat Anda persempit ke nama konkret.257Claude Code v2.1.195 dan lebih baru memblokir lebih banyak kategori secara default. Beberapa bergantung pada entri [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure), seperti target jarak jauh sensitif dan cakupan IaC yang dilindungi, yang dapat Anda persempit ke nama konkret.

258 258 

259* Menulis ke manajer rahasia, atau mengubah catatan DNS atau sertifikat TLS259* Menulis ke manajer rahasia, atau mengubah catatan DNS atau sertifikat TLS

260* Menggabungkan permintaan tarik yang belum disetujui manusia, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI260* Menggabungkan permintaan tarik yang belum disetujui manusia, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI


266* Shell interaktif atau port-forward ke target jarak jauh sensitif266* Shell interaktif atau port-forward ke target jarak jauh sensitif

267* Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat dijangkau dari internet publik267* Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat dijangkau dari internet publik

268* Mencetak kredensial atau token langsung ke transkrip atau file268* Mencetak kredensial atau token langsung ke transkrip atau file

269* Mengakses lokasi yang tercantum sebagai lokasi data sensitif di [lingkungan](/id/auto-mode-config#define-trusted-infrastructure) Anda, atau menyalin data keluar dari satu. {/* min-version: 2.1.198 */}Mulai dari v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang entri kecualikan269* Mengakses lokasi yang tercantum sebagai lokasi data sensitif di [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure) Anda, atau menyalin data keluar dari satu. Mulai dari v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang entri kecualikan

270* Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau mirror ada dalam percakapan, bukan hanya ketika satu tercantum di lingkungan Anda270* Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. Mulai dari v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau mirror ada dalam percakapan, bukan hanya ketika satu tercantum di lingkungan Anda

271* Menjalankan perintah dengan bendera yang melucuti penjaga keselamatan, seperti `--insecure`271* Menjalankan perintah dengan bendera yang melucuti penjaga keselamatan, seperti `--insecure`

272* Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan `--dangerously-skip-permissions` atau `--no-sandbox`. {/* min-version: 2.1.198 */}Mulai dari v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan `--yes-always`272* Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan `--dangerously-skip-permissions` atau `--no-sandbox`. Mulai dari v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan `--yes-always`

273* Tindakan browser [Claude di Chrome](/id/chrome) yang dapat mengirim konten halaman, cookie, atau kredensial off-origin273* Tindakan browser [Claude di Chrome](/docs/id/chrome) yang dapat mengirim konten halaman, cookie, atau kredensial off-origin

274 274 

275Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:275Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:

276 276 

277* Menghapus file di `/tmp`, `$TMPDIR`, atau direktori scratch atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada dengan jalur bernama spesifik277* Menghapus file di `/tmp`, `$TMPDIR`, atau direktori scratch atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada dengan jalur bernama spesifik

278* Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. {/* min-version: 2.1.200 */}Badan PR dan issue, pesan komit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengenal akun, dan pengenal infrastruktur dihitung sebagai detail sensitif. Scoping PR, issue, dan pesan komit memerlukan Claude Code v2.1.200 atau lebih baru. {/* min-version: 2.1.203 */}Data pribadi langsung dari respons API dalam badan PR atau issue, seperti alamat email, pengenal akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas atau batas kepercayaan repositori. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru278* Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. Badan PR dan issue, pesan komit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengenal akun, dan pengenal infrastruktur dihitung sebagai detail sensitif. Scoping PR, issue, dan pesan komit memerlukan Claude Code v2.1.200 atau lebih baru. Data pribadi langsung dari respons API dalam badan PR atau issue, seperti alamat email, pengenal akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas atau batas kepercayaan repositori. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru

279* Mengirim keystroke ke pane tmux Claude Code sendiri untuk menjalankan antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izin atau pengawasannya sendiri279* Mengirim keystroke ke pane tmux Claude Code sendiri untuk menjalankan antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izin atau pengawasannya sendiri

280 280 

281Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:281Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:


284* Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu284* Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu

285* Menunjuk ulang URL dasar API, endpoint proxy, penerima webhook, atau mirror registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti `.env.example`285* Menunjuk ulang URL dasar API, endpoint proxy, penerima webhook, atau mirror registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti `.env.example`

286* Mengubah ke mana push pergi dengan `git remote set-url` atau `git remote add`, kecuali Anda menyebutkan remote baru286* Mengubah ke mana push pergi dengan `git remote set-url` atau `git remote add`, kecuali Anda menyebutkan remote baru

287* Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia lainnya ke sana yang bukan bagian dari pekerjaan repositori itu sendiri. {/* min-version: 2.1.203 */}Subjek repositori dotfiles itu sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi yang mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika itu bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya287* Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia lainnya ke sana yang bukan bagian dari pekerjaan repositori itu sendiri. Subjek repositori dotfiles itu sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi yang mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika itu bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya

288* Membuka permintaan tarik terhadap repositori atau organisasi yang berbeda, forking dengan `gh repo fork`, atau mendorong ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu288* Membuka permintaan tarik terhadap repositori atau organisasi yang berbeda, forking dengan `gh repo fork`, atau mendorong ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu

289 289 

290Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:290Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:


303* Membaca `.env` dan mengirim kredensial ke API yang cocok303* Membaca `.env` dan mengirim kredensial ke API yang cocok

304* Permintaan HTTP read-only304* Permintaan HTTP read-only

305* Push ke cabang yang Anda mulai atau yang dibuat Claude305* Push ke cabang yang Anda mulai atau yang dibuat Claude

306* {/* min-version: 2.1.203 */}Push rutin ke cabang default repositori. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir306* Push rutin ke cabang default repositori. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir

307 307 

308Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:308Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:

309 309 

310* Menghapus pekerjaan yang tepat yang dibuat Claude sebelumnya dalam sesi yang sama310* Menghapus pekerjaan yang tepat yang dibuat Claude sebelumnya dalam sesi yang sama

311* Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda311* Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda

312* Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama312* Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama

313* Mengirim data ke domain terpercaya, bucket, dan layanan yang Anda daftarkan di [`environment`](/id/auto-mode-config#define-trusted-infrastructure). Ini mencakup aliran data saja, bukan operasi destruktif atau kredensial pada infrastruktur yang sama313* Mengirim data ke domain terpercaya, bucket, dan layanan yang Anda daftarkan di [`environment`](/docs/id/auto-mode-config#define-trusted-infrastructure). Ini mencakup aliran data saja, bukan operasi destruktif atau kredensial pada infrastruktur yang sama

314* Navigasi [Claude di Chrome](/id/chrome) ke domain internal terpercaya, localhost, atau URL yang Anda beri nama314* Navigasi [Claude di Chrome](/docs/id/chrome) ke domain internal terpercaya, localhost, atau URL yang Anda beri nama

315 315 

316Permintaan akses jaringan sandbox dirutekan melalui pengklasifikasi daripada diizinkan secara default. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, pengklasifikasi menggunakan kembali vonis untuk host dan port jaringan daripada menjalankan ulang pada setiap koneksi:316Permintaan akses jaringan sandbox dirutekan melalui pengklasifikasi daripada diizinkan secara default. Mulai dari v2.1.198, pengklasifikasi menggunakan kembali vonis untuk host dan port jaringan daripada menjalankan ulang pada setiap koneksi:

317 317 

318* Izin digunakan kembali sampai konten baru memasuki percakapan, di mana titik host itu diperiksa lagi318* Izin digunakan kembali sampai konten baru memasuki percakapan, di mana titik host itu diperiksa lagi

319* Di CLI interaktif, penolakan dijatuhkan ketika giliran berakhir319* Di CLI interaktif, penolakan dijatuhkan ketika giliran berakhir

320* Di [mode non-interaktif](/id/headless) dan sesi Agent SDK tidak ada batas giliran, jadi penolakan digunakan kembali untuk sisa jalannya320* Di [mode non-interaktif](/docs/id/headless) dan sesi Agent SDK tidak ada batas giliran, jadi penolakan digunakan kembali untuk sisa jalannya

321* Mengubah mode izin atau aturan Anda menjatuhkan semua vonis yang di-cache321* Mengubah mode izin atau aturan Anda menjatuhkan semua vonis yang di-cache

322 322 

323Jalankan `claude auto-mode defaults` untuk melihat daftar aturan lengkap. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/id/auto-mode-config).323Jalankan `claude auto-mode defaults` untuk melihat daftar aturan lengkap. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/docs/id/auto-mode-config).

324 324 

325Push ke cabang kerja Anda, membuat push rutin ke cabang default repositori, dan membuat permintaan tarik yang cocok dengan permintaan Anda semua berjalan tanpa prompt. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang merutekan di sekitar review yang Anda atur. Untuk memerlukan checkpoint manusia sebelum tindakan ini sambil tetap dalam mode otomatis, tambahkan aturan `permissions.ask`: lihat [Batas umum](/id/auto-mode-config#common-boundaries).325Push ke cabang kerja Anda, membuat push rutin ke cabang default repositori, dan membuat permintaan tarik yang cocok dengan permintaan Anda semua berjalan tanpa prompt. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang merutekan di sekitar review yang Anda atur. Untuk memerlukan checkpoint manusia sebelum tindakan ini sambil tetap dalam mode otomatis, tambahkan aturan `permissions.ask`: lihat [Batas umum](/docs/id/auto-mode-config#common-boundaries).

326 326 

327<h3 id="boundaries-you-state-in-conversation">327<h3 id="boundaries-you-state-in-conversation">

328 Batas yang Anda nyatakan dalam percakapan328 Batas yang Anda nyatakan dalam percakapan


330 330 

331Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blokir. Jika Anda memberi tahu Claude "jangan push" atau "tunggu sampai saya tinjau sebelum deploy", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan mengizinkannya. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan yang lebih baru. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.331Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blokir. Jika Anda memberi tahu Claude "jangan push" atau "tunggu sampai saya tinjau sebelum deploy", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan mengizinkannya. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan yang lebih baru. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.

332 332 

333Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika [pemadatan konteks](/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan [aturan deny](/id/permissions#permission-rule-syntax) sebagai gantinya.333Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika [pemadatan konteks](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan [aturan deny](/docs/id/permissions#permission-rule-syntax) sebagai gantinya.

334 334 

335<h3 id="when-auto-mode-falls-back">335<h3 id="when-auto-mode-falls-back">

336 Ketika mode otomatis jatuh kembali336 Ketika mode otomatis jatuh kembali


340 340 

341Jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis dijeda dan Claude Code melanjutkan prompting. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Ambang batas ini tidak dapat dikonfigurasi. Tindakan yang diizinkan apa pun mengatur ulang penghitung berturut-turut, sementara penghitung total bertahan untuk sesi dan hanya direset ketika batasnya sendiri memicu fallback.341Jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis dijeda dan Claude Code melanjutkan prompting. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Ambang batas ini tidak dapat dikonfigurasi. Tindakan yang diizinkan apa pun mengatur ulang penghitung berturut-turut, sementara penghitung total bertahan untuk sesi dan hanya direset ketika batasnya sendiri memicu fallback.

342 342 

343Dalam [mode non-interaktif](/id/headless) dengan flag `-p`, blokir berulang membatalkan sesi karena tidak ada pengguna untuk diminta.343Dalam [mode non-interaktif](/docs/id/headless) dengan flag `-p`, blokir berulang membatalkan sesi karena tidak ada pengguna untuk diminta.

344 344 

345Blokir berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan `/feedback` untuk melaporkan positif palsu, atau minta administrator untuk [mengkonfigurasi infrastruktur terpercaya](/id/auto-mode-config).345Blokir berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan `/feedback` untuk melaporkan positif palsu, atau minta administrator untuk [mengkonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config).

346 346 

347<AccordionGroup>347<AccordionGroup>

348 <Accordion title="Bagaimana pengklasifikasi mengevaluasi tindakan">348 <Accordion title="Bagaimana pengklasifikasi mengevaluasi tindakan">

349 Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok menang:349 Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok menang:

350 350 

351 1. Tindakan yang cocok dengan [aturan allow, ask, atau deny Anda](/id/permissions#manage-permissions) diselesaikan segera. Penulisan ke [jalur yang dilindungi](#protected-paths) dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok. Alat connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) meminta Anda secara langsung bahkan ketika aturan allow cocok. Aturan ask yang dibatasi konten jatuh kembali ke prompt izin351 1. Tindakan yang cocok dengan [aturan allow, ask, atau deny Anda](/docs/id/permissions#manage-permissions) diselesaikan segera. Penulisan ke [jalur yang dilindungi](#protected-paths) dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok. Alat connector [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) meminta Anda secara langsung bahkan ketika aturan allow cocok. Aturan ask yang dibatasi konten jatuh kembali ke prompt izin

352 2. Tindakan read-only dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths)352 2. Tindakan read-only dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths)

353 3. Semuanya yang lain pergi ke pengklasifikasi. Alat connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) melewati pengklasifikasi dan meminta Anda secara langsung, jadi persetujuan yang diperlukan organisasi tidak pernah disetujui otomatis. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga melewati pengklasifikasi dan meminta Anda secara langsung, jadi langkah persetujuan tidak pernah disetujui otomatis atas nama penulis alat353 3. Semuanya yang lain pergi ke pengklasifikasi. Alat connector [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) melewati pengklasifikasi dan meminta Anda secara langsung, jadi persetujuan yang diperlukan organisasi tidak pernah disetujui otomatis. Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool) juga melewati pengklasifikasi dan meminta Anda secara langsung, jadi langkah persetujuan tidak pernah disetujui otomatis atas nama penulis alat

354 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif354 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif

355 355 

356 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:356 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:


366 </Accordion>366 </Accordion>

367 367 

368 <Accordion title="Bagaimana mode otomatis menangani subagen">368 <Accordion title="Bagaimana mode otomatis menangani subagen">

369 Pengklasifikasi memeriksa pekerjaan [subagen](/id/sub-agents) di tiga titik:369 Pengklasifikasi memeriksa pekerjaan [subagen](/docs/id/sub-agents) di tiga titik:

370 370 

371 1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.371 1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.

372 2. Saat subagen berjalan, setiap tindakannya melalui pengklasifikasi dengan aturan yang sama seperti sesi induk, dan `permissionMode` apa pun di frontmatter subagen diabaikan.372 2. Saat subagen berjalan, setiap tindakannya melalui pengklasifikasi dengan aturan yang sama seperti sesi induk, dan `permissionMode` apa pun di frontmatter subagen diabaikan.


376 </Accordion>376 </Accordion>

377 377 

378 <Accordion title="Biaya dan latensi">378 <Accordion title="Biaya dan latensi">

379 Pengklasifikasi berjalan pada model yang dikonfigurasi server yang independen dari pilihan `/model` Anda, jadi beralih model tidak mengubah ketersediaan pengklasifikasi. Panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan perjalanan bolak-balik sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead terutama berasal dari perintah shell dan operasi jaringan. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, vonis jaringan sandbox untuk host dan port digunakan kembali daripada diklasifikasi ulang pada setiap koneksi, jadi koneksi berulang ke host yang sama tidak masing-masing menambahkan pemeriksaan. [Apa yang diblokir pengklasifikasi secara default](#what-the-classifier-blocks-by-default) menjelaskan berapa lama izin dan penolakan berlangsung.379 Pengklasifikasi berjalan pada model yang dikonfigurasi server yang independen dari pilihan `/model` Anda, jadi beralih model tidak mengubah ketersediaan pengklasifikasi. Panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan perjalanan bolak-balik sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead terutama berasal dari perintah shell dan operasi jaringan. Mulai dari v2.1.198, vonis jaringan sandbox untuk host dan port digunakan kembali daripada diklasifikasi ulang pada setiap koneksi, jadi koneksi berulang ke host yang sama tidak masing-masing menambahkan pemeriksaan. [Apa yang diblokir pengklasifikasi secara default](#what-the-classifier-blocks-by-default) menjelaskan berapa lama izin dan penolakan berlangsung.

380 </Accordion>380 </Accordion>

381</AccordionGroup>381</AccordionGroup>

382 382 


384 Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk384 Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk

385</h2>385</h2>

386 386 

387Jika Anda menetapkan mode `dontAsk`, Claude Code secara otomatis menolak setiap panggilan alat yang akan meminta sebaliknya. Claude hanya menjalankan tindakan yang cocok dengan aturan `permissions.allow` Anda, [perintah Bash read-only](/id/permissions#read-only-commands), dan panggilan yang disetujui oleh [hook PreToolUse](/id/permissions#extend-permissions-with-hooks). Gunakan mode ini untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define dengan tepat apa yang Claude boleh lakukan; sesi tidak pernah menunggu input. Bilah status menunjukkan `⏵⏵ don't ask on` saat mode ini aktif.387Jika Anda menetapkan mode `dontAsk`, Claude Code secara otomatis menolak setiap panggilan alat yang akan meminta sebaliknya. Claude hanya menjalankan tindakan yang cocok dengan aturan `permissions.allow` Anda, [perintah Bash read-only](/docs/id/permissions#read-only-commands), dan panggilan yang disetujui oleh [hook PreToolUse](/docs/id/permissions#extend-permissions-with-hooks). Gunakan mode ini untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define dengan tepat apa yang Claude boleh lakukan; sesi tidak pernah menunggu input. Bilah status menunjukkan `⏵⏵ don't ask on` saat mode ini aktif.

388 388 

389Claude Code menolak panggilan yang cocok dengan aturan [`ask`](/id/permissions#manage-permissions) eksplisit Anda daripada meminta. Ini juga menolak alat `AskUserQuestion` bawaan dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), bahkan jika aturan allow Anda cocok dengannya. {/* min-version: 2.1.199 */}Ini menolak alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) dengan cara yang sama, karena kartu persetujuan mereka memerlukan jawaban yang mode ini tidak pernah kumpulkan; ini memerlukan Claude Code v2.1.199 atau lebih baru.389Claude Code menolak panggilan yang cocok dengan aturan [`ask`](/docs/id/permissions#manage-permissions) eksplisit Anda daripada meminta. Ini juga menolak alat `AskUserQuestion` bawaan dan alat konektor [yang organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), bahkan jika aturan allow Anda cocok dengannya. Ini menolak alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool) dengan cara yang sama, karena kartu persetujuan mereka memerlukan jawaban yang mode ini tidak pernah kumpulkan; ini memerlukan Claude Code v2.1.199 atau lebih baru.

390 390 

391Sesi cloud di [Claude Code di web](/id/claude-code-on-the-web) mengabaikan `defaultMode: "dontAsk"`; lihat [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) untuk detail.391Sesi cloud di [Claude Code di web](/docs/id/claude-code-on-the-web) mengabaikan `defaultMode: "dontAsk"`; lihat [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) untuk detail.

392 392 

393Atur saat startup dengan flag:393Atur saat startup dengan flag:

394 394 


402 402 

403Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke [jalur yang dilindungi](#protected-paths). Sebelum v2.1.126, penulisan jalur yang dilindungi masih meminta dalam mode ini.403Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke [jalur yang dilindungi](#protected-paths). Sebelum v2.1.126, penulisan jalur yang dilindungi masih meminta dalam mode ini.

404 404 

405Aturan [ask](/id/permissions#manage-permissions) yang eksplisit dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) masih memaksa prompt dalam mode ini. {/* min-version: 2.1.199 */}Alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga masih meminta; ini memerlukan Claude Code v2.1.199 atau lebih baru.405Aturan [ask](/docs/id/permissions#manage-permissions) yang eksplisit dan alat konektor [yang organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) masih memaksa prompt dalam mode ini. Alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool) juga masih meminta; ini memerlukan Claude Code v2.1.199 atau lebih baru.

406 406 

407Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, masih meminta sebagai pemutus sirkuit terhadap kesalahan model. {/* min-version: 2.1.208 */}Pemutus sirkuit juga aktif ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, baik penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Bentuk biasa, diketik sebagai perintahnya sendiri, telah meminta dalam mode ini sejak pemutus sirkuit diperkenalkan; sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut tidak meminta.407Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, masih meminta sebagai pemutus sirkuit terhadap kesalahan model. Pemutus sirkuit juga aktif ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, baik penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Bentuk biasa, diketik sebagai perintahnya sendiri, telah meminta dalam mode ini sejak pemutus sirkuit diperkenalkan; sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut tidak meminta.

408 408 

409<Warning>409<Warning>

410 Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer, VM, atau dev container tanpa akses internet, di mana Claude Code tidak dapat merusak sistem host Anda.410 Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer, VM, atau dev container tanpa akses internet, di mana Claude Code tidak dapat merusak sistem host Anda.


424--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons424--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

425```425```

426 426 

427Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi [dev container](/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.427Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi [dev container](/docs/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.

428 428 

429[Claude Code di web](/id/claude-code-on-the-web) tidak menghormati `defaultMode: "bypassPermissions"` atau `"dontAsk"` dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode yang ditampilkan di dropdown mode sebagai gantinya. Lihat [Beralih mode izin](#switch-permission-modes) untuk mode mana yang ditawarkan sesi cloud.429[Claude Code di web](/docs/id/claude-code-on-the-web) tidak menghormati `defaultMode: "bypassPermissions"` atau `"dontAsk"` dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode yang ditampilkan di dropdown mode sebagai gantinya. Lihat [Beralih mode izin](#switch-permission-modes) untuk mode mana yang ditawarkan sesi cloud.

430 430 

431<Warning>431<Warning>

432 `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode otomatis](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings).432 `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode otomatis](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` di [pengaturan terkelola](/docs/id/permissions#managed-settings).

433</Warning>433</Warning>

434 434 

435<h2 id="protected-paths">435<h2 id="protected-paths">


445| `dontAsk` | Ditolak |445| `dontAsk` | Ditolak |

446| `bypassPermissions` | Diizinkan |446| `bypassPermissions` | Diizinkan |

447 447 

448Aturan [`permissions.allow`](/id/permissions#manage-permissions) dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti `Edit(.claude/**)` dalam `~/.claude/settings.json` atau `.claude/settings.json` tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode yang meminta, prompt untuk penulisan `.claude/` menawarkan **Ya, dan izinkan Claude untuk mengedit pengaturannya sendiri untuk sesi ini**, yang menyetujui penulisan `.claude/` berikutnya dalam sesi itu tanpa meminta lagi.448Aturan [`permissions.allow`](/docs/id/permissions#manage-permissions) dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti `Edit(.claude/**)` dalam `~/.claude/settings.json` atau `.claude/settings.json` tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode yang meminta, prompt untuk penulisan `.claude/` menawarkan **Ya, dan izinkan Claude untuk mengedit pengaturannya sendiri untuk sesi ini**, yang menyetujui penulisan `.claude/` berikutnya dalam sesi itu tanpa meminta lagi.

449 449 

450Direktori yang dilindungi:450Direktori yang dilindungi:

451 451 


476 Lihat juga476 Lihat juga

477</h2>477</h2>

478 478 

479* [Permissions](/id/permissions): aturan allow, ask, dan deny; kebijakan terkelola479* [Permissions](/docs/id/permissions): aturan allow, ask, dan deny; kebijakan terkelola

480* [Konfigurasi mode otomatis](/id/auto-mode-config): beri tahu pengklasifikasi infrastruktur mana yang dipercaya organisasi Anda480* [Konfigurasi mode otomatis](/docs/id/auto-mode-config): beri tahu pengklasifikasi infrastruktur mana yang dipercaya organisasi Anda

481* [Hooks](/id/hooks): logika izin kustom melalui hook `PreToolUse` dan `PermissionRequest`481* [Hooks](/docs/id/hooks): logika izin kustom melalui hook `PreToolUse` dan `PermissionRequest`

482* [Ultraplan](/id/ultraplan): jalankan mode rencana dalam sesi Claude Code di web dengan tinjauan berbasis browser482* [Ultraplan](/docs/id/ultraplan): jalankan mode rencana dalam sesi Claude Code di web dengan tinjauan berbasis browser

483* [Security](/id/security): perlindungan dan praktik terbaik483* [Security](/docs/id/security): perlindungan dan praktik terbaik

484* [Sandboxing](/id/sandboxing): isolasi filesystem dan jaringan untuk perintah Bash484* [Sandboxing](/docs/id/sandboxing): isolasi filesystem dan jaringan untuk perintah Bash

485* [Mode non-interaktif](/id/headless): jalankan Claude Code dengan flag `-p`485* [Mode non-interaktif](/docs/id/headless): jalankan Claude Code dengan flag `-p`

permissions.md +56 −56

Details

22 22 

23Pada prompt izin Bash atau PowerShell, tekan `Ctrl+E` untuk menampilkan penjelasan perintah: apa yang dilakukannya, mengapa Claude menjalankannya, dan apa yang bisa salah, diberi label **Risiko rendah**, **Risiko sedang**, atau **Risiko tinggi**. Claude Code mengirimkan perintah dan deskripsi Claude sendiri tentang panggilan tersebut ke model untuk menghasilkan penjelasan hanya ketika Anda menekan `Ctrl+E`, bukan pada setiap prompt. Menampilkan penjelasan tidak menjalankan perintah; tekan `Ctrl+E` lagi untuk menyembunyikannya.23Pada prompt izin Bash atau PowerShell, tekan `Ctrl+E` untuk menampilkan penjelasan perintah: apa yang dilakukannya, mengapa Claude menjalankannya, dan apa yang bisa salah, diberi label **Risiko rendah**, **Risiko sedang**, atau **Risiko tinggi**. Claude Code mengirimkan perintah dan deskripsi Claude sendiri tentang panggilan tersebut ke model untuk menghasilkan penjelasan hanya ketika Anda menekan `Ctrl+E`, bukan pada setiap prompt. Menampilkan penjelasan tidak menjalankan perintah; tekan `Ctrl+E` lagi untuk menyembunyikannya.

24 24 

25Untuk mematikan pintasan, atur [`permissionExplainerEnabled`](/id/settings#global-config-settings) ke `false` dalam `~/.claude.json`.25Untuk mematikan pintasan, atur [`permissionExplainerEnabled`](/docs/id/settings#global-config-settings) ke `false` dalam `~/.claude.json`.

26 26 

27<h2 id="manage-permissions">27<h2 id="manage-permissions">

28 Kelola izin28 Kelola izin


41Aturan deny berperilaku berbeda tergantung pada apakah mereka menamai alat atau membatasi pola dalam satu alat. Nama alat biasa seperti `Bash` menghapus alat dari konteks Claude sepenuhnya, jadi Claude tidak pernah melihatnya. Aturan yang dibatasi seperti `Bash(rm *)` membiarkan alat tersedia dan memblokir panggilan yang cocok ketika Claude mencoba menggunakannya.41Aturan deny berperilaku berbeda tergantung pada apakah mereka menamai alat atau membatasi pola dalam satu alat. Nama alat biasa seperti `Bash` menghapus alat dari konteks Claude sepenuhnya, jadi Claude tidak pernah melihatnya. Aturan yang dibatasi seperti `Bash(rm *)` membiarkan alat tersedia dan memblokir panggilan yang cocok ketika Claude mencoba menggunakannya.

42 42 

43<Note>43<Note>

44 Aturan izin ditegakkan oleh Claude Code, bukan oleh model. Instruksi dalam prompt Anda atau `CLAUDE.md` membentuk apa yang Claude coba lakukan, tetapi mereka tidak mengubah apa yang Claude Code izinkan. Untuk memberikan atau mencabut akses, gunakan `/permissions`, aturan yang dijelaskan di sini, [mode izin](/id/permission-modes), atau [hook PreToolUse](#extend-permissions-with-hooks).44 Aturan izin ditegakkan oleh Claude Code, bukan oleh model. Instruksi dalam prompt Anda atau `CLAUDE.md` membentuk apa yang Claude coba lakukan, tetapi mereka tidak mengubah apa yang Claude Code izinkan. Untuk memberikan atau mencabut akses, gunakan `/permissions`, aturan yang dijelaskan di sini, [mode izin](/docs/id/permission-modes), atau [hook PreToolUse](#extend-permissions-with-hooks).

45</Note>45</Note>

46 46 

47<h2 id="permission-modes">47<h2 id="permission-modes">

48 Mode izin48 Mode izin

49</h2>49</h2>

50 50 

51Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Atur `defaultMode` dalam [file pengaturan](/id/settings#settings-files) Anda:51Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/docs/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Atur `defaultMode` dalam [file pengaturan](/docs/id/settings#settings-files) Anda:

52 52 

53| Mode | Deskripsi |53| Mode | Deskripsi |

54| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |54| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

55| `default` | Perilaku standar: meminta izin pada penggunaan pertama setiap alat. {/* min-version: 2.1.200 */}Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |55| `default` | Perilaku standar: meminta izin pada penggunaan pertama setiap alat. Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |

56| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |56| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |

57| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda. Berlabel Plan di CLI dan ekstensi VS Code |57| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda. Berlabel Plan di CLI dan ekstensi VS Code |

58| `auto` | Secara otomatis menyetujui panggilan alat dengan pemeriksaan keamanan latar belakang yang memverifikasi tindakan selaras dengan permintaan Anda |58| `auto` | Secara otomatis menyetujui panggilan alat dengan pemeriksaan keamanan latar belakang yang memverifikasi tindakan selaras dengan permintaan Anda |

59| `dontAsk` | Secara otomatis menolak alat kecuali pra-disetujui melalui `/permissions` atau aturan `permissions.allow`. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |59| `dontAsk` | Secara otomatis menolak alat kecuali pra-disetujui melalui `/permissions` atau aturan `permissions.allow`. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |

60| `bypassPermissions` | Melewati prompt izin, kecuali yang dipaksa oleh aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool). Penghapusan direktori root dan home seperti `rm -rf /` juga masih meminta sebagai circuit breaker |60| `bypassPermissions` | Melewati prompt izin, kecuali yang dipaksa oleh aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool). Penghapusan direktori root dan home seperti `rm -rf /` juga masih meminta sebagai circuit breaker |

61 61 

62<Warning>62<Warning>

63 Mode `bypassPermissions` melewati prompt izin, termasuk untuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer atau VM tempat Claude Code tidak dapat menyebabkan kerusakan.63 Mode `bypassPermissions` melewati prompt izin, termasuk untuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer atau VM tempat Claude Code tidak dapat menyebabkan kerusakan.

64 64 

65 Beberapa prompt masih aktif dalam mode ini. Aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) masih meminta. Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, juga meminta sebagai circuit breaker terhadap kesalahan model, {/* min-version: 2.1.208 */}termasuk ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`. Sebelum v2.1.208, hanya bentuk biasa, seperti `rm -rf ~` yang diketik sebagai perintahnya sendiri, yang meminta; perintah yang mencapai penghapusan melalui substitusi tidak.65 Beberapa prompt masih aktif dalam mode ini. Aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) masih meminta. Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, juga meminta sebagai circuit breaker terhadap kesalahan model, termasuk ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`. Sebelum v2.1.208, hanya bentuk biasa, seperti `rm -rf ~` yang diketik sebagai perintahnya sendiri, yang meminta; perintah yang mencapai penghapusan melalui substitusi tidak.

66</Warning>66</Warning>

67 67 

68Untuk mencegah mode `bypassPermissions` atau `auto` digunakan, atur `permissions.disableBypassPermissionsMode` atau `permissions.disableAutoMode` ke `"disable"` dalam [file pengaturan](/id/settings#settings-files) apa pun. Ini paling berguna dalam [pengaturan terkelola](#managed-settings) di mana mereka tidak dapat ditimpa.68Untuk mencegah mode `bypassPermissions` atau `auto` digunakan, atur `permissions.disableBypassPermissionsMode` atau `permissions.disableAutoMode` ke `"disable"` dalam [file pengaturan](/docs/id/settings#settings-files) apa pun. Ini paling berguna dalam [pengaturan terkelola](#managed-settings) di mana mereka tidak dapat ditimpa.

69 69 

70<h2 id="permission-rule-syntax">70<h2 id="permission-rule-syntax">

71 Sintaks aturan izin71 Sintaks aturan izin


117* Setiap aturan menamai satu parameter. Untuk membatasi pada `model` dan `isolation`, tulis dua aturan, `Agent(model:opus)` dan `Agent(isolation:worktree)`, daripada menggabungkannya dalam satu aturan117* Setiap aturan menamai satu parameter. Untuk membatasi pada `model` dan `isolation`, tulis dua aturan, `Agent(model:opus)` dan `Agent(isolation:worktree)`, daripada menggabungkannya dalam satu aturan

118* Nilai mendukung `*` sebagai wildcard yang mencocokkan urutan karakter apa pun, jadi `Agent(isolation:*)` mencocokkan nilai isolasi eksplisit apa pun. Tanpa `*` pencocokan bersifat tepat118* Nilai mendukung `*` sebagai wildcard yang mencocokkan urutan karakter apa pun, jadi `Agent(isolation:*)` mencocokkan nilai isolasi eksplisit apa pun. Tanpa `*` pencocokan bersifat tepat

119* Parameter yang dihilangkan model tidak pernah dicocokkan, jadi `Agent(model:*)` tidak mencocokkan panggilan yang membiarkan `model` tidak diatur119* Parameter yang dihilangkan model tidak pernah dicocokkan, jadi `Agent(model:*)` tidak mencocokkan panggilan yang membiarkan `model` tidak diatur

120* Nilai dibandingkan dengan input literal yang dikirim Claude, sebelum normalisasi apa pun. `Agent(model:opus)` mencocokkan alias `opus` tetapi bukan ID model lengkap. Jalankan dengan [`--verbose`](/id/cli-reference) untuk melihat nama dan nilai parameter yang tepat dalam setiap panggilan alat120* Nilai dibandingkan dengan input literal yang dikirim Claude, sebelum normalisasi apa pun. `Agent(model:opus)` mencocokkan alias `opus` tetapi bukan ID model lengkap. Jalankan dengan [`--verbose`](/docs/id/cli-reference) untuk melihat nama dan nilai parameter yang tepat dalam setiap panggilan alat

121* Spasi di sekitar titik dua diabaikan121* Spasi di sekitar titik dua diabaikan

122 122 

123Bidang yang sudah dicocokkan alat dengan aturan canonicalizing miliknya sendiri tidak dapat dicocokkan dengan cara ini: `command` untuk Bash dan PowerShell, `file_path` untuk Read, Edit, dan Write, `path` untuk Grep dan Glob, `notebook_path` untuk NotebookEdit, dan `url` untuk WebFetch. Aturan seperti `Bash(command:rm *)` dapat dilewati oleh perintah gabungan, jadi Claude Code mengabaikannya dan mengeluarkan peringatan startup. Gunakan `Bash(rm *)`, `Read(./path)`, atau `WebFetch(domain:host)` sebagai gantinya.123Bidang yang sudah dicocokkan alat dengan aturan canonicalizing miliknya sendiri tidak dapat dicocokkan dengan cara ini: `command` untuk Bash dan PowerShell, `file_path` untuk Read, Edit, dan Write, `path` untuk Grep dan Glob, `notebook_path` untuk NotebookEdit, dan `url` untuk WebFetch. Aturan seperti `Bash(command:rm *)` dapat dilewati oleh perintah gabungan, jadi Claude Code mengabaikannya dan mengeluarkan peringatan startup. Gunakan `Bash(rm *)`, `Read(./path)`, atau `WebFetch(domain:host)` sebagai gantinya.


169 169 

170Aturan penolakan atau tanya yang nama alatnya tidak cocok dengan alat yang dikenal menghasilkan peringatan startup untuk menangkap kesalahan ketik. Nama alat yang berisi `_` atau `*` dikecualikan dari pemeriksaan.170Aturan penolakan atau tanya yang nama alatnya tidak cocok dengan alat yang dikenal menghasilkan peringatan startup untuk menangkap kesalahan ketik. Nama alat yang berisi `_` atau `*` dikecualikan dari pemeriksaan.

171 171 

172Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat yang diberi label `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/id/hooks) hanya cocok dengan nama kanonik, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan penolakan dan tanya, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/id/tools-reference).172Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat yang diberi label `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/docs/id/hooks) hanya cocok dengan nama kanonik, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan penolakan dan tanya, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/docs/id/tools-reference).

173 173 

174<h2 id="tool-specific-permission-rules">174<h2 id="tool-specific-permission-rules">

175 Aturan izin khusus alat175 Aturan izin khusus alat


271 Read dan Edit271 Read dan Edit

272</h3>272</h3>

273 273 

274Aturan `Edit` berlaku untuk semua alat bawaan yang mengedit file. Claude membuat upaya terbaik untuk menerapkan aturan `Read` ke semua alat bawaan yang membaca file seperti Grep dan Glob, ke penyebutan `@file` dalam prompt Anda, dan ke seleksi dan konteks file terbuka yang [IDE](/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.274Aturan `Edit` berlaku untuk semua alat bawaan yang mengedit file. Claude membuat upaya terbaik untuk menerapkan aturan `Read` ke semua alat bawaan yang membaca file seperti Grep dan Glob, ke penyebutan `@file` dalam prompt Anda, dan ke seleksi dan konteks file terbuka yang [IDE](/docs/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.

275 275 

276Aturan deny `Read` juga memblokir [alat Edit](/id/errors#file-is-covered-by-a-read-deny-rule) pada jalur yang sama, termasuk membuat file baru di sana. Write dan NotebookEdit tidak tercakup, jadi tambahkan aturan deny `Edit` untuk jalur yang tidak boleh diubah alat apa pun. Memerlukan Claude Code v2.1.208 atau lebih baru.276Aturan deny `Read` juga memblokir [alat Edit](/docs/id/errors#file-is-covered-by-a-read-deny-rule) pada jalur yang sama, termasuk membuat file baru di sana. Write dan NotebookEdit tidak tercakup, jadi tambahkan aturan deny `Edit` untuk jalur yang tidak boleh diubah alat apa pun. Memerlukan Claude Code v2.1.208 atau lebih baru.

277 277 

278<Warning>278<Warning>

279 Aturan deny Read dan Edit berlaku untuk alat file bawaan Claude dan untuk perintah file yang Claude Code kenali di Bash, seperti `cat`, `head`, `tail`, dan `sed`. Mereka tidak berlaku untuk subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file itu sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/id/sandboxing).279 Aturan deny Read dan Edit berlaku untuk alat file bawaan Claude dan untuk perintah file yang Claude Code kenali di Bash, seperti `cat`, `head`, `tail`, dan `sed`. Mereka tidak berlaku untuk subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file itu sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/docs/id/sandboxing).

280</Warning>280</Warning>

281 281 

282Aturan Read dan Edit keduanya mengikuti spesifikasi [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda:282Aturan Read dan Edit keduanya mengikuti spesifikasi [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda:


354* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga mencocokkan semua alat dari server `puppeteer`354* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga mencocokkan semua alat dari server `puppeteer`

355* `mcp__puppeteer__puppeteer_navigate` mencocokkan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`355* `mcp__puppeteer__puppeteer_navigate` mencocokkan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`

356 356 

357Jika organisasi Anda telah menetapkan alat [konektor claude.ai](/id/mcp#organization-controls-on-connector-tools) ke `ask`, aturan allow untuk alat itu tidak berlaku: Claude Code meminta pada setiap panggilan, bahkan dalam mode `auto` dan `bypassPermissions`. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya. Alat konektor muncul sebagai `mcp__claude_ai_<server>__<tool>`.357Jika organisasi Anda telah menetapkan alat [konektor claude.ai](/docs/id/mcp#organization-controls-on-connector-tools) ke `ask`, aturan allow untuk alat itu tidak berlaku: Claude Code meminta pada setiap panggilan, bahkan dalam mode `auto` dan `bypassPermissions`. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya. Alat konektor muncul sebagai `mcp__claude_ai_<server>__<tool>`.

358 358 

359<h3 id="agent-subagents">359<h3 id="agent-subagents">

360 Agent (subagents)360 Agent (subagents)

361</h3>361</h3>

362 362 

363Gunakan aturan `Agent(AgentName)` untuk mengontrol [subagents](/id/sub-agents) mana yang dapat digunakan Claude:363Gunakan aturan `Agent(AgentName)` untuk mengontrol [subagents](/docs/id/sub-agents) mana yang dapat digunakan Claude:

364 364 

365* `Agent(Explore)` mencocokkan subagent Explore365* `Agent(Explore)` mencocokkan subagent Explore

366* `Agent(Plan)` mencocokkan subagent Plan366* `Agent(Plan)` mencocokkan subagent Plan


380 Cd380 Cd

381</h3>381</h3>

382 382 

383Aturan `Cd` mengontrol direktori mana yang dapat dipindahkan oleh perintah [`/cd`](/id/commands) ke sesi. `Cd` bukan alat yang dapat dipanggil model: Claude tidak dapat memanggilnya, dan aturan hanya berlaku ketika Anda menjalankan `/cd` sendiri.383Aturan `Cd` mengontrol direktori mana yang dapat dipindahkan oleh perintah [`/cd`](/docs/id/commands) ke sesi. `Cd` bukan alat yang dapat dipanggil model: Claude tidak dapat memanggilnya, dan aturan hanya berlaku ketika Anda menjalankan `/cd` sendiri.

384 384 

385Aturan deny `Cd` telanjang menonaktifkan `/cd` sepenuhnya. Aturan deny `Cd(<path-pattern>)` memblokir target yang cocok. Aturan deny memeriksa setiap ejaan target, termasuk setiap lompatan symlink yang diselesaikannya, jadi aturan yang ditulis untuk satu jalur juga memblokir target yang diselesaikan ke itu.385Aturan deny `Cd` telanjang menonaktifkan `/cd` sepenuhnya. Aturan deny `Cd(<path-pattern>)` memblokir target yang cocok. Aturan deny memeriksa setiap ejaan target, termasuk setiap lompatan symlink yang diselesaikannya, jadi aturan yang ditulis untuk satu jalur juga memblokir target yang diselesaikan ke itu.

386 386 


398 Perluas izin dengan hook398 Perluas izin dengan hook

399</h2>399</h2>

400 400 

401[Hook Claude Code](/id/hooks-guide) menyediakan cara untuk mendaftarkan perintah shell kustom guna melakukan evaluasi izin saat runtime. Ketika Claude Code membuat panggilan alat, hook PreToolUse berjalan sebelum prompt izin. Output hook dapat menolak panggilan alat, memaksa prompt, atau melewati prompt untuk membiarkan panggilan berlanjut.401[Hook Claude Code](/docs/id/hooks-guide) menyediakan cara untuk mendaftarkan perintah shell kustom guna melakukan evaluasi izin saat runtime. Ketika Claude Code membuat panggilan alat, hook PreToolUse berjalan sebelum prompt izin. Output hook dapat menolak panggilan alat, memaksa prompt, atau melewati prompt untuk membiarkan panggilan berlanjut.

402 402 

403Keputusan hook tidak melewati aturan izin. Claude Code mengevaluasi aturan deny dan ask terlepas dari apa yang dikembalikan hook PreToolUse: aturan deny yang cocok memblokir panggilan, dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.403Keputusan hook tidak melewati aturan izin. Claude Code mengevaluasi aturan deny dan ask terlepas dari apa yang dikembalikan hook PreToolUse: aturan deny yang cocok memblokir panggilan, dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.

404 404 

405Alat Connector [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) juga masih meminta ketika hook mengembalikan `"allow"`.405Alat Connector [yang organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) juga masih meminta ketika hook mengembalikan `"allow"`.

406 406 

407Hook pemblokiran juga memiliki prioritas atas aturan allow. Hook yang keluar dengan kode 2 menghentikan panggilan alat sebelum aturan izin dievaluasi, jadi blokir berlaku bahkan ketika aturan allow akan membiarkan panggilan berlanjut. Untuk menjalankan semua perintah Bash tanpa prompt kecuali untuk beberapa yang ingin Anda blokir, tambahkan `"Bash"` ke daftar allow Anda dan daftarkan hook PreToolUse yang menolak perintah tertentu itu. Lihat [Block edits to protected files](/id/hooks-guide#block-edits-to-protected-files) untuk skrip hook yang dapat Anda sesuaikan.407Hook pemblokiran juga memiliki prioritas atas aturan allow. Hook yang keluar dengan kode 2 menghentikan panggilan alat sebelum aturan izin dievaluasi, jadi blokir berlaku bahkan ketika aturan allow akan membiarkan panggilan berlanjut. Untuk menjalankan semua perintah Bash tanpa prompt kecuali untuk beberapa yang ingin Anda blokir, tambahkan `"Bash"` ke daftar allow Anda dan daftarkan hook PreToolUse yang menolak perintah tertentu itu. Lihat [Block edits to protected files](/docs/id/hooks-guide#block-edits-to-protected-files) untuk skrip hook yang dapat Anda sesuaikan.

408 408 

409<h2 id="working-directories">409<h2 id="working-directories">

410 Direktori kerja410 Direktori kerja


414 414 

415* **Saat startup**: gunakan argumen CLI `--add-dir <path>`415* **Saat startup**: gunakan argumen CLI `--add-dir <path>`

416* **Selama sesi**: gunakan perintah `/add-dir`416* **Selama sesi**: gunakan perintah `/add-dir`

417* **Konfigurasi persisten**: tambahkan ke `additionalDirectories` dalam [file pengaturan](/id/settings#settings-files)417* **Konfigurasi persisten**: tambahkan ke `additionalDirectories` dalam [file pengaturan](/docs/id/settings#settings-files)

418 418 

419File di direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli: mereka menjadi dapat dibaca tanpa prompt, dan izin edit file mengikuti mode izin saat ini.419File di direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli: mereka menjadi dapat dibaca tanpa prompt, dan izin edit file mengikuti mode izin saat ini.

420 420 

421Dalam sesi latar belakang di macOS, host sesi meminta akses ke folder yang dilindungi seperti `~/Desktop`, `~/Documents`, dan `~/Downloads` secara terpisah dari terminal Anda ketika Claude perlu membaca atau menulis file di sana; jika pembacaan di sana gagal dengan `Operation not permitted`, lihat [cara memberikan akses folder ke sesi latar belakang](/id/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).421Dalam sesi latar belakang di macOS, host sesi meminta akses ke folder yang dilindungi seperti `~/Desktop`, `~/Documents`, dan `~/Downloads` secara terpisah dari terminal Anda ketika Claude perlu membaca atau menulis file di sana; jika pembacaan di sana gagal dengan `Operation not permitted`, lihat [cara memberikan akses folder ke sesi latar belakang](/docs/id/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).

422 422 

423Untuk mengubah direktori kerja utama sesi alih-alih menambahkan direktori lain, gunakan [`/cd`](/id/commands). Perintah `/cd` memerlukan Claude Code v2.1.169 atau lebih baru. Tidak seperti `/add-dir`, perintah ini memindahkan sesi: `CLAUDE.md` direktori baru dimuat dan `--resume` menemukan sesi dari sana.423Untuk mengubah direktori kerja utama sesi alih-alih menambahkan direktori lain, gunakan [`/cd`](/docs/id/commands). Perintah `/cd` memerlukan Claude Code v2.1.169 atau lebih baru. Tidak seperti `/add-dir`, perintah ini memindahkan sesi: `CLAUDE.md` direktori baru dimuat dan `--resume` menemukan sesi dari sana.

424 424 

425<h3 id="additional-directories-grant-file-access-not-configuration">425<h3 id="additional-directories-grant-file-access-not-configuration">

426 Direktori tambahan memberikan akses file, bukan konfigurasi426 Direktori tambahan memberikan akses file, bukan konfigurasi


434 434 

435| Konfigurasi | Dimuat dari `--add-dir` |435| Konfigurasi | Dimuat dari `--add-dir` |

436| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |436| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

437| [Skills](/id/skills) di `.claude/skills/` | Ya, dengan live reload |437| [Skills](/docs/id/skills) di `.claude/skills/` | Ya, dengan live reload |

438| [Subagents](/id/sub-agents) di `.claude/agents/` | Ya |438| [Subagents](/docs/id/sub-agents) di `.claude/agents/` | Ya |

439| [Settings](/id/settings) di `.claude/settings.json` dan `.claude/settings.local.json` | Kunci `enabledPlugins` dan `extraKnownMarketplaces` saja |439| [Settings](/docs/id/settings) di `.claude/settings.json` dan `.claude/settings.local.json` | Kunci `enabledPlugins` dan `extraKnownMarketplaces` saja |

440| File [CLAUDE.md](/id/memory), `.claude/rules/`, dan `CLAUDE.local.md` | Hanya ketika `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` diatur. `CLAUDE.local.md` juga memerlukan sumber pengaturan `local`, yang diaktifkan secara default |440| File [CLAUDE.md](/docs/id/memory), `.claude/rules/`, dan `CLAUDE.local.md` | Hanya ketika `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` diatur. `CLAUDE.local.md` juga memerlukan sumber pengaturan `local`, yang diaktifkan secara default |

441 441 

442Perintah dan output styles ditemukan dari direktori kerja saat ini dan induknya, direktori pengguna Anda di `~/.claude/`, dan pengaturan terkelola. Hooks dan kunci `settings.json` lainnya dimuat dari folder `.claude/` direktori kerja saat ini tanpa fallback direktori induk, bersama dengan `~/.claude/settings.json` pengguna Anda dan pengaturan terkelola. Untuk berbagi konfigurasi itu di seluruh proyek, gunakan salah satu pendekatan ini:442Perintah dan output styles ditemukan dari direktori kerja saat ini dan induknya, direktori pengguna Anda di `~/.claude/`, dan pengaturan terkelola. Hooks dan kunci `settings.json` lainnya dimuat dari folder `.claude/` direktori kerja saat ini tanpa fallback direktori induk, bersama dengan `~/.claude/settings.json` pengguna Anda dan pengaturan terkelola. Untuk berbagi konfigurasi itu di seluruh proyek, gunakan salah satu pendekatan ini:

443 443 

444* **Konfigurasi tingkat pengguna**: tempatkan file di `~/.claude/agents/`, `~/.claude/output-styles/`, atau `~/.claude/settings.json` untuk membuatnya tersedia di setiap proyek444* **Konfigurasi tingkat pengguna**: tempatkan file di `~/.claude/agents/`, `~/.claude/output-styles/`, atau `~/.claude/settings.json` untuk membuatnya tersedia di setiap proyek

445* **Plugins**: paket dan distribusikan konfigurasi sebagai [plugin](/id/plugins) yang dapat diinstal tim445* **Plugins**: paket dan distribusikan konfigurasi sebagai [plugin](/docs/id/plugins) yang dapat diinstal tim

446* **Luncurkan dari direktori konfigurasi**: jalankan Claude Code dari direktori yang berisi konfigurasi `.claude/` yang ingin Anda gunakan446* **Luncurkan dari direktori konfigurasi**: jalankan Claude Code dari direktori yang berisi konfigurasi `.claude/` yang ingin Anda gunakan

447 447 

448<h2 id="how-permissions-interact-with-sandboxing">448<h2 id="how-permissions-interact-with-sandboxing">

449 Bagaimana izin berinteraksi dengan sandboxing449 Bagaimana izin berinteraksi dengan sandboxing

450</h2>450</h2>

451 451 

452Izin dan [sandboxing](/id/sandboxing) adalah lapisan keamanan pelengkap:452Izin dan [sandboxing](/docs/id/sandboxing) adalah lapisan keamanan pelengkap:

453 453 

454* **Izin** mengontrol alat mana yang dapat digunakan Claude Code dan file atau domain mana yang dapat diaksesnya. Mereka berlaku untuk semua alat, termasuk Bash, Read, Edit, WebFetch, dan MCP.454* **Izin** mengontrol alat mana yang dapat digunakan Claude Code dan file atau domain mana yang dapat diaksesnya. Mereka berlaku untuk semua alat, termasuk Bash, Read, Edit, WebFetch, dan MCP.

455* **Sandboxing** menyediakan penegakan tingkat OS yang membatasi akses sistem file dan jaringan alat Bash. Ini hanya berlaku untuk perintah Bash dan proses anak mereka.455* **Sandboxing** menyediakan penegakan tingkat OS yang membatasi akses sistem file dan jaringan alat Bash. Ini hanya berlaku untuk perintah Bash dan proses anak mereka.


458 458 

459* Aturan deny izin memblokir Claude dari bahkan mencoba mengakses sumber daya terbatas459* Aturan deny izin memblokir Claude dari bahkan mencoba mengakses sumber daya terbatas

460* Pembatasan sandbox mencegah perintah Bash menjangkau sumber daya di luar batas yang ditentukan, bahkan jika injeksi prompt melewati pengambilan keputusan Claude460* Pembatasan sandbox mencegah perintah Bash menjangkau sumber daya di luar batas yang ditentukan, bahkan jika injeksi prompt melewati pengambilan keputusan Claude

461* Pembatasan sistem file di sandbox menggabungkan pengaturan [`sandbox.filesystem`](/id/sandboxing) dengan aturan deny Read dan Edit; keduanya digabungkan ke dalam batas sandbox akhir461* Pembatasan sistem file di sandbox menggabungkan pengaturan [`sandbox.filesystem`](/docs/id/sandboxing) dengan aturan deny Read dan Edit; keduanya digabungkan ke dalam batas sandbox akhir

462* Pembatasan jaringan menggabungkan aturan izin WebFetch dengan daftar `allowedDomains` dan `deniedDomains` sandbox462* Pembatasan jaringan menggabungkan aturan izin WebFetch dengan daftar `allowedDomains` dan `deniedDomains` sandbox

463 463 

464Ketika sandboxing diaktifkan dengan `autoAllowBashIfSandboxed: true`, yang merupakan default, perintah Bash yang di-sandbox berjalan tanpa meminta bahkan jika izin Anda mencakup aturan ask `Bash` biasa, atau [bentuk setara `Bash(*)`](#match-all-uses-of-a-tool): batas sandbox menggantikan prompt seluruh alat tersebut. Aturan ask yang dibatasi konten seperti `Bash(git push *)` masih memaksa prompt, aturan deny eksplisit masih berlaku, dan perintah `rm` atau `rmdir` yang menargetkan `/`, direktori home Anda, atau jalur sistem kritis lainnya masih memicu prompt. Perintah yang tidak akan berjalan di sandbox, seperti perintah yang dikecualikan, menghormati aturan ask `Bash` biasa seperti biasanya. Lihat [sandbox modes](/id/sandboxing#sandbox-modes) untuk mengubah perilaku ini.464Ketika sandboxing diaktifkan dengan `autoAllowBashIfSandboxed: true`, yang merupakan default, perintah Bash yang di-sandbox berjalan tanpa meminta bahkan jika izin Anda mencakup aturan ask `Bash` biasa, atau [bentuk setara `Bash(*)`](#match-all-uses-of-a-tool): batas sandbox menggantikan prompt seluruh alat tersebut. Aturan ask yang dibatasi konten seperti `Bash(git push *)` masih memaksa prompt, aturan deny eksplisit masih berlaku, dan perintah `rm` atau `rmdir` yang menargetkan `/`, direktori home Anda, atau jalur sistem kritis lainnya masih memicu prompt. Perintah yang tidak akan berjalan di sandbox, seperti perintah yang dikecualikan, menghormati aturan ask `Bash` biasa seperti biasanya. Lihat [sandbox modes](/docs/id/sandboxing#sandbox-modes) untuk mengubah perilaku ini.

465 465 

466<h2 id="managed-settings">466<h2 id="managed-settings">

467 Pengaturan terkelola467 Pengaturan terkelola

468</h2>468</h2>

469 469 

470Untuk organisasi yang memerlukan kontrol terpusat atas konfigurasi Claude Code, administrator dapat menerapkan pengaturan terkelola yang tidak dapat ditimpa oleh pengaturan pengguna atau proyek. Pengaturan kebijakan ini mengikuti format yang sama dengan file pengaturan reguler dan dapat dikirimkan melalui kebijakan MDM/tingkat OS, file pengaturan terkelola, [pengaturan yang dikelola server](/id/server-managed-settings), atau [gateway aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri. Lihat [file pengaturan](/id/settings#settings-files) untuk mekanisme pengiriman dan lokasi file.470Untuk organisasi yang memerlukan kontrol terpusat atas konfigurasi Claude Code, administrator dapat menerapkan pengaturan terkelola yang tidak dapat ditimpa oleh pengaturan pengguna atau proyek. Pengaturan kebijakan ini mengikuti format yang sama dengan file pengaturan reguler dan dapat dikirimkan melalui kebijakan MDM/tingkat OS, file pengaturan terkelola, [pengaturan yang dikelola server](/docs/id/server-managed-settings), atau [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri. Lihat [file pengaturan](/docs/id/settings#settings-files) untuk mekanisme pengiriman dan lokasi file.

471 471 

472<h3 id="managed-only-settings">472<h3 id="managed-only-settings">

473 Pengaturan khusus terkelola473 Pengaturan khusus terkelola


476Pengaturan berikut hanya dibaca dari pengaturan terkelola. Menempatkan mereka dalam file pengaturan pengguna atau proyek tidak memiliki efek.476Pengaturan berikut hanya dibaca dari pengaturan terkelola. Menempatkan mereka dalam file pengaturan pengguna atau proyek tidak memiliki efek.

477 477 

478| Pengaturan | Deskripsi |478| Pengaturan | Deskripsi |

479| :--------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |479| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

480| `allowAllClaudeAiMcps` | Ketika `true`, konektor claude.ai dimuat bersama `managed-mcp.json` yang diterapkan alih-alih ditekan oleh kontrol eksklusifnya. Lihat [Managed MCP configuration](/id/managed-mcp) |480| `allowAllClaudeAiMcps` | Ketika `true`, konektor claude.ai dimuat bersama `managed-mcp.json` yang diterapkan alih-alih ditekan oleh kontrol eksklusifnya. Lihat [Managed MCP configuration](/docs/id/managed-mcp) |

481| `allowedChannelPlugins` | Daftar izin plugin saluran yang dapat mendorong pesan. Menggantikan daftar izin Anthropic default saat diatur. Memerlukan `channelsEnabled: true`. Lihat [Restrict which channel plugins can run](/id/channels#restrict-which-channel-plugins-can-run) |481| `allowedChannelPlugins` | Daftar izin plugin saluran yang dapat mendorong pesan. Menggantikan daftar izin Anthropic default saat diatur. Memerlukan `channelsEnabled: true`. Lihat [Restrict which channel plugins can run](/docs/id/channels#restrict-which-channel-plugins-can-run) |

482| `allowManagedHooksOnly` | Ketika `true`, hanya hook terkelola, hook SDK, dan hook dari plugin yang dipaksa-aktifkan dalam pengaturan terkelola `enabledPlugins` yang dimuat. Hook pengguna, proyek, dan semua plugin lainnya diblokir |482| `allowManagedHooksOnly` | Ketika `true`, hanya hook terkelola, hook SDK, dan hook dari plugin yang dipaksa-aktifkan dalam pengaturan terkelola `enabledPlugins` yang dimuat. Hook pengguna, proyek, dan semua plugin lainnya diblokir |

483| `allowManagedMcpServersOnly` | Ketika `true`, hanya `allowedMcpServers` dari pengaturan terkelola yang dihormati. `deniedMcpServers` masih digabung dari semua sumber. Lihat [Managed MCP configuration](/id/managed-mcp) |483| `allowManagedMcpServersOnly` | Ketika `true`, hanya `allowedMcpServers` dari pengaturan terkelola yang dihormati. `deniedMcpServers` masih digabung dari semua sumber. Lihat [Managed MCP configuration](/docs/id/managed-mcp) |

484| `allowManagedPermissionRulesOnly` | Ketika `true`, mencegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan terkelola yang berlaku. Tidak mempengaruhi daftar izin server MCP; untuk itu, atur `allowManagedMcpServersOnly` |484| `allowManagedPermissionRulesOnly` | Ketika `true`, mencegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan terkelola yang berlaku. Tidak mempengaruhi daftar izin server MCP; untuk itu, atur `allowManagedMcpServersOnly` |

485| `blockedMarketplaces` | Daftar blokir sumber marketplace. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [managed marketplace restrictions](/id/plugin-marketplaces#managed-marketplace-restrictions) |485| `blockedMarketplaces` | Daftar blokir sumber marketplace. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [managed marketplace restrictions](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) |

486| `channelsEnabled` | Izinkan [channels](/id/channels) untuk organisasi. Lihat [enterprise controls](/id/channels#enterprise-controls) untuk default pada setiap paket |486| `channelsEnabled` | Izinkan [channels](/docs/id/channels) untuk organisasi. Lihat [enterprise controls](/docs/id/channels#enterprise-controls) untuk default pada setiap paket |

487| `disableSideloadFlags` | {/* min-version: 2.1.193 */}Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup. Tanpa ini, pengguna dapat melewati `strictKnownMarketplaces` untuk satu kali berjalan dengan melewatkan flag ini. Lihat [`disableSideloadFlags`](/id/settings#available-settings). Memerlukan Claude Code v2.1.193 atau lebih baru |487| `disableSideloadFlags` | Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup. Tanpa ini, pengguna dapat melewati `strictKnownMarketplaces` untuk satu kali berjalan dengan melewatkan flag ini. Lihat [`disableSideloadFlags`](/docs/id/settings#available-settings). Memerlukan Claude Code v2.1.193 atau lebih baru |

488| `forceRemoteSettingsRefresh` | Ketika `true`, memblokir startup CLI hingga pengaturan terkelola jarak jauh segar diambil dan keluar jika pengambilan gagal. Lihat [fail-closed enforcement](/id/server-managed-settings#enforce-fail-closed-startup) |488| `forceRemoteSettingsRefresh` | Ketika `true`, memblokir startup CLI hingga pengaturan terkelola jarak jauh segar diambil dan keluar jika pengambilan gagal. Lihat [fail-closed enforcement](/docs/id/server-managed-settings#enforce-fail-closed-startup) |

489| `pluginTrustMessage` | Pesan kustom ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi |489| `pluginTrustMessage` | Pesan kustom ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi |

490| `sandbox.filesystem.allowManagedReadPathsOnly` | Ketika `true`, hanya jalur `filesystem.allowRead` dari pengaturan terkelola yang dihormati. `denyRead` masih digabung dari semua sumber |490| `sandbox.filesystem.allowManagedReadPathsOnly` | Ketika `true`, hanya jalur `filesystem.allowRead` dari pengaturan terkelola yang dihormati. `denyRead` masih digabung dari semua sumber |

491| `sandbox.network.allowManagedDomainsOnly` | Ketika `true`, hanya `allowedDomains` dan aturan allow `WebFetch(domain:...)` dari pengaturan terkelola yang dihormati. Domain yang tidak diizinkan diblokir secara otomatis tanpa meminta pengguna. Domain yang ditolak masih digabung dari semua sumber |491| `sandbox.network.allowManagedDomainsOnly` | Ketika `true`, hanya `allowedDomains` dan aturan allow `WebFetch(domain:...)` dari pengaturan terkelola yang dihormati. Domain yang tidak diizinkan diblokir secara otomatis tanpa meminta pengguna. Domain yang ditolak masih digabung dari semua sumber |

492| `strictKnownMarketplaces` | Mengontrol sumber marketplace plugin mana yang dapat ditambahkan dan diinstal pengguna. Lihat [managed marketplace restrictions](/id/plugin-marketplaces#managed-marketplace-restrictions) |492| `strictKnownMarketplaces` | Mengontrol sumber marketplace plugin mana yang dapat ditambahkan dan diinstal pengguna. Lihat [managed marketplace restrictions](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) |

493| `strictPluginOnlyCustomization` | Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan terkelola. `true` mengunci keempat permukaan; array seperti `["skills", "hooks"]` hanya mengunci yang dinamai. Lihat [`strictPluginOnlyCustomization`](/id/settings#strictpluginonlycustomization) |493| `strictPluginOnlyCustomization` | Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan terkelola. `true` mengunci keempat permukaan; array seperti `["skills", "hooks"]` hanya mengunci yang dinamai. Lihat [`strictPluginOnlyCustomization`](/docs/id/settings#strictpluginonlycustomization) |

494| `wslInheritsWindowsSettings` | Ketika `true` dalam kunci registri Windows HKLM atau `C:\Program Files\ClaudeCode\managed-settings.json`, WSL membaca pengaturan terkelola dari rantai kebijakan Windows selain `/etc/claude-code`. Lihat [Settings files](/id/settings#settings-files) |494| `wslInheritsWindowsSettings` | Ketika `true` dalam kunci registri Windows HKLM atau `C:\Program Files\ClaudeCode\managed-settings.json`, WSL membaca pengaturan terkelola dari rantai kebijakan Windows selain `/etc/claude-code`. Lihat [Settings files](/docs/id/settings#settings-files) |

495 495 

496`disableBypassPermissionsMode` biasanya ditempatkan dalam pengaturan terkelola untuk memberlakukan kebijakan organisasi, tetapi berfungsi dari cakupan apa pun. Pengguna dapat mengaturnya dalam pengaturan mereka sendiri untuk mengunci diri mereka sendiri dari mode bypass.496`disableBypassPermissionsMode` biasanya ditempatkan dalam pengaturan terkelola untuk memberlakukan kebijakan organisasi, tetapi berfungsi dari cakupan apa pun. Pengguna dapat mengaturnya dalam pengaturan mereka sendiri untuk mengunci diri mereka sendiri dari mode bypass.

497 497 

498<Note>498<Note>

499 Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan [Remote Control](/id/remote-control) dan [sesi web](/id/claude-code-on-the-web) di seluruh organisasi dalam [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control dapat secara tambahan dinonaktifkan per perangkat dengan pengaturan [`disableRemoteControl`](/id/settings#available-settings). Sesi web tidak memiliki kunci pengaturan terkelola per perangkat.499 Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan [Remote Control](/docs/id/remote-control) dan [sesi web](/docs/id/claude-code-on-the-web) di seluruh organisasi dalam [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control dapat secara tambahan dinonaktifkan per perangkat dengan pengaturan [`disableRemoteControl`](/docs/id/settings#available-settings). Sesi web tidak memiliki kunci pengaturan terkelola per perangkat.

500</Note>500</Note>

501 501 

502<h2 id="settings-precedence">502<h2 id="settings-precedence">

503 Prioritas pengaturan503 Prioritas pengaturan

504</h2>504</h2>

505 505 

506Aturan izin mengikuti [prioritas pengaturan](/id/settings#settings-precedence) yang sama dengan semua pengaturan Claude Code lainnya:506Aturan izin mengikuti [prioritas pengaturan](/docs/id/settings#settings-precedence) yang sama dengan semua pengaturan Claude Code lainnya:

507 507 

5081. **Pengaturan terkelola**: tidak dapat ditimpa oleh tingkat lain apa pun, termasuk argumen baris perintah5081. **Pengaturan terkelola**: tidak dapat ditimpa oleh tingkat lain apa pun, termasuk argumen baris perintah

5092. **Argumen baris perintah**: penggantian sesi sementara5092. **Argumen baris perintah**: penggantian sesi sementara


515 515 

516Hal yang sama berlaku di seluruh cakupan pengaturan: jika pengaturan pengguna mengizinkan izin dan pengaturan proyek menolaknya, aturan penolakan memblokir izin tersebut. Kebalikannya juga benar: penolakan tingkat pengguna memblokir izin tingkat proyek, karena aturan penolakan dari cakupan apa pun dievaluasi sebelum aturan izin.516Hal yang sama berlaku di seluruh cakupan pengaturan: jika pengaturan pengguna mengizinkan izin dan pengaturan proyek menolaknya, aturan penolakan memblokir izin tersebut. Kebalikannya juga benar: penolakan tingkat pengguna memblokir izin tingkat proyek, karena aturan penolakan dari cakupan apa pun dievaluasi sebelum aturan izin.

517 517 

518Host penyematan dapat menyediakan kebijakan terkelola tambahan melalui opsi SDK `managedSettings` ketika [`parentSettingsBehavior`](/id/settings#settings-precedence) diatur ke `"merge"`; nilai penyemat dapat memperketat kebijakan tetapi tidak dapat melonggarkannya.518Host penyematan dapat menyediakan kebijakan terkelola tambahan melalui opsi SDK `managedSettings` ketika [`parentSettingsBehavior`](/docs/id/settings#settings-precedence) diatur ke `"merge"`; nilai penyemat dapat memperketat kebijakan tetapi tidak dapat melonggarkannya.

519 519 

520<h2 id="project-allow-rules-and-workspace-trust">520<h2 id="project-allow-rules-and-workspace-trust">

521 Aturan izin proyek dan kepercayaan ruang kerja521 Aturan izin proyek dan kepercayaan ruang kerja

522</h2>522</h2>

523 523 

524Aturan `permissions.allow` dan entri `permissions.additionalDirectories` dalam `.claude/settings.json` proyek memberikan kemampuan, jadi Claude Code menerapkannya hanya setelah Anda menerima [dialog kepercayaan ruang kerja](/id/security#additional-safeguards) untuk ruang kerja tersebut. Sampai saat itu, Claude Code membaca aturan tetapi tidak menerapkannya. Dialog kepercayaan mencantumkan aturan izin dan direktori tambahan yang akan diberikan folder sehingga Anda dapat meninjau sebelum menerima. Aturan `deny` dan `ask` tidak terpengaruh, karena hanya membatasi.524Aturan `permissions.allow` dan entri `permissions.additionalDirectories` dalam `.claude/settings.json` proyek memberikan kemampuan, jadi Claude Code menerapkannya hanya setelah Anda menerima [dialog kepercayaan ruang kerja](/docs/id/security#additional-safeguards) untuk ruang kerja tersebut. Sampai saat itu, Claude Code membaca aturan tetapi tidak menerapkannya. Dialog kepercayaan mencantumkan aturan izin dan direktori tambahan yang akan diberikan folder sehingga Anda dapat meninjau sebelum menerima. Aturan `deny` dan `ask` tidak terpengaruh, karena hanya membatasi.

525 525 

526Claude Code menyimpan kepercayaan per ruang kerja, dikunci pada akar repositori git atau, di luar repositori, direktori tempat Anda memulai Claude Code. Ketika Anda memulai di direktori home Anda, kepercayaan disimpan hanya untuk sesi saat ini dan tidak ditulis ke disk; lihat catatan [safeguard tambahan](/id/security#additional-safeguards). Mempercayai direktori induk tidak menerapkan aturan izin proyek bersarang.526Claude Code menyimpan kepercayaan per ruang kerja, dikunci pada akar repositori git atau, di luar repositori, direktori tempat Anda memulai Claude Code. Ketika Anda memulai di direktori home Anda, kepercayaan disimpan hanya untuk sesi saat ini dan tidak ditulis ke disk; lihat catatan [safeguard tambahan](/docs/id/security#additional-safeguards). Mempercayai direktori induk tidak menerapkan aturan izin proyek bersarang.

527 527 

528`.claude/settings.local.json` adalah file Anda sendiri, jadi pemeriksaan kepercayaan ruang kerja biasanya tidak berlaku untuk itu. Ketika repositori dapat menyediakan file, seperti ketika file tersebut di-commit ke git atau `.claude` adalah symlink, aturan izin dan direktori tambahannya melalui pemeriksaan kepercayaan seperti pengaturan proyek.528`.claude/settings.local.json` adalah file Anda sendiri, jadi pemeriksaan kepercayaan ruang kerja biasanya tidak berlaku untuk itu. Ketika repositori dapat menyediakan file, seperti ketika file tersebut di-commit ke git atau `.claude` adalah symlink, aturan izin dan direktori tambahannya melalui pemeriksaan kepercayaan seperti pengaturan proyek.

529 529 


532Aturan izin dan direktori tambahan dalam `.claude/settings.local.json` juga berlaku tanpa kepercayaan ruang kerja dalam dua kasus:532Aturan izin dan direktori tambahan dalam `.claude/settings.local.json` juga berlaku tanpa kepercayaan ruang kerja dalam dua kasus:

533 533 

534* Direktori tempat Anda memulai Claude Code tidak berada di dalam repositori git.534* Direktori tempat Anda memulai Claude Code tidak berada di dalam repositori git.

535* Sesi berjalan di home konfigurasi Anda sendiri: direktori home Anda atau direktori apa pun yang subdirektori `.claude` Anda telah atur sebagai [`CLAUDE_CONFIG_DIR`](/id/env-vars).535* Sesi berjalan di home konfigurasi Anda sendiri: direktori home Anda atau direktori apa pun yang subdirektori `.claude` Anda telah atur sebagai [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars).

536 536 

537Dalam kedua kasus, file adalah file yang Anda buat daripada file yang dapat disediakan repositori, dan `.claude/settings.local.json` yang di-commit repositori masih memerlukan kepercayaan ruang kerja. Versi 2.1.196 hingga 2.1.199 memperlakukan file sebagai disediakan repositori di ruang kerja tersebut, mengabaikan aturan izinnya, dan mencetak peringatan [`this workspace has not been trusted`](/id/errors#workspace-has-not-been-trusted) ke stderr. Dua pengecualian di atas cocok dengan v2.1.195 dan sebelumnya dan dipulihkan dalam v2.1.200.537Dalam kedua kasus, file adalah file yang Anda buat daripada file yang dapat disediakan repositori, dan `.claude/settings.local.json` yang di-commit repositori masih memerlukan kepercayaan ruang kerja. Versi 2.1.196 hingga 2.1.199 memperlakukan file sebagai disediakan repositori di ruang kerja tersebut, mengabaikan aturan izinnya, dan mencetak peringatan [`this workspace has not been trusted`](/docs/id/errors#workspace-has-not-been-trusted) ke stderr. Dua pengecualian di atas cocok dengan v2.1.195 dan sebelumnya dan dipulihkan dalam v2.1.200.

538 538 

539Juga mulai dari v2.1.200, ruang kerja yang aturan izin atau direktori tambahannya masih tidak diterapkan, tetapi yang tidak pernah menampilkan dialog kepercayaan karena direktori induk sudah dipercaya, menampilkan dialog saat berikutnya Anda memulai Claude Code di sana secara interaktif. Dialog menawarkan dua pilihan:539Juga mulai dari v2.1.200, ruang kerja yang aturan izin atau direktori tambahannya masih tidak diterapkan, tetapi yang tidak pernah menampilkan dialog kepercayaan karena direktori induk sudah dipercaya, menampilkan dialog saat berikutnya Anda memulai Claude Code di sana secara interaktif. Dialog menawarkan dua pilihan:

540 540 

541* **Ya, saya mempercayai folder ini**: menyimpan kepercayaan untuk ruang kerja tersebut dan menerapkan aturan dalam sesi yang sama.541* **Ya, saya mempercayai folder ini**: menyimpan kepercayaan untuk ruang kerja tersebut dan menerapkan aturan dalam sesi yang sama.

542* **Tidak, lanjutkan tanpa izin ini**: terus bekerja dengan aturan tersebut diabaikan. Dialog muncul lagi di sesi berikutnya.542* **Tidak, lanjutkan tanpa izin ini**: terus bekerja dengan aturan tersebut diabaikan. Dialog muncul lagi di sesi berikutnya.

543 543 

544Dalam [mode non-interaktif](/id/headless) dengan `-p`, tidak ada dialog yang muncul dan aturan tetap diabaikan.544Dalam [mode non-interaktif](/docs/id/headless) dengan `-p`, tidak ada dialog yang muncul dan aturan tetap diabaikan.

545 545 

546<h2 id="example-configurations">546<h2 id="example-configurations">

547 Contoh konfigurasi547 Contoh konfigurasi


553 Lihat juga553 Lihat juga

554</h2>554</h2>

555 555 

556* [Settings](/id/settings): referensi konfigurasi lengkap termasuk tabel pengaturan izin556* [Settings](/docs/id/settings): referensi konfigurasi lengkap termasuk tabel pengaturan izin

557* [Configure auto mode](/id/auto-mode-config): beri tahu pengklasifikasi mode auto infrastruktur mana yang dipercaya organisasi Anda557* [Configure auto mode](/docs/id/auto-mode-config): beri tahu pengklasifikasi mode auto infrastruktur mana yang dipercaya organisasi Anda

558* [Sandboxing](/id/sandboxing): isolasi sistem file dan jaringan tingkat OS untuk perintah Bash558* [Sandboxing](/docs/id/sandboxing): isolasi sistem file dan jaringan tingkat OS untuk perintah Bash

559* [Authentication](/id/authentication): atur akses pengguna ke Claude Code559* [Authentication](/docs/id/authentication): atur akses pengguna ke Claude Code

560* [Security](/id/security): perlindungan keamanan dan praktik terbaik560* [Security](/docs/id/security): perlindungan keamanan dan praktik terbaik

561* [Hooks](/id/hooks-guide): otomatisasi alur kerja dan perluas evaluasi izin561* [Hooks](/docs/id/hooks-guide): otomatisasi alur kerja dan perluas evaluasi izin

plugin-hints.md +7 −7

Details

10 10 

11Claude Code menghapus baris petunjuk dari output perintah sebelum mengirimkannya ke model, sehingga penanda tidak pernah muncul dalam percakapan dan tidak dihitung terhadap penggunaan token. Protokol tidak memerlukan perintah tambahan dan tidak mengubah apa yang CLI Anda cetak untuk pengguna di luar Claude Code.11Claude Code menghapus baris petunjuk dari output perintah sebelum mengirimkannya ke model, sehingga penanda tidak pernah muncul dalam percakapan dan tidak dihitung terhadap penggunaan token. Protokol tidak memerlukan perintah tambahan dan tidak mengubah apa yang CLI Anda cetak untuk pengguna di luar Claude Code.

12 12 

13Halaman ini adalah untuk pengelola CLI dan SDK. Jika Anda mencari untuk memasang plugin, lihat [Temukan dan pasang plugin](/id/discover-plugins).13Halaman ini adalah untuk pengelola CLI dan SDK. Jika Anda mencari untuk memasang plugin, lihat [Temukan dan pasang plugin](/docs/id/discover-plugins).

14 14 

15<h2 id="how-it-works">15<h2 id="how-it-works">

16 Cara kerjanya16 Cara kerjanya

17</h2>17</h2>

18 18 

19Claude Code menetapkan variabel lingkungan [`CLAUDECODE`](/id/env-vars) ke `1` untuk setiap perintah yang dijalankan melalui alat Bash dan PowerShell, dan untuk perintah [hook](/id/hooks). {/* min-version: 2.1.172 */}Dari v2.1.172 juga menetapkan [`CLAUDE_CODE_CHILD_SESSION`](/id/env-vars) ke `1` dalam subproses yang sama. Ketika CLI Anda melihat salah satu variabel ini, itu menulis tag `<claude-code-hint />` yang menutup sendiri ke stderr. Dalam perintah hook, tag petunjuk dilepas dan diabaikan. Hanya output alat Bash dan PowerShell yang memicu prompt pemasangan.19Claude Code menetapkan variabel lingkungan [`CLAUDECODE`](/docs/id/env-vars) ke `1` untuk setiap perintah yang dijalankan melalui alat Bash dan PowerShell, dan untuk perintah [hook](/docs/id/hooks). Dari v2.1.172 juga menetapkan [`CLAUDE_CODE_CHILD_SESSION`](/docs/id/env-vars) ke `1` dalam subproses yang sama. Ketika CLI Anda melihat salah satu variabel ini, itu menulis tag `<claude-code-hint />` yang menutup sendiri ke stderr. Dalam perintah hook, tag petunjuk dilepas dan diabaikan. Hanya output alat Bash dan PowerShell yang memicu prompt pemasangan.

20 20 

21Ketika Claude Code menerima output perintah, itu:21Ketika Claude Code menerima output perintah, itu:

22 22 


36Gerbang emisi pada variabel lingkungan sehingga penanda tidak mungkin muncul ketika manusia menjalankan CLI Anda secara langsung, kemudian tulis tag ke stderr pada barisnya sendiri. Pilih variabel mana yang akan diperiksa:36Gerbang emisi pada variabel lingkungan sehingga penanda tidak mungkin muncul ketika manusia menjalankan CLI Anda secara langsung, kemudian tulis tag ke stderr pada barisnya sendiri. Pilih variabel mana yang akan diperiksa:

37 37 

38* `CLAUDECODE`: diatur pada setiap versi Claude Code, sehingga mencapai sebagian besar sesi. Ini juga diatur dalam sesi tmux dan subprocess server MCP stdio yang Claude Code mulai. Ekstensi IDE juga mengaturnya di terminal terintegrasi mereka, di mana manusia dapat menjalankan CLI Anda secara langsung.38* `CLAUDECODE`: diatur pada setiap versi Claude Code, sehingga mencapai sebagian besar sesi. Ini juga diatur dalam sesi tmux dan subprocess server MCP stdio yang Claude Code mulai. Ekstensi IDE juga mengaturnya di terminal terintegrasi mereka, di mana manusia dapat menjalankan CLI Anda secara langsung.

39* {/* min-version: 2.1.172 */}`CLAUDE_CODE_CHILD_SESSION`: diatur hanya dalam subprocess yang Claude Code sendiri spawn, seperti pemanggilan alat, perintah hook, dan perintah [status line](/id/statusline), sehingga tag biasanya tidak mencapai terminal manusia. Proses yang berumur panjang yang dimulai di dalam sesi, seperti server tmux, menangkap variabel, sehingga shell yang diluncurkan kemudian dari proses itu masih menampilkan tag mentah. Memerlukan Claude Code v2.1.172 atau lebih baru, sehingga sesi pada versi yang lebih lama melewatkan petunjuk.39* `CLAUDE_CODE_CHILD_SESSION`: diatur hanya dalam subprocess yang Claude Code sendiri spawn, seperti pemanggilan alat, perintah hook, dan perintah [status line](/docs/id/statusline), sehingga tag biasanya tidak mencapai terminal manusia. Proses yang berumur panjang yang dimulai di dalam sesi, seperti server tmux, menangkap variabel, sehingga shell yang diluncurkan kemudian dari proses itu masih menampilkan tag mentah. Memerlukan Claude Code v2.1.172 atau lebih baru, sehingga sesi pada versi yang lebih lama melewatkan petunjuk.

40 40 

41Contoh berikut gerbang pada `CLAUDECODE` untuk jangkauan maksimal dan mengeluarkan petunjuk untuk plugin bernama `example-cli` di marketplace resmi:41Contoh berikut gerbang pada `CLAUDECODE` untuk jangkauan maksimal dan mengeluarkan petunjuk untuk plugin bernama `example-cli` di marketplace resmi:

42 42 


158 Dapatkan plugin Anda ke marketplace resmi158 Dapatkan plugin Anda ke marketplace resmi

159</h2>159</h2>

160 160 

161Protokol petunjuk hanya berlaku untuk plugin yang terdaftar di marketplace Anthropic resmi, `claude-plugins-official`. Anthropic mengkurasi marketplace tersebut atas kebijakannya sendiri, dan formulir pengajuan dalam aplikasi menambahkan plugin ke [marketplace komunitas](/id/plugins#submit-your-plugin-to-the-community-marketplace) sebagai gantinya, yang protokol petunjuk tidak periksa. Jika Anda bekerja dengan kontak mitra Anthropic, hubungi mereka untuk mengoordinasikan daftar marketplace resmi.161Protokol petunjuk hanya berlaku untuk plugin yang terdaftar di marketplace Anthropic resmi, `claude-plugins-official`. Anthropic mengkurasi marketplace tersebut atas kebijakannya sendiri, dan formulir pengajuan dalam aplikasi menambahkan plugin ke [marketplace komunitas](/docs/id/plugins#submit-your-plugin-to-the-community-marketplace) sebagai gantinya, yang protokol petunjuk tidak periksa. Jika Anda bekerja dengan kontak mitra Anthropic, hubungi mereka untuk mengoordinasikan daftar marketplace resmi.

162 162 

163<h2 id="see-also">163<h2 id="see-also">

164 Lihat juga164 Lihat juga

165</h2>165</h2>

166 166 

167* [Buat plugin](/id/plugins): bangun plugin yang direkomendasikan CLI Anda167* [Buat plugin](/docs/id/plugins): bangun plugin yang direkomendasikan CLI Anda

168* [Buat dan distribusikan marketplace plugin](/id/plugin-marketplaces): host plugin di luar marketplace resmi168* [Buat dan distribusikan marketplace plugin](/docs/id/plugin-marketplaces): host plugin di luar marketplace resmi

169* [Variabel lingkungan](/id/env-vars): referensi lengkap untuk `CLAUDECODE` dan variabel terkait169* [Variabel lingkungan](/docs/id/env-vars): referensi lengkap untuk `CLAUDECODE` dan variabel terkait

Details

8 8 

9Sebuah **marketplace plugin** adalah katalog yang memungkinkan Anda mendistribusikan plugin kepada orang lain. Marketplace menyediakan penemuan terpusat, pelacakan versi, pembaruan otomatis, dan dukungan untuk berbagai jenis sumber, termasuk repositori git dan jalur lokal. Panduan ini menunjukkan cara membuat marketplace Anda sendiri untuk berbagi plugin dengan tim atau komunitas Anda.9Sebuah **marketplace plugin** adalah katalog yang memungkinkan Anda mendistribusikan plugin kepada orang lain. Marketplace menyediakan penemuan terpusat, pelacakan versi, pembaruan otomatis, dan dukungan untuk berbagai jenis sumber, termasuk repositori git dan jalur lokal. Panduan ini menunjukkan cara membuat marketplace Anda sendiri untuk berbagi plugin dengan tim atau komunitas Anda.

10 10 

11Mencari cara memasang plugin dari marketplace yang sudah ada? Lihat [Temukan dan pasang plugin yang sudah dibuat](/id/discover-plugins).11Mencari cara memasang plugin dari marketplace yang sudah ada? Lihat [Temukan dan pasang plugin yang sudah dibuat](/docs/id/discover-plugins).

12 12 

13<h2 id="overview">13<h2 id="overview">

14 Ikhtisar14 Ikhtisar


16 16 

17Membuat dan mendistribusikan marketplace melibatkan:17Membuat dan mendistribusikan marketplace melibatkan:

18 18 

191. **Membuat plugin**: bangun satu atau lebih plugin dengan skills, agents, hooks, MCP servers, atau LSP servers. Panduan ini mengasumsikan Anda sudah memiliki plugin untuk didistribusikan; lihat [Buat plugin](/id/plugins) untuk detail tentang cara membuat plugin.191. **Membuat plugin**: bangun satu atau lebih plugin dengan skills, agents, hooks, MCP servers, atau LSP servers. Panduan ini mengasumsikan Anda sudah memiliki plugin untuk didistribusikan; lihat [Buat plugin](/docs/id/plugins) untuk detail tentang cara membuat plugin.

202. **Membuat file marketplace**: tentukan `marketplace.json` yang mencantumkan plugin Anda dan di mana menemukannya. Lihat [Buat file marketplace](#create-the-marketplace-file).202. **Membuat file marketplace**: tentukan `marketplace.json` yang mencantumkan plugin Anda dan di mana menemukannya. Lihat [Buat file marketplace](#create-the-marketplace-file).

213. **Host marketplace**: dorong ke GitHub, GitLab, atau host git lainnya. Lihat [Host dan distribusikan marketplace](#host-and-distribute-marketplaces).213. **Host marketplace**: dorong ke GitHub, GitLab, atau host git lainnya. Lihat [Host dan distribusikan marketplace](#host-and-distribute-marketplaces).

224. **Bagikan dengan pengguna**: pengguna menambahkan marketplace Anda dengan `/plugin marketplace add` dan memasang plugin individual. Lihat [Temukan dan pasang plugin](/id/discover-plugins).224. **Bagikan dengan pengguna**: pengguna menambahkan marketplace Anda dengan `/plugin marketplace add` dan memasang plugin individual. Lihat [Temukan dan pasang plugin](/docs/id/discover-plugins).

23 23 

24Setelah marketplace Anda aktif, Anda dapat memperbaruinya dengan mendorong perubahan ke repositori Anda. Pengguna menyegarkan salinan lokal mereka dengan `/plugin marketplace update`.24Setelah marketplace Anda aktif, Anda dapat memperbaruinya dengan mendorong perubahan ke repositori Anda. Pengguna menyegarkan salinan lokal mereka dengan `/plugin marketplace update`.

25 25 


110 </Step>110 </Step>

111</Steps>111</Steps>

112 112 

113Untuk mempelajari lebih lanjut tentang apa yang dapat dilakukan plugin, termasuk hooks, agents, MCP servers, dan LSP servers, lihat [Plugins](/id/plugins).113Untuk mempelajari lebih lanjut tentang apa yang dapat dilakukan plugin, termasuk hooks, agents, MCP servers, dan LSP servers, lihat [Plugins](/docs/id/plugins).

114 114 

115<Note>115<Note>

116 **Cara plugin dipasang**: Ketika pengguna memasang plugin, Claude Code menyalin direktori plugin ke lokasi cache. Ini berarti plugin tidak dapat mereferensikan file di luar direktorinya menggunakan jalur seperti `../shared-utils`, karena file tersebut tidak akan disalin.116 **Cara plugin dipasang**: Ketika pengguna memasang plugin, Claude Code menyalin direktori plugin ke lokasi cache. Ini berarti plugin tidak dapat mereferensikan file di luar direktorinya menggunakan jalur seperti `../shared-utils`, karena file tersebut tidak akan disalin.

117 117 

118 Jika Anda perlu berbagi file di seluruh plugin, gunakan symlink. Lihat [Plugin caching and file resolution](/id/plugins-reference#plugin-caching-and-file-resolution) untuk detail.118 Jika Anda perlu berbagi file di seluruh plugin, gunakan symlink. Lihat [Plugin caching and file resolution](/docs/id/plugins-reference#plugin-caching-and-file-resolution) untuk detail.

119</Note>119</Note>

120 120 

121<h2 id="create-the-marketplace-file">121<h2 id="create-the-marketplace-file">


172<Note>172<Note>

173 **Nama yang dicadangkan**: Nama marketplace berikut dicadangkan untuk penggunaan resmi Anthropic dan tidak dapat digunakan oleh marketplace pihak ketiga: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `healthcare`. Nama yang meniru marketplace resmi, seperti `official-claude-plugins` atau `anthropic-plugins-v2`, juga diblokir. Pencadangan nama-nama ini mencegah marketplace pihak ketiga menyajikan dirinya sebagai sumber yang diterbitkan Anthropic.173 **Nama yang dicadangkan**: Nama marketplace berikut dicadangkan untuk penggunaan resmi Anthropic dan tidak dapat digunakan oleh marketplace pihak ketiga: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `healthcare`. Nama yang meniru marketplace resmi, seperti `official-claude-plugins` atau `anthropic-plugins-v2`, juga diblokir. Pencadangan nama-nama ini mencegah marketplace pihak ketiga menyajikan dirinya sebagai sumber yang diterbitkan Anthropic.

174 174 

175 Claude Code memeriksa kembali nama yang dicadangkan setiap kali memuat marketplace, bukan hanya saat Anda menambahkan satu. Marketplace yang terdaftar di bawah salah satu nama ini sebelum nama menjadi dicadangkan berhenti memuat dan melaporkan bahwa itu [terdaftar dari sumber yang tidak terpercaya](/id/errors#marketplace-is-registered-from-an-untrusted-source). Hapus marketplace itu dan tambahkan kembali dari sumber Anthropic resmi. Marketplace pihak ketiga yang terpengaruh oleh nama yang baru dicadangkan memuat lagi segera setelah Anda menambahkannya kembali dengan nama yang berbeda. Sebelum v2.1.205, `first-party-plugins` dan `healthcare` tidak dicadangkan, dan marketplace yang sudah terdaftar di bawah nama yang dicadangkan terus memuat.175 Claude Code memeriksa kembali nama yang dicadangkan setiap kali memuat marketplace, bukan hanya saat Anda menambahkan satu. Marketplace yang terdaftar di bawah salah satu nama ini sebelum nama menjadi dicadangkan berhenti memuat dan melaporkan bahwa itu [terdaftar dari sumber yang tidak terpercaya](/docs/id/errors#marketplace-is-registered-from-an-untrusted-source). Hapus marketplace itu dan tambahkan kembali dari sumber Anthropic resmi. Marketplace pihak ketiga yang terpengaruh oleh nama yang baru dicadangkan memuat lagi segera setelah Anda menambahkannya kembali dengan nama yang berbeda. Sebelum v2.1.205, `first-party-plugins` dan `healthcare` tidak dicadangkan, dan marketplace yang sudah terdaftar di bawah nama yang dicadangkan terus memuat.

176</Note>176</Note>

177 177 

178<h3 id="owner-fields">178<h3 id="owner-fields">


189</h3>189</h3>

190 190 

191| Field | Type | Deskripsi |191| Field | Type | Deskripsi |

192| :------------------------------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |192| :------------------------------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

193| `$schema` | string | URL JSON Schema untuk autocomplete dan validasi editor. Claude Code mengabaikan field ini saat waktu muat. |193| `$schema` | string | URL JSON Schema untuk autocomplete dan validasi editor. Claude Code mengabaikan field ini saat waktu muat. |

194| `description` | string | Deskripsi marketplace singkat |194| `description` | string | Deskripsi marketplace singkat |

195| `version` | string | Versi manifest marketplace |195| `version` | string | Versi manifest marketplace |

196| `metadata.pluginRoot` | string | Direktori dasar yang ditambahkan ke jalur sumber plugin relatif (misalnya, `"./plugins"` memungkinkan Anda menulis `"source": "formatter"` alih-alih `"source": "./plugins/formatter"`) |196| `metadata.pluginRoot` | string | Direktori dasar yang ditambahkan ke jalur sumber plugin relatif (misalnya, `"./plugins"` memungkinkan Anda menulis `"source": "formatter"` alih-alih `"source": "./plugins/formatter"`) |

197| `allowCrossMarketplaceDependenciesOn` | array | Marketplace lain yang plugin di marketplace ini dapat bergantung padanya. Dependensi dari marketplace yang tidak tercantum di sini diblokir saat instalasi. Lihat [Bergantung pada plugin dari marketplace lain](/id/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |197| `allowCrossMarketplaceDependenciesOn` | array | Marketplace lain yang plugin di marketplace ini dapat bergantung padanya. Dependensi dari marketplace yang tidak tercantum di sini diblokir saat instalasi. Lihat [Bergantung pada plugin dari marketplace lain](/docs/id/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |

198| `renames` | object | {/* min-version: 2.1.193 */}Peta dari nama plugin `name` sebelumnya ke nama saat ini, atau ke `null` jika plugin dihapus. Memungkinkan pengguna yang ada untuk bermigrasi secara otomatis saat Anda mengganti nama atau menghapus entri di `plugins`. Lihat [Mengganti nama atau menghapus plugin](#rename-or-remove-a-plugin). Memerlukan Claude Code v2.1.193 atau lebih baru. |198| `renames` | object | Peta dari nama plugin `name` sebelumnya ke nama saat ini, atau ke `null` jika plugin dihapus. Memungkinkan pengguna yang ada untuk bermigrasi secara otomatis saat Anda mengganti nama atau menghapus entri di `plugins`. Lihat [Mengganti nama atau menghapus plugin](#rename-or-remove-a-plugin). Memerlukan Claude Code v2.1.193 atau lebih baru. |

199 199 

200`description` dan `version` juga diterima di bawah `metadata` untuk kompatibilitas mundur.200`description` dan `version` juga diterima di bawah `metadata` untuk kompatibilitas mundur.

201 201 


203 Entri plugin203 Entri plugin

204</h2>204</h2>

205 205 

206Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/id/plugins-reference#plugin-manifest-schema), seperti `description`, `version`, `author`, `commands`, dan `hooks`, ditambah field khusus marketplace ini: `source`, `category`, `tags`, `strict`, dan `relevance`.206Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/docs/id/plugins-reference#plugin-manifest-schema), seperti `description`, `version`, `author`, `commands`, dan `hooks`, ditambah field khusus marketplace ini: `source`, `category`, `tags`, `strict`, dan `relevance`.

207 207 

208<h3 id="required-fields-2">208<h3 id="required-fields-2">

209 Field yang diperlukan209 Field yang diperlukan


221**Field metadata standar:**221**Field metadata standar:**

222 222 

223| Field | Type | Deskripsi |223| Field | Type | Deskripsi |

224| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |224| :--------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

225| `displayName` | string | {/* min-version: 2.1.143 */}Nama yang dapat dibaca manusia ditampilkan di permukaan UI. Kembali ke `name` saat dihilangkan. Dapat berisi spasi dan huruf apa pun. Tidak digunakan untuk namespacing atau pencarian. Memerlukan Claude Code v2.1.143 atau lebih baru. |225| `displayName` | string | Nama yang dapat dibaca manusia ditampilkan di permukaan UI. Kembali ke `name` saat dihilangkan. Dapat berisi spasi dan huruf apa pun. Tidak digunakan untuk namespacing atau pencarian. Memerlukan Claude Code v2.1.143 atau lebih baru. |

226| `description` | string | Deskripsi plugin singkat |226| `description` | string | Deskripsi plugin singkat |

227| `version` | string | Versi plugin. Jika diatur (di sini atau di `plugin.json`), plugin disematkan ke string ini dan pengguna hanya menerima pembaruan saat berubah. Hilangkan untuk kembali ke SHA commit git. Lihat [Version resolution](#version-resolution-and-release-channels). |227| `version` | string | Versi plugin. Jika diatur (di sini atau di `plugin.json`), plugin disematkan ke string ini dan pengguna hanya menerima pembaruan saat berubah. Hilangkan untuk kembali ke SHA commit git. Lihat [Version resolution](#version-resolution-and-release-channels). |

228| `author` | object | Informasi penulis plugin (`name` diperlukan, `email` opsional) |228| `author` | object | Informasi penulis plugin (`name` diperlukan, `email` opsional) |


233| `category` | string | Kategori plugin untuk organisasi |233| `category` | string | Kategori plugin untuk organisasi |

234| `tags` | array | Tag untuk kemudahan pencarian |234| `tags` | array | Tag untuk kemudahan pencarian |

235| `strict` | boolean | Mengontrol apakah `plugin.json` adalah otoritas untuk definisi komponen (default: true). Lihat [Strict mode](#strict-mode) di bawah. |235| `strict` | boolean | Mengontrol apakah `plugin.json` adalah otoritas untuk definisi komponen (default: true). Lihat [Strict mode](#strict-mode) di bawah. |

236| `relevance` | object | {/* min-version: 2.1.152 */}Sinyal yang memberi tahu Claude Code kapan harus menyarankan plugin ini kepada pengguna. Hanya berlaku untuk marketplace yang diizinkan administrator dalam pengaturan terkelola. Lihat [Recommend plugins for your org](/id/plugin-relevance). Memerlukan Claude Code v2.1.152 atau lebih baru. |236| `relevance` | object | Sinyal yang memberi tahu Claude Code kapan harus menyarankan plugin ini kepada pengguna. Hanya berlaku untuk marketplace yang diizinkan administrator dalam pengaturan terkelola. Lihat [Recommend plugins for your org](/docs/id/plugin-relevance). Memerlukan Claude Code v2.1.152 atau lebih baru. |

237| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}Apakah plugin diaktifkan setelah pemasangan (default: true). Atur ke `false` untuk memasang plugin yang dinonaktifkan sampai pengguna memilih untuk mengaktifkannya. Mengambil alih field yang sama di `plugin.json` plugin. Lihat [Default enablement](/id/plugins-reference#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. |237| `defaultEnabled` | boolean | Apakah plugin diaktifkan setelah pemasangan (default: true). Atur ke `false` untuk memasang plugin yang dinonaktifkan sampai pengguna memilih untuk mengaktifkannya. Mengambil alih field yang sama di `plugin.json` plugin. Lihat [Default enablement](/docs/id/plugins-reference#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. |

238 238 

239**Field konfigurasi komponen:**239**Field konfigurasi komponen:**

240 240 


510 510 

511* **`commands` dan `agents`**: Anda dapat menentukan beberapa direktori atau file individual. Jalur relatif terhadap root plugin.511* **`commands` dan `agents`**: Anda dapat menentukan beberapa direktori atau file individual. Jalur relatif terhadap root plugin.

512* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang.512* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang.

513 * Lihat [tabel substitusi](/id/plugins-reference#environment-variables) untuk field config mana yang mensubstitusinya per tipe server513 * Lihat [tabel substitusi](/docs/id/plugins-reference#environment-variables) untuk field config mana yang mensubstitusinya per tipe server

514 * Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/id/plugins-reference#persistent-data-directory) sebagai gantinya514 * Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/docs/id/plugins-reference#persistent-data-directory) sebagai gantinya

515* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.515* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.

516 516 

517Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya. Jalur yang tercantum dalam field `skills` menambah pemindaian itu:517Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya. Jalur yang tercantum dalam field `skills` menambah pemindaian itu:


575 Repositori pribadi575 Repositori pribadi

576</h3>576</h3>

577 577 

578Claude Code mendukung pemasangan plugin dari repositori pribadi. Untuk instalasi manual dan pembaruan, Claude Code menggunakan helper kredensial git yang ada, jadi akses HTTPS melalui `gh auth login`, Keychain macOS, atau `git-credential-store` berfungsi sama seperti di terminal Anda. Akses SSH berfungsi selama host sudah ada di file `known_hosts` Anda dan kunci dimuat di `ssh-agent`, karena Claude Code menekan prompt SSH interaktif untuk sidik jari host dan passphrase kunci. Shorthand `owner/repo` GitHub mengklon melalui SSH secara default; atur [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/id/env-vars#variables) untuk mengklonnya melalui HTTPS sebagai gantinya.578Claude Code mendukung pemasangan plugin dari repositori pribadi. Untuk instalasi manual dan pembaruan, Claude Code menggunakan helper kredensial git yang ada, jadi akses HTTPS melalui `gh auth login`, Keychain macOS, atau `git-credential-store` berfungsi sama seperti di terminal Anda. Akses SSH berfungsi selama host sudah ada di file `known_hosts` Anda dan kunci dimuat di `ssh-agent`, karena Claude Code menekan prompt SSH interaktif untuk sidik jari host dan passphrase kunci. Shorthand `owner/repo` GitHub mengklon melalui SSH secara default; atur [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/id/env-vars#variables) untuk mengklonnya melalui HTTPS sebagai gantinya.

579 579 

580Pembaruan otomatis latar belakang berjalan berbeda. Secara default, refresh latar belakang menonaktifkan helper kredensial git untuk `git pull`-nya, jadi pull tidak dapat mengautentikasi ke repositori pribadi melalui HTTPS bahkan ketika helper dikonfigurasi. Remote SSH tidak terpengaruh: kunci yang dimuat di `ssh-agent` mengautentikasi pull latar belakang dengan cara yang sama seperti operasi manual. Ketika pull latar belakang gagal, Claude Code kembali ke pengklonaan ulang marketplace dari awal. Pengklonaan ulang memang menggunakan kredensial git yang disimpan, tetapi dapat [time out pada repositori besar](#git-operations-time-out), jadi pembaruan otomatis marketplace pribadi mungkin gagal secara berkala.580Pembaruan otomatis latar belakang berjalan berbeda. Secara default, refresh latar belakang menonaktifkan helper kredensial git untuk `git pull`-nya, jadi pull tidak dapat mengautentikasi ke repositori pribadi melalui HTTPS bahkan ketika helper dikonfigurasi. Remote SSH tidak terpengaruh: kunci yang dimuat di `ssh-agent` mengautentikasi pull latar belakang dengan cara yang sama seperti operasi manual. Ketika pull latar belakang gagal, Claude Code kembali ke pengklonaan ulang marketplace dari awal. Pengklonaan ulang memang menggunakan kredensial git yang disimpan, tetapi dapat [time out pada repositori besar](#git-operations-time-out), jadi pembaruan otomatis marketplace pribadi mungkin gagal secara berkala.

581 581 


619/plugin install quality-review-plugin@my-plugins619/plugin install quality-review-plugin@my-plugins

620```620```

621 621 

622Untuk rangkaian lengkap perintah add (GitHub, URL Git, jalur lokal, URL jarak jauh), lihat [Tambahkan marketplace](/id/discover-plugins#add-marketplaces).622Untuk rangkaian lengkap perintah add (GitHub, URL Git, jalur lokal, URL jarak jauh), lihat [Tambahkan marketplace](/docs/id/discover-plugins#add-marketplaces).

623 623 

624<h3 id="require-marketplaces-for-your-team">624<h3 id="require-marketplaces-for-your-team">

625 Wajibkan marketplace untuk tim Anda625 Wajibkan marketplace untuk tim Anda


651}651}

652```652```

653 653 

654Untuk opsi konfigurasi lengkap, lihat [Plugin settings](/id/settings#plugin-settings).654Untuk opsi konfigurasi lengkap, lihat [Plugin settings](/docs/id/settings#plugin-settings).

655 655 

656<Note>656<Note>

657 Jika Anda menggunakan sumber `directory` atau `file` lokal dengan jalur relatif, jalur diselesaikan terhadap checkout utama repositori Anda. Ketika Anda menjalankan Claude Code dari git worktree, jalur masih menunjuk ke checkout utama, jadi semua worktrees berbagi lokasi marketplace yang sama. Status marketplace disimpan sekali per pengguna di `~/.claude/plugins/known_marketplaces.json`, bukan per proyek.657 Jika Anda menggunakan sumber `directory` atau `file` lokal dengan jalur relatif, jalur diselesaikan terhadap checkout utama repositori Anda. Ketika Anda menjalankan Claude Code dari git worktree, jalur masih menunjuk ke checkout utama, jadi semua worktrees berbagi lokasi marketplace yang sama. Status marketplace disimpan sekali per pengguna di `~/.claude/plugins/known_marketplaces.json`, bukan per proyek.


699 Pembatasan marketplace yang dikelola699 Pembatasan marketplace yang dikelola

700</h3>700</h3>

701 701 

702Untuk organisasi yang memerlukan kontrol ketat atas sumber plugin, administrator dapat membatasi marketplace plugin mana yang diizinkan pengguna untuk tambahkan menggunakan pengaturan [`strictKnownMarketplaces`](/id/settings#strictknownmarketplaces) dalam pengaturan yang dikelola. Untuk juga menolak flag CLI yang sideload plugin, agen, dan server MCP untuk satu kali jalankan, pasangkan dengan [`disableSideloadFlags`](/id/settings#available-settings). Untuk allowlist marketplace mana yang plugin-nya dapat muncul sebagai saran instalasi kontekstual, atur [`pluginSuggestionMarketplaces`](/id/settings#available-settings).702Untuk organisasi yang memerlukan kontrol ketat atas sumber plugin, administrator dapat membatasi marketplace plugin mana yang diizinkan pengguna untuk tambahkan menggunakan pengaturan [`strictKnownMarketplaces`](/docs/id/settings#strictknownmarketplaces) dalam pengaturan yang dikelola. Untuk juga menolak flag CLI yang sideload plugin, agen, dan server MCP untuk satu kali jalankan, pasangkan dengan [`disableSideloadFlags`](/docs/id/settings#available-settings). Untuk allowlist marketplace mana yang plugin-nya dapat muncul sebagai saran instalasi kontekstual, atur [`pluginSuggestionMarketplaces`](/docs/id/settings#available-settings).

703 703 

704Ketika `strictKnownMarketplaces` dikonfigurasi dalam pengaturan yang dikelola, perilaku pembatasan tergantung pada nilainya:704Ketika `strictKnownMarketplaces` dikonfigurasi dalam pengaturan yang dikelola, perilaku pembatasan tergantung pada nilainya:

705 705 


743}743}

744```744```

745 745 

746Izinkan semua marketplace dari server git internal menggunakan pencocokan pola regex pada host. Ini adalah pendekatan yang direkomendasikan untuk [GitHub Enterprise Server](/id/github-enterprise-server#plugin-marketplaces-on-ghes) atau instance GitLab yang dihosting sendiri:746Izinkan semua marketplace dari server git internal menggunakan pencocokan pola regex pada host. Ini adalah pendekatan yang direkomendasikan untuk [GitHub Enterprise Server](/docs/id/github-enterprise-server#plugin-marketplaces-on-ghes) atau instance GitLab yang dihosting sendiri:

747 747 

748```json theme={null}748```json theme={null}

749{749{


772Gunakan `".*"` sebagai `pathPattern` untuk mengizinkan jalur filesystem apa pun sambil tetap mengontrol sumber jaringan dengan `hostPattern`.772Gunakan `".*"` sebagai `pathPattern` untuk mengizinkan jalur filesystem apa pun sambil tetap mengontrol sumber jaringan dengan `hostPattern`.

773 773 

774<Note>774<Note>

775 `strictKnownMarketplaces` membatasi apa yang dapat ditambahkan pengguna, tetapi tidak mendaftarkan marketplace dengan sendirinya. Untuk membuat marketplace yang diizinkan tersedia secara otomatis tanpa pengguna menjalankan `/plugin marketplace add`, pasangkan dengan [`extraKnownMarketplaces`](/id/settings#extraknownmarketplaces) dalam `managed-settings.json` yang sama. Lihat [Menggunakan keduanya bersama-sama](/id/settings#strictknownmarketplaces).775 `strictKnownMarketplaces` membatasi apa yang dapat ditambahkan pengguna, tetapi tidak mendaftarkan marketplace dengan sendirinya. Untuk membuat marketplace yang diizinkan tersedia secara otomatis tanpa pengguna menjalankan `/plugin marketplace add`, pasangkan dengan [`extraKnownMarketplaces`](/docs/id/settings#extraknownmarketplaces) dalam `managed-settings.json` yang sama. Lihat [Menggunakan keduanya bersama-sama](/docs/id/settings#strictknownmarketplaces).

776</Note>776</Note>

777 777 

778<h4 id="how-restrictions-work">778<h4 id="how-restrictions-work">


790 790 

791Pencocokan tepat tidak menormalkan URL: garis miring trailing, akhiran `.git`, atau bentuk `ssh://` versus `https://` diperlakukan sebagai nilai berbeda. Jika marketplace organisasi Anda dapat diklon oleh lebih dari satu bentuk URL, lebih suka entri `hostPattern` daripada URL literal sehingga semua bentuk cocok.791Pencocokan tepat tidak menormalkan URL: garis miring trailing, akhiran `.git`, atau bentuk `ssh://` versus `https://` diperlakukan sebagai nilai berbeda. Jika marketplace organisasi Anda dapat diklon oleh lebih dari satu bentuk URL, lebih suka entri `hostPattern` daripada URL literal sehingga semua bentuk cocok.

792 792 

793Karena `strictKnownMarketplaces` diatur dalam [pengaturan yang dikelola](/id/settings#settings-files), konfigurasi pengguna individual dan proyek tidak dapat mengganti pembatasan ini.793Karena `strictKnownMarketplaces` diatur dalam [pengaturan yang dikelola](/docs/id/settings#settings-files), konfigurasi pengguna individual dan proyek tidak dapat mengganti pembatasan ini.

794 794 

795Untuk detail konfigurasi lengkap termasuk semua jenis sumber yang didukung dan perbandingan dengan `extraKnownMarketplaces`, lihat [referensi strictKnownMarketplaces](/id/settings#strictknownmarketplaces).795Untuk detail konfigurasi lengkap termasuk semua jenis sumber yang didukung dan perbandingan dengan `extraKnownMarketplaces`, lihat [referensi strictKnownMarketplaces](/docs/id/settings#strictknownmarketplaces).

796 796 

797<h3 id="version-resolution-and-release-channels">797<h3 id="version-resolution-and-release-channels">

798 Resolusi versi dan saluran rilis798 Resolusi versi dan saluran rilis


818 Siapkan saluran rilis818 Siapkan saluran rilis

819</h4>819</h4>

820 820 

821Untuk mendukung saluran rilis "stable" dan "latest" untuk plugin Anda, Anda dapat menyiapkan dua marketplace yang menunjuk ke refs atau SHA berbeda dari repo yang sama. Anda kemudian dapat menetapkan dua marketplace ke grup pengguna berbeda melalui [pengaturan yang dikelola](/id/settings#settings-files).821Untuk mendukung saluran rilis "stable" dan "latest" untuk plugin Anda, Anda dapat menyiapkan dua marketplace yang menunjuk ke refs atau SHA berbeda dari repo yang sama. Anda kemudian dapat menetapkan dua marketplace ke grup pengguna berbeda melalui [pengaturan yang dikelola](/docs/id/settings#settings-files).

822 822 

823<Warning>823<Warning>

824 Setiap saluran harus diselesaikan ke versi yang berbeda. Jika Anda menggunakan versi eksplisit, `plugin.json` harus mendeklarasikan `version` berbeda di setiap ref yang disematkan. Jika Anda menghilangkan `version`, SHA commit yang berbeda sudah membedakan saluran. Jika dua refs diselesaikan ke string versi yang sama, Claude Code memperlakukannya sebagai identik dan melewati pembaruan.824 Setiap saluran harus diselesaikan ke versi yang berbeda. Jika Anda menggunakan versi eksplisit, `plugin.json` harus mendeklarasikan `version` berbeda di setiap ref yang disematkan. Jika Anda menghilangkan `version`, SHA commit yang berbeda sudah membedakan saluran. Jika dua refs diselesaikan ke string versi yang sama, Claude Code memperlakukannya sebagai identik dan melewati pembaruan.


898 Sematkan versi dependensi898 Sematkan versi dependensi

899</h4>899</h4>

900 900 

901Plugin dapat membatasi dependensinya ke rentang semver sehingga pembaruan dependensi tidak merusak plugin yang bergantung. Lihat [Batasi versi dependensi plugin](/id/plugin-dependencies) untuk konvensi git-tag `{plugin-name}--v{version}`, sintaks rentang, dan bagaimana beberapa batasan pada dependensi yang sama digabungkan.901Plugin dapat membatasi dependensinya ke rentang semver sehingga pembaruan dependensi tidak merusak plugin yang bergantung. Lihat [Batasi versi dependensi plugin](/docs/id/plugin-dependencies) untuk konvensi git-tag `{plugin-name}--v{version}`, sintaks rentang, dan bagaimana beberapa batasan pada dependensi yang sama digabungkan.

902 902 

903<h3 id="rename-or-remove-a-plugin">903<h3 id="rename-or-remove-a-plugin">

904 Ubah nama atau hapus plugin904 Ubah nama atau hapus plugin


968/plugin install test-plugin@marketplace-name968/plugin install test-plugin@marketplace-name

969```969```

970 970 

971Untuk alur kerja pengujian plugin lengkap, lihat [Uji plugin Anda secara lokal](/id/plugins#test-your-plugins-locally). Untuk troubleshooting teknis, lihat [Plugins reference](/id/plugins-reference).971Untuk alur kerja pengujian plugin lengkap, lihat [Uji plugin Anda secara lokal](/docs/id/plugins#test-your-plugins-locally). Untuk troubleshooting teknis, lihat [Plugins reference](/docs/id/plugins-reference).

972 972 

973<h2 id="manage-marketplaces-from-the-cli">973<h2 id="manage-marketplaces-from-the-cli">

974 Kelola marketplace dari CLI974 Kelola marketplace dari CLI


996 996 

997| Opsi | Deskripsi | Default |997| Opsi | Deskripsi | Default |

998| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |998| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |

999| `--scope <scope>` | Di mana mendeklarasikan marketplace: `user`, `project`, atau `local`. Lihat [Plugin installation scopes](/id/plugins-reference#plugin-installation-scopes) | `user` |999| `--scope <scope>` | Di mana mendeklarasikan marketplace: `user`, `project`, atau `local`. Lihat [Plugin installation scopes](/docs/id/plugins-reference#plugin-installation-scopes) | `user` |

1000| `--sparse <paths...>` | Batasi checkout ke direktori tertentu melalui git sparse-checkout. Berguna untuk monorepo | |1000| `--sparse <paths...>` | Batasi checkout ke direktori tertentu melalui git sparse-checkout. Berguna untuk monorepo | |

1001 1001 

1002Tambahkan marketplace dari GitHub menggunakan shorthand `owner/repo`:1002Tambahkan marketplace dari GitHub menggunakan shorthand `owner/repo`:


1077 1077 

1078| Opsi | Deskripsi | Default |1078| Opsi | Deskripsi | Default |

1079| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |1079| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |

1080| `--scope <scope>` | Batasi penghapusan ke scope pengaturan tunggal: `user`, `project`, atau `local`. Lihat [Plugin installation scopes](/id/plugins-reference#plugin-installation-scopes). Ketika dihilangkan, deklarasi dihapus dari setiap scope yang dapat diedit. Ketika diberikan, hanya deklarasi scope tersebut yang dihapus; status bersama, cache, dan data plugin yang dipasang dipertahankan ketika marketplace masih dideklarasikan di scope lain | (semua scope) |1080| `--scope <scope>` | Batasi penghapusan ke scope pengaturan tunggal: `user`, `project`, atau `local`. Lihat [Plugin installation scopes](/docs/id/plugins-reference#plugin-installation-scopes). Ketika dihilangkan, deklarasi dihapus dari setiap scope yang dapat diedit. Ketika diberikan, hanya deklarasi scope tersebut yang dihapus; status bersama, cache, dan data plugin yang dipasang dipertahankan ketika marketplace masih dideklarasikan di scope lain | (semua scope) |

1081 1081 

1082<Warning>1082<Warning>

1083 Menghapus marketplace dari scope terakhirnya yang tersisa juga mencopot plugin apa pun yang Anda pasang darinya. Untuk menyegarkan marketplace tanpa kehilangan plugin yang dipasang, gunakan `claude plugin marketplace update` sebagai gantinya.1083 Menghapus marketplace dari scope terakhirnya yang tersisa juga mencopot plugin apa pun yang Anda pasang darinya. Untuk menyegarkan marketplace tanpa kehilangan plugin yang dipasang, gunakan `claude plugin marketplace update` sebagai gantinya.


1238 1238 

1239**Penyebab**: Plugin disalin ke direktori cache daripada digunakan di tempat. Jalur yang mereferensikan file di luar direktori plugin (seperti `../shared-utils`) tidak akan berfungsi karena file tersebut tidak disalin.1239**Penyebab**: Plugin disalin ke direktori cache daripada digunakan di tempat. Jalur yang mereferensikan file di luar direktori plugin (seperti `../shared-utils`) tidak akan berfungsi karena file tersebut tidak disalin.

1240 1240 

1241**Solusi**: Lihat [Plugin caching and file resolution](/id/plugins-reference#plugin-caching-and-file-resolution) untuk solusi termasuk symlink dan restruktur direktori.1241**Solusi**: Lihat [Plugin caching and file resolution](/docs/id/plugins-reference#plugin-caching-and-file-resolution) untuk solusi termasuk symlink dan restruktur direktori.

1242 1242 

1243Untuk alat debugging tambahan dan masalah umum, lihat [Debugging and development tools](/id/plugins-reference#debugging-and-development-tools).1243Untuk alat debugging tambahan dan masalah umum, lihat [Debugging and development tools](/docs/id/plugins-reference#debugging-and-development-tools).

1244 1244 

1245<h2 id="see-also">1245<h2 id="see-also">

1246 Lihat juga1246 Lihat juga

1247</h2>1247</h2>

1248 1248 

1249* [Temukan dan pasang plugin yang sudah dibuat](/id/discover-plugins) - Memasang plugin dari marketplace yang ada1249* [Temukan dan pasang plugin yang sudah dibuat](/docs/id/discover-plugins) - Memasang plugin dari marketplace yang ada

1250* [Plugins](/id/plugins) - Membuat plugin Anda sendiri1250* [Plugins](/docs/id/plugins) - Membuat plugin Anda sendiri

1251* [Plugins reference](/id/plugins-reference) - Spesifikasi teknis lengkap dan skema1251* [Plugins reference](/docs/id/plugins-reference) - Spesifikasi teknis lengkap dan skema

1252* [Plugin settings](/id/settings#plugin-settings) - Opsi konfigurasi plugin1252* [Plugin settings](/docs/id/settings#plugin-settings) - Opsi konfigurasi plugin

1253* [strictKnownMarketplaces reference](/id/settings#strictknownmarketplaces) - Pembatasan marketplace yang dikelola1253* [strictKnownMarketplaces reference](/docs/id/settings#strictknownmarketplaces) - Pembatasan marketplace yang dikelola

Details

8 8 

9Jika Anda mengoperasikan marketplace plugin untuk organisasi Anda, Anda dapat membuat Claude Code menyarankan plugin tertentu kepada pengguna berdasarkan apa yang sedang mereka kerjakan. Tambahkan blok `relevance` ke entri plugin di `marketplace.json`, kemudian daftarkan marketplace di managed settings. Ketika sesi pengguna cocok dengan salah satu sinyal yang dideklarasikan, Claude Code menampilkan saran instalasi untuk plugin tersebut.9Jika Anda mengoperasikan marketplace plugin untuk organisasi Anda, Anda dapat membuat Claude Code menyarankan plugin tertentu kepada pengguna berdasarkan apa yang sedang mereka kerjakan. Tambahkan blok `relevance` ke entri plugin di `marketplace.json`, kemudian daftarkan marketplace di managed settings. Ketika sesi pengguna cocok dengan salah satu sinyal yang dideklarasikan, Claude Code menampilkan saran instalasi untuk plugin tersebut.

10 10 

11Saran yang dideklarasikan marketplace bersifat opt-in per marketplace melalui [managed settings](/id/settings#settings-files). Tidak ada deklarasi `relevance` marketplace yang menghasilkan saran sampai administrator menambahkannya ke daftar allowlist, termasuk marketplace resmi Anthropic. Claude Code juga menyertakan satu saran bawaan yang independen dari daftar allowlist ini; tip tersebut dan semua tip yang dideklarasikan marketplace dinonaktifkan ketika [`spinnerTipsEnabled`](/id/settings#available-settings) diatur ke `false`.11Saran yang dideklarasikan marketplace bersifat opt-in per marketplace melalui [managed settings](/docs/id/settings#settings-files). Tidak ada deklarasi `relevance` marketplace yang menghasilkan saran sampai administrator menambahkannya ke daftar allowlist, termasuk marketplace resmi Anthropic. Claude Code juga menyertakan satu saran bawaan yang independen dari daftar allowlist ini; tip tersebut dan semua tip yang dideklarasikan marketplace dinonaktifkan ketika [`spinnerTipsEnabled`](/docs/id/settings#available-settings) diatur ke `false`.

12 12 

13{/* min-version: 2.1.152 */}Fitur ini memerlukan Claude Code v2.1.152 atau lebih baru. Klien yang lebih lama mengabaikan bidang `relevance`.13Fitur ini memerlukan Claude Code v2.1.152 atau lebih baru. Klien yang lebih lama mengabaikan bidang `relevance`.

14 14 

15Halaman ini untuk operator marketplace dan administrator enterprise. Jika Anda mencari untuk menginstal plugins, lihat [Temukan dan instal plugins](/id/discover-plugins).15Halaman ini untuk operator marketplace dan administrator enterprise. Jika Anda mencari untuk menginstal plugins, lihat [Temukan dan instal plugins](/docs/id/discover-plugins).

16 16 

17<h2 id="how-it-works">17<h2 id="how-it-works">

18 Cara kerjanya18 Cara kerjanya


25Ketika sinyal cocok dan plugin belum diinstal, Claude Code menampilkan plugin di tiga tempat:25Ketika sinyal cocok dan plugin belum diinstal, Claude Code menampilkan plugin di tiga tempat:

26 26 

27* **Spinner tip**: pesan "Working with *topic*? Install the *plugin* plugin" dengan perintah `/plugin install` muncul di bawah spinner saat Claude merespons.27* **Spinner tip**: pesan "Working with *topic*? Install the *plugin* plugin" dengan perintah `/plugin install` muncul di bawah spinner saat Claude merespons.

28* **Session-start suggestion**: {/* min-version: 2.1.153 */}jika sinyal `cwd` cocok dengan direktori kerja, notifikasi satu baris `plugin suggestion: <name>@<marketplace> · /plugin` muncul sebelum giliran pertama. Permukaan ini memerlukan Claude Code v2.1.153 atau lebih baru.28* **Session-start suggestion**: jika sinyal `cwd` cocok dengan direktori kerja, notifikasi satu baris `plugin suggestion: <name>@<marketplace> · /plugin` muncul sebelum giliran pertama. Permukaan ini memerlukan Claude Code v2.1.153 atau lebih baru.

29* **`/plugin` Discover tab**: {/* min-version: 2.1.154 */}plugin disematkan ke bagian atas daftar Discover dengan anotasi seperti "suggested for this directory" atau "suggested for stripe commands". Permukaan ini memerlukan Claude Code v2.1.154 atau lebih baru.29* **`/plugin` Discover tab**: plugin disematkan ke bagian atas daftar Discover dengan anotasi seperti "suggested for this directory" atau "suggested for stripe commands". Permukaan ini memerlukan Claude Code v2.1.154 atau lebih baru.

30 30 

31Spinner tip dan notifikasi session-start adalah bagian dari sistem spinner-tips. Keduanya dinonaktifkan ketika pengguna atau proyek menetapkan `spinnerTipsEnabled` ke `false`, atau ketika `spinnerTipsOverride` kustom dikonfigurasi dengan `excludeDefault`. Pin tab Discover independen dari pengaturan tip.31Spinner tip dan notifikasi session-start adalah bagian dari sistem spinner-tips. Keduanya dinonaktifkan ketika pengguna atau proyek menetapkan `spinnerTipsEnabled` ke `false`, atau ketika `spinnerTipsOverride` kustom dikonfigurasi dengan `excludeDefault`. Pin tab Discover independen dari pengaturan tip.

32 32 


80 80 

81| Bidang | Tipe | Deskripsi |81| Bidang | Tipe | Deskripsi |

82| :------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |82| :------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

83| `cwd` | array of strings | {/* min-version: 2.1.153 */}Pola Glob yang dicocokkan dengan direktori kerja sesi. Dicocokkan sebagai jalur absolut dan, ketika berada di dalam repositori git, sebagai jalur relatif terhadap akar repositori. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Setiap pola cocok dengan direktori itu sendiri dan semuanya di bawahnya, jadi `infra`, `infra/`, dan `infra/**` berperilaku identik. Ini adalah satu-satunya sinyal yang dapat cocok pada awal sesi, sebelum giliran pertama. Maksimal 10 pola dengan 256 karakter masing-masing. |83| `cwd` | array of strings | Pola Glob yang dicocokkan dengan direktori kerja sesi. Dicocokkan sebagai jalur absolut dan, ketika berada di dalam repositori git, sebagai jalur relatif terhadap akar repositori. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Setiap pola cocok dengan direktori itu sendiri dan semuanya di bawahnya, jadi `infra`, `infra/`, dan `infra/**` berperilaku identik. Ini adalah satu-satunya sinyal yang dapat cocok pada awal sesi, sebelum giliran pertama. Maksimal 10 pola dengan 256 karakter masing-masing. |

84| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["stripe"]`. Berlaku di setiap platform: perintah yang dijalankan di Windows melalui PowerShell atau Git Bash dicatat dengan cara yang sama. Claude Code mencatat satu nama perintah per invokasi alat shell: token pertama setelah penugasan variabel lingkungan apa pun dan `sudo`. Perintah gabungan hanya berkontribusi pada perintah terdepan mereka, jadi `cd infra && terraform plan` mencatat `cd`, bukan `terraform`. Kecocokan tepat. Maksimal 10 entri dengan 64 karakter masing-masing. |84| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["stripe"]`. Berlaku di setiap platform: perintah yang dijalankan di Windows melalui PowerShell atau Git Bash dicatat dengan cara yang sama. Claude Code mencatat satu nama perintah per invokasi alat shell: token pertama setelah penugasan variabel lingkungan apa pun dan `sudo`. Perintah gabungan hanya berkontribusi pada perintah terdepan mereka, jadi `cd infra && terraform plan` mencatat `cd`, bukan `terraform`. Kecocokan tepat. Maksimal 10 entri dengan 64 karakter masing-masing. |

85| `hosts` | array of strings | Nama host yang terlihat di URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["api.stripe.com"]`. Hanya nama host huruf kecil telanjang: tanpa skema, port, atau jalur. Kecocokan tepat tidak peka huruf besar-kecil. Maksimal 20 entri dengan 128 karakter masing-masing. |85| `hosts` | array of strings | Nama host yang terlihat di URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["api.stripe.com"]`. Hanya nama host huruf kecil telanjang: tanpa skema, port, atau jalur. Kecocokan tepat tidak peka huruf besar-kecil. Maksimal 20 entri dengan 128 karakter masing-masing. |

86| `filesRead` | array of strings | {/* min-version: 2.1.153 */}Pola Glob yang dicocokkan dengan jalur file yang telah dibaca Claude sesi ini, misalnya `["**/*.tf"]`. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Maksimal 10 pola dengan 256 karakter masing-masing. |86| `filesRead` | array of strings | Pola Glob yang dicocokkan dengan jalur file yang telah dibaca Claude sesi ini, misalnya `["**/*.tf"]`. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Maksimal 10 pola dengan 256 karakter masing-masing. |

87| `manifestDeps` | array of objects | Dependensi yang dideklarasikan dalam manifes paket yang telah dibaca Claude sesi ini. Setiap entri adalah `{ "file": "...", "pattern": "..." }`, di mana `file` adalah ekspresi reguler yang dicocokkan dengan jalur file manifes seperti yang dicatat dalam status sesi, biasanya jalur absolut, dan `pattern` adalah ekspresi reguler yang dicocokkan dengan konten file tersebut. Jangkar `file` di akhir, misalnya `[/\\\\]package\\.json$` dalam bentuk JSON-escaped, karena pola yang dimulai dengan jangkar tidak pernah cocok dengan jalur absolut. Jalur tidak dinormalisasi pemisah untuk sinyal ini, jadi jalur Windows menggunakan garis miring terbalik. File manifes yang lebih besar dari 512 KB dilewati. Kedua nilai adalah string sumber JavaScript `RegExp` paling banyak 256 karakter. `file` cocok tidak peka huruf besar-kecil. `pattern` peka huruf besar-kecil. Maksimal 10 entri. |87| `manifestDeps` | array of objects | Dependensi yang dideklarasikan dalam manifes paket yang telah dibaca Claude sesi ini. Setiap entri adalah `{ "file": "...", "pattern": "..." }`, di mana `file` adalah ekspresi reguler yang dicocokkan dengan jalur file manifes seperti yang dicatat dalam status sesi, biasanya jalur absolut, dan `pattern` adalah ekspresi reguler yang dicocokkan dengan konten file tersebut. Jangkar `file` di akhir, misalnya `[/\\\\]package\\.json$` dalam bentuk JSON-escaped, karena pola yang dimulai dengan jangkar tidak pernah cocok dengan jalur absolut. Jalur tidak dinormalisasi pemisah untuk sinyal ini, jadi jalur Windows menggunakan garis miring terbalik. File manifes yang lebih besar dari 512 KB dilewati. Kedua nilai adalah string sumber JavaScript `RegExp` paling banyak 256 karakter. `file` cocok tidak peka huruf besar-kecil. `pattern` peka huruf besar-kecil. Maksimal 10 entri. |

88 88 

89Sinyal `cli`, `hosts`, `filesRead`, dan `manifestDeps` memerlukan riwayat sesi, jadi mereka hanya dapat cocok pada spinner tip dan tab Discover. Hanya `cwd` yang dapat cocok pada awal sesi. Sinyal `filesRead` dan `manifestDeps` menguji status file yang dicatat sesi, yang juga mencakup file yang telah ditulis atau diedit Claude dan file memori `CLAUDE.md` yang dimuat otomatis.89Sinyal `cli`, `hosts`, `filesRead`, dan `manifestDeps` memerlukan riwayat sesi, jadi mereka hanya dapat cocok pada spinner tip dan tab Discover. Hanya `cwd` yang dapat cocok pada awal sesi. Sinyal `filesRead` dan `manifestDeps` menguji status file yang dicatat sesi, yang juga mencakup file yang telah ditulis atau diedit Claude dan file memori `CLAUDE.md` yang dimuat otomatis.


116 Aktifkan saran di managed settings116 Aktifkan saran di managed settings

117</h2>117</h2>

118 118 

119Mendeklarasikan `relevance` di `marketplace.json` saja tidak cukup. Administrator harus mendaftarkan marketplace di [managed settings](/id/settings#settings-files) sebelum sarannya muncul kepada pengguna.119Mendeklarasikan `relevance` di `marketplace.json` saja tidak cukup. Administrator harus mendaftarkan marketplace di [managed settings](/docs/id/settings#settings-files) sebelum sarannya muncul kepada pengguna.

120 120 

121Tambahkan nama marketplace ke `pluginSuggestionMarketplaces`. Untuk marketplace apa pun selain marketplace resmi Anthropic, juga deklarasikan sumber marketplace di managed settings yang sama, baik sebagai entri nama tersebut di `extraKnownMarketplaces` atau sebagai entri di `strictKnownMarketplaces`. Nama yang didaftarkan diabaikan jika marketplace yang terdaftar di mesin berasal dari sumber yang berbeda. Ini mencegah sumber yang tidak terkait mendaftarkan di bawah nama yang didaftarkan untuk memiliki pluginnya disarankan di seluruh organisasi Anda.121Tambahkan nama marketplace ke `pluginSuggestionMarketplaces`. Untuk marketplace apa pun selain marketplace resmi Anthropic, juga deklarasikan sumber marketplace di managed settings yang sama, baik sebagai entri nama tersebut di `extraKnownMarketplaces` atau sebagai entri di `strictKnownMarketplaces`. Nama yang didaftarkan diabaikan jika marketplace yang terdaftar di mesin berasal dari sumber yang berbeda. Ini mencegah sumber yang tidak terkait mendaftarkan di bawah nama yang didaftarkan untuk memiliki pluginnya disarankan di seluruh organisasi Anda.

122 122 


144}144}

145```145```

146 146 

147Lihat [referensi pengaturan](/id/settings) untuk `pluginSuggestionMarketplaces` dan [`extraKnownMarketplaces`](/id/settings#extraknownmarketplaces) untuk detail konfigurasi lengkap.147Lihat [referensi pengaturan](/docs/id/settings) untuk `pluginSuggestionMarketplaces` dan [`extraKnownMarketplaces`](/docs/id/settings#extraknownmarketplaces) untuk detail konfigurasi lengkap.

148 148 

149<h2 id="what-the-user-sees">149<h2 id="what-the-user-sees">

150 Apa yang dilihat pengguna150 Apa yang dilihat pengguna


165 165 

166Saran plugin tertentu muncul paling banyak sekali setiap tiga sesi di seluruh spinner tip dan notifikasi session-start digabungkan, dan tidak ada yang berulang setelah plugin diinstal. Notifikasi session-start juga berhenti muncul setelah saran telah ditampilkan dua kali.166Saran plugin tertentu muncul paling banyak sekali setiap tiga sesi di seluruh spinner tip dan notifikasi session-start digabungkan, dan tidak ada yang berulang setelah plugin diinstal. Notifikasi session-start juga berhenti muncul setelah saran telah ditampilkan dua kali.

167 167 

168{/* min-version: 2.1.154 */}Di tab `/plugin` Discover, plugin disematkan di atas hasil lainnya dengan anotasi yang menamai sinyal yang cocok, seperti `suggested for this directory` atau `suggested for terraform commands`. Tab Discover menyematkan plugin tertentu sekali; kunjungan kemudian mencantumkannya dalam urutan normal. Pin tab Discover memerlukan Claude Code v2.1.154 atau lebih baru. Pada v2.1.152 hanya spinner tip yang muncul; notifikasi session-start ditambahkan di v2.1.153.168Di tab `/plugin` Discover, plugin disematkan di atas hasil lainnya dengan anotasi yang menamai sinyal yang cocok, seperti `suggested for this directory` atau `suggested for terraform commands`. Tab Discover menyematkan plugin tertentu sekali; kunjungan kemudian mencantumkannya dalam urutan normal. Pin tab Discover memerlukan Claude Code v2.1.154 atau lebih baru. Pada v2.1.152 hanya spinner tip yang muncul; notifikasi session-start ditambahkan di v2.1.153.

169 169 

170<h2 id="validate-your-marketplace">170<h2 id="validate-your-marketplace">

171 Validasi marketplace Anda171 Validasi marketplace Anda


183 Lihat juga183 Lihat juga

184</h2>184</h2>

185 185 

186* [Buat dan distribusikan marketplace plugin](/id/plugin-marketplaces): bangun marketplace yang menghosting plugins Anda186* [Buat dan distribusikan marketplace plugin](/docs/id/plugin-marketplaces): bangun marketplace yang menghosting plugins Anda

187* [Rekomendasikan plugin Anda dari CLI Anda](/id/plugin-hints): minta pengguna dari CLI Anda sendiri alih-alih dari sinyal sesi Claude Code187* [Rekomendasikan plugin Anda dari CLI Anda](/docs/id/plugin-hints): minta pengguna dari CLI Anda sendiri alih-alih dari sinyal sesi Claude Code

188* [Pengaturan](/id/settings): referensi lengkap untuk `pluginSuggestionMarketplaces` dan `extraKnownMarketplaces`188* [Pengaturan](/docs/id/settings): referensi lengkap untuk `pluginSuggestionMarketplaces` dan `extraKnownMarketplaces`

Details

515| Field | Tipe | Deskripsi | Contoh |515| Field | Tipe | Deskripsi | Contoh |

516| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------- |516| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------- |

517| `$schema` | string | URL JSON Schema untuk autocomplete dan validasi editor. Claude Code mengabaikan field ini saat waktu load. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |517| `$schema` | string | URL JSON Schema untuk autocomplete dan validasi editor. Claude Code mengabaikan field ini saat waktu load. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

518| `displayName` | string | {/* min-version: 2.1.143 */}Nama yang dapat dibaca manusia ditampilkan di picker `/plugin` dan permukaan UI lainnya. Kembali ke `name` saat dihilangkan. Tidak seperti `name`, dapat berisi spasi dan casing apa pun. Tidak digunakan untuk namespacing atau lookup. Memerlukan Claude Code v2.1.143 atau lebih baru. | `"Deployment Tools"` |518| `displayName` | string | Nama yang dapat dibaca manusia ditampilkan di picker `/plugin` dan permukaan UI lainnya. Kembali ke `name` saat dihilangkan. Tidak seperti `name`, dapat berisi spasi dan casing apa pun. Tidak digunakan untuk namespacing atau lookup. Memerlukan Claude Code v2.1.143 atau lebih baru. | `"Deployment Tools"` |

519| `version` | string | Opsional. Versi semantik. Mengatur ini mengikat plugin ke string versi tersebut, sehingga pengguna hanya menerima update saat Anda menaikkannya. Jika dihilangkan, Claude Code kembali ke SHA commit git, sehingga setiap commit diperlakukan sebagai versi baru. Jika juga diatur di entri marketplace, `plugin.json` menang. Lihat [Version management](#version-management). | `"2.1.0"` |519| `version` | string | Opsional. Versi semantik. Mengatur ini mengikat plugin ke string versi tersebut, sehingga pengguna hanya menerima update saat Anda menaikkannya. Jika dihilangkan, Claude Code kembali ke SHA commit git, sehingga setiap commit diperlakukan sebagai versi baru. Jika juga diatur di entri marketplace, `plugin.json` menang. Lihat [Version management](#version-management). | `"2.1.0"` |

520| `description` | string | Penjelasan singkat tentang tujuan plugin | `"Deployment automation tools"` |520| `description` | string | Penjelasan singkat tentang tujuan plugin | `"Deployment automation tools"` |

521| `author` | object | Informasi penulis | `{"name": "Dev Team", "email": "dev@company.com"}` |521| `author` | object | Informasi penulis | `{"name": "Dev Team", "email": "dev@company.com"}` |


523| `repository` | string | URL kode sumber | `"https://github.com/user/plugin"` |523| `repository` | string | URL kode sumber | `"https://github.com/user/plugin"` |

524| `license` | string | Pengenal lisensi | `"MIT"`, `"Apache-2.0"` |524| `license` | string | Pengenal lisensi | `"MIT"`, `"Apache-2.0"` |

525| `keywords` | array | Tag penemuan | `["deployment", "ci-cd"]` |525| `keywords` | array | Tag penemuan | `["deployment", "ci-cd"]` |

526| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}Apakah plugin dimulai dalam keadaan diaktifkan saat pengguna belum menetapkan satu. Default ke `true`. Lihat [Default enablement](#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. | `false` |526| `defaultEnabled` | boolean | Apakah plugin dimulai dalam keadaan diaktifkan saat pengguna belum menetapkan satu. Default ke `true`. Lihat [Default enablement](#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. | `false` |

527 527 

528<h3 id="default-enablement">528<h3 id="default-enablement">

529 Default enablement529 Default enablement


612 612 

613Sebelum v2.1.207, field ini mensubstitusi nilai `${user_config.KEY}`; perbarui plugins yang mengandalkan ini.613Sebelum v2.1.207, field ini mensubstitusi nilai `${user_config.KEY}`; perbarui plugins yang mengandalkan ini.

614 614 

615Nilai non-sensitif disimpan di bawah kunci [`pluginConfigs`](/docs/id/settings#pluginconfigs) di `settings.json` sebagai `pluginConfigs[<plugin-id>].options`. {/* min-version: 2.1.207 */}Claude Code menulis kunci ke pengaturan pengguna dan membacanya kembali dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja; entri di `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan. Sebelum v2.1.207, Claude Code juga membaca pengaturan proyek dan lokal.615Nilai non-sensitif disimpan di bawah kunci [`pluginConfigs`](/docs/id/settings#pluginconfigs) di `settings.json` sebagai `pluginConfigs[<plugin-id>].options`. Claude Code menulis kunci ke pengaturan pengguna dan membacanya kembali dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja; entri di `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan. Sebelum v2.1.207, Claude Code juga membaca pengaturan proyek dan lokal.

616 616 

617Nilai sensitif masuk ke Keychain macOS, atau ke `~/.claude/.credentials.json` di platform di mana keychain yang didukung tidak tersedia. Penyimpanan keychain dibagikan dengan token OAuth dan memiliki batas total sekitar 2 KB, jadi jaga nilai sensitif tetap kecil.617Nilai sensitif masuk ke Keychain macOS, atau ke `~/.claude/.credentials.json` di platform di mana keychain yang didukung tidak tersedia. Penyimpanan keychain dibagikan dengan token OAuth dan memiliki batas total sekitar 2 KB, jadi jaga nilai sensitif tetap kecil.

618 618 

Details

116 116 

117Pengecualiannya adalah plugin yang menyediakan [server MCP](/docs/id/plugins-reference#mcp-servers). Mengaktifkan atau menonaktifkan satu mengikuti aturan yang sama seperti [menghubungkan atau memutuskan server MCP](#connecting-or-disconnecting-an-mcp-server): cache bertahan ketika alat server ditunda, dan permintaan berikutnya membaca ulang seluruh percakapan ketika mereka dimuat ke dalam prefix.117Pengecualiannya adalah plugin yang menyediakan [server MCP](/docs/id/plugins-reference#mcp-servers). Mengaktifkan atau menonaktifkan satu mengikuti aturan yang sama seperti [menghubungkan atau memutuskan server MCP](#connecting-or-disconnecting-an-mcp-server): cache bertahan ketika alat server ditunda, dan permintaan berikutnya membaca ulang seluruh percakapan ketika mereka dimuat ke dalam prefix.

118 118 

119Perubahan plugin berlaku ketika Anda menjalankan [`/reload-plugins`](/docs/id/discover-plugins#apply-plugin-changes-without-restarting) atau memulai sesi baru. Biaya, baik pengumuman yang ditambahkan atau pembacaan ulang penuh, muncul pada giliran pertama setelah reload, bukan ketika Anda menjalankan `/plugin install`, `/plugin enable`, atau `/plugin disable`. {/* min-version: 2.1.163 */}Mulai dari v2.1.163, ketika reload akan memicu pembacaan ulang penuh, `/reload-plugins` menampilkan peringatan dan tidak menerapkan reload. Lewatkan `--force` untuk menerapkan bagaimanapun.119Perubahan plugin berlaku ketika Anda menjalankan [`/reload-plugins`](/docs/id/discover-plugins#apply-plugin-changes-without-restarting) atau memulai sesi baru. Biaya, baik pengumuman yang ditambahkan atau pembacaan ulang penuh, muncul pada giliran pertama setelah reload, bukan ketika Anda menjalankan `/plugin install`, `/plugin enable`, atau `/plugin disable`. Mulai dari v2.1.163, ketika reload akan memicu pembacaan ulang penuh, `/reload-plugins` menampilkan peringatan dan tidak menerapkan reload. Lewatkan `--force` untuk menerapkan bagaimanapun.

120 120 

121Menonaktifkan plugin yang Anda aktifkan sebelumnya dalam sesi mengembalikan bentuk permintaan sebelumnya. Jika prefix itu masih dalam [cache lifetime](#cache-lifetime)-nya, permintaan berikutnya membaca entri cache yang lebih lama daripada membangun kembali.121Menonaktifkan plugin yang Anda aktifkan sebelumnya dalam sesi mengembalikan bentuk permintaan sebelumnya. Jika prefix itu masih dalam [cache lifetime](#cache-lifetime)-nya, permintaan berikutnya membaca entri cache yang lebih lama daripada membangun kembali.

122 122 

remote-control.md +38 −38

Details

14 14 

15Ketika Anda memulai sesi Remote Control di mesin Anda, Claude terus berjalan secara lokal sepanjang waktu, jadi eksekusi kode dan akses sistem file Anda tetap berada di mesin Anda. Dengan Remote Control Anda dapat:15Ketika Anda memulai sesi Remote Control di mesin Anda, Claude terus berjalan secara lokal sepanjang waktu, jadi eksekusi kode dan akses sistem file Anda tetap berada di mesin Anda. Dengan Remote Control Anda dapat:

16 16 

17* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda17* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/docs/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda

18* **Bekerja dari kedua permukaan sekaligus**: percakapan dan kemajuan [subagents](/id/sub-agents) dan [dynamic workflows](/id/workflows) tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian. {/* min-version: 2.1.207 */}Sebelum v2.1.207, sesi yang dihosting oleh [Desktop app](/id/desktop) tidak mengirim kemajuan subagent atau workflow ke perangkat yang terhubung.18* **Bekerja dari kedua permukaan sekaligus**: percakapan dan kemajuan [subagents](/docs/id/sub-agents) dan [dynamic workflows](/docs/id/workflows) tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian. Sebelum v2.1.207, sesi yang dihosting oleh [Desktop app](/docs/id/desktop) tidak mengirim kemajuan subagent atau workflow ke perangkat yang terhubung.

19* **Kirim gambar dan file dari ponsel atau browser Anda**: ketika Anda menambahkan lampiran di aplikasi Claude atau di claude.ai/code, Claude Code mengunduhnya ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`, dengan atau tanpa keterangan. {/* min-version: 2.1.202 */}Sebelum v2.1.202, Claude Code dapat menghilangkan lampiran yang dikirim tanpa keterangan sebelum mencapai sesi.19* **Kirim gambar dan file dari ponsel atau browser Anda**: ketika Anda menambahkan lampiran di aplikasi Claude atau di claude.ai/code, Claude Code mengunduhnya ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`, dengan atau tanpa keterangan. Sebelum v2.1.202, Claude Code dapat menghilangkan lampiran yang dikirim tanpa keterangan sebelum mencapai sesi.

20* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, sesi akan terhubung kembali secara otomatis ketika mesin Anda kembali online. Claude Code mengantrikan pembaruan status dari subagents dan workflows saat koneksi sedang dibangun kembali dan mengirimkannya setelah pemulihan. {/* min-version: 2.1.207 */}Sebelum v2.1.207, pembaruan yang dikirim selama reconnection atau credential refresh dapat hilang, jadi perangkat yang terhubung terus menampilkan tugas yang selesai sebagai sedang berjalan.20* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, sesi akan terhubung kembali secara otomatis ketika mesin Anda kembali online. Claude Code mengantrikan pembaruan status dari subagents dan workflows saat koneksi sedang dibangun kembali dan mengirimkannya setelah pemulihan. Sebelum v2.1.207, pembaruan yang dikirim selama reconnection atau credential refresh dapat hilang, jadi perangkat yang terhubung terus menampilkan tugas yang selesai sebagai sedang berjalan.

21 21 

22Tidak seperti [Claude Code di web](/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut.22Tidak seperti [Claude Code di web](/docs/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut.

23 23 

24Halaman ini mencakup pengaturan, cara memulai dan terhubung ke sesi, dan bagaimana Remote Control dibandingkan dengan Claude Code di web.24Halaman ini mencakup pengaturan, cara memulai dan terhubung ke sesi, dan bagaimana Remote Control dibandingkan dengan Claude Code di web.

25 25 


31 31 

32* **Langganan**: tersedia di paket Pro, Max, Tim, dan Enterprise. Kunci API tidak didukung. Di Tim dan Enterprise, seorang Pemilik harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).32* **Langganan**: tersedia di paket Pro, Max, Tim, dan Enterprise. Kunci API tidak didukung. Di Tim dan Enterprise, seorang Pemilik harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

33* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya.33* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya.

34* **Titik akhir API**: tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, Remote Control juga dinonaktifkan ketika [`ANTHROPIC_BASE_URL`](/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control.34* **Titik akhir API**: tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Mulai dari v2.1.196, Remote Control juga dinonaktifkan ketika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control.

35* **Kepercayaan ruang kerja**: jalankan `claude` di direktori proyek Anda setidaknya sekali untuk menerima dialog kepercayaan ruang kerja.35* **Kepercayaan ruang kerja**: jalankan `claude` di direktori proyek Anda setidaknya sekali untuk menerima dialog kepercayaan ruang kerja.

36 36 

37<h2 id="start-a-remote-control-session">37<h2 id="start-a-remote-control-session">


56 | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56 | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

57 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |57 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |

58 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default adalah nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |58 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default adalah nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |

59 | `-c`, `--continue` | {/* min-version: 2.1.200 */}Lanjutkan sesi Remote Control terbaru yang dimulai dari direktori ini alih-alih membuat yang baru. Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |59 | `-c`, `--continue` | Lanjutkan sesi Remote Control terbaru yang dimulai dari direktori ini alih-alih membuat yang baru. Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |

60 | `--session-id <id>` | {/* min-version: 2.1.200 */}Lanjutkan sesi Remote Control tertentu berdasarkan ID-nya. Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |60 | `--session-id <id>` | Lanjutkan sesi Remote Control tertentu berdasarkan ID-nya. Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |

61 | `--spawn <mode>` | Bagaimana server membuat sesi.<br />• `same-dir` (default): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama.<br />• `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/id/worktrees) miliknya sendiri. Memerlukan repositori git.<br />• `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja.<br />Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. |61 | `--spawn <mode>` | Bagaimana server membuat sesi.<br />• `same-dir` (default): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama.<br />• `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/docs/id/worktrees) miliknya sendiri. Memerlukan repositori git.<br />• `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja.<br />Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. |

62 | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |62 | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |

63 | `--[no-]create-session-in-dir` | Buat sesi sebelumnya di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default; berikan `--no-create-session-in-dir` untuk memulai tanpa ada. |63 | `--[no-]create-session-in-dir` | Buat sesi sebelumnya di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default; berikan `--no-create-session-in-dir` untuk memulai tanpa ada. |

64 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |64 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |

65 | `--sandbox` / `--no-sandbox` | Aktifkan atau nonaktifkan [sandboxing](/id/sandboxing) untuk isolasi sistem file dan jaringan. Dimatikan secara default. |65 | `--sandbox` / `--no-sandbox` | Aktifkan atau nonaktifkan [sandboxing](/docs/id/sandboxing) untuk isolasi sistem file dan jaringan. Dimatikan secara default. |

66 </Tab>66 </Tab>

67 67 

68 <Tab title="Sesi interaktif">68 <Tab title="Sesi interaktif">


100 </Tab>100 </Tab>

101 101 

102 <Tab title="VS Code">102 <Tab title="VS Code">

103 Di [ekstensi VS Code Claude Code](/id/vs-code), ketik `/remote-control` atau `/rc` di kotak prompt, atau buka menu perintah dengan `/` dan pilihnya.103 Di [ekstensi VS Code Claude Code](/docs/id/vs-code), ketik `/remote-control` atau `/rc` di kotak prompt, atau buka menu perintah dengan `/` dan pilihnya.

104 104 

105 ```text theme={null}105 ```text theme={null}

106 /remote-control106 /remote-control


132* **Pindai kode QR** yang ditampilkan bersama URL sesi untuk membukanya langsung di aplikasi Claude. Dengan `claude remote-control`, tekan spacebar untuk beralih tampilan kode QR.132* **Pindai kode QR** yang ditampilkan bersama URL sesi untuk membukanya langsung di aplikasi Claude. Dengan `claude remote-control`, tekan spacebar untuk beralih tampilan kode QR.

133* **Buka [claude.ai/code](https://claude.ai/code) atau aplikasi Claude** dan temukan sesi berdasarkan nama dalam daftar sesi. Di aplikasi mobile Claude, ketuk **Code** dalam navigasi untuk mencapai daftar sesi. Sesi Remote Control menampilkan ikon komputer dengan titik status hijau saat online.133* **Buka [claude.ai/code](https://claude.ai/code) atau aplikasi Claude** dan temukan sesi berdasarkan nama dalam daftar sesi. Di aplikasi mobile Claude, ketuk **Code** dalam navigasi untuk mencapai daftar sesi. Sesi Remote Control menampilkan ikon komputer dengan titik status hijau saat online.

134 134 

135Ketika Anda terhubung, perangkat menampilkan subagen dan alur kerja apa pun yang sudah dijalankan sesi di latar belakang. {/* min-version: 2.1.208 */}Sebelum v2.1.208, perangkat yang terhubung ke sesi yang dihosting di terminal interaktif tidak menampilkan subagen dan alur kerja yang sudah berjalan sampai salah satu dari mereka dimulai atau berhenti.135Ketika Anda terhubung, perangkat menampilkan subagen dan alur kerja apa pun yang sudah dijalankan sesi di latar belakang. Sebelum v2.1.208, perangkat yang terhubung ke sesi yang dihosting di terminal interaktif tidak menampilkan subagen dan alur kerja yang sudah berjalan sampai salah satu dari mereka dimulai atau berhenti.

136 136 

137Judul sesi jarak jauh dipilih dalam urutan ini:137Judul sesi jarak jauh dipilih dalam urutan ini:

138 138 


1413. Pesan bermakna terakhir dalam riwayat percakapan yang ada1413. Pesan bermakna terakhir dalam riwayat percakapan yang ada

1424. Nama yang dibuat secara otomatis seperti `myhost-graceful-unicorn`, di mana `myhost` adalah nama mesin Anda atau awalan yang Anda tetapkan dengan `--remote-control-session-name-prefix`1424. Nama yang dibuat secara otomatis seperti `myhost-graceful-unicorn`, di mana `myhost` adalah nama mesin Anda atau awalan yang Anda tetapkan dengan `--remote-control-session-name-prefix`

143 143 

144Jika Anda tidak menetapkan nama eksplisit, judul akan diperbarui untuk mencerminkan prompt Anda setelah Anda mengirimnya. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, judul yang dibuat secara otomatis cocok dengan bahasa percakapan Anda, atau pengaturan [`language`](/id/settings#available-settings) jika satu dikonfigurasi. Mengganti nama sesi dari claude.ai atau aplikasi Claude juga memperbarui judul lokal yang ditampilkan di `claude --resume`.144Jika Anda tidak menetapkan nama eksplisit, judul akan diperbarui untuk mencerminkan prompt Anda setelah Anda mengirimnya. Mulai dari Claude Code v2.1.176, judul yang dibuat secara otomatis cocok dengan bahasa percakapan Anda, atau pengaturan [`language`](/docs/id/settings#available-settings) jika satu dikonfigurasi. Mengganti nama sesi dari claude.ai atau aplikasi Claude juga memperbarui judul lokal yang ditampilkan di `claude --resume`.

145 145 

146Jika lingkungan sudah memiliki sesi aktif, Anda akan ditanya apakah akan melanjutkannya atau memulai yang baru.146Jika lingkungan sudah memiliki sesi aktif, Anda akan ditanya apakah akan melanjutkannya atau memulai yang baru.

147 147 


151 Aktifkan Remote Control untuk semua sesi151 Aktifkan Remote Control untuk semua sesi

152</h3>152</h3>

153 153 

154Remote Control hanya diaktifkan ketika Anda secara eksplisit menjalankan `claude remote-control`, `claude --remote-control`, atau `/remote-control`, kecuali auto-connect diaktifkan. Untuk mengaktifkannya secara otomatis untuk setiap sesi interaktif, jalankan `/config` di dalam Claude Code dan atur **Enable Remote Control for all sessions** ke `true`. Atur ke `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Di aplikasi Desktop, Anda juga dapat mengalihkan ini dari **Settings → Claude Code → Enable remote control by default**. {/* min-version: 2.1.203 */}Di [ekstensi VS Code](/id/vs-code#use-the-prompt-box), toggle yang sama muncul sebagai **Enable Remote Control for all sessions** di bagian Settings menu perintah; memerlukan Claude Code v2.1.203 atau lebih baru.154Remote Control hanya diaktifkan ketika Anda secara eksplisit menjalankan `claude remote-control`, `claude --remote-control`, atau `/remote-control`, kecuali auto-connect diaktifkan. Untuk mengaktifkannya secara otomatis untuk setiap sesi interaktif, jalankan `/config` di dalam Claude Code dan atur **Enable Remote Control for all sessions** ke `true`. Atur ke `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Di aplikasi Desktop, Anda juga dapat mengalihkan ini dari **Settings → Claude Code → Enable remote control by default**. Di [ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box), toggle yang sama muncul sebagai **Enable Remote Control for all sessions** di bagian Settings menu perintah; memerlukan Claude Code v2.1.203 atau lebih baru.

155 155 

156Dengan pengaturan ini aktif, setiap proses Claude Code interaktif mendaftarkan satu sesi jarak jauh. Jika Anda menjalankan beberapa instance, masing-masing mendapatkan lingkungan dan sesi sendiri. Untuk menjalankan beberapa sesi bersamaan dari satu proses, gunakan [mode server](#start-a-remote-control-session) sebagai gantinya.156Dengan pengaturan ini aktif, setiap proses Claude Code interaktif mendaftarkan satu sesi jarak jauh. Jika Anda menjalankan beberapa instance, masing-masing mendapatkan lingkungan dan sesi sendiri. Untuk menjalankan beberapa sesi bersamaan dari satu proses, gunakan [mode server](#start-a-remote-control-session) sebagai gantinya.

157 157 


163 163 

164Semua lalu lintas berjalan melalui API Anthropic melalui TLS, keamanan transportasi yang sama seperti sesi Claude Code apa pun. Koneksi menggunakan beberapa kredensial berumur pendek, masing-masing dibatasi untuk satu tujuan dan kedaluwarsa secara independen.164Semua lalu lintas berjalan melalui API Anthropic melalui TLS, keamanan transportasi yang sama seperti sesi Claude Code apa pun. Koneksi menggunakan beberapa kredensial berumur pendek, masing-masing dibatasi untuk satu tujuan dan kedaluwarsa secara independen.

165 165 

166Saat Remote Control terhubung, transkrip sesi, termasuk pesan Anda, respons Claude, dan aktivitas alat, disimpan di server Anthropic. Transkrip yang disimpan menjaga percakapan tetap sinkron di seluruh perangkat Anda dan memungkinkan sesi untuk terhubung kembali setelah gangguan jaringan. Eksekusi dan akses sistem file tetap berada di mesin Anda, dan transkrip yang disimpan dipertahankan sesuai dengan kebijakan [Penggunaan data](/id/data-usage).166Saat Remote Control terhubung, transkrip sesi, termasuk pesan Anda, respons Claude, dan aktivitas alat, disimpan di server Anthropic. Transkrip yang disimpan menjaga percakapan tetap sinkron di seluruh perangkat Anda dan memungkinkan sesi untuk terhubung kembali setelah gangguan jaringan. Eksekusi dan akses sistem file tetap berada di mesin Anda, dan transkrip yang disimpan dipertahankan sesuai dengan kebijakan [Penggunaan data](/docs/id/data-usage).

167 167 

168Untuk mematikan Remote Control sepenuhnya, gunakan pengaturan [`disableRemoteControl`](/id/settings#available-settings). Organisasi dengan persyaratan kepatuhan seperti Zero Data Retention tidak dapat mengaktifkan Remote Control.168Untuk mematikan Remote Control sepenuhnya, gunakan pengaturan [`disableRemoteControl`](/docs/id/settings#available-settings). Organisasi dengan persyaratan kepatuhan seperti Zero Data Retention tidak dapat mengaktifkan Remote Control.

169 169 

170<h2 id="trusted-devices">170<h2 id="trusted-devices">

171 Perangkat Terpercaya171 Perangkat Terpercaya


234 Remote Control vs Claude Code di web234 Remote Control vs Claude Code di web

235</h2>235</h2>

236 236 

237Remote Control dan [Claude Code di web](/id/claude-code-on-the-web) keduanya menggunakan antarmuka claude.ai/code. Perbedaan utamanya adalah di mana sesi berjalan: Remote Control dieksekusi di mesin Anda, sehingga MCP servers lokal, alat, dan konfigurasi proyek Anda tetap tersedia. Claude Code di web dieksekusi di infrastruktur cloud yang dikelola Anthropic.237Remote Control dan [Claude Code di web](/docs/id/claude-code-on-the-web) keduanya menggunakan antarmuka claude.ai/code. Perbedaan utamanya adalah di mana sesi berjalan: Remote Control dieksekusi di mesin Anda, sehingga MCP servers lokal, alat, dan konfigurasi proyek Anda tetap tersedia. Claude Code di web dieksekusi di infrastruktur cloud yang dikelola Anthropic.

238 238 

239Gunakan Remote Control ketika Anda sedang dalam pekerjaan lokal dan ingin terus melanjutkan dari perangkat lain. Gunakan Claude Code di web ketika Anda ingin memulai tugas tanpa pengaturan lokal apa pun, bekerja pada repo yang tidak Anda miliki klonnya, atau menjalankan beberapa tugas secara paralel.239Gunakan Remote Control ketika Anda sedang dalam pekerjaan lokal dan ingin terus melanjutkan dari perangkat lain. Gunakan Claude Code di web ketika Anda ingin memulai tugas tanpa pengaturan lokal apa pun, bekerja pada repo yang tidak Anda miliki klonnya, atau menjalankan beberapa tugas secara paralel.

240 240 


272* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.272* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.

273* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.273* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.

274 274 

275Claude Code melewatkan notifikasi push mobile saat Anda mengetik atau fokus pada terminal yang terhubung. {/* min-version: 2.1.181 */}Mulai dari v2.1.181, Anda dapat mengatur [`CLAUDE_CLIENT_PRESENCE_FILE`](/id/env-vars) ke jalur file penanda untuk memperluas ini ke kapan saja Anda berada di mesin, bahkan di jendela lain: notifikasi dilewatkan saat file ada. Konfigurasikan pendengar kunci layar atau alat serupa untuk membuat file saat layar Anda membuka kunci dan menghapusnya saat layar Anda terkunci.275Claude Code melewatkan notifikasi push mobile saat Anda mengetik atau fokus pada terminal yang terhubung. Mulai dari v2.1.181, Anda dapat mengatur [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/id/env-vars) ke jalur file penanda untuk memperluas ini ke kapan saja Anda berada di mesin, bahkan di jendela lain: notifikasi dilewatkan saat file ada. Konfigurasikan pendengar kunci layar atau alat serupa untuk membuat file saat layar Anda membuka kunci dan menghapusnya saat layar Anda terkunci.

276 276 

277<h2 id="limitations">277<h2 id="limitations">

278 Keterbatasan278 Keterbatasan


281* **Satu sesi jarak jauh per proses interaktif**: di luar mode server, setiap instance Claude Code mendukung satu sesi jarak jauh pada satu waktu. Gunakan [mode server](#start-a-remote-control-session) untuk menjalankan beberapa sesi bersamaan dari satu proses.281* **Satu sesi jarak jauh per proses interaktif**: di luar mode server, setiap instance Claude Code mendukung satu sesi jarak jauh pada satu waktu. Gunakan [mode server](#start-a-remote-control-session) untuk menjalankan beberapa sesi bersamaan dari satu proses.

282* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari VS Code, atau menghentikan proses `claude`, sesi berakhir.282* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari VS Code, atau menghentikan proses `claude`, sesi berakhir.

283* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.283* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.

284* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.284* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/docs/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.

285* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Perintah berikut bekerja dari mobile dan web:285* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Perintah berikut bekerja dari mobile dan web:

286 * Perintah output teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits` (menjalankan bentuk teks alih-alih membuka dialog dalam CLI), `/recap`, `/reload-plugins`286 * Perintah output teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits` (menjalankan bentuk teks alih-alih membuka dialog dalam CLI), `/recap`, `/reload-plugins`

287 * `/model`, `/effort`, `/fast`, `/color`, dan `/rename`: teruskan nilai sebagai argumen, misalnya `/model sonnet` atau `/effort high`. Dari mobile dan web, `/model` dan `/effort` mengambil argumen sebagai pengganti pemilih terminal atau slider.287 * `/model`, `/effort`, `/fast`, `/color`, dan `/rename`: teruskan nilai sebagai argumen, misalnya `/model sonnet` atau `/effort high`. Dari mobile dan web, `/model` dan `/effort` mengambil argumen sebagai pengganti pemilih terminal atau slider.

288 * {/* min-version: 2.1.166 */}`/mcp`, dari v2.1.166: dari aplikasi mobile, mengembalikan ringkasan teks status server alih-alih membuka pemilih. Di web, `/mcp` sendiri membuka direktori [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) alih-alih mengembalikan ringkasan. [Subperintah](/id/commands#all-commands) `reconnect`, `enable`, dan `disable` bekerja dari keduanya. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi.288 * `/mcp`, dari v2.1.166: dari aplikasi mobile, mengembalikan ringkasan teks status server alih-alih membuka pemilih. Di web, `/mcp` sendiri membuka direktori [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) alih-alih mengembalikan ringkasan. [Subperintah](/docs/id/commands#all-commands) `reconnect`, `enable`, dan `disable` bekerja dari keduanya. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi.

289 * {/* min-version: 2.1.181 */}`/config`, dari v2.1.181: dari aplikasi mobile, teruskan `key=value` untuk menetapkan pengaturan, atau jalankan tanpa argumen untuk membuat daftar kunci yang dapat Anda atur. Di web, `/config` membuka bagian Claude Code dari pengaturan Anda sebagai gantinya, dan mengabaikan teks setelah perintah.289 * `/config`, dari v2.1.181: dari aplikasi mobile, teruskan `key=value` untuk menetapkan pengaturan, atau jalankan tanpa argumen untuk membuat daftar kunci yang dapat Anda atur. Di web, `/config` membuka bagian Claude Code dari pengaturan Anda sebagai gantinya, dan mengabaikan teks setelah perintah.

290 290 

291<h2 id="troubleshooting">291<h2 id="troubleshooting">

292 Pemecahan Masalah292 Pemecahan Masalah


298 298 

299Anda tidak diautentikasi dengan akun claude.ai. Jalankan `claude auth login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya terlebih dahulu.299Anda tidak diautentikasi dengan akun claude.ai. Jalankan `claude auth login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya terlebih dahulu.

300 300 

301{/* min-version: 2.1.206 */}Sebelum v2.1.206, menjalankan `/remote-control` saat tidak masuk melaporkan `Unknown command: /remote-control` alih-alih pesan ini.301Sebelum v2.1.206, menjalankan `/remote-control` saat tidak masuk melaporkan `Unknown command: /remote-control` alih-alih pesan ini.

302 302 

303<h3 id="remote-control-requires-a-full-scope-login-token">303<h3 id="remote-control-requires-a-full-scope-login-token">

304 "Remote Control memerlukan token login dengan cakupan penuh"304 "Remote Control memerlukan token login dengan cakupan penuh"


328 "Remote Control hanya tersedia saat menggunakan Claude melalui api.anthropic.com"328 "Remote Control hanya tersedia saat menggunakan Claude melalui api.anthropic.com"

329</h3>329</h3>

330 330 

331Sesi tidak berbicara langsung ke API Anthropic, jadi tidak ada backend claude.ai untuk dipasangkan. Ini terjadi di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, ini juga terjadi ketika [`ANTHROPIC_BASE_URL`](/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/id/llm-gateway) atau proxy, bahkan jika Anda masuk dengan claude.ai. Batalkan pengaturan `ANTHROPIC_BASE_URL` dan mulai ulang sesi untuk menggunakan Remote Control.331Sesi tidak berbicara langsung ke API Anthropic, jadi tidak ada backend claude.ai untuk dipasangkan. Ini terjadi di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Mulai dari v2.1.196, ini juga terjadi ketika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy, bahkan jika Anda masuk dengan claude.ai. Batalkan pengaturan `ANTHROPIC_BASE_URL` dan mulai ulang sesi untuk menggunakan Remote Control.

332 332 

333<h3 id="remote-control-is-disabled-by-your-organization’s-policy">333<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

334 "Remote Control dinonaktifkan oleh kebijakan organisasi Anda"334 "Remote Control dinonaktifkan oleh kebijakan organisasi Anda"


339* **Anda diautentikasi dengan kunci API atau akun Console**: Remote Control memerlukan OAuth claude.ai. Jalankan `/login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya.339* **Anda diautentikasi dengan kunci API atau akun Console**: Remote Control memerlukan OAuth claude.ai. Jalankan `/login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya.

340* **Pemilik belum mengaktifkannya untuk organisasi Anda**: Remote Control dimatikan secara default di paket Team dan Enterprise. Pemilik dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.340* **Pemilik belum mengaktifkannya untuk organisasi Anda**: Remote Control dimatikan secara default di paket Team dan Enterprise. Pemilik dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.

341* **Toggle admin berwarna abu-abu**: organisasi Anda memiliki konfigurasi retensi data atau kepatuhan yang tidak kompatibel dengan Remote Control. Ini tidak dapat diubah dari panel admin. Hubungi dukungan Anthropic untuk membahas opsi.341* **Toggle admin berwarna abu-abu**: organisasi Anda memiliki konfigurasi retensi data atau kepatuhan yang tidak kompatibel dengan Remote Control. Ini tidak dapat diubah dari panel admin. Hubungi dukungan Anthropic untuk membahas opsi.

342* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan yang dikelola](/id/settings#settings-files), terlepas dari toggle organisasi-lebar.342* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan yang dikelola](/docs/id/settings#settings-files), terlepas dari toggle organisasi-lebar.

343 343 

344<h3 id="remote-credentials-fetch-failed">344<h3 id="remote-credentials-fetch-failed">

345 "Remote credentials fetch failed"345 "Remote credentials fetch failed"


365 365 

366Sesi lokal Anda terus berjalan tanpa Remote Control. Jalankan `/remote-control` untuk mencoba koneksi lagi, atau mulai Claude Code tanpa `--resume` untuk membuat sesi Remote Control baru.366Sesi lokal Anda terus berjalan tanpa Remote Control. Jalankan `/remote-control` untuk mencoba koneksi lagi, atau mulai Claude Code tanpa `--resume` untuk membuat sesi Remote Control baru.

367 367 

368{/* min-version: 2.1.200 */}Sebelum v2.1.200, kegagalan koneksi ulang membuat sesi Remote Control baru alih-alih menampilkan pesan ini, yang meninggalkan sesi tambahan dalam daftar sesi di claude.ai/code.368Sebelum v2.1.200, kegagalan koneksi ulang membuat sesi Remote Control baru alih-alih menampilkan pesan ini, yang meninggalkan sesi tambahan dalam daftar sesi di claude.ai/code.

369 369 

370<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">370<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

371 "Organisasi Anda memerlukan Perangkat Terpercaya untuk Remote Control, tetapi perangkat ini tidak terdaftar"371 "Organisasi Anda memerlukan Perangkat Terpercaya untuk Remote Control, tetapi perangkat ini tidak terdaftar"


387 387 

388| | Trigger | Claude runs on | Setup | Best for |388| | Trigger | Claude runs on | Setup | Best for |

389| :--------------------------------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------ |389| :--------------------------------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------ |

390| [Dispatch](/en/desktop#sessions-from-dispatch) | Message a task from the Claude mobile app | Your machine (Desktop) | [Pair the mobile app with Desktop](https://support.claude.com/en/articles/13947068) | Delegating work while you're away, minimal setup |390| [Dispatch](/docs/en/desktop#sessions-from-dispatch) | Message a task from the Claude mobile app | Your machine (Desktop) | [Pair the mobile app with Desktop](https://support.claude.com/en/articles/13947068) | Delegating work while you're away, minimal setup |

391| [Remote Control](/en/remote-control) | Drive a running session from [claude.ai/code](https://claude.ai/code) or the Claude mobile app | Your machine (CLI or VS Code) | Run `claude remote-control` | Steering in-progress work from another device |391| [Remote Control](/docs/en/remote-control) | Drive a running session from [claude.ai/code](https://claude.ai/code) or the Claude mobile app | Your machine (CLI or VS Code) | Run `claude remote-control` | Steering in-progress work from another device |

392| [Channels](/en/channels) | Push events from a chat app like Telegram or Discord, or your own server | Your machine (CLI) | [Install a channel plugin](/en/channels#quickstart) or [build your own](/en/channels-reference) | Reacting to external events like CI failures or chat messages |392| [Channels](/docs/en/channels) | Push events from a chat app like Telegram or Discord, or your own server | Your machine (CLI) | [Install a channel plugin](/docs/en/channels#quickstart) or [build your own](/docs/en/channels-reference) | Reacting to external events like CI failures or chat messages |

393| [Slack](/en/slack) | Mention `@Claude` in a team channel | Anthropic cloud | [Install the Slack app](/en/slack#setting-up-claude-code-in-slack) with [Claude Code on the web](/en/claude-code-on-the-web) enabled | PRs and reviews from team chat |393| [Slack](/docs/en/slack) | Mention `@Claude` in a team channel | Anthropic cloud | [Install the Slack app](/docs/en/slack#setting-up-claude-code-in-slack) with [Claude Code on the web](/docs/en/claude-code-on-the-web) enabled | PRs and reviews from team chat |

394| [Scheduled tasks](/en/scheduled-tasks) | Set a schedule | [CLI](/en/scheduled-tasks), [Desktop](/en/desktop-scheduled-tasks), or [cloud](/en/routines) | Pick a frequency | Recurring automation like daily reviews |394| [Scheduled tasks](/docs/en/scheduled-tasks) | Set a schedule | [CLI](/docs/en/scheduled-tasks), [Desktop](/docs/en/desktop-scheduled-tasks), or [cloud](/docs/en/routines) | Pick a frequency | Recurring automation like daily reviews |

395 395 

396<h2 id="related-resources">396<h2 id="related-resources">

397 Sumber daya terkait397 Sumber daya terkait

398</h2>398</h2>

399 399 

400* [Claude Code di web](/id/claude-code-on-the-web): jalankan sesi di lingkungan cloud yang dikelola Anthropic alih-alih di mesin Anda400* [Claude Code di web](/docs/id/claude-code-on-the-web): jalankan sesi di lingkungan cloud yang dikelola Anthropic alih-alih di mesin Anda

401* [Ultraplan](/id/ultraplan): luncurkan sesi perencanaan cloud dari terminal Anda dan tinjau rencana di browser Anda401* [Ultraplan](/docs/id/ultraplan): luncurkan sesi perencanaan cloud dari terminal Anda dan tinjau rencana di browser Anda

402* [Channels](/id/channels): teruskan Telegram, Discord, atau iMessage ke sesi sehingga Claude bereaksi terhadap pesan saat Anda pergi402* [Channels](/docs/id/channels): teruskan Telegram, Discord, atau iMessage ke sesi sehingga Claude bereaksi terhadap pesan saat Anda pergi

403* [Dispatch](/id/desktop#sessions-from-dispatch): kirim pesan tugas dari ponsel Anda dan dapat menjalankan sesi Desktop untuk menanganinya403* [Dispatch](/docs/id/desktop#sessions-from-dispatch): kirim pesan tugas dari ponsel Anda dan dapat menjalankan sesi Desktop untuk menanganinya

404* [Autentikasi](/id/authentication): atur `/login` dan kelola kredensial untuk claude.ai404* [Autentikasi](/docs/id/authentication): atur `/login` dan kelola kredensial untuk claude.ai

405* [Referensi CLI](/id/cli-reference): daftar lengkap bendera dan perintah termasuk `claude remote-control`405* [Referensi CLI](/docs/id/cli-reference): daftar lengkap bendera dan perintah termasuk `claude remote-control`

406* [Keamanan](/id/security): bagaimana sesi Remote Control sesuai dengan model keamanan Claude Code406* [Keamanan](/docs/id/security): bagaimana sesi Remote Control sesuai dengan model keamanan Claude Code

407* [Penggunaan data](/id/data-usage): data apa yang mengalir melalui API Anthropic selama sesi lokal dan jarak jauh407* [Penggunaan data](/docs/id/data-usage): data apa yang mengalir melalui API Anthropic selama sesi lokal dan jarak jauh

sandboxing.md +44 −44

Details

9Sandbox Bash memungkinkan Claude menjalankan sebagian besar perintah shell tanpa berhenti untuk meminta izin. Alih-alih menyetujui setiap perintah, Anda menentukan file dan domain jaringan mana yang dapat diakses perintah, dan sistem operasi memberlakukan batas itu untuk setiap perintah Bash dan proses anak-anaknya.9Sandbox Bash memungkinkan Claude menjalankan sebagian besar perintah shell tanpa berhenti untuk meminta izin. Alih-alih menyetujui setiap perintah, Anda menentukan file dan domain jaringan mana yang dapat diakses perintah, dan sistem operasi memberlakukan batas itu untuk setiap perintah Bash dan proses anak-anaknya.

10 10 

11<Note>11<Note>

12 Untuk membandingkan pendekatan isolasi lain seperti dev containers, container khusus, dan mesin virtual, lihat [Sandbox environments](/id/sandbox-environments). Untuk mengurangi prompt izin untuk alat selain Bash, lihat [permission modes](/id/permission-modes).12 Untuk membandingkan pendekatan isolasi lain seperti dev containers, container khusus, dan mesin virtual, lihat [Sandbox environments](/docs/id/sandbox-environments). Untuk mengurangi prompt izin untuk alat selain Bash, lihat [permission modes](/docs/id/permission-modes).

13</Note>13</Note>

14 14 

15<h2 id="get-started">15<h2 id="get-started">


31 Ini membuka panel sandbox dengan tiga tab:31 Ini membuka panel sandbox dengan tiga tab:

32 32 

33 * **Mode**: pilih bagaimana perintah sandboxed disetujui, dibahas dalam langkah berikutnya33 * **Mode**: pilih bagaimana perintah sandboxed disetujui, dibahas dalam langkah berikutnya

34 * **Overrides**: pilih apakah perintah yang gagal di bawah sandbox dapat kembali ke menjalankan unsandboxed. Ini adalah pengaturan [`allowUnsandboxedCommands`](/id/settings#sandbox-settings)34 * **Overrides**: pilih apakah perintah yang gagal di bawah sandbox dapat kembali ke menjalankan unsandboxed. Ini adalah pengaturan [`allowUnsandboxedCommands`](/docs/id/settings#sandbox-settings)

35 * **Config**: lihat pengaturan sandbox yang diselesaikan35 * **Config**: lihat pengaturan sandbox yang diselesaikan

36 36 

37 Jika panel hanya menampilkan tab Dependencies, paket yang diperlukan hilang. Instal seperti yang dijelaskan dalam [Set up Linux and WSL2](#set-up-linux-and-wsl2), restart Claude Code, dan jalankan `/sandbox` lagi.37 Jika panel hanya menampilkan tab Dependencies, paket yang diperlukan hilang. Instal seperti yang dijelaskan dalam [Set up Linux and WSL2](#set-up-linux-and-wsl2), restart Claude Code, dan jalankan `/sandbox` lagi.


48 </Step>48 </Step>

49</Steps>49</Steps>

50 50 

51Memilih mode dalam panel menulis ke pengaturan lokal proyek Anda di `.claude/settings.local.json`, yang berlaku untuk proyek saat ini dan tidak diperiksa ke git. Untuk mengaktifkan sandbox di semua proyek Anda, atur [`sandbox.enabled`](/id/settings#sandbox-settings) ke `true` dalam pengaturan pengguna Anda di `~/.claude/settings.json`. Untuk memberlakukan sandboxing untuk setiap pengembang dalam organisasi, gunakan [managed settings](#enforce-sandboxing-with-managed-settings).51Memilih mode dalam panel menulis ke pengaturan lokal proyek Anda di `.claude/settings.local.json`, yang berlaku untuk proyek saat ini dan tidak diperiksa ke git. Untuk mengaktifkan sandbox di semua proyek Anda, atur [`sandbox.enabled`](/docs/id/settings#sandbox-settings) ke `true` dalam pengaturan pengguna Anda di `~/.claude/settings.json`. Untuk memberlakukan sandboxing untuk setiap pengembang dalam organisasi, gunakan [managed settings](#enforce-sandboxing-with-managed-settings).

52 52 

53<Warning>53<Warning>

54 Secara default, jika sandbox tidak dapat dimulai karena dependensi hilang atau platform tidak didukung, Claude Code menampilkan peringatan dan menjalankan perintah tanpa sandboxing. Untuk menjadikan ini kegagalan keras sebagai gantinya, atur [`sandbox.failIfUnavailable`](/id/settings#sandbox-settings) ke `true`. Ini dimaksudkan untuk penyebaran terkelola yang memerlukan sandboxing sebagai gerbang keamanan.54 Secara default, jika sandbox tidak dapat dimulai karena dependensi hilang atau platform tidak didukung, Claude Code menampilkan peringatan dan menjalankan perintah tanpa sandboxing. Untuk menjadikan ini kegagalan keras sebagai gantinya, atur [`sandbox.failIfUnavailable`](/docs/id/settings#sandbox-settings) ke `true`. Ini dimaksudkan untuk penyebaran terkelola yang memerlukan sandboxing sebagai gerbang keamanan.

55</Warning>55</Warning>

56 56 

57<h3 id="set-up-linux-and-wsl2">57<h3 id="set-up-linux-and-wsl2">


111 <Accordion title="Catatan WSL2">111 <Accordion title="Catatan WSL2">

112 Periksa versi WSL Anda dengan `wsl -l -v` dari PowerShell. Jika Anda melihat `Sandboxing requires WSL2`, distribusi Anda menjalankan WSL1. Tingkatkan ke WSL2 atau jalankan Claude Code tanpa sandboxing.112 Periksa versi WSL Anda dengan `wsl -l -v` dari PowerShell. Jika Anda melihat `Sandboxing requires WSL2`, distribusi Anda menjalankan WSL1. Tingkatkan ke WSL2 atau jalankan Claude Code tanpa sandboxing.

113 113 

114 Di WSL2, perintah sandboxed tidak dapat meluncurkan binari Windows seperti `cmd.exe`, `powershell.exe`, atau apa pun di bawah `/mnt/c/`. WSL menyerahkan ini ke host Windows melalui soket Unix, yang sandbox blokir. Jika perintah perlu memanggil binari Windows, tambahkan ke [`excludedCommands`](/id/settings#sandbox-settings) sehingga berjalan di luar sandbox.114 Di WSL2, perintah sandboxed tidak dapat meluncurkan binari Windows seperti `cmd.exe`, `powershell.exe`, atau apa pun di bawah `/mnt/c/`. WSL menyerahkan ini ke host Windows melalui soket Unix, yang sandbox blokir. Jika perintah perlu memanggil binari Windows, tambahkan ke [`excludedCommands`](/docs/id/settings#sandbox-settings) sehingga berjalan di luar sandbox.

115 </Accordion>115 </Accordion>

116</AccordionGroup>116</AccordionGroup>

117 117 


121 121 

122Claude Code menawarkan dua mode sandbox:122Claude Code menawarkan dua mode sandbox:

123 123 

124**Mode auto-allow**: Perintah Bash akan mencoba berjalan di dalam sandbox dan secara otomatis diizinkan tanpa memerlukan izin. Perintah yang tidak dapat di-sandbox, seperti yang memerlukan akses jaringan ke host yang tidak diizinkan, kembali ke alur izin reguler, di mana Claude Code memeriksa [permission rules](/id/permissions) Anda dan meminta Anda untuk perintah apa pun yang tidak diizinkan oleh aturan tersebut.124**Mode auto-allow**: Perintah Bash akan mencoba berjalan di dalam sandbox dan secara otomatis diizinkan tanpa memerlukan izin. Perintah yang tidak dapat di-sandbox, seperti yang memerlukan akses jaringan ke host yang tidak diizinkan, kembali ke alur izin reguler, di mana Claude Code memeriksa [permission rules](/docs/id/permissions) Anda dan meminta Anda untuk perintah apa pun yang tidak diizinkan oleh aturan tersebut.

125 125 

126Bahkan dalam mode auto-allow, hal berikut masih berlaku:126Bahkan dalam mode auto-allow, hal berikut masih berlaku:

127 127 

128* [Deny rules](/id/permissions) eksplisit selalu dihormati128* [Deny rules](/docs/id/permissions) eksplisit selalu dihormati

129* Perintah `rm` atau `rmdir` yang menargetkan `/`, direktori home Anda, atau jalur sistem kritis lainnya masih memicu prompt izin129* Perintah `rm` atau `rmdir` yang menargetkan `/`, direktori home Anda, atau jalur sistem kritis lainnya masih memicu prompt izin

130* [Ask rules](/id/permissions) berlaku untuk perintah yang kembali ke alur izin reguler130* [Ask rules](/docs/id/permissions) berlaku untuk perintah yang kembali ke alur izin reguler

131 131 

132**Mode regular permissions**: Semua perintah Bash melalui alur izin reguler, bahkan ketika sandboxed. Ini memberikan lebih banyak kontrol tetapi memerlukan lebih banyak persetujuan.132**Mode regular permissions**: Semua perintah Bash melalui alur izin reguler, bahkan ketika sandboxed. Ini memberikan lebih banyak kontrol tetapi memerlukan lebih banyak persetujuan.

133 133 


135 135 

136Direktori temp sesi dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan. Perintah unsandboxed mewarisi `$TMPDIR` shell Anda tanpa perubahan, yang berarti perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.136Direktori temp sesi dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan. Perintah unsandboxed mewarisi `$TMPDIR` shell Anda tanpa perubahan, yang berarti perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.

137 137 

138Beberapa perintah tidak dapat berjalan di dalam sandbox sama sekali, seperti alat yang tidak kompatibel dengannya atau yang memerlukan host yang belum Anda izinkan. Daripada gagal tugas atau memerlukan Anda untuk mematikan sandboxing, Claude Code menyertakan pintu keluar: ketika perintah gagal karena pembatasan sandbox, Claude menganalisis kegagalan dan dapat mencoba kembali perintah dengan parameter `dangerouslyDisableSandbox`. Perintah yang dicoba kembali berjalan di luar sandbox, sehingga melalui alur izin reguler: dalam mode default Anda mendapatkan prompt konfirmasi; dalam [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) pengklasifikasi mengevaluasi perintah yang mendasar daripada meminta Anda. Untuk diminta pada setiap percobaan ulang unsandboxed bahkan dalam mode auto, tambahkan [ask rule](/id/permissions#match-by-input-parameter) untuk `Bash(dangerouslyDisableSandbox:true)`.138Beberapa perintah tidak dapat berjalan di dalam sandbox sama sekali, seperti alat yang tidak kompatibel dengannya atau yang memerlukan host yang belum Anda izinkan. Daripada gagal tugas atau memerlukan Anda untuk mematikan sandboxing, Claude Code menyertakan pintu keluar: ketika perintah gagal karena pembatasan sandbox, Claude menganalisis kegagalan dan dapat mencoba kembali perintah dengan parameter `dangerouslyDisableSandbox`. Perintah yang dicoba kembali berjalan di luar sandbox, sehingga melalui alur izin reguler: dalam mode default Anda mendapatkan prompt konfirmasi; dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) pengklasifikasi mengevaluasi perintah yang mendasar daripada meminta Anda. Untuk diminta pada setiap percobaan ulang unsandboxed bahkan dalam mode auto, tambahkan [ask rule](/docs/id/permissions#match-by-input-parameter) untuk `Bash(dangerouslyDisableSandbox:true)`.

139 139 

140Anda dapat menonaktifkan pintu keluar ini dengan mengatur `"allowUnsandboxedCommands": false` dalam [sandbox settings](/id/settings#sandbox-settings) Anda. Ketika dinonaktifkan, yang ditampilkan tab Overrides `/sandbox` sebagai **Strict sandbox mode**, parameter `dangerouslyDisableSandbox` sepenuhnya diabaikan dan semua perintah harus berjalan sandboxed atau secara eksplisit terdaftar dalam `excludedCommands`.140Anda dapat menonaktifkan pintu keluar ini dengan mengatur `"allowUnsandboxedCommands": false` dalam [sandbox settings](/docs/id/settings#sandbox-settings) Anda. Ketika dinonaktifkan, yang ditampilkan tab Overrides `/sandbox` sebagai **Strict sandbox mode**, parameter `dangerouslyDisableSandbox` sepenuhnya diabaikan dan semua perintah harus berjalan sandboxed atau secara eksplisit terdaftar dalam `excludedCommands`.

141 141 

142<Info>142<Info>

143 Mode auto-allow bekerja secara independen dari pengaturan mode izin Anda. Bahkan jika Anda tidak dalam mode "accept edits", perintah Bash sandboxed akan berjalan secara otomatis ketika auto-allow diaktifkan. Ini berarti perintah Bash yang memodifikasi file dalam batas sandbox akan dieksekusi tanpa prompt, bahkan ketika alat edit file biasanya memerlukan persetujuan.143 Mode auto-allow bekerja secara independen dari pengaturan mode izin Anda. Bahkan jika Anda tidak dalam mode "accept edits", perintah Bash sandboxed akan berjalan secara otomatis ketika auto-allow diaktifkan. Ini berarti perintah Bash yang memodifikasi file dalam batas sandbox akan dieksekusi tanpa prompt, bahkan ketika alat edit file biasanya memerlukan persetujuan.


147 Konfigurasi sandboxing147 Konfigurasi sandboxing

148</h2>148</h2>

149 149 

150Sesuaikan perilaku sandbox melalui file `settings.json` Anda. Lihat [Settings](/id/settings#sandbox-settings) untuk referensi konfigurasi lengkap.150Sesuaikan perilaku sandbox melalui file `settings.json` Anda. Lihat [Settings](/docs/id/settings#sandbox-settings) untuk referensi konfigurasi lengkap.

151 151 

152Secara default, perintah sandboxed hanya dapat menulis ke direktori kerja saat ini dan direktori temp sesi. Jika perintah subprocess seperti `kubectl`, `terraform`, atau `npm` perlu menulis di luar direktori tersebut, gunakan `sandbox.filesystem.allowWrite` untuk memberikan akses ke jalur tertentu:152Secara default, perintah sandboxed hanya dapat menulis ke direktori kerja saat ini dan direktori temp sesi. Jika perintah subprocess seperti `kubectl`, `terraform`, atau `npm` perlu menulis di luar direktori tersebut, gunakan `sandbox.filesystem.allowWrite` untuk memberikan akses ke jalur tertentu:

153 153 


164 164 

165Jalur ini diberlakukan pada tingkat OS, sehingga semua perintah yang berjalan di dalam sandbox, termasuk proses anak mereka, menghormatinya. Ini adalah pendekatan yang direkomendasikan ketika alat memerlukan akses tulis ke lokasi tertentu, daripada mengecualikan alat dari sandbox sepenuhnya dengan `excludedCommands`.165Jalur ini diberlakukan pada tingkat OS, sehingga semua perintah yang berjalan di dalam sandbox, termasuk proses anak mereka, menghormatinya. Ini adalah pendekatan yang direkomendasikan ketika alat memerlukan akses tulis ke lokasi tertentu, daripada mengecualikan alat dari sandbox sepenuhnya dengan `excludedCommands`.

166 166 

167Ketika array filesystem yang sama didefinisikan dalam beberapa [settings scopes](/id/settings#settings-precedence), array digabungkan: jalur dari setiap scope dikombinasikan, bukan diganti.167Ketika array filesystem yang sama didefinisikan dalam beberapa [settings scopes](/docs/id/settings#settings-precedence), array digabungkan: jalur dari setiap scope dikombinasikan, bukan diganti.

168 168 

169Awalan jalur mengontrol bagaimana jalur diselesaikan:169Awalan jalur mengontrol bagaimana jalur diselesaikan:

170 170 


174| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |174| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |

175| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |175| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |

176 176 

177Sintaks ini berbeda dari [Read and Edit permission rules](/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur filesystem sandbox menggunakan konvensi standar: `/tmp/build` adalah absolut.177Sintaks ini berbeda dari [Read and Edit permission rules](/docs/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur filesystem sandbox menggunakan konvensi standar: `/tmp/build` adalah absolut.

178 178 

179Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`. Ketika aturan baca tumpang tindih, jalur yang lebih spesifik menang:179Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`. Ketika aturan baca tumpang tindih, jalur yang lebih spesifik menang:

180 180 


229 229 

230Entri file hanya mendukung `"mode": "deny"`. Entri variabel lingkungan juga menerima `"mode": "mask"`, dijelaskan di bawah.230Entri file hanya mendukung `"mode": "deny"`. Entri variabel lingkungan juga menerima `"mode": "mask"`, dijelaskan di bawah.

231 231 

232Jalur file mengikuti [aturan awalan](/id/settings#sandbox-path-prefixes) yang sama dengan pengaturan `sandbox.filesystem.*`, dan entri `deny` dari setiap [settings scope](/id/settings#settings-precedence) digabungkan. Entri `deny` hanya pernah mempersempit akses, jadi scope apa pun dapat menambahkan satu, tetapi tidak ada scope yang dapat menghapus satu yang ditambahkan scope lain.232Jalur file mengikuti [aturan awalan](/docs/id/settings#sandbox-path-prefixes) yang sama dengan pengaturan `sandbox.filesystem.*`, dan entri `deny` dari setiap [settings scope](/docs/id/settings#settings-precedence) digabungkan. Entri `deny` hanya pernah mempersempit akses, jadi scope apa pun dapat menambahkan satu, tetapi tidak ada scope yang dapat menghapus satu yang ditambahkan scope lain.

233 233 

234Tidak ada daftar penolakan kredensial bawaan, jadi hanya file dan variabel yang Anda daftarkan yang dibatasi. Pengaturan ini mempengaruhi perintah Bash sandboxed saja. Untuk menghapus kredensial Anthropic dan penyedia cloud dari semua subprocess terlepas dari sandboxing, atur [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/id/env-vars).234Tidak ada daftar penolakan kredensial bawaan, jadi hanya file dan variabel yang Anda daftarkan yang dibatasi. Pengaturan ini mempengaruhi perintah Bash sandboxed saja. Untuk menghapus kredensial Anthropic dan penyedia cloud dari semua subprocess terlepas dari sandboxing, atur [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/id/env-vars).

235 235 

236<h4 id="mask-environment-variables">236<h4 id="mask-environment-variables">

237 Topeng variabel lingkungan237 Topeng variabel lingkungan


241 241 

242Dengan `mask`, perintah sandboxed melihat nilai sentinel per-sesi sebagai gantinya dari yang asli. Ketika permintaan meninggalkan sandbox untuk salah satu `injectHosts` kredensial, [sandbox proxy](#network-isolation) mengganti sentinel dengan nilai asli. Perintah dan apa pun yang dicatat tidak pernah memegang kredensial asli, tetapi permintaannya tetap mengotentikasi.242Dengan `mask`, perintah sandboxed melihat nilai sentinel per-sesi sebagai gantinya dari yang asli. Ketika permintaan meninggalkan sandbox untuk salah satu `injectHosts` kredensial, [sandbox proxy](#network-isolation) mengganti sentinel dengan nilai asli. Perintah dan apa pun yang dicatat tidak pernah memegang kredensial asli, tetapi permintaannya tetap mengotentikasi.

243 243 

244Proxy mengganti kredensial di dalam konten permintaan, jadi harus melihatnya. Atur [`network.tlsTerminate`](/id/settings#sandbox-settings) sehingga proxy menghentikan TLS itu sendiri. Tanpa itu, masking gagal tertutup: perintah masih hanya melihat sentinel, tetapi sentinel mencapai server tidak berubah dan otentikasi gagal. Claude Code melaporkan kesalahan konfigurasi ini saat startup.244Proxy mengganti kredensial di dalam konten permintaan, jadi harus melihatnya. Atur [`network.tlsTerminate`](/docs/id/settings#sandbox-settings) sehingga proxy menghentikan TLS itu sendiri. Tanpa itu, masking gagal tertutup: perintah masih hanya melihat sentinel, tetapi sentinel mencapai server tidak berubah dan otentikasi gagal. Claude Code melaporkan kesalahan konfigurasi ini saat startup.

245 245 

246Contoh di bawah topeng dua token. `GH_TOKEN` diganti hanya pada permintaan ke `api.github.com`, sementara `NPM_TOKEN` tidak memiliki `injectHosts` dan diganti pada permintaan ke setiap host dalam `network.allowedDomains`. Setiap entri `injectHosts` itu sendiri harus dicakup oleh `network.allowedDomains`.246Contoh di bawah topeng dua token. `GH_TOKEN` diganti hanya pada permintaan ke `api.github.com`, sementara `NPM_TOKEN` tidak memiliki `injectHosts` dan diganti pada permintaan ke setiap host dalam `network.allowedDomains`. Setiap entri `injectHosts` itu sendiri harus dicakup oleh `network.allowedDomains`.

247 247 


263}263}

264```264```

265 265 

266Tidak seperti `deny`, masking mengotorisasi proxy untuk mengirim kredensial asli Anda ke host yang terdaftar, jadi itu dihormati hanya dari pengaturan yang Anda atau administrator Anda kontrol: pengaturan pengguna, pengaturan terkelola, dan bendera CLI `--settings`. Entri `mask`, `network.tlsTerminate`, dan [`credentials.allowPlaintextInject`](/id/settings#sandbox-settings) dalam `.claude/settings.json` atau `.claude/settings.local.json` repositori diabaikan.266Tidak seperti `deny`, masking mengotorisasi proxy untuk mengirim kredensial asli Anda ke host yang terdaftar, jadi itu dihormati hanya dari pengaturan yang Anda atau administrator Anda kontrol: pengaturan pengguna, pengaturan terkelola, dan bendera CLI `--settings`. Entri `mask`, `network.tlsTerminate`, dan [`credentials.allowPlaintextInject`](/docs/id/settings#sandbox-settings) dalam `.claude/settings.json` atau `.claude/settings.local.json` repositori diabaikan.

267 267 

268Ketika variabel yang sama terdaftar dengan `deny` dalam scope apa pun, `deny` mengambil prioritas.268Ketika variabel yang sama terdaftar dengan `deny` dalam scope apa pun, `deny` mengambil prioritas.

269 269 


280* **Perilaku penulisan default**: akses baca dan tulis ke direktori kerja saat ini dan subdirektorinya, ditambah direktori temp sesi yang ditunjuk oleh `$TMPDIR`280* **Perilaku penulisan default**: akses baca dan tulis ke direktori kerja saat ini dan subdirektorinya, ditambah direktori temp sesi yang ditunjuk oleh `$TMPDIR`

281* **Perilaku pembacaan default**: akses baca ke seluruh komputer, kecuali direktori tertentu yang ditolak. Perhatikan bahwa default ini masih memungkinkan pembacaan file kredensial seperti `~/.aws/credentials` dan `~/.ssh/`. Gunakan [`sandbox.credentials`](#protect-credentials) untuk memblokir pembacaan file-file ini dan membatalkan penetapan variabel lingkungan rahasia, atau tambahkan jalur ke `denyRead`.281* **Perilaku pembacaan default**: akses baca ke seluruh komputer, kecuali direktori tertentu yang ditolak. Perhatikan bahwa default ini masih memungkinkan pembacaan file kredensial seperti `~/.aws/credentials` dan `~/.ssh/`. Gunakan [`sandbox.credentials`](#protect-credentials) untuk memblokir pembacaan file-file ini dan membatalkan penetapan variabel lingkungan rahasia, atau tambahkan jalur ke `denyRead`.

282* **Akses terblokir**: tidak dapat memodifikasi file di luar direktori kerja saat ini dan direktori temp sesi tanpa izin eksplisit, termasuk file konfigurasi shell seperti `~/.bashrc` dan binari sistem di `/bin/`282* **Akses terblokir**: tidak dapat memodifikasi file di luar direktori kerja saat ini dan direktori temp sesi tanpa izin eksplisit, termasuk file konfigurasi shell seperti `~/.bashrc` dan binari sistem di `/bin/`

283* **Git worktrees**: ketika direktori kerja adalah [linked git worktree](/id/worktrees), sandbox juga memungkinkan penulisan ke direktori `.git` bersama dari repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks. Penulisan ke `hooks/` dan `config` di dalam direktori tersebut tetap ditolak.283* **Git worktrees**: ketika direktori kerja adalah [linked git worktree](/docs/id/worktrees), sandbox juga memungkinkan penulisan ke direktori `.git` bersama dari repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks. Penulisan ke `hooks/` dan `config` di dalam direktori tersebut tetap ditolak.

284* **Dapat dikonfigurasi**: tentukan jalur yang diizinkan dan ditolak khusus melalui pengaturan284* **Dapat dikonfigurasi**: tentukan jalur yang diizinkan dan ditolak khusus melalui pengaturan

285 285 

286Anda dapat memberikan akses tulis ke jalur tambahan menggunakan `sandbox.filesystem.allowWrite` dalam pengaturan Anda. Pembatasan ini diberlakukan pada tingkat OS, sehingga berlaku untuk semua perintah subprocess, termasuk alat seperti `kubectl`, `terraform`, dan `npm`, bukan hanya alat file Claude.286Anda dapat memberikan akses tulis ke jalur tambahan menggunakan `sandbox.filesystem.allowWrite` dalam pengaturan Anda. Pembatasan ini diberlakukan pada tingkat OS, sehingga berlaku untuk semua perintah subprocess, termasuk alat seperti `kubectl`, `terraform`, dan `npm`, bukan hanya alat file Claude.


291 291 

292Akses jaringan dikendalikan melalui server proxy yang berjalan di luar sandbox:292Akses jaringan dikendalikan melalui server proxy yang berjalan di luar sandbox:

293 293 

294* **Pembatasan domain**: tidak ada domain yang diizinkan sebelumnya. Pertama kali perintah memerlukan domain baru, Claude Code meminta persetujuan. {/* min-version: 2.1.191 */}Mulai dari v2.1.191, memilih Ya memungkinkan host untuk sisa sesi saat ini, sehingga koneksi nanti ke host yang sama tidak meminta lagi. Izinkan domain sebelumnya dengan [`allowedDomains`](/id/settings#sandbox-settings) untuk menghindari prompt sepenuhnya.294* **Pembatasan domain**: tidak ada domain yang diizinkan sebelumnya. Pertama kali perintah memerlukan domain baru, Claude Code meminta persetujuan. Mulai dari v2.1.191, memilih Ya memungkinkan host untuk sisa sesi saat ini, sehingga koneksi nanti ke host yang sama tidak meminta lagi. Izinkan domain sebelumnya dengan [`allowedDomains`](/docs/id/settings#sandbox-settings) untuk menghindari prompt sepenuhnya.

295* **Lockdown terkelola**: jika [`allowManagedDomainsOnly`](/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, domain yang tidak diizinkan diblokir secara otomatis alih-alih prompt, dan hanya `allowedDomains` dari pengaturan terkelola yang dihormati.295* **Lockdown terkelola**: jika [`allowManagedDomainsOnly`](/docs/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, domain yang tidak diizinkan diblokir secara otomatis alih-alih prompt, dan hanya `allowedDomains` dari pengaturan terkelola yang dihormati.

296* **Dukungan proxy khusus**: pengguna tingkat lanjut dapat menerapkan aturan khusus pada lalu lintas keluar296* **Dukungan proxy khusus**: pengguna tingkat lanjut dapat menerapkan aturan khusus pada lalu lintas keluar

297* **Cakupan komprehensif**: pembatasan berlaku untuk semua skrip, program, dan subprocess yang dihasilkan oleh perintah297* **Cakupan komprehensif**: pembatasan berlaku untuk semua skrip, program, dan subprocess yang dihasilkan oleh perintah

298 298 

299<Note>299<Note>

300 Proxy bawaan memberlakukan allowlist berdasarkan hostname yang diminta dan, secara default, tidak menghentikan atau memeriksa lalu lintas TLS. {/* min-version: 2.1.199 */}Pengaturan eksperimental [`network.tlsTerminate`](/id/settings#sandbox-settings), tersedia di Claude Code v2.1.199 dan yang lebih baru, membuat proxy bawaan menghentikan TLS itu sendiri, yang [`mask` credential entries](#protect-credentials) memerlukan. Lihat [Security limitations](#security-limitations) untuk implikasi default, dan [Custom proxy configuration](#custom-proxy-configuration) jika model ancaman Anda memerlukan inspeksi TLS.300 Proxy bawaan memberlakukan allowlist berdasarkan hostname yang diminta dan, secara default, tidak menghentikan atau memeriksa lalu lintas TLS. Pengaturan eksperimental [`network.tlsTerminate`](/docs/id/settings#sandbox-settings), tersedia di Claude Code v2.1.199 dan yang lebih baru, membuat proxy bawaan menghentikan TLS itu sendiri, yang [`mask` credential entries](#protect-credentials) memerlukan. Lihat [Security limitations](#security-limitations) untuk implikasi default, dan [Custom proxy configuration](#custom-proxy-configuration) jika model ancaman Anda memerlukan inspeksi TLS.

301</Note>301</Note>

302 302 

303<h3 id="os-level-enforcement">303<h3 id="os-level-enforcement">


312 312 

313WSL1 tidak didukung karena bubblewrap memerlukan fitur kernel yang hanya tersedia di WSL2. Pembatasan tingkat OS ini memastikan bahwa semua proses anak yang dihasilkan oleh perintah Claude Code mewarisi batas keamanan yang sama.313WSL1 tidak didukung karena bubblewrap memerlukan fitur kernel yang hanya tersedia di WSL2. Pembatasan tingkat OS ini memastikan bahwa semua proses anak yang dihasilkan oleh perintah Claude Code mewarisi batas keamanan yang sama.

314 314 

315Primitif yang sama tersedia sebagai paket [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) mandiri, yang halaman [Sandbox environments](/id/sandbox-environments#sandbox-runtime) mencakup sebagai pendekatan terpisah untuk membungkus seluruh proses Claude Code.315Primitif yang sama tersedia sebagai paket [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) mandiri, yang halaman [Sandbox environments](/docs/id/sandbox-environments#sandbox-runtime) mencakup sebagai pendekatan terpisah untuk membungkus seluruh proses Claude Code.

316 316 

317<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">317<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">

318 Bagaimana sandboxing berhubungan dengan izin dan mode izin318 Bagaimana sandboxing berhubungan dengan izin dan mode izin

319</h2>319</h2>

320 320 

321Sandboxing, [permission rules](/id/permissions), dan [permission modes](/id/permission-modes) adalah lapisan komplementer. Bagian di bawah mencakup bagaimana sandbox berinteraksi dengan masing-masing.321Sandboxing, [permission rules](/docs/id/permissions), dan [permission modes](/docs/id/permission-modes) adalah lapisan komplementer. Bagian di bawah mencakup bagaimana sandbox berinteraksi dengan masing-masing.

322 322 

323<h3 id="permission-rules">323<h3 id="permission-rules">

324 Aturan izin324 Aturan izin


352 Mode izin352 Mode izin

353</h3>353</h3>

354 354 

355`/sandbox` bukan [permission mode](/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:355`/sandbox` bukan [permission mode](/docs/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:

356 356 

357| | Apa yang dikontrol | Apa yang menggantikan prompt |357| | Apa yang dikontrol | Apa yang menggantikan prompt |

358| :----------------------------------------------------------------- | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |358| :----------------------------------------------------------------- | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

359| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |359| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |

360| [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |360| [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |

361| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/id/permission-modes#protected-paths) juga dilewati; hanya [ask rules](/id/permissions#manage-permissions) eksplisit, connector tools [yang diatur organisasi Anda ke `ask`](/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan menghapus `/` atau direktori home Anda masih meminta |361| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/docs/id/permission-modes#protected-paths) juga dilewati; hanya [ask rules](/docs/id/permissions#manage-permissions) eksplisit, connector tools [yang diatur organisasi Anda ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan menghapus `/` atau direktori home Anda masih meminta |

362 362 

363Mode [auto-allow](#sandbox-modes) sandbox terpisah dari [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): auto-allow menyetujui perintah Bash karena batas sandbox memuatnya, sementara auto mode menggunakan classifier untuk meninjau tindakan. Keduanya bekerja secara independen dan dapat dikombinasikan. Untuk memilih batas isolasi untuk run tanpa pengawasan, lihat [Sandbox environments](/id/sandbox-environments#how-isolation-relates-to-permission-modes).363Mode [auto-allow](#sandbox-modes) sandbox terpisah dari [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): auto-allow menyetujui perintah Bash karena batas sandbox memuatnya, sementara auto mode menggunakan classifier untuk meninjau tindakan. Keduanya bekerja secara independen dan dapat dikombinasikan. Untuk memilih batas isolasi untuk run tanpa pengawasan, lihat [Sandbox environments](/docs/id/sandbox-environments#how-isolation-relates-to-permission-modes).

364 364 

365<h2 id="configure-the-sandbox-for-your-organization">365<h2 id="configure-the-sandbox-for-your-organization">

366 Konfigurasi sandbox untuk organisasi Anda366 Konfigurasi sandbox untuk organisasi Anda


372 Memberlakukan sandboxing dengan pengaturan terkelola372 Memberlakukan sandboxing dengan pengaturan terkelola

373</h3>373</h3>

374 374 

375Untuk memerlukan sandbox untuk setiap pengembang, berikan kunci `sandbox` melalui [managed settings](/id/settings#settings-files), baik sebagai file yang dikelola oleh MDM Anda atau melalui [server-managed settings](/id/server-managed-settings) di Claude.ai.375Untuk memerlukan sandbox untuk setiap pengembang, berikan kunci `sandbox` melalui [managed settings](/docs/id/settings#settings-files), baik sebagai file yang dikelola oleh MDM Anda atau melalui [server-managed settings](/docs/id/server-managed-settings) di Claude.ai.

376 376 

377Konfigurasi pengaturan terkelola berikut mengaktifkan sandbox, menolak untuk memulai Claude Code jika sandbox tidak dapat diinisialisasi, dan mencegah model dari mencoba kembali perintah di luar sandbox:377Konfigurasi pengaturan terkelola berikut mengaktifkan sandbox, menolak untuk memulai Claude Code jika sandbox tidak dapat diinisialisasi, dan mencegah model dari mencoba kembali perintah di luar sandbox:

378 378 


401 401 

402Untuk kunci boolean seperti `enabled` dan `failIfUnavailable`, Claude Code menggunakan nilai terkelola dan mengabaikan apa pun yang ditetapkan pengembang secara lokal. Untuk kunci array seperti `excludedCommands` dan `allowRead`, Claude Code menggabungkan entri dari setiap scope, sehingga pengembang dapat menambahkan entri yang memperluas kebijakan.402Untuk kunci boolean seperti `enabled` dan `failIfUnavailable`, Claude Code menggunakan nilai terkelola dan mengabaikan apa pun yang ditetapkan pengembang secara lokal. Untuk kunci array seperti `excludedCommands` dan `allowRead`, Claude Code menggabungkan entri dari setiap scope, sehingga pengembang dapat menambahkan entri yang memperluas kebijakan.

403 403 

404Atur `allowManagedReadPathsOnly` ke `true` dalam pengaturan terkelola sehingga hanya entri `allowRead` dari pengaturan terkelola yang dihormati. Entri `allowRead` pengguna, proyek, dan lokal diabaikan. Ini mencegah pengembang memperluas akses baca di luar jalur yang disetujui organisasi. Untuk mengunci domain jaringan ke nilai terkelola dengan cara yang sama, atur [`allowManagedDomainsOnly`](/id/settings#sandbox-settings).404Atur `allowManagedReadPathsOnly` ke `true` dalam pengaturan terkelola sehingga hanya entri `allowRead` dari pengaturan terkelola yang dihormati. Entri `allowRead` pengguna, proyek, dan lokal diabaikan. Ini mencegah pengembang memperluas akses baca di luar jalur yang disetujui organisasi. Untuk mengunci domain jaringan ke nilai terkelola dengan cara yang sama, atur [`allowManagedDomainsOnly`](/docs/id/settings#sandbox-settings).

405 405 

406`excludedCommands` tidak memiliki lockdown hanya terkelola yang setara, sehingga pengembang selalu dapat menambahkan entri yang menjalankan perintah tambahan di luar sandbox. Jaga daftar terkelola tetap sempit.406`excludedCommands` tidak memiliki lockdown hanya terkelola yang setara, sehingga pengembang selalu dapat menambahkan entri yang menjalankan perintah tambahan di luar sandbox. Jaga daftar terkelola tetap sempit.

407 407 


416* Mencatat semua permintaan jaringan416* Mencatat semua permintaan jaringan

417* Mengintegrasikan dengan infrastruktur keamanan yang ada417* Mengintegrasikan dengan infrastruktur keamanan yang ada

418 418 

419Untuk menunjukkan Claude Code ke proxy Anda, atur port proxy dalam [sandbox settings](/id/settings#sandbox-settings):419Untuk menunjukkan Claude Code ke proxy Anda, atur port proxy dalam [sandbox settings](/docs/id/settings#sandbox-settings):

420 420 

421```json theme={null}421```json theme={null}

422{422{


437 437 

438* **Perintah gagal dengan kesalahan host-not-allowed**: banyak alat CLI perlu menjangkau host tertentu. Memberikan izin saat diminta menambahkan host ke daftar yang diizinkan sehingga alat berjalan di dalam sandbox di masa depan.438* **Perintah gagal dengan kesalahan host-not-allowed**: banyak alat CLI perlu menjangkau host tertentu. Memberikan izin saat diminta menambahkan host ke daftar yang diizinkan sehingga alat berjalan di dalam sandbox di masa depan.

439* **`jest` hang atau gagal**: `watchman` tidak kompatibel dengan sandbox. Jalankan `jest --no-watchman` sebagai gantinya.439* **`jest` hang atau gagal**: `watchman` tidak kompatibel dengan sandbox. Jalankan `jest --no-watchman` sebagai gantinya.

440* **Go-based CLIs gagal verifikasi TLS di macOS**: alat seperti `gh`, `gcloud`, dan `terraform` mungkin gagal verifikasi TLS di bawah Seatbelt. Daftar alat ini dalam `excludedCommands` untuk menjalankannya di luar sandbox. Jika Anda menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus, atur [`enableWeakerNetworkIsolation`](/id/settings#sandbox-settings) ke `true` sebagai gantinya.440* **Go-based CLIs gagal verifikasi TLS di macOS**: alat seperti `gh`, `gcloud`, dan `terraform` mungkin gagal verifikasi TLS di bawah Seatbelt. Daftar alat ini dalam `excludedCommands` untuk menjalankannya di luar sandbox. Jika Anda menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus, atur [`enableWeakerNetworkIsolation`](/docs/id/settings#sandbox-settings) ke `true` sebagai gantinya.

441* **Perintah `open`, `osascript`, atau alur autentikasi berbasis browser gagal dengan kesalahan `-600` di macOS**: sandbox memblokir Apple Events secara default. Atur [`allowAppleEvents`](/id/settings#sandbox-settings) ke `true` dalam pengaturan pengguna, terkelola, atau CLI Anda untuk mengizinkannya. Pengaturan proyek diabaikan untuk kunci ini. Mengaktifkannya menghilangkan isolasi eksekusi kode, karena perintah sandboxed kemudian dapat meluncurkan aplikasi lain tanpa sandbox tanpa prompt pengguna dan mengirim perintah AppleScript ke aplikasi yang berjalan, tunduk pada prompt otomasi-persetujuan macOS (TCC). Alternatifnya, tambahkan perintah ke `excludedCommands` untuk menjalankannya di luar sandbox.441* **Perintah `open`, `osascript`, atau alur autentikasi berbasis browser gagal dengan kesalahan `-600` di macOS**: sandbox memblokir Apple Events secara default. Atur [`allowAppleEvents`](/docs/id/settings#sandbox-settings) ke `true` dalam pengaturan pengguna, terkelola, atau CLI Anda untuk mengizinkannya. Pengaturan proyek diabaikan untuk kunci ini. Mengaktifkannya menghilangkan isolasi eksekusi kode, karena perintah sandboxed kemudian dapat meluncurkan aplikasi lain tanpa sandbox tanpa prompt pengguna dan mengirim perintah AppleScript ke aplikasi yang berjalan, tunduk pada prompt otomasi-persetujuan macOS (TCC). Alternatifnya, tambahkan perintah ke `excludedCommands` untuk menjalankannya di luar sandbox.

442* **Perintah `docker` gagal**: `docker` tidak kompatibel dengan sandbox. Tambahkan `docker *` ke `excludedCommands` untuk menjalankannya di luar sandbox.442* **Perintah `docker` gagal**: `docker` tidak kompatibel dengan sandbox. Tambahkan `docker *` ke `excludedCommands` untuk menjalankannya di luar sandbox.

443* **Bubblewrap gagal memulai di dalam container**: dalam container tanpa privilege, bubblewrap tidak dapat memasang filesystem `/proc` segar. Atur [`enableWeakerNestedSandbox`](/id/settings#sandbox-settings) ke `true` sehingga sandbox dalam bind-mount `/proc` yang ada dari container sebagai gantinya. Hanya gunakan pengaturan ini ketika container luar sudah menyediakan batas isolasi yang Anda butuhkan, karena mengekspos informasi proses ke perintah sandboxed yang mount `/proc` segar akan menyembunyikan.443* **Bubblewrap gagal memulai di dalam container**: dalam container tanpa privilege, bubblewrap tidak dapat memasang filesystem `/proc` segar. Atur [`enableWeakerNestedSandbox`](/docs/id/settings#sandbox-settings) ke `true` sehingga sandbox dalam bind-mount `/proc` yang ada dari container sebagai gantinya. Hanya gunakan pengaturan ini ketika container luar sudah menyediakan batas isolasi yang Anda butuhkan, karena mengekspos informasi proses ke perintah sandboxed yang mount `/proc` segar akan menyembunyikan.

444* **Filter seccomp di Linux**: filter seccomp diperlukan untuk memblokir soket domain Unix. Tab Dependencies dalam `/sandbox` menunjukkan apakah tersedia. Jika hilang, jalankan `npm install -g @anthropic-ai/sandbox-runtime` untuk menginstal helper.444* **Filter seccomp di Linux**: filter seccomp diperlukan untuk memblokir soket domain Unix. Tab Dependencies dalam `/sandbox` menunjukkan apakah tersedia. Jika hilang, jalankan `npm install -g @anthropic-ai/sandbox-runtime` untuk menginstal helper.

445* **`--dangerously-skip-permissions` gagal sebagai root**: flag ini diblokir saat menjalankan sebagai root atau melalui sudo di Linux dan macOS, karena akses root dikombinasikan dengan tidak ada prompt izin dapat memodifikasi file atau layanan apa pun di sistem. Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam container, gunakan konfigurasi [dev container](/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.445* **`--dangerously-skip-permissions` gagal sebagai root**: flag ini diblokir saat menjalankan sebagai root atau melalui sudo di Linux dan macOS, karena akses root dikombinasikan dengan tidak ada prompt izin dapat memodifikasi file atau layanan apa pun di sistem. Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam container, gunakan konfigurasi [dev container](/docs/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.

446 446 

447<h2 id="limitations">447<h2 id="limitations">

448 Keterbatasan448 Keterbatasan


454 Keterbatasan keamanan454 Keterbatasan keamanan

455</h3>455</h3>

456 456 

457* **Penyaringan jaringan**: sandbox membatasi domain mana yang dapat terhubung oleh proses. Secara default, proxy bawaan tidak menghentikan atau melakukan inspeksi TLS pada lalu lintas keluar, sehingga isi koneksi terenkripsi tidak diperiksa. Pengaturan eksperimental [`network.tlsTerminate`](/id/settings#sandbox-settings) menghentikan TLS di proxy untuk [substitusi kredensial `mask`](#protect-credentials) tetapi tidak menambahkan penyaringan konten. Anda bertanggung jawab untuk memastikan bahwa hanya domain tepercaya yang diizinkan dalam kebijakan Anda.457* **Penyaringan jaringan**: sandbox membatasi domain mana yang dapat terhubung oleh proses. Secara default, proxy bawaan tidak menghentikan atau melakukan inspeksi TLS pada lalu lintas keluar, sehingga isi koneksi terenkripsi tidak diperiksa. Pengaturan eksperimental [`network.tlsTerminate`](/docs/id/settings#sandbox-settings) menghentikan TLS di proxy untuk [substitusi kredensial `mask`](#protect-credentials) tetapi tidak menambahkan penyaringan konten. Anda bertanggung jawab untuk memastikan bahwa hanya domain tepercaya yang diizinkan dalam kebijakan Anda.

458 458 

459<Warning>459<Warning>

460 Mengizinkan domain luas seperti `github.com` dapat membuat jalur untuk eksfiltrasi data. Karena proxy membuat keputusan izin dari hostname yang disediakan klien tanpa memeriksa TLS, kode yang berjalan di dalam sandbox berpotensi dapat menggunakan [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) atau teknik serupa untuk menjangkau host di luar allowlist. Jika model ancaman Anda memerlukan jaminan yang lebih kuat, konfigurasikan [custom proxy](#custom-proxy-configuration) yang menghentikan TLS dan memeriksa lalu lintas, dan instal sertifikat CA-nya di dalam sandbox. Isolasi jaringan yang lebih kuat dan sadar TLS adalah area pengembangan aktif.460 Mengizinkan domain luas seperti `github.com` dapat membuat jalur untuk eksfiltrasi data. Karena proxy membuat keputusan izin dari hostname yang disediakan klien tanpa memeriksa TLS, kode yang berjalan di dalam sandbox berpotensi dapat menggunakan [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) atau teknik serupa untuk menjangkau host di luar allowlist. Jika model ancaman Anda memerlukan jaminan yang lebih kuat, konfigurasikan [custom proxy](#custom-proxy-configuration) yang menghentikan TLS dan memeriksa lalu lintas, dan instal sertifikat CA-nya di dalam sandbox. Isolasi jaringan yang lebih kuat dan sadar TLS adalah area pengembangan aktif.


480 480 

481Sandbox mengisolasi subprocess Bash. Alat lain beroperasi di bawah batas yang berbeda:481Sandbox mengisolasi subprocess Bash. Alat lain beroperasi di bawah batas yang berbeda:

482 482 

483* **Alat file bawaan**: Read, Edit, dan Write menggunakan sistem izin secara langsung daripada berjalan melalui sandbox. Lihat [permissions](/id/permissions).483* **Alat file bawaan**: Read, Edit, dan Write menggunakan sistem izin secara langsung daripada berjalan melalui sandbox. Lihat [permissions](/docs/id/permissions).

484* **Penggunaan komputer**: ketika Claude membuka aplikasi dan mengontrol layar Anda, itu berjalan di desktop aktual Anda daripada di lingkungan terisolasi. Prompt izin per-aplikasi membatasi setiap aplikasi. Lihat [computer use in the CLI](/id/computer-use) atau [computer use in Desktop](/id/desktop#let-claude-use-your-computer).484* **Penggunaan komputer**: ketika Claude membuka aplikasi dan mengontrol layar Anda, itu berjalan di desktop aktual Anda daripada di lingkungan terisolasi. Prompt izin per-aplikasi membatasi setiap aplikasi. Lihat [computer use in the CLI](/docs/id/computer-use) atau [computer use in Desktop](/docs/id/desktop#let-claude-use-your-computer).

485* **Variabel lingkungan**: perintah Bash sandboxed mewarisi lingkungan proses induk secara default, termasuk kredensial apa pun yang ditetapkan di sana. Gunakan [`sandbox.credentials`](#protect-credentials) untuk menghapus atau menutupi variabel tertentu untuk perintah sandboxed, atau atur [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/id/env-vars) untuk menghapus kredensial Anthropic dan penyedia cloud dari semua subprocess.485* **Variabel lingkungan**: perintah Bash sandboxed mewarisi lingkungan proses induk secara default, termasuk kredensial apa pun yang ditetapkan di sana. Gunakan [`sandbox.credentials`](#protect-credentials) untuk menghapus atau menutupi variabel tertentu untuk perintah sandboxed, atau atur [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/id/env-vars) untuk menghapus kredensial Anthropic dan penyedia cloud dari semua subprocess.

486* **Subagents**: [subagents](/id/sub-agents) berjalan dalam proses yang sama dengan sesi induk dan menggunakan konfigurasi sandbox yang sama. Perintah Bash di dalam subagent di-sandbox ketika sandboxing diaktifkan dalam sesi induk.486* **Subagents**: [subagents](/docs/id/sub-agents) berjalan dalam proses yang sama dengan sesi induk dan menggunakan konfigurasi sandbox yang sama. Perintah Bash di dalam subagent di-sandbox ketika sandboxing diaktifkan dalam sesi induk.

487 487 

488<Warning>488<Warning>

489 Sandboxing yang efektif memerlukan isolasi filesystem dan jaringan. Tanpa isolasi jaringan, agen yang dikompromikan dapat mengeksfiltrasikan file sensitif seperti kunci SSH. Tanpa isolasi filesystem, agen yang dikompromikan dapat memasang pintu belakang pada sumber daya sistem untuk mendapatkan akses jaringan. Ketika Anda memperluas default, periksa bahwa jalur `allowWrite`, entri `allowedDomains` yang luas, atau pengecualian `excludedCommands` tidak membatalkan pembatasan di sisi lain.489 Sandboxing yang efektif memerlukan isolasi filesystem dan jaringan. Tanpa isolasi jaringan, agen yang dikompromikan dapat mengeksfiltrasikan file sensitif seperti kunci SSH. Tanpa isolasi filesystem, agen yang dikompromikan dapat memasang pintu belakang pada sumber daya sistem untuk mendapatkan akses jaringan. Ketika Anda memperluas default, periksa bahwa jalur `allowWrite`, entri `allowedDomains` yang luas, atau pengecualian `excludedCommands` tidak membatalkan pembatasan di sisi lain.


493 Lihat juga493 Lihat juga

494</h2>494</h2>

495 495 

496* [Sandbox environments](/id/sandbox-environments): bandingkan sandbox bawaan dengan dev containers, containers, dan VM496* [Sandbox environments](/docs/id/sandbox-environments): bandingkan sandbox bawaan dengan dev containers, containers, dan VM

497* [Security](/id/security): fitur keamanan komprehensif dan praktik terbaik497* [Security](/docs/id/security): fitur keamanan komprehensif dan praktik terbaik

498* [Permissions](/id/permissions): konfigurasi izin dan kontrol akses498* [Permissions](/docs/id/permissions): konfigurasi izin dan kontrol akses

499* [Settings](/id/settings): referensi konfigurasi lengkap499* [Settings](/docs/id/settings): referensi konfigurasi lengkap

500* [CLI reference](/id/cli-reference): opsi baris perintah500* [CLI reference](/docs/id/cli-reference): opsi baris perintah

scheduled-tasks.md +17 −17

Details

6 6 

7> Gunakan /loop dan alat penjadwalan cron untuk menjalankan prompt berulang kali, polling status, atau mengatur pengingat sekali jalan dalam sesi Claude Code.7> Gunakan /loop dan alat penjadwalan cron untuk menjalankan prompt berulang kali, polling status, atau mengatur pengingat sekali jalan dalam sesi Claude Code.

8 8 

9Tugas terjadwal memungkinkan Claude menjalankan kembali prompt secara otomatis pada interval tertentu. Gunakan untuk polling deployment, mengawasi PR, memeriksa build yang berjalan lama, atau mengingatkan diri sendiri untuk melakukan sesuatu nanti dalam sesi. Untuk bereaksi terhadap peristiwa saat terjadi daripada polling, lihat [Channels](/id/channels): CI Anda dapat mendorong kegagalan ke dalam sesi secara langsung. Untuk menjaga sesi tetap bekerja giliran demi giliran sampai kondisi terpenuhi daripada pada interval, lihat [`/goal`](/id/goal).9Tugas terjadwal memungkinkan Claude menjalankan kembali prompt secara otomatis pada interval tertentu. Gunakan untuk polling deployment, mengawasi PR, memeriksa build yang berjalan lama, atau mengingatkan diri sendiri untuk melakukan sesuatu nanti dalam sesi. Untuk bereaksi terhadap peristiwa saat terjadi daripada polling, lihat [Channels](/docs/id/channels): CI Anda dapat mendorong kegagalan ke dalam sesi secara langsung. Untuk menjaga sesi tetap bekerja giliran demi giliran sampai kondisi terpenuhi daripada pada interval, lihat [`/goal`](/docs/id/goal).

10 10 

11Tugas bersifat session-scoped: mereka hidup dalam percakapan saat ini dan berhenti saat Anda memulai yang baru. Melanjutkan dengan `--resume` atau `--continue` membawa kembali tugas apa pun yang belum [kedaluwarsa](#seven-day-expiry): tugas berulang yang dibuat dalam 7 hari terakhir, atau tugas sekali jalan yang waktu terjadwalnya belum berlalu. Untuk penjadwalan yang bertahan secara independen dari sesi apa pun, gunakan [Routines](/id/routines) untuk membuat routine pada infrastruktur yang dikelola Anthropic, atur [Desktop scheduled task](/id/desktop-scheduled-tasks), atau gunakan [GitHub Actions](/id/github-actions).11Tugas bersifat session-scoped: mereka hidup dalam percakapan saat ini dan berhenti saat Anda memulai yang baru. Melanjutkan dengan `--resume` atau `--continue` membawa kembali tugas apa pun yang belum [kedaluwarsa](#seven-day-expiry): tugas berulang yang dibuat dalam 7 hari terakhir, atau tugas sekali jalan yang waktu terjadwalnya belum berlalu. Untuk penjadwalan yang bertahan secara independen dari sesi apa pun, gunakan [Routines](/docs/id/routines) untuk membuat routine pada infrastruktur yang dikelola Anthropic, atur [Desktop scheduled task](/docs/id/desktop-scheduled-tasks), atau gunakan [GitHub Actions](/docs/id/github-actions).

12 12 

13<h2 id="compare-scheduling-options">13<h2 id="compare-scheduling-options">

14 Bandingkan opsi penjadwalan14 Bandingkan opsi penjadwalan


16 16 

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

18 18 

19| | [Cloud](/en/routines) | [Desktop](/en/desktop-scheduled-tasks) | [`/loop`](/en/scheduled-tasks) |19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |

20| :------------------------- | :----------------------------- | :------------------------------------- | :---------------------------------- |20| :------------------------- | :----------------------------- | :------------------------------------- | :---------------------------------- |

21| Runs on | Anthropic cloud | Your machine | Your machine |21| Runs on | Anthropic cloud | Your machine | Your machine |

22| Requires machine on | No | Yes | Yes |22| Requires machine on | No | Yes | Yes |

23| Requires open session | No | No | Yes |23| Requires open session | No | No | Yes |

24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Access to local files | No (fresh clone) | Yes | Yes |

26| MCP servers | Connectors configured per task | [Config files](/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |

28| Customizable schedule | Via `/schedule` in the CLI | Yes | Yes |28| Customizable schedule | Via `/schedule` in the CLI | Yes | Yes |

29| Minimum interval | 1 hour | 1 minute | 1 minute |29| Minimum interval | 1 hour | 1 minute | 1 minute |


36 Jalankan prompt berulang dengan /loop36 Jalankan prompt berulang dengan /loop

37</h2>37</h2>

38 38 

39Skill `/loop` [bundled skill](/id/commands) adalah cara tercepat untuk menjalankan prompt berulang sementara sesi tetap terbuka. Baik interval maupun prompt bersifat opsional, dan apa yang Anda berikan menentukan bagaimana loop berperilaku.39Skill `/loop` [bundled skill](/docs/id/commands) adalah cara tercepat untuk menjalankan prompt berulang sementara sesi tetap terbuka. Baik interval maupun prompt bersifat opsional, dan apa yang Anda berikan menentukan bagaimana loop berperilaku.

40 40 

41| Apa yang Anda berikan | Contoh | Apa yang terjadi |41| Apa yang Anda berikan | Contoh | Apa yang terjadi |

42| :------------------------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------- |42| :------------------------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------- |


44| Hanya prompt | `/loop check the deploy` | Prompt Anda berjalan pada [interval yang dipilih Claude](#let-claude-choose-the-interval) setiap iterasi |44| Hanya prompt | `/loop check the deploy` | Prompt Anda berjalan pada [interval yang dipilih Claude](#let-claude-choose-the-interval) setiap iterasi |

45| Hanya interval, atau tidak ada apa-apa | `/loop` | [Prompt pemeliharaan bawaan](#run-the-built-in-maintenance-prompt) berjalan, atau `loop.md` Anda jika ada |45| Hanya interval, atau tidak ada apa-apa | `/loop` | [Prompt pemeliharaan bawaan](#run-the-built-in-maintenance-prompt) berjalan, atau `loop.md` Anda jika ada |

46 46 

47Anda juga dapat melewatkan skill sebagai prompt, misalnya `/loop 20m /review-pr 1234`, untuk menjalankan kembali skill tersebut setiap iterasi. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, penjadwalan yang terpicu hanya menjalankan skill yang Claude [diizinkan untuk memanggil sendiri](/id/skills#control-who-invokes-a-skill). Berikut ini mencapai Claude sebagai teks biasa daripada dieksekusi:47Anda juga dapat melewatkan skill sebagai prompt, misalnya `/loop 20m /review-pr 1234`, untuk menjalankan kembali skill tersebut setiap iterasi. Mulai dari v2.1.196, penjadwalan yang terpicu hanya menjalankan skill yang Claude [diizinkan untuk memanggil sendiri](/docs/id/skills#control-who-invokes-a-skill). Berikut ini mencapai Claude sebagai teks biasa daripada dieksekusi:

48 48 

49* perintah bawaan seperti `/permissions`, `/model`, atau `/clear`49* perintah bawaan seperti `/permissions`, `/model`, atau `/clear`

50* skill yang ditandai [`disable-model-invocation: true`](/id/skills#frontmatter-reference)50* skill yang ditandai [`disable-model-invocation: true`](/docs/id/skills#frontmatter-reference)

51* skill yang ditahan dari Claude oleh pengaturan [`skillOverrides`](/id/skills#override-skill-visibility-from-settings) atau aturan [deny](/id/skills#restrict-claude’s-skill-access) `Skill`51* skill yang ditahan dari Claude oleh pengaturan [`skillOverrides`](/docs/id/skills#override-skill-visibility-from-settings) atau aturan [deny](/docs/id/skills#restrict-claude’s-skill-access) `Skill`

52* [MCP prompts](/id/mcp#use-mcp-prompts-as-commands) seperti `/mcp__github__list_prs`; skill yang server MCP paparkan masih berjalan52* [MCP prompts](/docs/id/mcp#use-mcp-prompts-as-commands) seperti `/mcp__github__list_prs`; skill yang server MCP paparkan masih berjalan

53 53 

54<h3 id="run-on-a-fixed-interval">54<h3 id="run-on-a-fixed-interval">

55 Jalankan pada interval tetap55 Jalankan pada interval tetap


77/loop check whether CI passed and address any review comments77/loop check whether CI passed and address any review comments

78```78```

79 79 

80Ketika Anda meminta jadwal `/loop` dinamis, Claude dapat menggunakan [Monitor tool](/id/tools-reference#monitor-tool) secara langsung. Monitor menjalankan skrip latar belakang dan mengalirkan setiap baris output kembali, yang menghindari polling sama sekali dan sering lebih efisien token dan responsif daripada menjalankan kembali prompt pada interval.80Ketika Anda meminta jadwal `/loop` dinamis, Claude dapat menggunakan [Monitor tool](/docs/id/tools-reference#monitor-tool) secara langsung. Monitor menjalankan skrip latar belakang dan mengalirkan setiap baris output kembali, yang menghindari polling sama sekali dan sering lebih efisien token dan responsif daripada menjalankan kembali prompt pada interval.

81 81 

82Loop yang dijadwalkan secara dinamis muncul dalam [daftar tugas terjadwal](#manage-scheduled-tasks) Anda seperti tugas lainnya, jadi Anda dapat membuat daftar atau membatalkannya dengan cara yang sama. Aturan [jitter](#jitter) tidak berlaku untuk itu, tetapi [kedaluwarsa tujuh hari](#seven-day-expiry) berlaku: loop berakhir secara otomatis tujuh hari setelah Anda memulainya.82Loop yang dijadwalkan secara dinamis muncul dalam [daftar tugas terjadwal](#manage-scheduled-tasks) Anda seperti tugas lainnya, jadi Anda dapat membuat daftar atau membatalkannya dengan cara yang sama. Aturan [jitter](#jitter) tidak berlaku untuk itu, tetapi [kedaluwarsa tujuh hari](#seven-day-expiry) berlaku: loop berakhir secara otomatis tujuh hari setelah Anda memulainya.

83 83 


141 141 

142Untuk menghentikan `/loop` saat menunggu iterasi berikutnya, tekan `Esc`. Ini menghapus wakeup yang tertunda sehingga loop tidak berjalan lagi. Tugas yang Anda jadwalkan dengan [meminta Claude secara langsung](#manage-scheduled-tasks) tidak terpengaruh oleh `Esc` dan tetap ada sampai Anda menghapusnya.142Untuk menghentikan `/loop` saat menunggu iterasi berikutnya, tekan `Esc`. Ini menghapus wakeup yang tertunda sehingga loop tidak berjalan lagi. Tugas yang Anda jadwalkan dengan [meminta Claude secara langsung](#manage-scheduled-tasks) tidak terpengaruh oleh `Esc` dan tetap ada sampai Anda menghapusnya.

143 143 

144Dalam [mode self-paced](#let-claude-choose-the-interval), Claude juga dapat mengakhiri loop dengan sendirinya setelah tugas selesai. Claude memanggil tool [`ScheduleWakeup`](/id/tools-reference) dengan `stop: true`, yang membatalkan wakeup yang tertunda segera. Jika iterasi berakhir tanpa menjadwalkan ulang atau menghentikan, Claude Code menjadwalkan satu wakeup fallback sekitar 20 menit kemudian dan mengakhiri loop ketika iterasi itu tidak menjadwalkan ulang juga. Sebelum v2.1.202, tidak menjadwalkan ulang adalah satu-satunya cara Claude dapat mengakhiri loop dengan sendirinya.144Dalam [mode self-paced](#let-claude-choose-the-interval), Claude juga dapat mengakhiri loop dengan sendirinya setelah tugas selesai. Claude memanggil tool [`ScheduleWakeup`](/docs/id/tools-reference) dengan `stop: true`, yang membatalkan wakeup yang tertunda segera. Jika iterasi berakhir tanpa menjadwalkan ulang atau menghentikan, Claude Code menjadwalkan satu wakeup fallback sekitar 20 menit kemudian dan mengakhiri loop ketika iterasi itu tidak menjadwalkan ulang juga. Sebelum v2.1.202, tidak menjadwalkan ulang adalah satu-satunya cara Claude dapat mengakhiri loop dengan sendirinya.

145 145 

146Loop pada interval tetap terus berjalan sampai Anda menghentikannya atau [tujuh hari berlalu](#seven-day-expiry).146Loop pada interval tetap terus berjalan sampai Anda menghentikannya atau [tujuh hari berlalu](#seven-day-expiry).

147 147 


208 Kedaluwarsa tujuh hari208 Kedaluwarsa tujuh hari

209</h3>209</h3>

210 210 

211Tugas berulang secara otomatis kedaluwarsa 7 hari setelah pembuatan. Tugas berjalan satu kali terakhir, kemudian menghapus dirinya sendiri. Ini membatasi berapa lama loop yang terlupakan dapat berjalan. Jika Anda memerlukan tugas berulang untuk bertahan lebih lama, batalkan dan buat ulang sebelum kedaluwarsa, atau gunakan [Routines](/id/routines) atau [Desktop scheduled tasks](/id/desktop-scheduled-tasks) untuk penjadwalan yang tahan lama.211Tugas berulang secara otomatis kedaluwarsa 7 hari setelah pembuatan. Tugas berjalan satu kali terakhir, kemudian menghapus dirinya sendiri. Ini membatasi berapa lama loop yang terlupakan dapat berjalan. Jika Anda memerlukan tugas berulang untuk bertahan lebih lama, batalkan dan buat ulang sebelum kedaluwarsa, atau gunakan [Routines](/docs/id/routines) atau [Desktop scheduled tasks](/docs/id/desktop-scheduled-tasks) untuk penjadwalan yang tahan lama.

212 212 

213<h2 id="cron-expression-reference">213<h2 id="cron-expression-reference">

214 Referensi ekspresi cron214 Referensi ekspresi cron


233 Nonaktifkan tugas terjadwal233 Nonaktifkan tugas terjadwal

234</h2>234</h2>

235 235 

236Atur `CLAUDE_CODE_DISABLE_CRON=1` di lingkungan Anda untuk menonaktifkan penjadwal sepenuhnya. Alat cron dan `/loop` menjadi tidak tersedia, dan tugas yang sudah terjadwal berhenti berjalan. Lihat [Environment variables](/id/env-vars) untuk daftar lengkap flag disable.236Atur `CLAUDE_CODE_DISABLE_CRON=1` di lingkungan Anda untuk menonaktifkan penjadwal sepenuhnya. Alat cron dan `/loop` menjadi tidak tersedia, dan tugas yang sudah terjadwal berhenti berjalan. Lihat [Environment variables](/docs/id/env-vars) untuk daftar lengkap flag disable.

237 237 

238<h2 id="limitations">238<h2 id="limitations">

239 Keterbatasan239 Keterbatasan


241 241 

242Penjadwalan session-scoped memiliki batasan yang melekat:242Penjadwalan session-scoped memiliki batasan yang melekat:

243 243 

244* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.244* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/docs/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.

245* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.245* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.

246* Memulai percakapan baru menghapus semua tugas session-scoped. Melanjutkan dengan `claude --resume` atau `claude --continue` memulihkan tugas yang belum kedaluwarsa: tugas berulang dalam tujuh hari pembuatan, dan tugas sekali jalan yang waktu terjadwalnya belum berlalu. Tugas Bash latar belakang dan monitor tidak pernah dipulihkan pada resume.246* Memulai percakapan baru menghapus semua tugas session-scoped. Melanjutkan dengan `claude --resume` atau `claude --continue` memulihkan tugas yang belum kedaluwarsa: tugas berulang dalam tujuh hari pembuatan, dan tugas sekali jalan yang waktu terjadwalnya belum berlalu. Tugas Bash latar belakang dan monitor tidak pernah dipulihkan pada resume.

247 247 

248Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:248Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:

249 249 

250* [Routines](/id/routines): berjalan pada infrastruktur yang dikelola Anthropic pada jadwal, melalui panggilan API, atau pada peristiwa GitHub250* [Routines](/docs/id/routines): berjalan pada infrastruktur yang dikelola Anthropic pada jadwal, melalui panggilan API, atau pada peristiwa GitHub

251* [GitHub Actions](/id/github-actions): gunakan trigger `schedule` dalam CI251* [GitHub Actions](/docs/id/github-actions): gunakan trigger `schedule` dalam CI

252* [Desktop scheduled tasks](/id/desktop-scheduled-tasks): berjalan secara lokal di mesin Anda252* [Desktop scheduled tasks](/docs/id/desktop-scheduled-tasks): berjalan secara lokal di mesin Anda

sessions.md +21 −21

Details

8 8 

9Sesi adalah percakapan yang disimpan yang terikat pada direktori proyek. Claude Code menyimpannya secara lokal saat Anda bekerja, sehingga Anda dapat melanjutkan dari tempat Anda berhenti, membuat cabang untuk mencoba pendekatan berbeda, atau beralih antar tugas.9Sesi adalah percakapan yang disimpan yang terikat pada direktori proyek. Claude Code menyimpannya secara lokal saat Anda bekerja, sehingga Anda dapat melanjutkan dari tempat Anda berhenti, membuat cabang untuk mencoba pendekatan berbeda, atau beralih antar tugas.

10 10 

11[Aplikasi desktop](/id/desktop#work-in-parallel-with-sessions), [Claude Code di web](/id/claude-code-on-the-web), dan [ekstensi VS Code](/id/vs-code#resume-past-conversations) masing-masing mempertahankan riwayat sesi mereka sendiri. Halaman ini mencakup CLI.11[Aplikasi desktop](/docs/id/desktop#work-in-parallel-with-sessions), [Claude Code di web](/docs/id/claude-code-on-the-web), dan [ekstensi VS Code](/docs/id/vs-code#resume-past-conversations) masing-masing mempertahankan riwayat sesi mereka sendiri. Halaman ini mencakup CLI.

12 12 

13<h2 id="resume-a-session">13<h2 id="resume-a-session">

14 Lanjutkan sesi14 Lanjutkan sesi


24| `claude --from-pr <number>` | Melanjutkan sesi yang ditautkan ke permintaan tarik tersebut |24| `claude --from-pr <number>` | Melanjutkan sesi yang ditautkan ke permintaan tarik tersebut |

25| `/resume` | Beralih ke percakapan berbeda dari dalam sesi aktif |25| `/resume` | Beralih ke percakapan berbeda dari dalam sesi aktif |

26 26 

27Sesi yang dibuat dengan [`claude -p`](/id/headless) atau [Agent SDK](/id/agent-sdk/overview) tidak muncul di pemilih sesi, tetapi Anda masih dapat melanjutkan satu dengan meneruskan ID sesinya ke `claude --resume <session-id>`. Jalankan ini dari direktori tempat sesi dimulai: pencarian ID sesi dibatasi pada direktori proyek saat ini dan git worktrees-nya, jadi sesi yang dibuat di tempat lain melaporkan `No conversation found with session ID: <session-id>`.27Sesi yang dibuat dengan [`claude -p`](/docs/id/headless) atau [Agent SDK](/docs/id/agent-sdk/overview) tidak muncul di pemilih sesi, tetapi Anda masih dapat melanjutkan satu dengan meneruskan ID sesinya ke `claude --resume <session-id>`. Jalankan ini dari direktori tempat sesi dimulai: pencarian ID sesi dibatasi pada direktori proyek saat ini dan git worktrees-nya, jadi sesi yang dibuat di tempat lain melaporkan `No conversation found with session ID: <session-id>`.

28 28 

29<h3 id="where-the-session-picker-looks">29<h3 id="where-the-session-picker-looks">

30 Tempat pemilih sesi mencari30 Tempat pemilih sesi mencari


32 32 

33Sesi disimpan per direktori proyek. Secara default, pemilih sesi menampilkan sesi interaktif dari worktree saat ini, ditambah sesi yang dimulai di tempat lain yang menambahkan direktori saat ini dengan `/add-dir`. Gunakan `Ctrl+W` untuk memperluas ke semua worktree repositori atau `Ctrl+A` untuk memperluas ke setiap proyek di mesin ini.33Sesi disimpan per direktori proyek. Secara default, pemilih sesi menampilkan sesi interaktif dari worktree saat ini, ditambah sesi yang dimulai di tempat lain yang menambahkan direktori saat ini dengan `/add-dir`. Gunakan `Ctrl+W` untuk memperluas ke semua worktree repositori atau `Ctrl+A` untuk memperluas ke setiap proyek di mesin ini.

34 34 

35Dari v2.1.169, memindahkan sesi dengan [`/cd`](/id/commands) memindahkannya ke penyimpanan proyek direktori baru, sehingga muncul di pemilih direktori tersebut setelahnya. Sejak v2.1.196, sesi yang dipindahkan tetap keluar dari pemilih direktori lama bahkan setelah kerusakan atau keluar paksa. Pada versi sebelumnya, sesi juga dapat muncul kembali di daftar direktori lama setelah keluar yang tidak bersih ketika jalur lama berisi karakter khusus seperti garis bawah.35Dari v2.1.169, memindahkan sesi dengan [`/cd`](/docs/id/commands) memindahkannya ke penyimpanan proyek direktori baru, sehingga muncul di pemilih direktori tersebut setelahnya. Sejak v2.1.196, sesi yang dipindahkan tetap keluar dari pemilih direktori lama bahkan setelah kerusakan atau keluar paksa. Pada versi sebelumnya, sesi juga dapat muncul kembali di daftar direktori lama setelah keluar yang tidak bersih ketika jalur lama berisi karakter khusus seperti garis bawah.

36 36 

37Memilih sesi dari worktree lain dari repositori yang sama melanjutkannya di tempat. Memilih sesi dari proyek yang tidak terkait menyalin perintah `cd` dan resume ke clipboard Anda.37Memilih sesi dari worktree lain dari repositori yang sama melanjutkannya di tempat. Memilih sesi dari proyek yang tidak terkait menyalin perintah `cd` dan resume ke clipboard Anda.

38 38 


54| Saat startup | `claude -n auth-refactor` |54| Saat startup | `claude -n auth-refactor` |

55| Selama sesi | `/rename auth-refactor`. Nama juga muncul di bilah prompt |55| Selama sesi | `/rename auth-refactor`. Nama juga muncul di bilah prompt |

56| Dari pemilih sesi | Sorot sesi dan tekan `Ctrl+R` |56| Dari pemilih sesi | Sorot sesi dan tekan `Ctrl+R` |

57| Pada penerimaan rencana | Menerima rencana dalam [mode rencana](/id/permission-modes#analyze-before-you-edit-with-plan-mode) memberi nama sesi dari konten rencana kecuali Anda sudah menetapkan satu |57| Pada penerimaan rencana | Menerima rencana dalam [mode rencana](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) memberi nama sesi dari konten rencana kecuali Anda sudah menetapkan satu |

58 58 

59Setelah sesi diberi nama, kembali ke sesi dengan `claude --resume <name>` atau `/resume <name>`. Lihat [Lanjutkan sesi](#resume-a-session) untuk cara resolusi nama berperilaku di seluruh worktrees.59Setelah sesi diberi nama, kembali ke sesi dengan `claude --resume <name>` atau `/resume <name>`. Lihat [Lanjutkan sesi](#resume-a-session) untuk cara resolusi nama berperilaku di seluruh worktrees.

60 60 

61{/* min-version: 2.1.196 */}Sesi interaktif yang tidak pernah Anda beri nama masih mendapatkan nama tampilan default saat dimulai. Memerlukan Claude Code v2.1.196 atau lebih baru. Default menggabungkan nama direktori kerja dengan akhiran dua karakter, misalnya `my-app-3f`, dan mengidentifikasi sesi dalam daftar sesi yang sedang berjalan, seperti [tampilan agen](/id/agent-view) dan output `claude agents --json`.61Sesi interaktif yang tidak pernah Anda beri nama masih mendapatkan nama tampilan default saat dimulai. Memerlukan Claude Code v2.1.196 atau lebih baru. Default menggabungkan nama direktori kerja dengan akhiran dua karakter, misalnya `my-app-3f`, dan mengidentifikasi sesi dalam daftar sesi yang sedang berjalan, seperti [tampilan agen](/docs/id/agent-view) dan output `claude agents --json`.

62 62 

63Default bukan pegangan resume: `claude --resume <name>`, `/resume <name>`, dan pemilih sesi hanya cocok dengan nama yang Anda tetapkan. Memberi nama sesi menggantikan default.63Default bukan pegangan resume: `claude --resume <name>`, `/resume <name>`, dan pemilih sesi hanya cocok dengan nama yang Anda tetapkan. Memberi nama sesi menggantikan default.

64 64 


97/branch try-streaming-approach97/branch try-streaming-approach

98```98```

99 99 

100Jika Anda menghilangkan nama, Claude Code memberi nama cabang baru setelah prompt pertama dalam percakapan. Mulai dari v2.1.198 ini juga berlaku setelah [compaction](/id/how-claude-code-works#when-context-fills-up); versi sebelumnya kembali ke nama literal `Branched conversation` alih-alih melihat melampaui ringkasan compaction ke prompt pertama asli.100Jika Anda menghilangkan nama, Claude Code memberi nama cabang baru setelah prompt pertama dalam percakapan. Mulai dari v2.1.198 ini juga berlaku setelah [compaction](/docs/id/how-claude-code-works#when-context-fills-up); versi sebelumnya kembali ke nama literal `Branched conversation` alih-alih melihat melampaui ringkasan compaction ke prompt pertama asli.

101 101 

102Dari baris perintah, gabungkan `--continue` atau `--resume` dengan `--fork-session`:102Dari baris perintah, gabungkan `--continue` atau `--resume` dengan `--fork-session`:

103 103 


107 107 

108Sesi asli tidak berubah dan tetap tersedia di pemilih sesi. Konfirmasi `/branch` mencetak dua ID sesi: cabang baru yang sekarang Anda masuki dan yang asli. Untuk kembali ke yang asli, teruskan ID-nya ke `/resume`, gunakan pemilih sesi, atau jalankan `/resume <original-name>`. Izin yang Anda setujui dengan "izinkan untuk sesi ini" tidak dibawa ke cabang baru. Jika Anda melanjutkan sesi yang sama di dua terminal tanpa forking, pesan dari keduanya saling bersisipan menjadi satu transkrip.108Sesi asli tidak berubah dan tetap tersedia di pemilih sesi. Konfirmasi `/branch` mencetak dua ID sesi: cabang baru yang sekarang Anda masuki dan yang asli. Untuk kembali ke yang asli, teruskan ID-nya ke `/resume`, gunakan pemilih sesi, atau jalankan `/resume <original-name>`. Izin yang Anda setujui dengan "izinkan untuk sesi ini" tidak dibawa ke cabang baru. Jika Anda melanjutkan sesi yang sama di dua terminal tanpa forking, pesan dari keduanya saling bersisipan menjadi satu transkrip.

109 109 

110Untuk rewind berbasis checkpoint dalam satu sesi, lihat [Checkpointing](/id/checkpointing).110Untuk rewind berbasis checkpoint dalam satu sesi, lihat [Checkpointing](/docs/id/checkpointing).

111 111 

112<h2 id="manage-context-within-a-session">112<h2 id="manage-context-within-a-session">

113 Kelola konteks dalam sesi113 Kelola konteks dalam sesi


115 115 

116Perintah ini mengontrol apa yang ada di jendela konteks tanpa meninggalkan sesi:116Perintah ini mengontrol apa yang ada di jendela konteks tanpa meninggalkan sesi:

117 117 

118* **`/clear`**: mulai segar dengan konteks kosong. Percakapan sebelumnya disimpan dan dapat dilanjutkan dengan `/resume`, atau, dalam proses Claude Code yang sama, {/* min-version: 2.1.191 */}dari [entri sesi sebelumnya di menu rewind](/id/checkpointing#rewind-past-a-cleared-conversation)118* **`/clear`**: mulai segar dengan konteks kosong. Percakapan sebelumnya disimpan dan dapat dilanjutkan dengan `/resume`, atau, dalam proses Claude Code yang sama, dari [entri sesi sebelumnya di menu rewind](/docs/id/checkpointing#rewind-past-a-cleared-conversation)

119* **`/compact [instructions]`**: ganti riwayat dengan ringkasan, secara opsional berfokus pada apa yang Anda tentukan119* **`/compact [instructions]`**: ganti riwayat dengan ringkasan, secara opsional berfokus pada apa yang Anda tentukan

120* **`/context`**: tampilkan apa yang saat ini mengonsumsi konteks120* **`/context`**: tampilkan apa yang saat ini mengonsumsi konteks

121 121 

122Untuk cara pemadatan berinteraksi dengan CLAUDE.md, skills, dan aturan, lihat [panduan jendela konteks](/id/context-window). Untuk strategi tentang kapan harus menghapus versus memadatkan, lihat [Praktik terbaik](/id/best-practices#manage-your-session).122Untuk cara pemadatan berinteraksi dengan CLAUDE.md, skills, dan aturan, lihat [panduan jendela konteks](/docs/id/context-window). Untuk strategi tentang kapan harus menghapus versus memadatkan, lihat [Praktik terbaik](/docs/id/best-practices#manage-your-session).

123 123 

124<h2 id="export-and-locate-session-data">124<h2 id="export-and-locate-session-data">

125 Ekspor dan temukan data sesi125 Ekspor dan temukan data sesi


133 133 

134`/export` menghasilkan transkrip yang dirender untuk dibaca oleh seseorang. Antarmuka di bawah ini menghasilkan data terstruktur untuk skrip diurai: hasil JSON dari suatu run, jalur ke file transkrip sesi, atau aliran peristiwa langsung. Pilih berdasarkan apa yang memicu skrip:134`/export` menghasilkan transkrip yang dirender untuk dibaca oleh seseorang. Antarmuka di bawah ini menghasilkan data terstruktur untuk skrip diurai: hasil JSON dari suatu run, jalur ke file transkrip sesi, atau aliran peristiwa langsung. Pilih berdasarkan apa yang memicu skrip:

135 135 

136* **Jalankan Claude sekali dan tangkap hasilnya**: panggil `claude -p` dengan [`--output-format json` atau `stream-json`](/id/headless#get-structured-output) untuk menangkap hasil, ID sesi, penggunaan, dan biaya dari run non-interaktif sebagai JSON terstruktur.136* **Jalankan Claude sekali dan tangkap hasilnya**: panggil `claude -p` dengan [`--output-format json` atau `stream-json`](/docs/id/headless#get-structured-output) untuk menangkap hasil, ID sesi, penggunaan, dan biaya dari run non-interaktif sebagai JSON terstruktur.

137* **Tanyakan pertanyaan ke sesi yang ada**: teruskan ID sesi ke [`claude -p --resume`](/id/headless#continue-conversations) untuk mengirim prompt tindak lanjut, seperti permintaan ringkasan, dan tangkap respons terstruktur.137* **Tanyakan pertanyaan ke sesi yang ada**: teruskan ID sesi ke [`claude -p --resume`](/docs/id/headless#continue-conversations) untuk mengirim prompt tindak lanjut, seperti permintaan ringkasan, dan tangkap respons terstruktur.

138* **Bereaksi terhadap peristiwa sesi**: baca bidang `transcript_path` yang diterima [hooks](/id/hooks#common-input-fields) dan [perintah status line](/id/statusline#available-data) sebagai input. Hook `SessionEnd` dapat mengarsipkan transkrip ketika sesi berakhir.138* **Bereaksi terhadap peristiwa sesi**: baca bidang `transcript_path` yang diterima [hooks](/docs/id/hooks#common-input-fields) dan [perintah status line](/docs/id/statusline#available-data) sebagai input. Hook `SessionEnd` dapat mengarsipkan transkrip ketika sesi berakhir.

139* **Sematkan Claude dalam aplikasi TypeScript atau Python**: gunakan [Agent SDK](/id/agent-sdk/overview) untuk menerima setiap pesan secara terprogram.139* **Sematkan Claude dalam aplikasi TypeScript atau Python**: gunakan [Agent SDK](/docs/id/agent-sdk/overview) untuk menerima setiap pesan secara terprogram.

140 140 

141Contoh di bawah menggunakan antarmuka kedua. Ini mengirim prompt tindak lanjut ke sesi yang ada dan membaca jawaban dengan `jq`:141Contoh di bawah menggunakan antarmuka kedua. Ini mengirim prompt tindak lanjut ke sesi yang ada dan membaca jawaban dengan `jq`:

142 142 


154 154 

155| Untuk | Atur | Di mana |155| Untuk | Atur | Di mana |

156| --------------------------------------------- | ------------------------------------------------------ | --------------------------- |156| --------------------------------------------- | ------------------------------------------------------ | --------------------------- |

157| Pindahkan penyimpanan dari `~/.claude` | [`CLAUDE_CONFIG_DIR`](/id/env-vars) | Variabel lingkungan |157| Pindahkan penyimpanan dari `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) | Variabel lingkungan |

158| Ubah retensi 30 hari | [`cleanupPeriodDays`](/id/settings#available-settings) | `settings.json` |158| Ubah retensi 30 hari | [`cleanupPeriodDays`](/docs/id/settings#available-settings) | `settings.json` |

159| Tekan penulisan transkrip di semua mode | [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars) | Variabel lingkungan |159| Tekan penulisan transkrip di semua mode | [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/id/env-vars) | Variabel lingkungan |

160| Tekan penulisan untuk satu run non-interaktif | [`--no-session-persistence`](/id/cli-reference) | Flag CLI dengan `claude -p` |160| Tekan penulisan untuk satu run non-interaktif | [`--no-session-persistence`](/docs/id/cli-reference) | Flag CLI dengan `claude -p` |

161 161 

162<h2 id="see-also">162<h2 id="see-also">

163 Lihat juga163 Lihat juga


165 165 

166Halaman-halaman ini mencakup mekanik sesi dan paralelisme terkait:166Halaman-halaman ini mencakup mekanik sesi dan paralelisme terkait:

167 167 

168* [Worktrees](/id/worktrees): jalankan sesi paralel terisolasi di cabang terpisah168* [Worktrees](/docs/id/worktrees): jalankan sesi paralel terisolasi di cabang terpisah

169* [Checkpointing](/id/checkpointing): putar ulang kode dan percakapan ke titik sebelumnya169* [Checkpointing](/docs/id/checkpointing): putar ulang kode dan percakapan ke titik sebelumnya

170* [Jendela konteks](/id/context-window): apa yang mengisi konteks dan apa yang bertahan dari pemadatan170* [Jendela konteks](/docs/id/context-window): apa yang mengisi konteks dan apa yang bertahan dari pemadatan

171* [Mode non-interaktif](/id/headless): perilaku sesi di bawah `claude -p`171* [Mode non-interaktif](/docs/id/headless): perilaku sesi di bawah `claude -p`

settings.md +156 −156

Details

6 6 

7> Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.7> Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.

8 8 

9Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah `/config`, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi. {/* min-version: 2.1.181 */}Mulai dari v2.1.181, Anda dapat mengubah satu opsi tanpa membuka antarmuka dengan melewatkan `key=value` ke `/config`, misalnya `/config verbose=true`.9Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah `/config`, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi. Mulai dari v2.1.181, Anda dapat mengubah satu opsi tanpa membuka antarmuka dengan melewatkan `key=value` ke `/config`, misalnya `/config verbose=true`.

10 10 

11<h2 id="configuration-scopes">11<h2 id="configuration-scopes">

12 Cakupan konfigurasi12 Cakupan konfigurasi


96 * `.claude/settings.json` untuk pengaturan yang diperiksa ke dalam kontrol sumber dan dibagikan dengan tim Anda96 * `.claude/settings.json` untuk pengaturan yang diperiksa ke dalam kontrol sumber dan dibagikan dengan tim Anda

97 * `.claude/settings.local.json` untuk pengaturan yang tidak diperiksa, berguna untuk preferensi pribadi dan eksperimen. Ketika Claude Code membuat `.claude/settings.local.json`, Claude Code mengonfigurasi git untuk mengabaikan file tersebut. Jika Anda membuat file sendiri, tambahkan ke gitignore secara manual.97 * `.claude/settings.local.json` untuk pengaturan yang tidak diperiksa, berguna untuk preferensi pribadi dan eksperimen. Ketika Claude Code membuat `.claude/settings.local.json`, Claude Code mengonfigurasi git untuk mengabaikan file tersebut. Jika Anda membuat file sendiri, tambahkan ke gitignore secara manual.

98 98 

99 Karena file ini milik Anda daripada repositori, aturan izin `allow` miliknya berlaku tanpa langkah [kepercayaan workspace](/id/permissions#project-allow-rules-and-workspace-trust) yang diperlukan oleh aturan allow `.claude/settings.json`. Jika repositori menyediakan file, misalnya dengan melakukan commit, kepercayaan workspace masih berlaku.99 Karena file ini milik Anda daripada repositori, aturan izin `allow` miliknya berlaku tanpa langkah [kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust) yang diperlukan oleh aturan allow `.claude/settings.json`. Jika repositori menyediakan file, misalnya dengan melakukan commit, kepercayaan workspace masih berlaku.

100* **Pengaturan Managed**: Untuk organisasi yang memerlukan kontrol terpusat, Claude Code mendukung beberapa mekanisme pengiriman untuk pengaturan yang dikelola. Semua menggunakan format JSON yang sama dan tidak dapat ditimpa oleh pengaturan pengguna atau proyek:100* **Pengaturan Managed**: Untuk organisasi yang memerlukan kontrol terpusat, Claude Code mendukung beberapa mekanisme pengiriman untuk pengaturan yang dikelola. Semua menggunakan format JSON yang sama dan tidak dapat ditimpa oleh pengaturan pengguna atau proyek:

101 101 

102 * **Pengaturan yang dikelola server**: dikirimkan dari jarak jauh saat sign-in, baik dari server Anthropic melalui konsol admin claude.ai atau dari [Claude apps gateway](/id/claude-apps-gateway) yang di-host sendiri. Lihat [pengaturan yang dikelola server](/id/server-managed-settings).102 * **Pengaturan yang dikelola server**: dikirimkan dari jarak jauh saat sign-in, baik dari server Anthropic melalui konsol admin claude.ai atau dari [Claude apps gateway](/docs/id/claude-apps-gateway) yang di-host sendiri. Lihat [pengaturan yang dikelola server](/docs/id/server-managed-settings).

103 * **Kebijakan tingkat MDM/OS**: dikirimkan melalui manajemen perangkat asli di macOS dan Windows:103 * **Kebijakan tingkat MDM/OS**: dikirimkan melalui manajemen perangkat asli di macOS dan Windows:

104 * macOS: domain preferensi terkelola `com.anthropic.claudecode`. Kunci tingkat atas plist mencerminkan `managed-settings.json`, dengan pengaturan bersarang sebagai kamus dan array sebagai array plist. Terapkan melalui profil konfigurasi di Jamf, Iru (Kandji), atau alat MDM serupa.104 * macOS: domain preferensi terkelola `com.anthropic.claudecode`. Kunci tingkat atas plist mencerminkan `managed-settings.json`, dengan pengaturan bersarang sebagai kamus dan array sebagai array plist. Terapkan melalui profil konfigurasi di Jamf, Iru (Kandji), atau alat MDM serupa.

105 * Windows: kunci registry `HKLM\SOFTWARE\Policies\ClaudeCode` dengan nilai `Settings` (REG\_SZ atau REG\_EXPAND\_SZ) berisi JSON (digunakan melalui Group Policy atau Intune)105 * Windows: kunci registry `HKLM\SOFTWARE\Policies\ClaudeCode` dengan nilai `Settings` (REG\_SZ atau REG\_EXPAND\_SZ) berisi JSON (digunakan melalui Group Policy atau Intune)


120 120 

121 Gunakan prefiks numerik untuk mengontrol urutan penggabungan, misalnya `10-telemetry.json` dan `20-security.json`.121 Gunakan prefiks numerik untuk mengontrol urutan penggabungan, misalnya `10-telemetry.json` dan `20-security.json`.

122 122 

123 Lihat [pengaturan yang dikelola](/id/permissions#managed-only-settings) dan [Konfigurasi MCP yang Dikelola](/id/managed-mcp) untuk detail.123 Lihat [pengaturan yang dikelola](/docs/id/permissions#managed-only-settings) dan [Konfigurasi MCP yang Dikelola](/docs/id/managed-mcp) untuk detail.

124 124 

125 [Repositori](https://github.com/anthropics/claude-code/tree/main/examples/mdm) ini mencakup template penyebaran pemula untuk Jamf, Iru (Kandji), Intune, dan Group Policy. Gunakan ini sebagai titik awal dan sesuaikan dengan kebutuhan Anda.125 [Repositori](https://github.com/anthropics/claude-code/tree/main/examples/mdm) ini mencakup template penyebaran pemula untuk Jamf, Iru (Kandji), Intune, dan Group Policy. Gunakan ini sebagai titik awal dan sesuaikan dengan kebutuhan Anda.

126 126 

127 <Note>127 <Note>

128 Penyebaran yang dikelola juga dapat membatasi **penambahan marketplace plugin** menggunakan `strictKnownMarketplaces`. Untuk informasi lebih lanjut, lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions).128 Penyebaran yang dikelola juga dapat membatasi **penambahan marketplace plugin** menggunakan `strictKnownMarketplaces`. Untuk informasi lebih lanjut, lihat [Pembatasan marketplace yang dikelola](/docs/id/plugin-marketplaces#managed-marketplace-restrictions).

129 </Note>129 </Note>

130* **Konfigurasi lainnya** disimpan dalam `~/.claude.json`. File ini berisi sesi OAuth, konfigurasi [MCP server](/id/mcp) untuk cakupan pengguna dan lokal, status per-proyek (tools yang diizinkan, pengaturan kepercayaan), dan berbagai cache. MCP servers dengan cakupan proyek disimpan secara terpisah dalam `.mcp.json`.130* **Konfigurasi lainnya** disimpan dalam `~/.claude.json`. File ini berisi sesi OAuth, konfigurasi [MCP server](/docs/id/mcp) untuk cakupan pengguna dan lokal, status per-proyek (tools yang diizinkan, pengaturan kepercayaan), dan berbagai cache. MCP servers dengan cakupan proyek disimpan secara terpisah dalam `.mcp.json`.

131 131 

132<Note>132<Note>

133 Claude Code secara otomatis membuat cadangan file konfigurasi dengan stempel waktu dan menyimpan lima cadangan terbaru untuk mencegah kehilangan data.133 Claude Code secara otomatis membuat cadangan file konfigurasi dengan stempel waktu dan menyimpan lima cadangan terbaru untuk mencegah kehilangan data.


169 Saat pengeditan berlaku169 Saat pengeditan berlaku

170</h3>170</h3>

171 171 

172Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi pengeditan pada sebagian besar kunci berlaku untuk sesi yang sedang berjalan tanpa restart. Ini termasuk `permissions`, `hooks`, dan credential helpers seperti `apiKeyHelper`. Reload mencakup pengaturan pengguna, proyek, lokal, dan yang dikelola, dan [hook `ConfigChange`](/id/hooks#configchange) diaktifkan untuk setiap perubahan yang terdeteksi.172Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi pengeditan pada sebagian besar kunci berlaku untuk sesi yang sedang berjalan tanpa restart. Ini termasuk `permissions`, `hooks`, dan credential helpers seperti `apiKeyHelper`. Reload mencakup pengaturan pengguna, proyek, lokal, dan yang dikelola, dan [hook `ConfigChange`](/docs/id/hooks#configchange) diaktifkan untuk setiap perubahan yang terdeteksi.

173 173 

174Beberapa kunci dibaca sekali saat startup sesi dan berlaku pada restart berikutnya:174Beberapa kunci dibaca sekali saat startup sesi dan berlaku pada restart berikutnya:

175 175 

176* `model`: gunakan [`/model`](/id/model-config#setting-your-model) untuk beralih di tengah sesi176* `model`: gunakan [`/model`](/docs/id/model-config#setting-your-model) untuk beralih di tengah sesi

177* [`outputStyle`](/id/output-styles): bagian dari prompt sistem, yang dibangun kembali pada `/clear` atau restart177* [`outputStyle`](/docs/id/output-styles): bagian dari prompt sistem, yang dibangun kembali pada `/clear` atau restart

178 178 

179<h3 id="invalid-entries-in-managed-settings">179<h3 id="invalid-entries-in-managed-settings">

180 Entri tidak valid dalam pengaturan yang dikelola180 Entri tidak valid dalam pengaturan yang dikelola

181</h3>181</h3>

182 182 

183Pengaturan yang dikelola diuraikan dengan toleran. Ketika konfigurasi yang dikelola berisi entri yang gagal validasi skema, Claude Code menghapus entri tersebut, mencatat peringatan, dan menegakkan setiap kebijakan yang valid yang tersisa. Satu kesalahan ketik tidak dapat menonaktifkan kebijakan organisasi Anda yang lainnya. Jalankan [`/doctor`](/id/debug-your-config#check-resolved-settings) untuk membuat daftar entri yang dihapus dengan file sumber dan bidangnya.183Pengaturan yang dikelola diuraikan dengan toleran. Ketika konfigurasi yang dikelola berisi entri yang gagal validasi skema, Claude Code menghapus entri tersebut, mencatat peringatan, dan menegakkan setiap kebijakan yang valid yang tersisa. Satu kesalahan ketik tidak dapat menonaktifkan kebijakan organisasi Anda yang lainnya. Jalankan [`/doctor`](/docs/id/debug-your-config#check-resolved-settings) untuk membuat daftar entri yang dihapus dengan file sumber dan bidangnya.

184 184 

185Perilaku ini konsisten di ketiga mekanisme pengiriman: [pengaturan yang dikelola server](/id/server-managed-settings), kebijakan plist dan registry yang digunakan melalui MDM, dan file `managed-settings.json`. Memerlukan Claude Code v2.1.169 atau lebih baru.185Perilaku ini konsisten di ketiga mekanisme pengiriman: [pengaturan yang dikelola server](/docs/id/server-managed-settings), kebijakan plist dan registry yang digunakan melalui MDM, dan file `managed-settings.json`. Memerlukan Claude Code v2.1.169 atau lebih baru.

186 186 

187Bidang penegakan keamanan ditangani per bidang daripada dihapus secara grosir saat ada tetapi tidak valid:187Bidang penegakan keamanan ditangani per bidang daripada dihapus secara grosir saat ada tetapi tidak valid:

188 188 

189| Bidang | Perilaku saat ada tetapi tidak valid |189| Bidang | Perilaku saat ada tetapi tidak valid |

190| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |190| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

191| `allowedMcpServers` | Diterapkan sebagai daftar putih kosong, jadi tidak ada MCP servers yang diterima sampai nilainya diperbaiki. Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. |191| `allowedMcpServers` | Diterapkan sebagai daftar putih kosong, jadi tidak ada MCP servers yang diterima sampai nilainya diperbaiki. Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. |

192| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`. |192| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`. |

193| `availableModels` | {/* min-version: 2.1.175 */}Diterapkan sebagai daftar putih kosong, jadi hanya model Default yang tersedia sampai nilainya diperbaiki. Entri non-string individual dihapus dan subset yang valid diterapkan. Berlaku dalam v2.1.175 dan lebih baru. |193| `availableModels` | Diterapkan sebagai daftar putih kosong, jadi hanya model Default yang tersedia sampai nilainya diperbaiki. Entri non-string individual dihapus dan subset yang valid diterapkan. Berlaku dalam v2.1.175 dan lebih baru. |

194| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Diperlakukan sebagai `true`. Berlaku dalam v2.1.175 dan lebih baru. |194| `enforceAvailableModels` | Diperlakukan sebagai `true`. Berlaku dalam v2.1.175 dan lebih baru. |

195| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk login sampai nilainya diperbaiki. |195| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk login sampai nilainya diperbaiki. |

196| `deniedMcpServers` | Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir servers yang kebijakan tidak pernah namakan. |196| `deniedMcpServers` | Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir servers yang kebijakan tidak pernah namakan. |

197| `sandbox.credentials` | {/* min-version: 2.1.191 */}Entri individual yang tidak valid dalam `files` atau `envVars` dihapus dengan peringatan dan subset yang valid diterapkan. Nilai `credentials` yang sepenuhnya tidak valid dijatuhkan dengan peringatan sementara sisa `sandbox` masih berlaku. Berlaku dalam v2.1.191 dan lebih baru. |197| `sandbox.credentials` | Entri individual yang tidak valid dalam `files` atau `envVars` dihapus dengan peringatan dan subset yang valid diterapkan. Nilai `credentials` yang sepenuhnya tidak valid dijatuhkan dengan peringatan sementara sisa `sandbox` masih berlaku. Berlaku dalam v2.1.191 dan lebih baru. |

198 198 

199`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diterapkan, jadi push kebijakan yang buruk tidak dapat mencegah Claude Code dari memulai.199`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diterapkan, jadi push kebijakan yang buruk tidak dapat mencegah Claude Code dari memulai.

200 200 


202 202 

203* Sesi interaktif menampilkan dialog saat startup yang mencantumkan entri yang tidak valid.203* Sesi interaktif menampilkan dialog saat startup yang mencantumkan entri yang tidak valid.

204* Jalankan headless dengan `-p` cetak ringkasan ke stderr.204* Jalankan headless dengan `-p` cetak ringkasan ke stderr.

205* [`claude doctor`](/id/debug-your-config) mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.205* [`claude doctor`](/docs/id/debug-your-config) mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.

206 206 

207Validasi perubahan kebijakan dengan menjalankan `claude doctor` pada mesin uji sebelum menggunakannya di seluruh armada.207Validasi perubahan kebijakan dengan menjalankan `claude doctor` pada mesin uji sebelum menggunakannya di seluruh armada.

208 208 


215`settings.json` mendukung sejumlah opsi:215`settings.json` mendukung sejumlah opsi:

216 216 

217| Kunci | Deskripsi | Contoh |217| Kunci | Deskripsi | Contoh |

218| :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |218| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |

219| `advisorModel` | Model untuk [advisor tool](/id/advisor) sisi server. Menerima alias model seperti `"opus"`, `"sonnet"`, atau `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), atau ID model lengkap. Ditulis secara otomatis saat Anda menjalankan `/advisor`. Tidak diatur untuk menonaktifkan advisor | `"opus"` |219| `advisorModel` | Model untuk [advisor tool](/docs/id/advisor) sisi server. Menerima alias model seperti `"opus"`, `"sonnet"`, atau `"fable"` (v2.1.170+), atau ID model lengkap. Ditulis secara otomatis saat Anda menjalankan `/advisor`. Tidak diatur untuk menonaktifkan advisor | `"opus"` |

220| `agent` | Jalankan thread utama sebagai subagent bernama, dan atur agent default untuk sesi yang dikirimkan dari `claude agents`. Menerapkan prompt sistem subagent, pembatasan tool, dan model. Lihat [Panggil subagents secara eksplisit](/id/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |220| `agent` | Jalankan thread utama sebagai subagent bernama, dan atur agent default untuk sesi yang dikirimkan dari `claude agents`. Menerapkan prompt sistem subagent, pembatasan tool, dan model. Lihat [Panggil subagents secara eksplisit](/docs/id/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

221| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**Default**: `false`. Ketika [Remote Control](/id/remote-control) terhubung, izinkan Claude mengirim notifikasi push proaktif ke ponsel Anda, misalnya ketika tugas panjang selesai. Muncul di `/config` sebagai **Push when Claude decides**. Lihat [Mobile push notifications](/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru | `true` |221| `agentPushNotifEnabled` | **Default**: `false`. Ketika [Remote Control](/docs/id/remote-control) terhubung, izinkan Claude mengirim notifikasi push proaktif ke ponsel Anda, misalnya ketika tugas panjang selesai. Muncul di `/config` sebagai **Push when Claude decides**. Lihat [Mobile push notifications](/docs/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru | `true` |

222| `allowAllClaudeAiMcps` | (Pengaturan yang dikelola saja) Muat konektor claude.ai bersama `managed-mcp.json` yang digunakan, yang sebaliknya mengambil kontrol eksklusif dan menekan mereka. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `true` |222| `allowAllClaudeAiMcps` | (Pengaturan yang dikelola saja) Muat konektor claude.ai bersama `managed-mcp.json` yang digunakan, yang sebaliknya mengambil kontrol eksklusif dan menekan mereka. Lihat [Konfigurasi MCP yang Dikelola](/docs/id/managed-mcp) | `true` |

223| `allowedChannelPlugins` | (Pengaturan yang dikelola saja) Daftar putih plugin channel yang dapat mendorong pesan. Menggantikan daftar putih Anthropic default saat diatur. Tidak terdefinisi = kembali ke default, array kosong = blokir semua plugin channel. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat dijalankan](/id/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |223| `allowedChannelPlugins` | (Pengaturan yang dikelola saja) Daftar putih plugin channel yang dapat mendorong pesan. Menggantikan daftar putih Anthropic default saat diatur. Tidak terdefinisi = kembali ke default, array kosong = blokir semua plugin channel. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat dijalankan](/docs/id/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

224| `allowedHttpHookUrls` | Daftar putih pola URL yang dapat ditargetkan oleh HTTP hooks. Mendukung `*` sebagai wildcard. Saat diatur, hooks dengan URL yang tidak cocok diblokir. Tidak terdefinisi = tidak ada pembatasan, array kosong = blokir semua HTTP hooks. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |224| `allowedHttpHookUrls` | Daftar putih pola URL yang dapat ditargetkan oleh HTTP hooks. Mendukung `*` sebagai wildcard. Saat diatur, hooks dengan URL yang tidak cocok diblokir. Tidak terdefinisi = tidak ada pembatasan, array kosong = blokir semua HTTP hooks. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |

225| `allowedMcpServers` | Saat diatur dalam managed-settings.json, daftar putih MCP servers yang dapat dikonfigurasi pengguna. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Berlaku untuk semua cakupan. Daftar hitam memiliki prioritas. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `[{ "serverName": "github" }]` |225| `allowedMcpServers` | Saat diatur dalam managed-settings.json, daftar putih MCP servers yang dapat dikonfigurasi pengguna. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Berlaku untuk semua cakupan. Daftar hitam memiliki prioritas. Lihat [Konfigurasi MCP yang Dikelola](/docs/id/managed-mcp) | `[{ "serverName": "github" }]` |

226| `allowManagedHooksOnly` | (Pengaturan yang dikelola saja) Hanya hooks yang dikelola, SDK hooks, dan hooks dari plugins yang dipaksa diaktifkan dalam pengaturan yang dikelola `enabledPlugins` yang dimuat. Hooks pengguna, proyek, dan semua plugin hooks lainnya diblokir. Lihat [Konfigurasi Hook](#hook-configuration) | `true` |226| `allowManagedHooksOnly` | (Pengaturan yang dikelola saja) Hanya hooks yang dikelola, SDK hooks, dan hooks dari plugins yang dipaksa diaktifkan dalam pengaturan yang dikelola `enabledPlugins` yang dimuat. Hooks pengguna, proyek, dan semua plugin hooks lainnya diblokir. Lihat [Konfigurasi Hook](#hook-configuration) | `true` |

227| `allowManagedMcpServersOnly` | (Pengaturan yang dikelola saja) Hanya `allowedMcpServers` dari pengaturan yang dikelola yang dihormati. `deniedMcpServers` masih digabungkan dari semua sumber. Pengguna masih dapat menambahkan MCP servers, tetapi hanya daftar putih yang ditentukan admin yang berlaku. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `true` |227| `allowManagedMcpServersOnly` | (Pengaturan yang dikelola saja) Hanya `allowedMcpServers` dari pengaturan yang dikelola yang dihormati. `deniedMcpServers` masih digabungkan dari semua sumber. Pengguna masih dapat menambahkan MCP servers, tetapi hanya daftar putih yang ditentukan admin yang berlaku. Lihat [Konfigurasi MCP yang Dikelola](/docs/id/managed-mcp) | `true` |

228| `allowManagedPermissionRulesOnly` | (Pengaturan yang dikelola saja) Cegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan yang dikelola yang berlaku. Lihat [Pengaturan khusus yang dikelola](/id/permissions#managed-only-settings) | `true` |228| `allowManagedPermissionRulesOnly` | (Pengaturan yang dikelola saja) Cegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan yang dikelola yang berlaku. Lihat [Pengaturan khusus yang dikelola](/docs/id/permissions#managed-only-settings) | `true` |

229| `alwaysThinkingEnabled` | Aktifkan [pemikiran yang diperluas](/id/model-config#extended-thinking) secara default untuk semua sesi. Biasanya dikonfigurasi melalui perintah `/config` daripada mengedit langsung. Untuk memaksa pemikiran mati terlepas dari pengaturan ini, atur [`MAX_THINKING_TOKENS=0`](/id/env-vars) dalam `env`, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir | `true` |229| `alwaysThinkingEnabled` | Aktifkan [pemikiran yang diperluas](/docs/id/model-config#extended-thinking) secara default untuk semua sesi. Biasanya dikonfigurasi melalui perintah `/config` daripada mengedit langsung. Untuk memaksa pemikiran mati terlepas dari pengaturan ini, atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars) dalam `env`, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir | `true` |

230| `apiKeyHelper` | Skrip khusus, yang akan dieksekusi dalam `/bin/sh` pada macOS dan Linux, `cmd` pada Windows, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header `X-Api-Key` dan `Authorization: Bearer` untuk permintaan model. Atur interval penyegaran dengan [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/id/env-vars) | `/bin/generate_temp_api_key.sh` |230| `apiKeyHelper` | Skrip khusus, yang akan dieksekusi dalam `/bin/sh` pada macOS dan Linux, `cmd` pada Windows, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header `X-Api-Key` dan `Authorization: Bearer` untuk permintaan model. Atur interval penyegaran dengan [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/id/env-vars) | `/bin/generate_temp_api_key.sh` |

231| `askUserQuestionTimeout` | {/* min-version: 2.1.200 */}**Default**: `"never"`. Waktu idle sebelum dialog [`AskUserQuestion`](/id/tools-reference) yang belum dijawab auto-continues dengan opsi apa pun yang sudah Anda pilih. Menerima `"60s"`, `"5m"`, `"10m"`, atau `"never"`. Dengan default, pertanyaan menunggu sampai Anda menjawabnya. Muncul di `/config` sebagai **Question auto-continue timeout**, yang menulis kunci ini ke pengaturan pengguna. Tidak dibaca dari pengaturan proyek atau lokal. Memerlukan Claude Code v2.1.200 atau lebih baru | `"5m"` |231| `askUserQuestionTimeout` | **Default**: `"never"`. Waktu idle sebelum dialog [`AskUserQuestion`](/docs/id/tools-reference) yang belum dijawab auto-continues dengan opsi apa pun yang sudah Anda pilih. Menerima `"60s"`, `"5m"`, `"10m"`, atau `"never"`. Dengan default, pertanyaan menunggu sampai Anda menjawabnya. Muncul di `/config` sebagai **Question auto-continue timeout**, yang menulis kunci ini ke pengaturan pengguna. Tidak dibaca dari pengaturan proyek atau lokal. Memerlukan Claude Code v2.1.200 atau lebih baru | `"5m"` |

232| `attribution` | Sesuaikan atribusi untuk komit git dan pull request. Lihat [Pengaturan atribusi](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |232| `attribution` | Sesuaikan atribusi untuk komit git dan pull request. Lihat [Pengaturan atribusi](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

233| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**Default**: `true`. Secara otomatis kompak percakapan ketika konteks mendekati batas. Muncul di `/config` sebagai **Auto-compact**. Untuk menonaktifkan melalui variabel lingkungan, atur [`DISABLE_AUTO_COMPACT`](/id/env-vars) dalam `env` | `false` |233| `autoCompactEnabled` | **Default**: `true`. Secara otomatis kompak percakapan ketika konteks mendekati batas. Muncul di `/config` sebagai **Auto-compact**. Untuk menonaktifkan melalui variabel lingkungan, atur [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars) dalam `env` | `false` |

234| `autoMemoryDirectory` | Direktori khusus untuk penyimpanan [memori otomatis](/id/memory#storage-location). Menerima jalur absolut atau jalur dengan awalan `~/`. Dari pengaturan proyek atau lokal, ini dihormati hanya setelah Anda menerima dialog kepercayaan workspace, karena repositori yang diklon dapat menyediakan file ini | `"~/my-memory-dir"` |234| `autoMemoryDirectory` | Direktori khusus untuk penyimpanan [memori otomatis](/docs/id/memory#storage-location). Menerima jalur absolut atau jalur dengan awalan `~/`. Dari pengaturan proyek atau lokal, ini dihormati hanya setelah Anda menerima dialog kepercayaan workspace, karena repositori yang diklon dapat menyediakan file ini | `"~/my-memory-dir"` |

235| `autoMemoryEnabled` | **Default**: `true`. Aktifkan [memori otomatis](/id/memory#enable-or-disable-auto-memory). Saat `false`, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Anda juga dapat mengalihkan ini dengan `/memory` selama sesi. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/id/env-vars) dalam `env` | `false` |235| `autoMemoryEnabled` | **Default**: `true`. Aktifkan [memori otomatis](/docs/id/memory#enable-or-disable-auto-memory). Saat `false`, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Anda juga dapat mengalihkan ini dengan `/memory` selama sesi. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/docs/id/env-vars) dalam `env` | `false` |

236| `autoMode` | Sesuaikan apa yang diblokir dan diizinkan oleh pengklasifikasi [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode). Berisi array aturan prosa `environment`, `allow`, `soft_deny`, dan `hard_deny`. Sertakan string literal `"$defaults"` dalam array untuk mewarisi aturan bawaan pada posisi tersebut. Lihat [Konfigurasikan mode otomatis](/id/auto-mode-config). Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Diabaikan dalam `.claude/settings.json` proyek dan `.claude/settings.local.json` lokal. {/* min-version: 2.1.207 */}Sebelum v2.1.207, `.claude/settings.local.json` juga dibaca | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |236| `autoMode` | Sesuaikan apa yang diblokir dan diizinkan oleh pengklasifikasi [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode). Berisi array aturan prosa `environment`, `allow`, `soft_deny`, dan `hard_deny`. Sertakan string literal `"$defaults"` dalam array untuk mewarisi aturan bawaan pada posisi tersebut. Lihat [Konfigurasikan mode otomatis](/docs/id/auto-mode-config). Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Diabaikan dalam `.claude/settings.json` proyek dan `.claude/settings.local.json` lokal. Sebelum v2.1.207, `.claude/settings.local.json` juga dibaca | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

237| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**Default**: `false`. Saat `true`, menangguhkan setiap aturan allow Bash dan PowerShell saat mode otomatis aktif sehingga semua perintah shell merutekan melalui pengklasifikasi, bukan hanya aturan yang cocok dengan pola eksekusi kode arbitrer. Lihat [Rutekan semua perintah shell melalui pengklasifikasi](/id/auto-mode-config#route-all-shell-commands-through-the-classifier). Memerlukan Claude Code v2.1.193 atau lebih baru | `true` |237| `autoMode.classifyAllShell` | **Default**: `false`. Saat `true`, menangguhkan setiap aturan allow Bash dan PowerShell saat mode otomatis aktif sehingga semua perintah shell merutekan melalui pengklasifikasi, bukan hanya aturan yang cocok dengan pola eksekusi kode arbitrer. Lihat [Rutekan semua perintah shell melalui pengklasifikasi](/docs/id/auto-mode-config#route-all-shell-commands-through-the-classifier). Memerlukan Claude Code v2.1.193 atau lebih baru | `true` |

238| `autoScrollEnabled` | **Default**: `true`. Dalam [rendering fullscreen](/id/fullscreen), ikuti output baru ke bagian bawah percakapan. Muncul di `/config` sebagai **Auto-scroll**. Prompt izin masih bergulir ke tampilan saat ini dimatikan | `false` |238| `autoScrollEnabled` | **Default**: `true`. Dalam [rendering fullscreen](/docs/id/fullscreen), ikuti output baru ke bagian bawah percakapan. Muncul di `/config` sebagai **Auto-scroll**. Prompt izin masih bergulir ke tampilan saat ini dimatikan | `false` |

239| `autoUpdatesChannel` | **Default**: `"latest"`. Saluran rilis untuk diikuti untuk pembaruan. Gunakan `"stable"` untuk versi yang biasanya sekitar satu minggu lama dan melewati versi dengan regresi besar, atau `"latest"` untuk rilis terbaru. Untuk menonaktifkan auto-updates sepenuhnya, atur [`DISABLE_AUTOUPDATER`](/id/setup#disable-auto-updates) dalam `env` | `"stable"` |239| `autoUpdatesChannel` | **Default**: `"latest"`. Saluran rilis untuk diikuti untuk pembaruan. Gunakan `"stable"` untuk versi yang biasanya sekitar satu minggu lama dan melewati versi dengan regresi besar, atau `"latest"` untuk rilis terbaru. Untuk menonaktifkan auto-updates sepenuhnya, atur [`DISABLE_AUTOUPDATER`](/docs/id/setup#disable-auto-updates) dalam `env` | `"stable"` |

240| `availableModels` | Batasi model mana yang dapat dipilih pengguna untuk sesi utama, [subagents](/id/sub-agents), [skills](/id/skills), dan [advisor](/id/advisor). Tidak mempengaruhi opsi Default kecuali `enforceAvailableModels` juga diatur. Lihat [Batasi pemilihan model](/id/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |240| `availableModels` | Batasi model mana yang dapat dipilih pengguna untuk sesi utama, [subagents](/docs/id/sub-agents), [skills](/docs/id/skills), dan [advisor](/docs/id/advisor). Tidak mempengaruhi opsi Default kecuali `enforceAvailableModels` juga diatur. Lihat [Batasi pemilihan model](/docs/id/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

241| `awaySummaryEnabled` | Tampilkan ringkasan sesi satu baris saat Anda kembali ke terminal setelah beberapa menit pergi. Atur ke `false` atau matikan Session recap di `/config` untuk menonaktifkan. Sama dengan [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/id/env-vars) | `true` |241| `awaySummaryEnabled` | Tampilkan ringkasan sesi satu baris saat Anda kembali ke terminal setelah beberapa menit pergi. Atur ke `false` atau matikan Session recap di `/config` untuk menonaktifkan. Sama dengan [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/docs/id/env-vars) | `true` |

242| `awsAuthRefresh` | Skrip khusus yang memodifikasi direktori `.aws` (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |242| `awsAuthRefresh` | Skrip khusus yang memodifikasi direktori `.aws` (lihat [konfigurasi kredensial lanjutan](/docs/id/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

243| `awsCredentialExport` | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |243| `awsCredentialExport` | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat [konfigurasi kredensial lanjutan](/docs/id/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

244| `axScreenReader` | {/* min-version: 2.1.181 */}Render output yang ramah screen-reader: teks datar tanpa border dekoratif atau animasi. Mode screen-reader menggunakan renderer klasik, jadi pengaturan `tui` tidak berpengaruh saat aktif; [background sessions](/id/agent-view) yang terpasang masih render fullscreen. Variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/id/env-vars) dan flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) memiliki prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru | `true` |244| `axScreenReader` | Render output yang ramah screen-reader: teks datar tanpa border dekoratif atau animasi. Mode screen-reader menggunakan renderer klasik, jadi pengaturan `tui` tidak berpengaruh saat aktif; [background sessions](/docs/id/agent-view) yang terpasang masih render fullscreen. Variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars) dan flag [`--ax-screen-reader`](/docs/id/cli-reference#cli-flags) memiliki prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru | `true` |

245| `blockedMarketplaces` | (Pengaturan yang dikelola saja) Daftar hitam sumber marketplace. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |245| `blockedMarketplaces` | (Pengaturan yang dikelola saja) Daftar hitam sumber marketplace. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [Pembatasan marketplace yang dikelola](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

246| `browserExternalPageTools` | (Pengaturan yang dikelola saja) Atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](/id/desktop#browse-external-sites) aplikasi desktop. Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan preview server dev lokal tidak terpengaruh | `"disabled"` |246| `browserExternalPageTools` | (Pengaturan yang dikelola saja) Atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](/docs/id/desktop#browse-external-sites) aplikasi desktop. Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan preview server dev lokal tidak terpengaruh | `"disabled"` |

247| `channelsEnabled` | (Pengaturan yang dikelola saja) Izinkan [channels](/id/channels) untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau `false`. Untuk akun [Anthropic Console](/id/authentication#claude-console-authentication) menggunakan autentikasi kunci API, channels diizinkan secara default kecuali organisasi Anda menggunakan pengaturan yang dikelola, dalam hal ini kunci ini harus diatur ke `true` | `true` |247| `channelsEnabled` | (Pengaturan yang dikelola saja) Izinkan [channels](/docs/id/channels) untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau `false`. Untuk akun [Anthropic Console](/docs/id/authentication#claude-console-authentication) menggunakan autentikasi kunci API, channels diizinkan secara default kecuali organisasi Anda menggunakan pengaturan yang dikelola, dalam hal ini kunci ini harus diatur ke `true` | `true` |

248| `claudeMd` | (Pengaturan yang dikelola saja) Instruksi gaya CLAUDE.md yang disuntikkan sebagai memori yang dikelola organisasi. Hanya dihormati saat diatur dalam pengaturan yang dikelola atau kebijakan dan diabaikan dalam pengaturan pengguna, proyek, dan lokal. Lihat [CLAUDE.md di seluruh organisasi](/id/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |248| `claudeMd` | (Pengaturan yang dikelola saja) Instruksi gaya CLAUDE.md yang disuntikkan sebagai memori yang dikelola organisasi. Hanya dihormati saat diatur dalam pengaturan yang dikelola atau kebijakan dan diabaikan dalam pengaturan pengguna, proyek, dan lokal. Lihat [CLAUDE.md di seluruh organisasi](/docs/id/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

249| `claudeMdExcludes` | Pola glob atau jalur absolut file `CLAUDE.md` untuk dilewati saat memuat [memory](/id/memory). Pola cocok dengan jalur file absolut. Hanya berlaku untuk memori pengguna, proyek, dan lokal; file kebijakan yang dikelola tidak dapat dikecualikan | `["**/vendor/**/CLAUDE.md"]` |249| `claudeMdExcludes` | Pola glob atau jalur absolut file `CLAUDE.md` untuk dilewati saat memuat [memory](/docs/id/memory). Pola cocok dengan jalur file absolut. Hanya berlaku untuk memori pengguna, proyek, dan lokal; file kebijakan yang dikelola tidak dapat dikecualikan | `["**/vendor/**/CLAUDE.md"]` |

250| `cleanupPeriodDays` | **Default**: `30` hari, minimum `1`. Claude Code menghapus [file sesi dan data aplikasi lainnya](/id/claude-directory#cleaned-up-automatically) yang lebih lama dari periode ini saat startup. Pengaturan `0` ditolak dengan kesalahan validasi. Juga mengontrol cutoff usia untuk penghapusan otomatis [worktrees yatim piatu](/id/worktrees#clean-up-worktrees) saat startup. {/* min-version: 2.1.203 */}Jika Claude Code tidak dapat membaca atau menguraikan file pengaturan, Claude Code menjeda penyapuan pembersihan retensi dan menampilkan peringatan di `/status` sampai Anda memperbaiki file, kecuali [pengaturan yang dikelola](/id/server-managed-settings) menyediakan `cleanupPeriodDays`, dalam hal ini penyapuan berjalan pada nilai yang dikelola. Sebelum v2.1.203, pembersihan berjalan pada default 30 hari dalam keadaan itu dan dapat menghapus transkrip yang `cleanupPeriodDays` yang lebih lama dimaksudkan untuk disimpan; file yang lebih baru dari 30 hari tidak pernah dihapus. Untuk menonaktifkan penulisan transkrip sepenuhnya, atur variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars). Dalam mode non-interaktif, lewatkan `--no-session-persistence` bersama `-p` atau atur `persistSession: false` dalam Agent SDK. | `20` |250| `cleanupPeriodDays` | **Default**: `30` hari, minimum `1`. Claude Code menghapus [file sesi dan data aplikasi lainnya](/docs/id/claude-directory#cleaned-up-automatically) yang lebih lama dari periode ini saat startup. Pengaturan `0` ditolak dengan kesalahan validasi. Juga mengontrol cutoff usia untuk penghapusan otomatis [worktrees yatim piatu](/docs/id/worktrees#clean-up-worktrees) saat startup. Jika Claude Code tidak dapat membaca atau menguraikan file pengaturan, Claude Code menjeda penyapuan pembersihan retensi dan menampilkan peringatan di `/status` sampai Anda memperbaiki file, kecuali [pengaturan yang dikelola](/docs/id/server-managed-settings) menyediakan `cleanupPeriodDays`, dalam hal ini penyapuan berjalan pada nilai yang dikelola. Sebelum v2.1.203, pembersihan berjalan pada default 30 hari dalam keadaan itu dan dapat menghapus transkrip yang `cleanupPeriodDays` yang lebih lama dimaksudkan untuk disimpan; file yang lebih baru dari 30 hari tidak pernah dihapus. Untuk menonaktifkan penulisan transkrip sepenuhnya, atur variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/id/env-vars). Dalam mode non-interaktif, lewatkan `--no-session-persistence` bersama `-p` atau atur `persistSession: false` dalam Agent SDK. | `20` |

251| `companyAnnouncements` | Pengumuman untuk ditampilkan kepada pengguna saat startup. Jika beberapa pengumuman disediakan, mereka akan diputar secara acak. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |251| `companyAnnouncements` | Pengumuman untuk ditampilkan kepada pengguna saat startup. Jika beberapa pengumuman disediakan, mereka akan diputar secara acak. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

252| `defaultShell` | **Default**: `"bash"`, atau `"powershell"` di Windows saat Bash tidak tersedia. Shell default untuk perintah `!` input-box. Menerima `"bash"` atau `"powershell"`. Pengaturan `"powershell"` merutekan perintah `!` interaktif melalui PowerShell di Windows. Memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Lihat [PowerShell tool](/id/tools-reference#powershell-tool) | `"powershell"` |252| `defaultShell` | **Default**: `"bash"`, atau `"powershell"` di Windows saat Bash tidak tersedia. Shell default untuk perintah `!` input-box. Menerima `"bash"` atau `"powershell"`. Pengaturan `"powershell"` merutekan perintah `!` interaktif melalui PowerShell di Windows. Memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Lihat [PowerShell tool](/docs/id/tools-reference#powershell-tool) | `"powershell"` |

253| `deniedMcpServers` | Saat diatur dalam managed-settings.json, daftar hitam MCP servers yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk servers yang dikelola. Daftar hitam memiliki prioritas atas daftar putih. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `[{ "serverName": "filesystem" }]` |253| `deniedMcpServers` | Saat diatur dalam managed-settings.json, daftar hitam MCP servers yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk servers yang dikelola. Daftar hitam memiliki prioritas atas daftar putih. Lihat [Konfigurasi MCP yang Dikelola](/docs/id/managed-mcp) | `[{ "serverName": "filesystem" }]` |

254| `disableAgentView` | Atur ke `true` untuk mematikan [background agents dan agent view](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Biasanya diatur dalam [pengaturan yang dikelola](/id/permissions#managed-settings). Setara dengan pengaturan `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1` | `true` |254| `disableAgentView` | Atur ke `true` untuk mematikan [background agents dan agent view](/docs/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Biasanya diatur dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings). Setara dengan pengaturan `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1` | `true` |

255| `disableAllHooks` | Nonaktifkan semua [hooks](/id/hooks) dan [status line](/id/statusline) khusus apa pun | `true` |255| `disableAllHooks` | Nonaktifkan semua [hooks](/docs/id/hooks) dan [status line](/docs/id/statusline) khusus apa pun | `true` |

256| `disableArtifact` | Atur ke `true` untuk menonaktifkan tool [Artifact](/id/artifacts), yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_ARTIFACT` ke `1` | `true` |256| `disableArtifact` | Atur ke `true` untuk menonaktifkan tool [Artifact](/docs/id/artifacts), yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_ARTIFACT` ke `1` | `true` |

257| `disableAutoMode` | Atur ke `"disable"` untuk mencegah [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) diaktifkan. Menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `"disable"` |257| `disableAutoMode` | Atur ke `"disable"` untuk mencegah [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) diaktifkan. Menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup. Paling berguna dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `"disable"` |

258| `disableBrowserExternalNavigation` | (Pengaturan yang dikelola saja) Atur ke `true` untuk mematikan browsing eksternal di [Browser pane](/id/desktop#browse-external-sites) aplikasi desktop. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan preview server dev localhost tidak terpengaruh. Nilai harus boolean JSON `true`; string `"true"` diabaikan | `true` |258| `disableBrowserExternalNavigation` | (Pengaturan yang dikelola saja) Atur ke `true` untuk mematikan browsing eksternal di [Browser pane](/docs/id/desktop#browse-external-sites) aplikasi desktop. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan preview server dev localhost tidak terpengaruh. Nilai harus boolean JSON `true`; string `"true"` diabaikan | `true` |

259| `disableBundledSkills` | Atur ke `true` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirimkan dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan [`DISABLE_DOCTOR_COMMAND`](/id/env-vars) sebagai gantinya. Skills dari plugins, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` ke `1` | `true` |259| `disableBundledSkills` | Atur ke `true` untuk menonaktifkan [skills](/docs/id/skills) dan workflows yang dikirimkan dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan [`DISABLE_DOCTOR_COMMAND`](/docs/id/env-vars) sebagai gantinya. Skills dari plugins, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` ke `1` | `true` |

260| `disableClaudeAiConnectors` | {/* min-version: 2.1.182 */}Nonaktifkan [claude.ai MCP connectors](/id/mcp#use-mcp-servers-from-claude-ai) sehingga mereka tidak auto-fetched atau terhubung. Atur dalam cakupan pengaturan apa pun. `true` dalam sumber apa pun memiliki prioritas, jadi `.claude/settings.json` proyek yang diperiksa dapat memilih repositori dari konektor cloud, tetapi proyek-level `false` tidak dapat menimpa tingkat pengguna atau kebijakan `true`. Servers yang dilewatkan secara eksplisit melalui `--mcp-config` tidak terpengaruh. Untuk menolak konektor individual daripada semuanya, gunakan [`deniedMcpServers`](/id/managed-mcp). Memerlukan Claude Code v2.1.182 atau lebih baru | `true` |260| `disableClaudeAiConnectors` | Nonaktifkan [claude.ai MCP connectors](/docs/id/mcp#use-mcp-servers-from-claude-ai) sehingga mereka tidak auto-fetched atau terhubung. Atur dalam cakupan pengaturan apa pun. `true` dalam sumber apa pun memiliki prioritas, jadi `.claude/settings.json` proyek yang diperiksa dapat memilih repositori dari konektor cloud, tetapi proyek-level `false` tidak dapat menimpa tingkat pengguna atau kebijakan `true`. Servers yang dilewatkan secara eksplisit melalui `--mcp-config` tidak terpengaruh. Untuk menolak konektor individual daripada semuanya, gunakan [`deniedMcpServers`](/docs/id/managed-mcp). Memerlukan Claude Code v2.1.182 atau lebih baru | `true` |

261| `disableDeepLinkRegistration` | Atur ke `"disable"` untuk mencegah Claude Code mendaftarkan penanganan protokol `claude-cli://` dengan sistem operasi saat startup. [Deep links](/id/deep-links) memungkinkan tools eksternal membuka sesi Claude Code dengan prompt yang sudah diisi sebelumnya. Berguna di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah | `"disable"` |261| `disableDeepLinkRegistration` | Atur ke `"disable"` untuk mencegah Claude Code mendaftarkan penanganan protokol `claude-cli://` dengan sistem operasi saat startup. [Deep links](/docs/id/deep-links) memungkinkan tools eksternal membuka sesi Claude Code dengan prompt yang sudah diisi sebelumnya. Berguna di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah | `"disable"` |

262| `disabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menolak | `["filesystem"]` |262| `disabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menolak | `["filesystem"]` |

263| `disableRemoteControl` | {/* min-version: 2.1.128 */}Nonaktifkan [Remote Control](/id/remote-control): memblokir `claude remote-control`, flag `--remote-control`, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru | `true` |263| `disableRemoteControl` | Nonaktifkan [Remote Control](/docs/id/remote-control): memblokir `claude remote-control`, flag `--remote-control`, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings) untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru | `true` |

264| `disableSideloadFlags` | {/* min-version: 2.1.193 */}(Pengaturan yang dikelola saja) Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup, yang pengguna dapat lewatkan untuk melewati [`strictKnownMarketplaces`](#strictknownmarketplaces) untuk satu run. Juga menolak flag ini dari permukaan apa pun yang meluncurkan CLI dengan mereka secara internal, saat ini [Cowork](/id/desktop) sesi lokal di aplikasi desktop. `--mcp-config` yang servers-nya semuanya entri `type: "sdk"` dalam proses masih diterima, jadi Agent SDK dan ekstensi VS Code tetap bekerja. Tidak memblokir `claude mcp add`, `.mcp.json`, atau SDK `setMcpServers()`; pasangkan dengan [`allowedMcpServers`](/id/managed-mcp) untuk kontrol MCP per-server. Memerlukan Claude Code v2.1.193 atau lebih baru | `true` |264| `disableSideloadFlags` | (Pengaturan yang dikelola saja) Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup, yang pengguna dapat lewatkan untuk melewati [`strictKnownMarketplaces`](#strictknownmarketplaces) untuk satu run. Juga menolak flag ini dari permukaan apa pun yang meluncurkan CLI dengan mereka secara internal, saat ini [Cowork](/docs/id/desktop) sesi lokal di aplikasi desktop. `--mcp-config` yang servers-nya semuanya entri `type: "sdk"` dalam proses masih diterima, jadi Agent SDK dan ekstensi VS Code tetap bekerja. Tidak memblokir `claude mcp add`, `.mcp.json`, atau SDK `setMcpServers()`; pasangkan dengan [`allowedMcpServers`](/docs/id/managed-mcp) untuk kontrol MCP per-server. Memerlukan Claude Code v2.1.193 atau lebih baru | `true` |

265| `disableSkillShellExecution` | Nonaktifkan eksekusi shell inline untuk blok `` !`...` `` dan ` ```! ` dalam [skills](/id/skills) dan perintah khusus dari sumber pengguna, proyek, plugin, atau direktori tambahan. Perintah diganti dengan `[shell command execution disabled by policy]` daripada dijalankan. Skills bundel dan yang dikelola tidak terpengaruh. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `true` |265| `disableSkillShellExecution` | Nonaktifkan eksekusi shell inline untuk blok `` !`...` `` dan ` ```! ` dalam [skills](/id/skills) dan perintah khusus dari sumber pengguna, proyek, plugin, atau direktori tambahan. Perintah diganti dengan `[shell command execution disabled by policy]` daripada dijalankan. Skills bundel dan yang dikelola tidak terpengaruh. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `true` |

266| `disableWorkflows` | **Default**: `false`. Nonaktifkan [dynamic workflows](/id/workflows#turn-workflows-off) dan perintah workflow bundel. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_WORKFLOWS` ke `1` | `true` |266| `disableWorkflows` | **Default**: `false`. Nonaktifkan [dynamic workflows](/docs/id/workflows#turn-workflows-off) dan perintah workflow bundel. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_WORKFLOWS` ke `1` | `true` |

267| `editorMode` | **Default**: `"normal"`. Mode binding kunci untuk prompt input: `"normal"` atau `"vim"`. Muncul di `/config` sebagai **Editor mode** | `"vim"` |267| `editorMode` | **Default**: `"normal"`. Mode binding kunci untuk prompt input: `"normal"` atau `"vim"`. Muncul di `/config` sebagai **Editor mode** | `"vim"` |

268| `effortLevel` | Pertahankan [tingkat usaha](/id/model-config#adjust-effort-level) di seluruh sesi. Menerima `"low"`, `"medium"`, `"high"`, atau `"xhigh"`. Ditulis secara otomatis saat Anda menjalankan `/effort` dengan salah satu nilai tersebut. `--effort` dan [`CLAUDE_CODE_EFFORT_LEVEL`](/id/env-vars) menimpa ini untuk satu sesi. Lihat [Sesuaikan tingkat usaha](/id/model-config#adjust-effort-level) untuk model yang didukung | `"xhigh"` |268| `effortLevel` | Pertahankan [tingkat usaha](/docs/id/model-config#adjust-effort-level) di seluruh sesi. Menerima `"low"`, `"medium"`, `"high"`, atau `"xhigh"`. Ditulis secara otomatis saat Anda menjalankan `/effort` dengan salah satu nilai tersebut. `--effort` dan [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars) menimpa ini untuk satu sesi. Lihat [Sesuaikan tingkat usaha](/docs/id/model-config#adjust-effort-level) untuk model yang didukung | `"xhigh"` |

269| `enableAllProjectMcpServers` | Secara otomatis menyetujui semua MCP servers yang ditentukan dalam file `.mcp.json` proyek. {/* min-version: 2.1.196 */}Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/id/mcp#managing-your-servers) | `true` |269| `enableAllProjectMcpServers` | Secara otomatis menyetujui semua MCP servers yang ditentukan dalam file `.mcp.json` proyek. Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/docs/id/mcp#managing-your-servers) | `true` |

270| `enableArtifact` | {/* min-version: 2.1.196 */}Aktifkan atau nonaktifkan tool [Artifact](/id/artifacts) untuk pengguna ini. Saat tidak diatur, default mengikuti [ketersediaan](/id/artifacts#availability) fitur untuk akun Anda. Baris **Artifacts** di `/config` menulis kunci ini. `disableArtifact` yang dikelola dan [pengaturan admin](/id/artifacts#manage-artifacts-for-your-organization) organisasi Anda memiliki prioritas, dan kunci diabaikan dalam pengaturan proyek dan lokal (`.claude/settings.json`, `.claude/settings.local.json`), yang repositori dapat diperiksa. Memerlukan Claude Code v2.1.196 atau lebih baru | `true` |270| `enableArtifact` | Aktifkan atau nonaktifkan tool [Artifact](/docs/id/artifacts) untuk pengguna ini. Saat tidak diatur, default mengikuti [ketersediaan](/docs/id/artifacts#availability) fitur untuk akun Anda. Baris **Artifacts** di `/config` menulis kunci ini. `disableArtifact` yang dikelola dan [pengaturan admin](/docs/id/artifacts#manage-artifacts-for-your-organization) organisasi Anda memiliki prioritas, dan kunci diabaikan dalam pengaturan proyek dan lokal (`.claude/settings.json`, `.claude/settings.local.json`), yang repositori dapat diperiksa. Memerlukan Claude Code v2.1.196 atau lebih baru | `true` |

271| `enabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menyetujui. {/* min-version: 2.1.196 */}Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/id/mcp#managing-your-servers) | `["memory", "github"]` |271| `enabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menyetujui. Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/docs/id/mcp#managing-your-servers) | `["memory", "github"]` |

272| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Perluas daftar putih `availableModels` ke model Default. Saat `true` dalam pengaturan yang dikelola dan `availableModels` adalah array non-kosong, opsi Default kembali ke entri yang diizinkan pertama yang tersedia, tetapi hanya ketika model default yang akan diselesaikan oleh Default (default [organisasi](/id/model-config#organization-default-model) saat satu berlaku, sebaliknya default tipe akun) tidak ada dalam daftar putih; default yang diizinkan disimpan sebagainya. Tidak berpengaruh saat `availableModels` tidak diatur atau kosong. Lihat [Paksakan daftar putih untuk model Default](/id/model-config#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru | `true` |272| `enforceAvailableModels` | Perluas daftar putih `availableModels` ke model Default. Saat `true` dalam pengaturan yang dikelola dan `availableModels` adalah array non-kosong, opsi Default kembali ke entri yang diizinkan pertama yang tersedia, tetapi hanya ketika model default yang akan diselesaikan oleh Default (default [organisasi](/docs/id/model-config#organization-default-model) saat satu berlaku, sebaliknya default tipe akun) tidak ada dalam daftar putih; default yang diizinkan disimpan sebagainya. Tidak berpengaruh saat `availableModels` tidak diatur atau kosong. Lihat [Paksakan daftar putih untuk model Default](/docs/id/model-config#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru | `true` |

273| `env` | Variabel lingkungan yang diterapkan ke setiap sesi dan ke subprocess yang Claude Code luncurkan darinya. Atur variabel ke `""` untuk menimpa export shell dengan string kosong, yang Claude Code perlakukan sebagai tidak diatur untuk pemilihan penyedia. Subprocess masih mewarisi nilai kosong. `NO_COLOR` dan `FORCE_COLOR` yang diatur di sini mencapai hanya subprocess; untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkan `claude`. {/* min-version: 2.1.195 */}Sejak v2.1.195, variabel identitas yang lingkungan hosting Claude Code atur, misalnya `CLAUDE_CODE_REMOTE` dan `CLAUDE_CODE_ACCOUNT_UUID`, diabaikan saat diatur di sini | `{"FOO": "bar"}` |273| `env` | Variabel lingkungan yang diterapkan ke setiap sesi dan ke subprocess yang Claude Code luncurkan darinya. Atur variabel ke `""` untuk menimpa export shell dengan string kosong, yang Claude Code perlakukan sebagai tidak diatur untuk pemilihan penyedia. Subprocess masih mewarisi nilai kosong. `NO_COLOR` dan `FORCE_COLOR` yang diatur di sini mencapai hanya subprocess; untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkan `claude`. Sejak v2.1.195, variabel identitas yang lingkungan hosting Claude Code atur, misalnya `CLAUDE_CODE_REMOTE` dan `CLAUDE_CODE_ACCOUNT_UUID`, diabaikan saat diatur di sini | `{"FOO": "bar"}` |

274| `fallbackModel` | Model fallback untuk dicoba secara berurutan ketika model utama kelebihan beban atau tidak tersedia. Claude Code beralih ke model berikutnya yang tersedia dalam rantai untuk sisa giliran dan menampilkan pemberitahuan. `"default"` berkembang menjadi model default. Rantai dibatasi pada tiga model; entri ekstra diabaikan. Tidak seperti sebagian besar pengaturan array, kunci ini tidak digabungkan di seluruh file pengaturan: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh rantai. Flag [`--fallback-model`](/id/cli-reference#cli-flags) menimpa ini untuk satu sesi. Lihat [Fallback model chains](/id/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |274| `fallbackModel` | Model fallback untuk dicoba secara berurutan ketika model utama kelebihan beban atau tidak tersedia. Claude Code beralih ke model berikutnya yang tersedia dalam rantai untuk sisa giliran dan menampilkan pemberitahuan. `"default"` berkembang menjadi model default. Rantai dibatasi pada tiga model; entri ekstra diabaikan. Tidak seperti sebagian besar pengaturan array, kunci ini tidak digabungkan di seluruh file pengaturan: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh rantai. Flag [`--fallback-model`](/docs/id/cli-reference#cli-flags) menimpa ini untuk satu sesi. Lihat [Fallback model chains](/docs/id/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

275| `fastMode` | Aktifkan [fast mode](/id/fast-mode) untuk sesi di mana tersedia. Mengalihkan dengan `/fast` menulis `true` di sini dalam pengaturan pengguna dan menghapus kunci saat Anda mematikan fast mode | `true` |275| `fastMode` | Aktifkan [fast mode](/docs/id/fast-mode) untuk sesi di mana tersedia. Mengalihkan dengan `/fast` menulis `true` di sini dalam pengaturan pengguna dan menghapus kunci saat Anda mematikan fast mode | `true` |

276| `fastModePerSessionOptIn` | Saat `true`, fast mode tidak bertahan di seluruh sesi. Setiap sesi dimulai dengan fast mode mati, memerlukan pengguna untuk mengaktifkannya dengan `/fast`. Preferensi fast mode pengguna masih disimpan. Lihat [Memerlukan opt-in per sesi](/id/fast-mode#require-per-session-opt-in) | `true` |276| `fastModePerSessionOptIn` | Saat `true`, fast mode tidak bertahan di seluruh sesi. Setiap sesi dimulai dengan fast mode mati, memerlukan pengguna untuk mengaktifkannya dengan `/fast`. Preferensi fast mode pengguna masih disimpan. Lihat [Memerlukan opt-in per sesi](/docs/id/fast-mode#require-per-session-opt-in) | `true` |

277| `feedbackSurveyRate` | Probabilitas (0–1) bahwa [survei kualitas sesi](/id/data-usage#session-quality-surveys) muncul saat memenuhi syarat. Atur ke `0` untuk menekan sepenuhnya, atau atur [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/id/env-vars) dalam `env`. Berguna saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry di mana tingkat sampel default tidak berlaku | `0.05` |277| `feedbackSurveyRate` | Probabilitas (0–1) bahwa [survei kualitas sesi](/docs/id/data-usage#session-quality-surveys) muncul saat memenuhi syarat. Atur ke `0` untuk menekan sepenuhnya, atau atur [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/docs/id/env-vars) dalam `env`. Berguna saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry di mana tingkat sampel default tidak berlaku | `0.05` |

278| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**Default**: `true`. Snapshot file sebelum setiap edit sehingga [`/rewind`](/id/checkpointing) dapat memulihkannya. Muncul di `/config` sebagai **Rewind code (checkpoints)**. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/id/env-vars) dalam `env` | `false` |278| `fileCheckpointingEnabled` | **Default**: `true`. Snapshot file sebelum setiap edit sehingga [`/rewind`](/docs/id/checkpointing) dapat memulihkannya. Muncul di `/config` sebagai **Rewind code (checkpoints)**. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/docs/id/env-vars) dalam `env` | `false` |

279| `fileSuggestion` | Konfigurasikan skrip khusus untuk pelengkapan otomatis file `@`. Lihat [Pengaturan saran file](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |279| `fileSuggestion` | Konfigurasikan skrip khusus untuk pelengkapan otomatis file `@`. Lihat [Pengaturan saran file](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

280| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Render lencana yang dapat diklik tambahan di footer saat regex cocok dengan output giliran. Setiap entri memiliki `pattern`, template `url` dengan placeholder `{name}` yang diisi dari grup penangkapan bernama, dan `label` opsional. Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Lihat [Footer link badges](#footer-link-badges) untuk batasan URL, daftar skema yang diizinkan, dan batas. Memerlukan Claude Code v2.1.176 atau lebih baru | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |280| `footerLinksRegexes` | Render lencana yang dapat diklik tambahan di footer saat regex cocok dengan output giliran. Setiap entri memiliki `pattern`, template `url` dengan placeholder `{name}` yang diisi dari grup penangkapan bernama, dan `label` opsional. Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Lihat [Footer link badges](#footer-link-badges) untuk batasan URL, daftar skema yang diizinkan, dan batas. Memerlukan Claude Code v2.1.176 atau lebih baru | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

281| `forceLoginMethod` | Gunakan `claudeai` untuk membatasi login ke akun Claude.ai, `console` untuk membatasi login ke akun Claude Console, atau `gateway` untuk membatasi login ke cloud gateway; lihat [Claude apps gateway](/id/claude-apps-gateway). Saat diatur dalam pengaturan yang dikelola, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup, karena kredensial lingkungan tidak dapat memenuhi metode login yang diperlukan. Sesi penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry tidak diblokir: mereka mengautentikasi terhadap penyedia cloud Anda daripada Anthropic | `claudeai` |281| `forceLoginMethod` | Gunakan `claudeai` untuk membatasi login ke akun Claude.ai, `console` untuk membatasi login ke akun Claude Console, atau `gateway` untuk membatasi login ke cloud gateway; lihat [Claude apps gateway](/docs/id/claude-apps-gateway). Saat diatur dalam pengaturan yang dikelola, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup, karena kredensial lingkungan tidak dapat memenuhi metode login yang diperlukan. Sesi penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry tidak diblokir: mereka mengautentikasi terhadap penyedia cloud Anda daripada Anthropic | `claudeai` |

282| `forceLoginGatewayUrl` | Pra-isi dan kunci URL gateway pada layar Cloud gateway `/login`. Baik kunci ini atau `forceLoginMethod: "gateway"` menampilkan layar itu; atur keduanya sehingga URL diisi. Dihormati hanya di tingkat kebijakan yang dikelola; diabaikan dalam pengaturan pengguna dan proyek. Lihat [Claude apps gateway](/id/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |282| `forceLoginGatewayUrl` | Pra-isi dan kunci URL gateway pada layar Cloud gateway `/login`. Baik kunci ini atau `forceLoginMethod: "gateway"` menampilkan layar itu; atur keduanya sehingga URL diisi. Dihormati hanya di tingkat kebijakan yang dikelola; diabaikan dalam pengaturan pengguna dan proyek. Lihat [Claude apps gateway](/docs/id/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |

283| `forceLoginOrgUUID` | Memerlukan login untuk milik organisasi Anthropic tertentu. Menerima string UUID tunggal, yang juga pra-memilih organisasi tersebut selama login, atau array UUID di mana organisasi yang terdaftar apa pun diterima tanpa pra-pemilihan. Saat diatur dalam pengaturan yang dikelola, login gagal jika akun yang diautentikasi tidak milik organisasi yang terdaftar, dan sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup karena keanggotaan organisasi tidak dapat diverifikasi untuk mereka. Sesi penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry tidak diblokir: gunakan IAM cloud Anda untuk membatasi akun cloud mana yang dapat digunakan. Array kosong gagal tertutup dan memblokir login dengan pesan salah konfigurasi | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` atau `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |283| `forceLoginOrgUUID` | Memerlukan login untuk milik organisasi Anthropic tertentu. Menerima string UUID tunggal, yang juga pra-memilih organisasi tersebut selama login, atau array UUID di mana organisasi yang terdaftar apa pun diterima tanpa pra-pemilihan. Saat diatur dalam pengaturan yang dikelola, login gagal jika akun yang diautentikasi tidak milik organisasi yang terdaftar, dan sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup karena keanggotaan organisasi tidak dapat diverifikasi untuk mereka. Sesi penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry tidak diblokir: gunakan IAM cloud Anda untuk membatasi akun cloud mana yang dapat digunakan. Array kosong gagal tertutup dan memblokir login dengan pesan salah konfigurasi | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` atau `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

284| `forceRemoteSettingsRefresh` | (Pengaturan yang dikelola saja) Blokir startup CLI sampai pengaturan yang dikelola jarak jauh segar diambil dari server. Jika pengambilan gagal, CLI keluar daripada melanjutkan dengan pengaturan yang di-cache atau tidak ada. Saat tidak diatur, startup berlanjut tanpa menunggu pengaturan jarak jauh. Lihat [penegakan fail-closed](/id/server-managed-settings#enforce-fail-closed-startup) | `true` |284| `forceRemoteSettingsRefresh` | (Pengaturan yang dikelola saja) Blokir startup CLI sampai pengaturan yang dikelola jarak jauh segar diambil dari server. Jika pengambilan gagal, CLI keluar daripada melanjutkan dengan pengaturan yang di-cache atau tidak ada. Saat tidak diatur, startup berlanjut tanpa menunggu pengaturan jarak jauh. Lihat [penegakan fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) | `true` |

285| `gcpAuthRefresh` | Skrip khusus yang menyegarkan GCP Application Default Credentials saat kedaluwarsa atau tidak dapat dimuat. Lihat [konfigurasi kredensial lanjutan](/id/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |285| `gcpAuthRefresh` | Skrip khusus yang menyegarkan GCP Application Default Credentials saat kedaluwarsa atau tidak dapat dimuat. Lihat [konfigurasi kredensial lanjutan](/docs/id/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

286| `hooks` | Konfigurasikan perintah khusus untuk dijalankan pada acara siklus hidup. Lihat [dokumentasi hooks](/id/hooks) untuk format | Lihat [hooks](/id/hooks) |286| `hooks` | Konfigurasikan perintah khusus untuk dijalankan pada acara siklus hidup. Lihat [dokumentasi hooks](/docs/id/hooks) untuk format | Lihat [hooks](/docs/id/hooks) |

287| `httpHookAllowedEnvVars` | Daftar putih nama variabel lingkungan yang dapat diinterpolasi oleh HTTP hooks ke dalam header. Saat diatur, `allowedEnvVars` efektif setiap hook adalah persimpangan dari daftar sendiri dan pengaturan ini. Tidak terdefinisi = tidak ada pembatasan. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |287| `httpHookAllowedEnvVars` | Daftar putih nama variabel lingkungan yang dapat diinterpolasi oleh HTTP hooks ke dalam header. Saat diatur, `allowedEnvVars` efektif setiap hook adalah persimpangan dari daftar sendiri dan pengaturan ini. Tidak terdefinisi = tidak ada pembatasan. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

288| `includeGitInstructions` | **Default**: `true`. Sertakan instruksi alur kerja komit dan PR bawaan dan snapshot status git dalam prompt sistem Claude. Atur ke `false` untuk menghapus keduanya, misalnya saat menggunakan skills alur kerja git Anda sendiri. Variabel lingkungan `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` memiliki prioritas atas pengaturan ini saat diatur | `false` |288| `includeGitInstructions` | **Default**: `true`. Sertakan instruksi alur kerja komit dan PR bawaan dan snapshot status git dalam prompt sistem Claude. Atur ke `false` untuk menghapus keduanya, misalnya saat menggunakan skills alur kerja git Anda sendiri. Variabel lingkungan `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` memiliki prioritas atas pengaturan ini saat diatur | `false` |

289| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**Default**: `false`. Ketika [Remote Control](/id/remote-control) terhubung, kirim notifikasi push ke ponsel Anda ketika prompt izin atau pertanyaan menunggu input Anda. Muncul di `/config` sebagai **Push when actions required**. Lihat [Mobile push notifications](/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru | `true` |289| `inputNeededNotifEnabled` | **Default**: `false`. Ketika [Remote Control](/docs/id/remote-control) terhubung, kirim notifikasi push ke ponsel Anda ketika prompt izin atau pertanyaan menunggu input Anda. Muncul di `/config` sebagai **Push when actions required**. Lihat [Mobile push notifications](/docs/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru | `true` |

290| `language` | Konfigurasikan bahasa respons pilihan Claude (misalnya, `"japanese"`, `"spanish"`, `"french"`). Claude akan merespons dalam bahasa ini secara default. Juga menetapkan bahasa [voice dictation](/id/voice-dictation#change-the-dictation-language) dan judul sesi yang dibuat secara otomatis. {/* min-version: 2.1.176 */}Sejak v2.1.176, saat tidak diatur, judul sesi cocok dengan bahasa percakapan Anda | `"japanese"` |290| `language` | Konfigurasikan bahasa respons pilihan Claude (misalnya, `"japanese"`, `"spanish"`, `"french"`). Claude akan merespons dalam bahasa ini secara default. Juga menetapkan bahasa [voice dictation](/docs/id/voice-dictation#change-the-dictation-language) dan judul sesi yang dibuat secara otomatis. Sejak v2.1.176, saat tidak diatur, judul sesi cocok dengan bahasa percakapan Anda | `"japanese"` |

291| `minimumVersion` | Lantai yang mencegah auto-updates latar belakang dan `claude update` dari menginstal versi di bawah ini. Beralih dari saluran `"latest"` ke `"stable"` melalui `/config` meminta Anda untuk tetap pada versi saat ini atau memungkinkan downgrade. Memilih untuk tetap menetapkan nilai ini. Juga berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk menyematkan minimum di seluruh organisasi. Untuk lantai keras yang memblokir startup sepenuhnya, lihat `requiredMinimumVersion` | `"2.1.100"` |291| `minimumVersion` | Lantai yang mencegah auto-updates latar belakang dan `claude update` dari menginstal versi di bawah ini. Beralih dari saluran `"latest"` ke `"stable"` melalui `/config` meminta Anda untuk tetap pada versi saat ini atau memungkinkan downgrade. Memilih untuk tetap menetapkan nilai ini. Juga berguna dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings) untuk menyematkan minimum di seluruh organisasi. Untuk lantai keras yang memblokir startup sepenuhnya, lihat `requiredMinimumVersion` | `"2.1.100"` |

292| `model` | Timpa model default untuk digunakan untuk Claude Code. `--model` dan [`ANTHROPIC_MODEL`](/id/model-config#environment-variables) menimpa ini untuk satu sesi | `"claude-sonnet-5"` |292| `model` | Timpa model default untuk digunakan untuk Claude Code. `--model` dan [`ANTHROPIC_MODEL`](/docs/id/model-config#environment-variables) menimpa ini untuk satu sesi | `"claude-sonnet-5"` |

293| `modelOverrides` | Peta ID model Anthropic ke ID model spesifik penyedia seperti ARN profil inferensi Bedrock. Setiap entri pemilih model menggunakan nilai yang dipetakan saat memanggil API penyedia. Lihat [Timpa ID model per versi](/id/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |293| `modelOverrides` | Peta ID model Anthropic ke ID model spesifik penyedia seperti ARN profil inferensi Bedrock. Setiap entri pemilih model menggunakan nilai yang dipetakan saat memanggil API penyedia. Lihat [Timpa ID model per versi](/docs/id/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

294| `otelHeadersHelper` | Skrip untuk menghasilkan header OpenTelemetry dinamis. Berjalan saat startup dan secara berkala. Atur interval penyegaran dengan [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/id/env-vars). Lihat [Header dinamis](/id/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |294| `otelHeadersHelper` | Skrip untuk menghasilkan header OpenTelemetry dinamis. Berjalan saat startup dan secara berkala. Atur interval penyegaran dengan [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/id/env-vars). Lihat [Header dinamis](/docs/id/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

295| `outputStyle` | Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat [dokumentasi gaya output](/id/output-styles) | `"Explanatory"` |295| `outputStyle` | Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat [dokumentasi gaya output](/docs/id/output-styles) | `"Explanatory"` |

296| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Pengaturan yang dikelola saja) **Default**: `"first-wins"`. Mengontrol apakah pengaturan yang dikelola yang disediakan secara terprogram oleh proses host penyematan, seperti Agent SDK atau ekstensi IDE, berlaku saat tingkat yang dikelola yang digunakan admin juga ada. `"first-wins"`: pengaturan yang disediakan parent dijatuhkan dan hanya tingkat admin yang berlaku. `"merge"`: pengaturan yang disediakan parent berlaku di bawah tingkat admin, disaring sehingga mereka dapat mengencangkan kebijakan tetapi tidak melonggarkannya. Tidak berpengaruh saat tidak ada tingkat admin yang digunakan. Memerlukan Claude Code v2.1.133 atau lebih baru | `"merge"` |296| `parentSettingsBehavior` | (Pengaturan yang dikelola saja) **Default**: `"first-wins"`. Mengontrol apakah pengaturan yang dikelola yang disediakan secara terprogram oleh proses host penyematan, seperti Agent SDK atau ekstensi IDE, berlaku saat tingkat yang dikelola yang digunakan admin juga ada. `"first-wins"`: pengaturan yang disediakan parent dijatuhkan dan hanya tingkat admin yang berlaku. `"merge"`: pengaturan yang disediakan parent berlaku di bawah tingkat admin, disaring sehingga mereka dapat mengencangkan kebijakan tetapi tidak melonggarkannya. Tidak berpengaruh saat tidak ada tingkat admin yang digunakan. Memerlukan Claude Code v2.1.133 atau lebih baru | `"merge"` |

297| `permissions` | Lihat tabel di bawah untuk struktur izin. | |297| `permissions` | Lihat tabel di bawah untuk struktur izin. | |

298| `plansDirectory` | **Default**: `~/.claude/plans`. Sesuaikan di mana file rencana disimpan. Jalur relatif terhadap akar proyek. | `"./plans"` |298| `plansDirectory` | **Default**: `~/.claude/plans`. Sesuaikan di mana file rencana disimpan. Jalur relatif terhadap akar proyek. | `"./plans"` |

299| `pluginSuggestionMarketplaces` | (Pengaturan yang dikelola saja) Nama marketplace yang plugin-nya dapat muncul sebagai saran instalasi kontekstual. Tidak ada saran yang dideklarasikan marketplace muncul tanpa daftar putih ini; tip desain frontend pihak pertama bawaan tidak terpengaruh. Saran berasal dari deklarasi `relevance` setiap plugin dalam entri marketplace-nya. Nama hanya berlaku saat marketplace terdaftar di mesin dan sumber terdaftarnya juga dideklarasikan dalam pengaturan yang dikelola, baik sebagai entri `extraKnownMarketplaces` untuk nama itu atau sebagai entri `strictKnownMarketplaces`. Marketplace yang terdaftar dari sumber berbeda di bawah nama yang diizinkan diabaikan. Marketplace resmi dikecualikan dari persyaratan sumber: mengizinkan namanya saja sudah cukup, karena nama itu hanya dapat terdaftar dari sumber Anthropic resmi. | `["acme-corp-plugins"]` |299| `pluginSuggestionMarketplaces` | (Pengaturan yang dikelola saja) Nama marketplace yang plugin-nya dapat muncul sebagai saran instalasi kontekstual. Tidak ada saran yang dideklarasikan marketplace muncul tanpa daftar putih ini; tip desain frontend pihak pertama bawaan tidak terpengaruh. Saran berasal dari deklarasi `relevance` setiap plugin dalam entri marketplace-nya. Nama hanya berlaku saat marketplace terdaftar di mesin dan sumber terdaftarnya juga dideklarasikan dalam pengaturan yang dikelola, baik sebagai entri `extraKnownMarketplaces` untuk nama itu atau sebagai entri `strictKnownMarketplaces`. Marketplace yang terdaftar dari sumber berbeda di bawah nama yang diizinkan diabaikan. Marketplace resmi dikecualikan dari persyaratan sumber: mengizinkan namanya saja sudah cukup, karena nama itu hanya dapat terdaftar dari sumber Anthropic resmi. | `["acme-corp-plugins"]` |

300| `pluginTrustMessage` | (Pengaturan yang dikelola saja) Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi. Gunakan ini untuk menambahkan konteks spesifik organisasi, misalnya untuk mengonfirmasi bahwa plugin dari marketplace internal Anda telah disaring. | `"All plugins from our marketplace are approved by IT"` |300| `pluginTrustMessage` | (Pengaturan yang dikelola saja) Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi. Gunakan ini untuk menambahkan konteks spesifik organisasi, misalnya untuk mengonfirmasi bahwa plugin dari marketplace internal Anda telah disaring. | `"All plugins from our marketplace are approved by IT"` |

301| `policyHelper` | {/* min-version: 2.1.136 */}Admin-deployed executable yang menghitung pengaturan yang dikelola secara dinamis saat startup. Hanya dihormati dari MDM atau file `managed-settings.json` sistem. Lihat [Hitung pengaturan yang dikelola dengan policy helper](#compute-managed-settings-with-a-policy-helper). Memerlukan Claude Code v2.1.136 atau lebih baru | `{"path": "/usr/local/bin/claude-policy"}` |301| `policyHelper` | Admin-deployed executable yang menghitung pengaturan yang dikelola secara dinamis saat startup. Hanya dihormati dari MDM atau file `managed-settings.json` sistem. Lihat [Hitung pengaturan yang dikelola dengan policy helper](#compute-managed-settings-with-a-policy-helper). Memerlukan Claude Code v2.1.136 atau lebih baru | `{"path": "/usr/local/bin/claude-policy"}` |

302| `preferredNotifChannel` | **Default**: `"auto"`. Metode untuk notifikasi task-complete dan permission-prompt: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, atau `"notifications_disabled"`. `"auto"` mengirim notifikasi desktop di iTerm2, Ghostty, dan Kitty dan tidak melakukan apa pun di terminal lain. Atur `"terminal_bell"` untuk membunyikan karakter bell di terminal apa pun. Muncul di `/config` sebagai **Notifications**. Lihat [Dapatkan terminal bell atau notifikasi](/id/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |302| `preferredNotifChannel` | **Default**: `"auto"`. Metode untuk notifikasi task-complete dan permission-prompt: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, atau `"notifications_disabled"`. `"auto"` mengirim notifikasi desktop di iTerm2, Ghostty, dan Kitty dan tidak melakukan apa pun di terminal lain. Atur `"terminal_bell"` untuk membunyikan karakter bell di terminal apa pun. Muncul di `/config` sebagai **Notifications**. Lihat [Dapatkan terminal bell atau notifikasi](/docs/id/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

303| `prefersReducedMotion` | Kurangi atau nonaktifkan animasi UI (spinners, shimmer, efek flash) untuk aksesibilitas | `true` |303| `prefersReducedMotion` | Kurangi atau nonaktifkan animasi UI (spinners, shimmer, efek flash) untuk aksesibilitas | `true` |

304| `prUrlTemplate` | Template URL untuk lencana PR yang ditampilkan di footer dan dalam ringkasan hasil tool. Mengganti `{host}`, `{owner}`, `{repo}`, `{number}`, dan `{url}` dari URL PR yang dilaporkan `gh`. Gunakan untuk mengarahkan tautan PR ke alat review kode internal daripada `github.com`. Tidak mempengaruhi autolinks `#123` dalam prosa Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |304| `prUrlTemplate` | Template URL untuk lencana PR yang ditampilkan di footer dan dalam ringkasan hasil tool. Mengganti `{host}`, `{owner}`, `{repo}`, `{number}`, dan `{url}` dari URL PR yang dilaporkan `gh`. Gunakan untuk mengarahkan tautan PR ke alat review kode internal daripada `github.com`. Tidak mempengaruhi autolinks `#123` dalam prosa Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

305| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Hubungkan [Remote Control](/id/remote-control) secara otomatis saat setiap sesi interaktif dimulai, daripada menunggu `/remote-control`. Atur ke `true` untuk selalu auto-connect, `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Muncul di `/config` sebagai **Enable Remote Control for all sessions**. Lihat [Enable Remote Control for all sessions](/id/remote-control#enable-remote-control-for-all-sessions) | `false` |305| `remoteControlAtStartup` | Hubungkan [Remote Control](/docs/id/remote-control) secara otomatis saat setiap sesi interaktif dimulai, daripada menunggu `/remote-control`. Atur ke `true` untuk selalu auto-connect, `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Muncul di `/config` sebagai **Enable Remote Control for all sessions**. Lihat [Enable Remote Control for all sessions](/docs/id/remote-control#enable-remote-control-for-all-sessions) | `false` |

306| `requiredMaximumVersion` | Pengaturan yang dikelola saja. Versi Claude Code maksimum yang diizinkan untuk memulai. Jika versi yang sedang berjalan lebih baru, Claude Code keluar saat startup dan menginstruksikan pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi; `claude install <version>` juga dapat berfungsi. Auto-updates latar belakang dan `claude update` melewati versi di atas batas, jadi instalasi dalam jangkauan tetap dalam jangkauan. `claude update`, `claude install`, dan `claude doctor` terus bekerja di atas batas sehingga pengguna dapat pulih. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |306| `requiredMaximumVersion` | Pengaturan yang dikelola saja. Versi Claude Code maksimum yang diizinkan untuk memulai. Jika versi yang sedang berjalan lebih baru, Claude Code keluar saat startup dan menginstruksikan pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi; `claude install <version>` juga dapat berfungsi. Auto-updates latar belakang dan `claude update` melewati versi di atas batas, jadi instalasi dalam jangkauan tetap dalam jangkauan. `claude update`, `claude install`, dan `claude doctor` terus bekerja di atas batas sehingga pengguna dapat pulih. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |

307| `requiredMinimumVersion` | Pengaturan yang dikelola saja. Versi Claude Code minimum yang diperlukan untuk memulai. Jika versi yang sedang berjalan lebih lama, Claude Code keluar saat startup dan menginstruksikan pengguna untuk memperbarui melalui metode yang disetujui organisasi. `claude update`, `claude install`, dan `claude doctor` terus bekerja di bawah lantai sehingga pengguna dapat pulih. Berbeda dari `minimumVersion`, yang mencegah downgrade tetapi tidak pernah memblokir startup. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |307| `requiredMinimumVersion` | Pengaturan yang dikelola saja. Versi Claude Code minimum yang diperlukan untuk memulai. Jika versi yang sedang berjalan lebih lama, Claude Code keluar saat startup dan menginstruksikan pengguna untuk memperbarui melalui metode yang disetujui organisasi. `claude update`, `claude install`, dan `claude doctor` terus bekerja di bawah lantai sehingga pengguna dapat pulih. Berbeda dari `minimumVersion`, yang mencegah downgrade tetapi tidak pernah memblokir startup. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |

308| `respectGitignore` | **Default**: `true`. Kontrol apakah pemilih file `@` menghormati pola `.gitignore`. Saat `true`, file yang cocok dengan pola `.gitignore` dikecualikan dari saran | `false` |308| `respectGitignore` | **Default**: `true`. Kontrol apakah pemilih file `@` menghormati pola `.gitignore`. Saat `true`, file yang cocok dengan pola `.gitignore` dikecualikan dari saran | `false` |

309| `respondToBashCommands` | {/* min-version: 2.1.186 */}**Default**: `true`. Apakah Claude merespons setelah perintah shell input-box `!` berjalan. Atur ke `false` untuk menambahkan output perintah ke konteks tanpa respons. Lihat [Shell mode with `!` prefix](/id/interactive-mode#shell-mode-with-prefix). Memerlukan Claude Code v2.1.186 atau lebih baru | `false` |309| `respondToBashCommands` | **Default**: `true`. Apakah Claude merespons setelah perintah shell input-box `!` berjalan. Atur ke `false` untuk menambahkan output perintah ke konteks tanpa respons. Lihat [Shell mode with `!` prefix](/docs/id/interactive-mode#shell-mode-with-prefix). Memerlukan Claude Code v2.1.186 atau lebih baru | `false` |

310| `showClearContextOnPlanAccept` | **Default**: `false`. Tampilkan opsi "clear context" pada layar penerimaan rencana. Atur ke `true` untuk mengembalikan opsi | `true` |310| `showClearContextOnPlanAccept` | **Default**: `false`. Tampilkan opsi "clear context" pada layar penerimaan rencana. Atur ke `true` untuk mengembalikan opsi | `true` |

311| `showThinkingSummaries` | **Default**: `false`. Tampilkan ringkasan [pemikiran yang diperluas](/id/model-config#extended-thinking) dalam sesi interaktif. Saat tidak diatur atau `false`, blok pemikiran diredaksi oleh API dan ditampilkan sebagai stub yang runtuh. Redaksi hanya mengubah apa yang Anda lihat, bukan apa yang dihasilkan model: untuk mengurangi pengeluaran pemikiran, [turunkan anggaran atau nonaktifkan pemikiran](/id/model-config#extended-thinking) sebagai gantinya. Pengaturan ini tidak berpengaruh dalam mode non-interaktif (`-p`), Agent SDK, atau ekstensi IDE seperti VS Code | `true` |311| `showThinkingSummaries` | **Default**: `false`. Tampilkan ringkasan [pemikiran yang diperluas](/docs/id/model-config#extended-thinking) dalam sesi interaktif. Saat tidak diatur atau `false`, blok pemikiran diredaksi oleh API dan ditampilkan sebagai stub yang runtuh. Redaksi hanya mengubah apa yang Anda lihat, bukan apa yang dihasilkan model: untuk mengurangi pengeluaran pemikiran, [turunkan anggaran atau nonaktifkan pemikiran](/docs/id/model-config#extended-thinking) sebagai gantinya. Pengaturan ini tidak berpengaruh dalam mode non-interaktif (`-p`), Agent SDK, atau ekstensi IDE seperti VS Code | `true` |

312| `showTurnDuration` | **Default**: `true`. Tampilkan pesan durasi giliran setelah respons, misalnya "Cooked for 1m 6s". Muncul di `/config` sebagai **Show turn duration** | `false` |312| `showTurnDuration` | **Default**: `true`. Tampilkan pesan durasi giliran setelah respons, misalnya "Cooked for 1m 6s". Muncul di `/config` sebagai **Show turn duration** | `false` |

313| `skillListingBudgetFraction` | **Default**: `0.01`. Fraksi jendela konteks model yang dicadangkan untuk [skill listing](/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran, jadi default mencadangkan 1%. Saat listing melebihi anggaran, deskripsi untuk skills yang paling jarang digunakan dijatuhkan dan hanya nama mereka yang terdaftar, jadi Claude masih dapat menginvokasinya tetapi tidak dapat melihat apa yang mereka lakukan. Naikkan untuk menjaga lebih banyak deskripsi terlihat dengan biaya lebih banyak konteks per giliran. `/doctor` memperkirakan biaya listing terhadap anggaran | `0.02` |313| `skillListingBudgetFraction` | **Default**: `0.01`. Fraksi jendela konteks model yang dicadangkan untuk [skill listing](/docs/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran, jadi default mencadangkan 1%. Saat listing melebihi anggaran, deskripsi untuk skills yang paling jarang digunakan dijatuhkan dan hanya nama mereka yang terdaftar, jadi Claude masih dapat menginvokasinya tetapi tidak dapat melihat apa yang mereka lakukan. Naikkan untuk menjaga lebih banyak deskripsi terlihat dengan biaya lebih banyak konteks per giliran. `/doctor` memperkirakan biaya listing terhadap anggaran | `0.02` |

314| `skillListingMaxDescChars` | **Default**: `1536`. Batas karakter per-skill pada teks `description` dan `when_to_use` gabungan dalam [skill listing](/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran. Teks yang lebih panjang dari ini dipotong. Naikkan untuk menjaga deskripsi panjang tetap utuh dengan biaya lebih banyak konteks per giliran; turunkan untuk menyesuaikan lebih banyak skills di bawah [`skillListingBudgetFraction`](#available-settings) | `2048` |314| `skillListingMaxDescChars` | **Default**: `1536`. Batas karakter per-skill pada teks `description` dan `when_to_use` gabungan dalam [skill listing](/docs/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran. Teks yang lebih panjang dari ini dipotong. Naikkan untuk menjaga deskripsi panjang tetap utuh dengan biaya lebih banyak konteks per giliran; turunkan untuk menyesuaikan lebih banyak skills di bawah [`skillListingBudgetFraction`](#available-settings) | `2048` |

315| `skillOverrides` | {/* min-version: 2.1.129 */}Penggantian visibilitas per-skill yang dikunci berdasarkan nama skill. Nilai adalah `"on"`, `"name-only"`, `"user-invocable-only"`, atau `"off"`. Memungkinkan Anda menyembunyikan atau menciutkan skill tanpa mengedit SKILL.md-nya. Tidak berlaku untuk plugin skills, yang dikelola melalui `/plugin`. Menu `/skills` menulis ini ke `.claude/settings.local.json`. Lihat [Timpa visibilitas skill dari pengaturan](/id/skills#override-skill-visibility-from-settings). Memerlukan Claude Code v2.1.129 atau lebih baru | `{"legacy-context": "name-only", "deploy": "off"}` |315| `skillOverrides` | Penggantian visibilitas per-skill yang dikunci berdasarkan nama skill. Nilai adalah `"on"`, `"name-only"`, `"user-invocable-only"`, atau `"off"`. Memungkinkan Anda menyembunyikan atau menciutkan skill tanpa mengedit SKILL.md-nya. Tidak berlaku untuk plugin skills, yang dikelola melalui `/plugin`. Menu `/skills` menulis ini ke `.claude/settings.local.json`. Lihat [Timpa visibilitas skill dari pengaturan](/docs/id/skills#override-skill-visibility-from-settings). Memerlukan Claude Code v2.1.129 atau lebih baru | `{"legacy-context": "name-only", "deploy": "off"}` |

316| `skipWebFetchPreflight` | Lewati [pemeriksaan keamanan domain WebFetch](/id/data-usage#webfetch-domain-safety-check) yang mengirim setiap nama host yang diminta ke `api.anthropic.com` sebelum mengambil. Atur ke `true` di lingkungan yang memblokir lalu lintas ke Anthropic, seperti penyebaran Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry dengan egress yang ketat. Saat dilewati, WebFetch mencoba URL apa pun tanpa berkonsultasi dengan daftar blokir | `true` |316| `skipWebFetchPreflight` | Lewati [pemeriksaan keamanan domain WebFetch](/docs/id/data-usage#webfetch-domain-safety-check) yang mengirim setiap nama host yang diminta ke `api.anthropic.com` sebelum mengambil. Atur ke `true` di lingkungan yang memblokir lalu lintas ke Anthropic, seperti penyebaran Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry dengan egress yang ketat. Saat dilewati, WebFetch mencoba URL apa pun tanpa berkonsultasi dengan daftar blokir | `true` |

317| `spinnerTipsEnabled` | **Default**: `true`. Tampilkan tips dalam spinner saat Claude bekerja. Atur ke `false` untuk menonaktifkan tips | `false` |317| `spinnerTipsEnabled` | **Default**: `true`. Tampilkan tips dalam spinner saat Claude bekerja. Atur ke `false` untuk menonaktifkan tips | `false` |

318| `spinnerTipsOverride` | Timpa tips spinner dengan string khusus. `tips`: array string tip. `excludeDefault`: jika `true`, hanya tampilkan tips khusus; jika `false` atau tidak ada, tips khusus digabungkan dengan tips bawaan | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |318| `spinnerTipsOverride` | Timpa tips spinner dengan string khusus. `tips`: array string tip. `excludeDefault`: jika `true`, hanya tampilkan tips khusus; jika `false` atau tidak ada, tips khusus digabungkan dengan tips bawaan | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

319| `spinnerVerbs` | Sesuaikan kata kerja aksi yang ditampilkan saat giliran sedang berlangsung. Atur `mode` ke `"replace"` untuk menggunakan hanya kata kerja Anda, atau `"append"` untuk menambahkannya ke default | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |319| `spinnerVerbs` | Sesuaikan kata kerja aksi yang ditampilkan saat giliran sedang berlangsung. Atur `mode` ke `"replace"` untuk menggunakan hanya kata kerja Anda, atau `"append"` untuk menambahkannya ke default | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

320| `sshConfigs` | Koneksi SSH untuk ditampilkan dalam dropdown lingkungan [Desktop](/id/desktop#pre-configure-ssh-connections-for-your-team). Setiap entri memerlukan `id`, `name`, dan `sshHost`; `sshPort`, `sshIdentityFile`, dan `startDirectory` bersifat opsional. Saat diatur dalam pengaturan yang dikelola, koneksi bersifat read-only untuk pengguna. Dibaca dari pengaturan yang dikelola dan pengguna saja | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |320| `sshConfigs` | Koneksi SSH untuk ditampilkan dalam dropdown lingkungan [Desktop](/docs/id/desktop#pre-configure-ssh-connections-for-your-team). Setiap entri memerlukan `id`, `name`, dan `sshHost`; `sshPort`, `sshIdentityFile`, dan `startDirectory` bersifat opsional. Saat diatur dalam pengaturan yang dikelola, koneksi bersifat read-only untuk pengguna. Dibaca dari pengaturan yang dikelola dan pengguna saja | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

321| `statusLine` | Konfigurasikan status line khusus untuk menampilkan konteks. Bidang opsional objek `padding`, `refreshInterval`, dan `hideVimModeIndicator` mengontrol spasi, re-run berkala, dan apakah indikator mode vim bawaan di bawah prompt disembunyikan. Lihat [dokumentasi `statusLine`](/id/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |321| `statusLine` | Konfigurasikan status line khusus untuk menampilkan konteks. Bidang opsional objek `padding`, `refreshInterval`, dan `hideVimModeIndicator` mengontrol spasi, re-run berkala, dan apakah indikator mode vim bawaan di bawah prompt disembunyikan. Lihat [dokumentasi `statusLine`](/docs/id/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

322| `strictKnownMarketplaces` | (Pengaturan yang dikelola saja) Daftar putih sumber marketplace plugin. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |322| `strictKnownMarketplaces` | (Pengaturan yang dikelola saja) Daftar putih sumber marketplace plugin. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Lihat [Pembatasan marketplace yang dikelola](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

323| `strictPluginOnlyCustomization` | (Pengaturan yang dikelola saja) Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan yang dikelola. `true` mengunci keempat permukaan; array mengunci hanya yang dinamai. Lihat [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |323| `strictPluginOnlyCustomization` | (Pengaturan yang dikelola saja) Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan yang dikelola. `true` mengunci keempat permukaan; array mengunci hanya yang dinamai. Lihat [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

324| `syntaxHighlightingDisabled` | Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews | `true` |324| `syntaxHighlightingDisabled` | Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews | `true` |

325| `teammateMode` | **Default**: `in-process`. Bagaimana [rekan tim agent](/id/agent-teams) ditampilkan: `in-process`, `auto` (panel terpisah saat berjalan di dalam tmux atau iTerm2, dalam proses sebaliknya), `tmux` (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda), atau {/* min-version: 2.1.186 */}}`iterm2` (panel terpisah iTerm2 asli melalui CLI `it2`, ditambahkan dalam v2.1.186). Default berubah dari `auto` dalam v2.1.179. `--teammate-mode` menimpa ini untuk satu sesi. Lihat [pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `"auto"` |325| `teammateMode` | **Default**: `in-process`. Bagaimana [rekan tim agent](/docs/id/agent-teams) ditampilkan: `in-process`, `auto` (panel terpisah saat berjalan di dalam tmux atau iTerm2, dalam proses sebaliknya), `tmux` (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda), atau }`iterm2` (panel terpisah iTerm2 asli melalui CLI `it2`, ditambahkan dalam v2.1.186). Default berubah dari `auto` dalam v2.1.179. `--teammate-mode` menimpa ini untuk satu sesi. Lihat [pilih mode tampilan](/docs/id/agent-teams#choose-a-display-mode) | `"auto"` |

326| `terminalProgressBarEnabled` | **Default**: `true`. Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Muncul di `/config` sebagai **Terminal progress bar** | `false` |326| `terminalProgressBarEnabled` | **Default**: `true`. Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Muncul di `/config` sebagai **Terminal progress bar** | `false` |

327| `theme` | {/* min-version: 2.1.119 */}**Default**: `"dark"`. Tema warna untuk antarmuka: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, atau referensi tema khusus seperti `"custom:<slug>"` atau `"custom:<plugin-name>:<slug>"`. Lihat [Buat tema khusus](/id/terminal-config#create-a-custom-theme). Muncul di `/config` sebagai **Theme** | `"dark"` |327| `theme` | **Default**: `"dark"`. Tema warna untuk antarmuka: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, atau referensi tema khusus seperti `"custom:<slug>"` atau `"custom:<plugin-name>:<slug>"`. Lihat [Buat tema khusus](/docs/id/terminal-config#create-a-custom-theme). Muncul di `/config` sebagai **Theme** | `"dark"` |

328| `tui` | Renderer UI terminal. Gunakan `"fullscreen"` untuk renderer alt-screen bebas flicker dengan scrollback virtual. Gunakan `"default"` untuk renderer main-screen klasik. Atur melalui `/tui`. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_NO_FLICKER`](/id/env-vars) | `"fullscreen"` |328| `tui` | Renderer UI terminal. Gunakan `"fullscreen"` untuk renderer alt-screen bebas flicker dengan scrollback virtual. Gunakan `"default"` untuk renderer main-screen klasik. Atur melalui `/tui`. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_NO_FLICKER`](/docs/id/env-vars) | `"fullscreen"` |

329| `ultracode` | Aktifkan [ultracode](/id/workflows#let-claude-decide-with-ultracode) untuk sesi saat ini. Kunci ini tidak dibaca dari `settings.json`. Atur melalui `/effort ultracode`, `--settings`, atau permintaan kontrol Agent SDK. {/* min-version: 2.1.203 */}Untuk memulai sesi dengan ultracode sudah aktif, luncurkan dengan `claude --effort ultracode`, yang memerlukan Claude Code v2.1.203 atau lebih baru | `true` |329| `ultracode` | Aktifkan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) untuk sesi saat ini. Kunci ini tidak dibaca dari `settings.json`. Atur melalui `/effort ultracode`, `--settings`, atau permintaan kontrol Agent SDK. Untuk memulai sesi dengan ultracode sudah aktif, luncurkan dengan `claude --effort ultracode`, yang memerlukan Claude Code v2.1.203 atau lebih baru | `true` |

330| `useAutoModeDuringPlan` | **Default**: `true`. Apakah plan mode menggunakan semantik mode otomatis saat mode otomatis tersedia. Tidak dibaca dari pengaturan proyek bersama. Muncul di `/config` sebagai "Use auto mode during plan" | `false` |330| `useAutoModeDuringPlan` | **Default**: `true`. Apakah plan mode menggunakan semantik mode otomatis saat mode otomatis tersedia. Tidak dibaca dari pengaturan proyek bersama. Muncul di `/config` sebagai "Use auto mode during plan" | `false` |

331| `verbose` | {/* min-version: 2.1.119 */}**Default**: `false`. Tampilkan output tool lengkap daripada ringkasan yang dipotong. Muncul di `/config` sebagai **Verbose output**. Flag `--verbose` menimpa ini untuk satu sesi | `true` |331| `verbose` | **Default**: `false`. Tampilkan output tool lengkap daripada ringkasan yang dipotong. Muncul di `/config` sebagai **Verbose output**. Flag `--verbose` menimpa ini untuk satu sesi | `true` |

332| `viewMode` | Mode tampilan transkrip default saat startup: `"default"`, `"verbose"`, atau `"focus"`. Menimpa pemilihan `/focus` yang lengket saat diatur. Flag `--verbose` menimpa ini untuk satu sesi | `"verbose"` |332| `viewMode` | Mode tampilan transkrip default saat startup: `"default"`, `"verbose"`, atau `"focus"`. Menimpa pemilihan `/focus` yang lengket saat diatur. Flag `--verbose` menimpa ini untuk satu sesi | `"verbose"` |

333| `vimInsertModeRemaps` | {/* min-version: 2.1.208 */}Peta dua-kunci INSERT-mode sequences ke Escape dalam [vim editor mode](/id/interactive-mode#vim-editor-mode). Setiap kunci adalah tepat dua karakter yang dapat dicetak yang diketik secara berurutan, dan `"<Esc>"` adalah satu-satunya target yang didukung; entri lainnya diabaikan. Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja, jadi pengaturan yang diperiksa repositori tidak dapat mengubah keystroke Anda. Tidak berpengaruh kecuali `editorMode` adalah `"vim"`. Lihat [Remap INSERT-mode key sequences](/id/interactive-mode#remap-insert-mode-key-sequences). Memerlukan Claude Code v2.1.208 atau lebih baru | `{"jj": "<Esc>"}` |333| `vimInsertModeRemaps` | Peta dua-kunci INSERT-mode sequences ke Escape dalam [vim editor mode](/docs/id/interactive-mode#vim-editor-mode). Setiap kunci adalah tepat dua karakter yang dapat dicetak yang diketik secara berurutan, dan `"<Esc>"` adalah satu-satunya target yang didukung; entri lainnya diabaikan. Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja, jadi pengaturan yang diperiksa repositori tidak dapat mengubah keystroke Anda. Tidak berpengaruh kecuali `editorMode` adalah `"vim"`. Lihat [Remap INSERT-mode key sequences](/docs/id/interactive-mode#remap-insert-mode-key-sequences). Memerlukan Claude Code v2.1.208 atau lebih baru | `{"jj": "<Esc>"}` |

334| `voice` | Pengaturan [voice dictation](/id/voice-dictation): `enabled` mengaktifkan dictation, `mode` memilih `"hold"` atau `"tap"`, dan `autoSubmit` mengirim prompt pada pelepasan kunci dalam mode hold. Ditulis secara otomatis saat Anda menjalankan `/voice`. Memerlukan akun Claude.ai | `{ "enabled": true, "mode": "tap" }` |334| `voice` | Pengaturan [voice dictation](/docs/id/voice-dictation): `enabled` mengaktifkan dictation, `mode` memilih `"hold"` atau `"tap"`, dan `autoSubmit` mengirim prompt pada pelepasan kunci dalam mode hold. Ditulis secara otomatis saat Anda menjalankan `/voice`. Memerlukan akun Claude.ai | `{ "enabled": true, "mode": "tap" }` |

335| `voiceEnabled` | Alias warisan untuk `voice.enabled`. Lebih suka objek `voice` | `true` |335| `voiceEnabled` | Alias warisan untuk `voice.enabled`. Lebih suka objek `voice` | `true` |

336| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**Default**: `true`. Dalam [rendering fullscreen](/id/fullscreen#mouse-wheel-scrolling), percepat kecepatan scroll mouse-wheel selama scroll cepat. Atur ke `false` untuk laju scroll konstan per notch wheel. Memerlukan Claude Code v2.1.174 atau lebih baru | `false` |336| `wheelScrollAccelerationEnabled` | **Default**: `true`. Dalam [rendering fullscreen](/docs/id/fullscreen#mouse-wheel-scrolling), percepat kecepatan scroll mouse-wheel selama scroll cepat. Atur ke `false` untuk laju scroll konstan per notch wheel. Memerlukan Claude Code v2.1.174 atau lebih baru | `false` |

337| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}**Default**: `true`. Apakah kata kunci `ultracode` dalam prompt memicu [dynamic workflow](/id/workflows#ask-for-a-workflow-in-your-prompt). Atur ke `false` untuk mengetik kata tanpa memicu satu. Pengaturan usaha ultracode, `/workflows`, dan perintah workflow yang disimpan tidak terpengaruh. Muncul di `/config` sebagai **Ultracode keyword trigger**. Ditambahkan dalam v2.1.157; sebelum v2.1.160 kata kunci pemicu adalah `workflow` | `false` |337| `workflowKeywordTriggerEnabled` | **Default**: `true`. Apakah kata kunci `ultracode` dalam prompt memicu [dynamic workflow](/docs/id/workflows#ask-for-a-workflow-in-your-prompt). Atur ke `false` untuk mengetik kata tanpa memicu satu. Pengaturan usaha ultracode, `/workflows`, dan perintah workflow yang disimpan tidak terpengaruh. Muncul di `/config` sebagai **Ultracode keyword trigger**. Ditambahkan dalam v2.1.157; sebelum v2.1.160 kata kunci pemicu adalah `workflow` | `false` |

338| `wslInheritsWindowsSettings` | (Pengaturan yang dikelola Windows saja) Saat `true`, Claude Code di WSL membaca pengaturan yang dikelola dari rantai kebijakan Windows selain `/etc/claude-code`, dengan sumber Windows memiliki prioritas. Hanya dihormati saat diatur dalam kunci registry HKLM atau `C:\Program Files\ClaudeCode\managed-settings.json`, keduanya memerlukan admin Windows untuk menulis. Untuk kebijakan HKCU juga berlaku di WSL, flag harus juga diatur di HKCU itu sendiri. Tidak berpengaruh pada Windows asli | `true` |338| `wslInheritsWindowsSettings` | (Pengaturan yang dikelola Windows saja) Saat `true`, Claude Code di WSL membaca pengaturan yang dikelola dari rantai kebijakan Windows selain `/etc/claude-code`, dengan sumber Windows memiliki prioritas. Hanya dihormati saat diatur dalam kunci registry HKLM atau `C:\Program Files\ClaudeCode\managed-settings.json`, keduanya memerlukan admin Windows untuk menulis. Untuk kebijakan HKCU juga berlaku di WSL, flag harus juga diatur di HKCU itu sendiri. Tidak berpengaruh pada Windows asli | `true` |

339 339 

340<h3 id="global-config-settings">340<h3 id="global-config-settings">


348</Note>348</Note>

349 349 

350| Kunci | Deskripsi | Contoh |350| Kunci | Deskripsi | Contoh |

351| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |351| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

352| `autoConnectIde` | **Default**: `false`. Secara otomatis terhubung ke IDE yang sedang berjalan saat Claude Code dimulai dari terminal eksternal. Muncul di `/config` sebagai **Auto-connect to IDE (external terminal)** saat berjalan di luar terminal VS Code atau JetBrains. Variabel lingkungan [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/id/env-vars) menimpa ini saat diatur | `true` |352| `autoConnectIde` | **Default**: `false`. Secara otomatis terhubung ke IDE yang sedang berjalan saat Claude Code dimulai dari terminal eksternal. Muncul di `/config` sebagai **Auto-connect to IDE (external terminal)** saat berjalan di luar terminal VS Code atau JetBrains. Variabel lingkungan [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/docs/id/env-vars) menimpa ini saat diatur | `true` |

353| `autoInstallIdeExtension` | **Default**: `true`. Secara otomatis instal ekstensi IDE Claude Code saat berjalan dari terminal VS Code. Muncul di `/config` sebagai **Auto-install IDE extension** saat berjalan di dalam terminal VS Code atau JetBrains. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/id/env-vars) ke `1` | `false` |353| `autoInstallIdeExtension` | **Default**: `true`. Secara otomatis instal ekstensi IDE Claude Code saat berjalan dari terminal VS Code. Muncul di `/config` sebagai **Auto-install IDE extension** saat berjalan di dalam terminal VS Code atau JetBrains. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/docs/id/env-vars) ke `1` | `false` |

354| `externalEditorContext` | **Default**: `false`. Tambahkan respons sebelumnya Claude sebagai konteks berkomentar `#` saat Anda membuka editor eksternal dengan `Ctrl+G`. Muncul di `/config` sebagai **Show last response in external editor** | `true` |354| `externalEditorContext` | **Default**: `false`. Tambahkan respons sebelumnya Claude sebagai konteks berkomentar `#` saat Anda membuka editor eksternal dengan `Ctrl+G`. Muncul di `/config` sebagai **Show last response in external editor** | `true` |

355| `permissionExplainerEnabled` | **Default**: `true`. Tampilkan penjelasan yang dihasilkan model dari [perintah](/id/permissions#permission-system) saat Anda menekan `Ctrl+E` pada prompt izin Bash atau PowerShell. Atur ke `false` untuk mematikan pintasan | `false` |355| `permissionExplainerEnabled` | **Default**: `true`. Tampilkan penjelasan yang dihasilkan model dari [perintah](/docs/id/permissions#permission-system) saat Anda menekan `Ctrl+E` pada prompt izin Bash atau PowerShell. Atur ke `false` untuk mematikan pintasan | `false` |

356| `teammateDefaultModel` | Model default untuk [agent team](/id/agent-teams) teammates saat prompt spawn tidak menentukan satu. Atur ke alias model seperti `"sonnet"`, atau `null` untuk mewarisi pemilihan `/model` saat ini lead. Muncul di `/config` sebagai **Default teammate model** | `"sonnet"` |356| `teammateDefaultModel` | Model default untuk [agent team](/docs/id/agent-teams) teammates saat prompt spawn tidak menentukan satu. Atur ke alias model seperti `"sonnet"`, atau `null` untuk mewarisi pemilihan `/model` saat ini lead. Muncul di `/config` sebagai **Default teammate model** | `"sonnet"` |

357| `workflowSizeGuideline` | {/* min-version: 2.1.202 */}**Default**: `unrestricted`, yang tidak mengirim panduan. Menetapkan [jumlah agent yang Claude targetkan](/id/workflows#set-a-size-guideline) dalam dynamic workflows yang ditulis. Claude Code mengirim nilai ke Claude sebagai saran, bukan batas yang diterapkan. Menerima `unrestricted`, `small`, `medium`, atau `large`. Muncul di `/config` sebagai **Dynamic workflow size**. Anda juga dapat menetapkannya langsung dengan `/config workflowSizeGuideline=small`. Memerlukan Claude Code v2.1.202 atau lebih baru. {/* min-version: 2.1.203 */}Panduan agent count juga menggantikan ambang default untuk [peringatan `Large workflow`](/id/workflows#cost); perilaku itu memerlukan Claude Code v2.1.203 atau lebih baru | `"small"` |357| `workflowSizeGuideline` | **Default**: `unrestricted`, yang tidak mengirim panduan. Menetapkan [jumlah agent yang Claude targetkan](/docs/id/workflows#set-a-size-guideline) dalam dynamic workflows yang ditulis. Claude Code mengirim nilai ke Claude sebagai saran, bukan batas yang diterapkan. Menerima `unrestricted`, `small`, `medium`, atau `large`. Muncul di `/config` sebagai **Dynamic workflow size**. Anda juga dapat menetapkannya langsung dengan `/config workflowSizeGuideline=small`. Memerlukan Claude Code v2.1.202 atau lebih baru. Panduan agent count juga menggantikan ambang default untuk [peringatan `Large workflow`](/docs/id/workflows#cost); perilaku itu memerlukan Claude Code v2.1.203 atau lebih baru | `"small"` |

358 358 

359<h3 id="worktree-settings">359<h3 id="worktree-settings">

360 Pengaturan worktree360 Pengaturan worktree


363Konfigurasikan bagaimana `--worktree` membuat dan mengelola git worktrees.363Konfigurasikan bagaimana `--worktree` membuat dan mengelola git worktrees.

364 364 

365| Kunci | Deskripsi | Contoh |365| Kunci | Deskripsi | Contoh |

366| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |366| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |

367| `worktree.baseRef` | Ref mana yang baru worktrees cabang dari. `"fresh"` (default) cabang dari `origin/<default-branch>` untuk pohon bersih yang cocok dengan remote. `"head"` cabang dari `HEAD` lokal Anda saat ini, jadi komit yang tidak didorong dan status cabang fitur ada di worktree. Di dalam linked worktree, `"head"` diselesaikan ke `HEAD` worktree itu, bukan checkout utama. Berlaku untuk `--worktree`, tool `EnterWorktree`, dan isolasi subagent | `"head"` |367| `worktree.baseRef` | Ref mana yang baru worktrees cabang dari. `"fresh"` (default) cabang dari `origin/<default-branch>` untuk pohon bersih yang cocok dengan remote. `"head"` cabang dari `HEAD` lokal Anda saat ini, jadi komit yang tidak didorong dan status cabang fitur ada di worktree. Di dalam linked worktree, `"head"` diselesaikan ke `HEAD` worktree itu, bukan checkout utama. Berlaku untuk `--worktree`, tool `EnterWorktree`, dan isolasi subagent | `"head"` |

368| `worktree.symlinkDirectories` | Direktori untuk symlink dari repositori utama ke setiap worktree untuk menghindari duplikasi direktori besar di disk. Tidak ada direktori yang disymlink secara default | `["node_modules", ".cache"]` |368| `worktree.symlinkDirectories` | Direktori untuk symlink dari repositori utama ke setiap worktree untuk menghindari duplikasi direktori besar di disk. Tidak ada direktori yang disymlink secara default | `["node_modules", ".cache"]` |

369| `worktree.sparsePaths` | Direktori untuk diperiksa di setiap worktree melalui git sparse-checkout. Hanya jalur yang terdaftar plus file tingkat root yang ditulis ke disk, yang lebih cepat di monorepo besar. Saat sparse worktree ada, git mengaktifkan `extensions.worktreeConfig` dalam `.git/config` bersama repositori; lihat [Check out only the directories you need](/id/large-codebases#check-out-only-the-directories-you-need) | `["packages/my-app", "shared/utils"]` |369| `worktree.sparsePaths` | Direktori untuk diperiksa di setiap worktree melalui git sparse-checkout. Hanya jalur yang terdaftar plus file tingkat root yang ditulis ke disk, yang lebih cepat di monorepo besar. Saat sparse worktree ada, git mengaktifkan `extensions.worktreeConfig` dalam `.git/config` bersama repositori; lihat [Check out only the directories you need](/docs/id/large-codebases#check-out-only-the-directories-you-need) | `["packages/my-app", "shared/utils"]` |

370| `worktree.bgIsolation` | {/* min-version: 2.1.143 */}Mode isolasi untuk [background sessions](/id/agent-view#how-file-edits-are-isolated). `"worktree"` (default) memblokir `Edit`/`Write` dalam checkout utama sampai `EnterWorktree` dipanggil. {/* min-version: 2.1.203 */}Di luar repositori git, hook [`WorktreeCreate`](/id/worktrees#non-git-version-control) yang gagal melepaskan blok sehingga sesi dapat mengedit direktori kerja di tempat; memerlukan Claude Code v2.1.203 atau lebih baru. `"none"` memungkinkan pekerjaan latar belakang mengedit salinan kerja secara langsung. Memerlukan Claude Code v2.1.143 atau lebih baru | `"none"` |370| `worktree.bgIsolation` | Mode isolasi untuk [background sessions](/docs/id/agent-view#how-file-edits-are-isolated). `"worktree"` (default) memblokir `Edit`/`Write` dalam checkout utama sampai `EnterWorktree` dipanggil. Di luar repositori git, hook [`WorktreeCreate`](/docs/id/worktrees#non-git-version-control) yang gagal melepaskan blok sehingga sesi dapat mengedit direktori kerja di tempat; memerlukan Claude Code v2.1.203 atau lebih baru. `"none"` memungkinkan pekerjaan latar belakang mengedit salinan kerja secara langsung. Memerlukan Claude Code v2.1.143 atau lebih baru | `"none"` |

371 371 

372Untuk menyalin file yang diabaikan git seperti `.env` ke worktrees baru, gunakan file [`.worktreeinclude`](/id/worktrees#copy-gitignored-files-into-worktrees) di akar proyek Anda daripada pengaturan.372Untuk menyalin file yang diabaikan git seperti `.env` ke worktrees baru, gunakan file [`.worktreeinclude`](/docs/id/worktrees#copy-gitignored-files-into-worktrees) di akar proyek Anda daripada pengaturan.

373 373 

374<h3 id="permission-settings">374<h3 id="permission-settings">

375 Pengaturan izin375 Pengaturan izin


379| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |379| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |

380| `allow` | Array aturan izin untuk memungkinkan penggunaan tool. Glob nama tool didukung hanya dalam posisi tool setelah prefiks `mcp__<server>__` literal, seperti `mcp__github__get_*`; segmen server harus bebas glob. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah untuk detail pencocokan pola | `[ "Bash(git diff *)" ]` |380| `allow` | Array aturan izin untuk memungkinkan penggunaan tool. Glob nama tool didukung hanya dalam posisi tool setelah prefiks `mcp__<server>__` literal, seperti `mcp__github__get_*`; segmen server harus bebas glob. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah untuk detail pencocokan pola | `[ "Bash(git diff *)" ]` |

381| `ask` | Array aturan izin untuk meminta konfirmasi saat penggunaan tool. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah | `[ "Bash(git push *)" ]` |381| `ask` | Array aturan izin untuk meminta konfirmasi saat penggunaan tool. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah | `[ "Bash(git push *)" ]` |

382| `deny` | Array aturan izin untuk menolak penggunaan tool. Gunakan ini untuk mengecualikan file sensitif dari akses Claude Code. Nama tool menerima pola glob: `"*"` menolak setiap tool dan `"mcp__*"` menolak semua tools MCP. Lihat [Sintaks aturan izin](#permission-rule-syntax) dan [Batasan izin Bash](/id/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |382| `deny` | Array aturan izin untuk menolak penggunaan tool. Gunakan ini untuk mengecualikan file sensitif dari akses Claude Code. Nama tool menerima pola glob: `"*"` menolak setiap tool dan `"mcp__*"` menolak semua tools MCP. Lihat [Sintaks aturan izin](#permission-rule-syntax) dan [Batasan izin Bash](/docs/id/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |

383| `additionalDirectories` | [Direktori kerja](/id/permissions#working-directories) tambahan untuk akses file. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori ini | `[ "../docs/" ]` |383| `additionalDirectories` | [Direktori kerja](/docs/id/permissions#working-directories) tambahan untuk akses file. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori ini | `[ "../docs/" ]` |

384| `defaultMode` | Mode [izin](/id/permission-modes) default saat membuka Claude Code. Nilai yang valid: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, dan {{/* min-version: 2.1.200 */}}`manual` sebagai alias untuk `default`, mode yang diberi label Manual di CLI dan ekstensi VS Code dan JetBrains. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. {{/* min-version: 2.1.142 */}}`auto` diabaikan saat diatur dalam pengaturan proyek atau lokal, jadi repositori tidak dapat memberikan dirinya sendiri mode otomatis; atur di `~/.claude/settings.json` sebagai gantinya. Sebelum v2.1.142, pengaturan proyek dapat menetapkan `auto`. Flag CLI `--permission-mode` menimpa pengaturan ini untuk sesi tunggal | `"acceptEdits"` |384| `defaultMode` | Mode [izin](/docs/id/permission-modes) default saat membuka Claude Code. Nilai yang valid: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, dan {{/* min-version: 2.1.200 */}}`manual` sebagai alias untuk `default`, mode yang diberi label Manual di CLI dan ekstensi VS Code dan JetBrains. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. {{/* min-version: 2.1.142 */}}`auto` diabaikan saat diatur dalam pengaturan proyek atau lokal, jadi repositori tidak dapat memberikan dirinya sendiri mode otomatis; atur di `~/.claude/settings.json` sebagai gantinya. Sebelum v2.1.142, pengaturan proyek dapat menetapkan `auto`. Flag CLI `--permission-mode` menimpa pengaturan ini untuk sesi tunggal | `"acceptEdits"` |

385| `disableBypassPermissionsMode` | Atur ke `"disable"` untuk mencegah mode `bypassPermissions` diaktifkan. Ini menonaktifkan flag baris perintah `--dangerously-skip-permissions`. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk menegakkan kebijakan organisasi, tetapi berfungsi dari cakupan apa pun | `"disable"` |385| `disableBypassPermissionsMode` | Atur ke `"disable"` untuk mencegah mode `bypassPermissions` diaktifkan. Ini menonaktifkan flag baris perintah `--dangerously-skip-permissions`. Paling berguna dalam [pengaturan yang dikelola](/docs/id/permissions#managed-settings) untuk menegakkan kebijakan organisasi, tetapi berfungsi dari cakupan apa pun | `"disable"` |

386| `skipDangerousModePermissionPrompt` | Lewati prompt konfirmasi yang ditampilkan sebelum memasuki mode bypass permissions melalui `--dangerously-skip-permissions` atau `defaultMode: "bypassPermissions"`. Diabaikan saat diatur dalam pengaturan proyek (`.claude/settings.json`) untuk mencegah repositori yang tidak terpercaya dari auto-bypass prompt | `true` |386| `skipDangerousModePermissionPrompt` | Lewati prompt konfirmasi yang ditampilkan sebelum memasuki mode bypass permissions melalui `--dangerously-skip-permissions` atau `defaultMode: "bypassPermissions"`. Diabaikan saat diatur dalam pengaturan proyek (`.claude/settings.json`) untuk mencegah repositori yang tidak terpercaya dari auto-bypass prompt | `true` |

387 387 

388<h3 id="permission-rule-syntax">388<h3 id="permission-rule-syntax">

389 Sintaks aturan izin389 Sintaks aturan izin

390</h3>390</h3>

391 391 

392Aturan izin mengikuti format `Tool` atau `Tool(specifier)`. Aturan dievaluasi secara berurutan: aturan deny terlebih dahulu, kemudian ask, kemudian allow. Aturan pertama yang cocok menentukan hasil terlepas dari spesifisitas aturan. Lihat [urutan evaluasi aturan izin](/id/permissions#manage-permissions) untuk detail.392Aturan izin mengikuti format `Tool` atau `Tool(specifier)`. Aturan dievaluasi secara berurutan: aturan deny terlebih dahulu, kemudian ask, kemudian allow. Aturan pertama yang cocok menentukan hasil terlepas dari spesifisitas aturan. Lihat [urutan evaluasi aturan izin](/docs/id/permissions#manage-permissions) untuk detail.

393 393 

394Contoh cepat:394Contoh cepat:

395 395 


400| `Read(./.env)` | Cocok dengan membaca file `.env` |400| `Read(./.env)` | Cocok dengan membaca file `.env` |

401| `WebFetch(domain:example.com)` | Cocok dengan permintaan fetch ke example.com |401| `WebFetch(domain:example.com)` | Cocok dengan permintaan fetch ke example.com |

402 402 

403Untuk referensi sintaks aturan lengkap, termasuk perilaku wildcard, pola spesifik tool untuk Read, Edit, WebFetch, MCP, dan aturan Agent, dan batasan keamanan pola Bash, lihat [Sintaks aturan izin](/id/permissions#permission-rule-syntax).403Untuk referensi sintaks aturan lengkap, termasuk perilaku wildcard, pola spesifik tool untuk Read, Edit, WebFetch, MCP, dan aturan Agent, dan batasan keamanan pola Bash, lihat [Sintaks aturan izin](/docs/id/permissions#permission-rule-syntax).

404 404 

405<h3 id="sandbox-settings">405<h3 id="sandbox-settings">

406 Pengaturan sandbox406 Pengaturan sandbox

407</h3>407</h3>

408 408 

409Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat [Sandboxing](/id/sandboxing) untuk detail.409Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat [Sandboxing](/docs/id/sandboxing) untuk detail.

410 410 

411| Kunci | Deskripsi | Contoh |411| Kunci | Deskripsi | Contoh |

412| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |412| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

413| `enabled` | Aktifkan bash sandboxing (macOS, Linux, dan WSL2). Default: false | `true` |413| `enabled` | Aktifkan bash sandboxing (macOS, Linux, dan WSL2). Default: false | `true` |

414| `failIfUnavailable` | Keluar dengan kesalahan saat startup jika `sandbox.enabled` adalah true tetapi sandbox tidak dapat dimulai (dependensi yang hilang atau platform yang tidak didukung). Saat false (default), peringatan ditampilkan dan perintah berjalan tanpa sandbox. Dimaksudkan untuk penyebaran pengaturan yang dikelola yang memerlukan sandboxing sebagai gerbang keras | `true` |414| `failIfUnavailable` | Keluar dengan kesalahan saat startup jika `sandbox.enabled` adalah true tetapi sandbox tidak dapat dimulai (dependensi yang hilang atau platform yang tidak didukung). Saat false (default), peringatan ditampilkan dan perintah berjalan tanpa sandbox. Dimaksudkan untuk penyebaran pengaturan yang dikelola yang memerlukan sandboxing sebagai gerbang keras | `true` |

415| `autoAllowBashIfSandboxed` | Secara otomatis menyetujui perintah bash saat sandboxed. Default: true | `true` |415| `autoAllowBashIfSandboxed` | Secara otomatis menyetujui perintah bash saat sandboxed. Default: true | `true` |


418| `filesystem.allowWrite` | Jalur tambahan di mana perintah sandboxed dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan: jalur pengguna, proyek, dan yang dikelola digabungkan, bukan diganti. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` allow. Lihat [prefiks jalur sandbox](#sandbox-path-prefixes) di bawah. | `["/tmp/build", "~/.kube"]` |418| `filesystem.allowWrite` | Jalur tambahan di mana perintah sandboxed dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan: jalur pengguna, proyek, dan yang dikelola digabungkan, bukan diganti. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` allow. Lihat [prefiks jalur sandbox](#sandbox-path-prefixes) di bawah. | `["/tmp/build", "~/.kube"]` |

419| `filesystem.denyWrite` | Jalur di mana perintah sandboxed tidak dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` deny. | `["/etc", "/usr/local/bin"]` |419| `filesystem.denyWrite` | Jalur di mana perintah sandboxed tidak dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` deny. | `["/etc", "/usr/local/bin"]` |

420| `filesystem.denyRead` | Jalur di mana perintah sandboxed tidak dapat membaca. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Read(...)` deny. | `["~/.aws/credentials"]` |420| `filesystem.denyRead` | Jalur di mana perintah sandboxed tidak dapat membaca. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Read(...)` deny. | `["~/.aws/credentials"]` |

421| `filesystem.allowRead` | Jalur untuk mengizinkan kembali pembacaan dalam region `denyRead`. Entri `allowRead` membuka kembali pembacaan di dalam region `denyRead` yang lebih luas, dan jalur tepat dalam `denyRead` tetap diblokir di dalam `allowRead` yang lebih luas; lihat [tabel overlap](/id/sandboxing#configure-sandboxing) untuk contoh. Array digabungkan di seluruh semua cakupan pengaturan. Gunakan ini untuk membuat pola akses baca khusus workspace. | `["."]` |421| `filesystem.allowRead` | Jalur untuk mengizinkan kembali pembacaan dalam region `denyRead`. Entri `allowRead` membuka kembali pembacaan di dalam region `denyRead` yang lebih luas, dan jalur tepat dalam `denyRead` tetap diblokir di dalam `allowRead` yang lebih luas; lihat [tabel overlap](/docs/id/sandboxing#configure-sandboxing) untuk contoh. Array digabungkan di seluruh semua cakupan pengaturan. Gunakan ini untuk membuat pola akses baca khusus workspace. | `["."]` |

422| `filesystem.allowManagedReadPathsOnly` | (Pengaturan yang dikelola saja) Hanya jalur `filesystem.allowRead` dari pengaturan yang dikelola yang dihormati. `denyRead` masih digabungkan dari semua sumber. Default: false | `true` |422| `filesystem.allowManagedReadPathsOnly` | (Pengaturan yang dikelola saja) Hanya jalur `filesystem.allowRead` dari pengaturan yang dikelola yang dihormati. `denyRead` masih digabungkan dari semua sumber. Default: false | `true` |

423| `credentials.files` | {/* min-version: 2.1.187 */}File kredensial atau direktori yang perintah sandboxed tidak dapat membaca. Menerapkan blokir baca yang sama seperti `filesystem.denyRead`; kunci terpisah menjaga jalur kredensial dikelompokkan dengan `credentials.envVars` dan terpisah dari aturan sistem file umum. Setiap entri adalah `{ "path": "...", "mode": "deny" }`, dan `deny` adalah satu-satunya mode yang didukung untuk file. Jalur menggunakan [prefiks](#sandbox-path-prefixes) yang sama seperti pengaturan `filesystem.*`. Array digabungkan di seluruh semua cakupan pengaturan. Memerlukan Claude Code v2.1.187 atau lebih baru. | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |423| `credentials.files` | File kredensial atau direktori yang perintah sandboxed tidak dapat membaca. Menerapkan blokir baca yang sama seperti `filesystem.denyRead`; kunci terpisah menjaga jalur kredensial dikelompokkan dengan `credentials.envVars` dan terpisah dari aturan sistem file umum. Setiap entri adalah `{ "path": "...", "mode": "deny" }`, dan `deny` adalah satu-satunya mode yang didukung untuk file. Jalur menggunakan [prefiks](#sandbox-path-prefixes) yang sama seperti pengaturan `filesystem.*`. Array digabungkan di seluruh semua cakupan pengaturan. Memerlukan Claude Code v2.1.187 atau lebih baru. | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |

424| `credentials.envVars` | {/* min-version: 2.1.187 */}Variabel lingkungan untuk [melindungi dari perintah sandboxed](/id/sandboxing#protect-credentials). Setiap entri memiliki `name` dan `mode`; nama harus dimulai dengan huruf atau garis bawah dan hanya berisi huruf, digit, dan garis bawah. `deny` menghapus variabel dari lingkungan perintah sandboxed. Memerlukan Claude Code v2.1.187 atau lebih baru. {{/* min-version: 2.1.199 */}}`mask` mengganti variabel dengan nilai sentinel per-sesi di dalam sandbox sementara proxy sandbox mengganti nilai nyata pada permintaan keluar ke `injectHosts` entri itu; memerlukan `network.tlsTerminate` dan Claude Code v2.1.199 atau lebih baru. Entri `mask` hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Array digabungkan di seluruh semua cakupan pengaturan, dan `deny` memiliki prioritas saat variabel yang sama muncul dengan kedua mode. | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |424| `credentials.envVars` | Variabel lingkungan untuk [melindungi dari perintah sandboxed](/docs/id/sandboxing#protect-credentials). Setiap entri memiliki `name` dan `mode`; nama harus dimulai dengan huruf atau garis bawah dan hanya berisi huruf, digit, dan garis bawah. `deny` menghapus variabel dari lingkungan perintah sandboxed. Memerlukan Claude Code v2.1.187 atau lebih baru. {{/* min-version: 2.1.199 */}}`mask` mengganti variabel dengan nilai sentinel per-sesi di dalam sandbox sementara proxy sandbox mengganti nilai nyata pada permintaan keluar ke `injectHosts` entri itu; memerlukan `network.tlsTerminate` dan Claude Code v2.1.199 atau lebih baru. Entri `mask` hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Array digabungkan di seluruh semua cakupan pengaturan, dan `deny` memiliki prioritas saat variabel yang sama muncul dengan kedua mode. | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |

425| `credentials.envVars[].injectHosts` | Host di mana proxy sandbox mengganti nilai nyata dari entri `mask`. Setiap host juga harus dicakup oleh `network.allowedDomains`, baik tepat atau dengan wildcard. Saat tidak diatur, proxy mengganti nilai pada permintaan ke setiap host dalam `network.allowedDomains`. Diterima tetapi diabaikan saat `mode` adalah `deny`. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `["api.github.com"]` |425| `credentials.envVars[].injectHosts` | Host di mana proxy sandbox mengganti nilai nyata dari entri `mask`. Setiap host juga harus dicakup oleh `network.allowedDomains`, baik tepat atau dengan wildcard. Saat tidak diatur, proxy mengganti nilai pada permintaan ke setiap host dalam `network.allowedDomains`. Diterima tetapi diabaikan saat `mode` adalah `deny`. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `["api.github.com"]` |

426| `credentials.allowPlaintextInject` | Izinkan substitusi `mask` pada permintaan HTTP biasa serta HTTPS yang dihentikan TLS. Pada HTTP biasa identitas upstream tidak diverifikasi dan kredensial berjalan dalam cleartext, jadi biarkan ini mati di luar jaringan uji terpercaya. Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Default: false. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `true` |426| `credentials.allowPlaintextInject` | Izinkan substitusi `mask` pada permintaan HTTP biasa serta HTTPS yang dihentikan TLS. Pada HTTP biasa identitas upstream tidak diverifikasi dan kredensial berjalan dalam cleartext, jadi biarkan ini mati di luar jaringan uji terpercaya. Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Default: false. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `true` |

427| `network.allowUnixSockets` | (macOS saja) Jalur soket Unix yang dapat diakses dalam sandbox. Diabaikan di Linux dan WSL2, di mana filter seccomp tidak dapat memeriksa jalur soket; gunakan `allowAllUnixSockets` sebagai gantinya. | `["~/.ssh/agent-socket"]` |427| `network.allowUnixSockets` | (macOS saja) Jalur soket Unix yang dapat diakses dalam sandbox. Diabaikan di Linux dan WSL2, di mana filter seccomp tidak dapat memeriksa jalur soket; gunakan `allowAllUnixSockets` sebagai gantinya. | `["~/.ssh/agent-socket"]` |


433| `network.allowManagedDomainsOnly` | (Pengaturan yang dikelola saja) Hanya `allowedDomains` dan aturan allow `WebFetch(domain:...)` dari pengaturan yang dikelola yang dihormati. Domain dari pengaturan pengguna, proyek, dan lokal diabaikan. Domain yang tidak diizinkan diblokir secara otomatis tanpa meminta pengguna. Domain yang ditolak masih dihormati dari semua sumber. Default: false | `true` |433| `network.allowManagedDomainsOnly` | (Pengaturan yang dikelola saja) Hanya `allowedDomains` dan aturan allow `WebFetch(domain:...)` dari pengaturan yang dikelola yang dihormati. Domain dari pengaturan pengguna, proyek, dan lokal diabaikan. Domain yang tidak diizinkan diblokir secara otomatis tanpa meminta pengguna. Domain yang ditolak masih dihormati dari semua sumber. Default: false | `true` |

434| `network.httpProxyPort` | Port proxy HTTP yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8080` |434| `network.httpProxyPort` | Port proxy HTTP yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8080` |

435| `network.socksProxyPort` | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8081` |435| `network.socksProxyPort` | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8081` |

436| `network.tlsTerminate` | Eksperimental. Hentikan TLS di dalam proxy sandbox sehingga dapat membaca konten permintaan HTTPS. Diperlukan untuk substitusi kredensial `mask` [](/id/sandboxing#protect-credentials). Atur `{}` untuk menghasilkan otoritas sertifikat ephemeral untuk sesi, atau atur `caCertPath` dan `caKeyPath` untuk menggunakan milik Anda sendiri. Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `{}` |436| `network.tlsTerminate` | Eksperimental. Hentikan TLS di dalam proxy sandbox sehingga dapat membaca konten permintaan HTTPS. Diperlukan untuk substitusi kredensial `mask` [](/docs/id/sandboxing#protect-credentials). Atur `{}` untuk menghasilkan otoritas sertifikat ephemeral untuk sesi, atau atur `caCertPath` dan `caKeyPath` untuk menggunakan milik Anda sendiri. Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI `--settings`, bukan dari `.claude/settings.json` atau `.claude/settings.local.json`. Memerlukan Claude Code v2.1.199 atau lebih baru. {{/* min-version: 2.1.199 */}} | `{}` |

437| `enableWeakerNestedSandbox` | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker tanpa hak istimewa (Linux dan WSL2 saja). **Mengurangi keamanan.** Default: false | `true` |437| `enableWeakerNestedSandbox` | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker tanpa hak istimewa (Linux dan WSL2 saja). **Mengurangi keamanan.** Default: false | `true` |

438| `enableWeakerNetworkIsolation` | (macOS saja) Izinkan akses ke layanan kepercayaan TLS sistem (`com.apple.trustd.agent`) dalam sandbox. Diperlukan untuk tools berbasis Go seperti `gh`, `gcloud`, dan `terraform` untuk memverifikasi sertifikat TLS saat menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus. **Mengurangi keamanan** dengan membuka jalur eksfiltrasi data potensial. Default: false | `true` |438| `enableWeakerNetworkIsolation` | (macOS saja) Izinkan akses ke layanan kepercayaan TLS sistem (`com.apple.trustd.agent`) dalam sandbox. Diperlukan untuk tools berbasis Go seperti `gh`, `gcloud`, dan `terraform` untuk memverifikasi sertifikat TLS saat menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus. **Mengurangi keamanan** dengan membuka jalur eksfiltrasi data potensial. Default: false | `true` |

439| `allowAppleEvents` | (macOS saja) Izinkan perintah sandboxed mengirim Apple Events. Diperlukan untuk `open`, `osascript`, dan tools yang membuka URL di browser, yang sebaliknya gagal dengan error `-600`. **Menghapus isolasi eksekusi kode.** Perintah sandboxed dapat meluncurkan aplikasi lain tanpa sandbox dengan tidak ada prompt pengguna; mereka juga dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan seperti Terminal, tunduk pada prompt persetujuan otomasi per-app macOS (TCC). Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI, bukan dari pengaturan proyek. Default: false | `true` |439| `allowAppleEvents` | (macOS saja) Izinkan perintah sandboxed mengirim Apple Events. Diperlukan untuk `open`, `osascript`, dan tools yang membuka URL di browser, yang sebaliknya gagal dengan error `-600`. **Menghapus isolasi eksekusi kode.** Perintah sandboxed dapat meluncurkan aplikasi lain tanpa sandbox dengan tidak ada prompt pengguna; mereka juga dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan seperti Terminal, tunduk pada prompt persetujuan otomasi per-app macOS (TCC). Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI, bukan dari pengaturan proyek. Default: false | `true` |

440| `bwrapPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (`bwrap`). Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari [pengaturan yang dikelola](/id/settings#settings-precedence), bukan dari pengaturan pengguna atau proyek. Berguna saat `bwrap` diinstal di lokasi non-standar di lingkungan yang dikelola. | `/opt/admin/bwrap` |440| `bwrapPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (`bwrap`). Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari [pengaturan yang dikelola](/docs/id/settings#settings-precedence), bukan dari pengaturan pengguna atau proyek. Berguna saat `bwrap` diinstal di lokasi non-standar di lingkungan yang dikelola. | `/opt/admin/bwrap` |

441| `socatPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary `socat` yang digunakan untuk proxy jaringan sandbox. Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari pengaturan yang dikelola. | `/opt/admin/socat` |441| `socatPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary `socat` yang digunakan untuk proxy jaringan sandbox. Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari pengaturan yang dikelola. | `/opt/admin/socat` |

442 442 

443<h4 id="sandbox-path-prefixes">443<h4 id="sandbox-path-prefixes">


452| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |452| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |

453| `./` atau tidak ada prefiks | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |453| `./` atau tidak ada prefiks | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |

454 454 

455Prefiks `//path` yang lebih lama untuk jalur absolut masih berfungsi. Jika Anda sebelumnya menggunakan `/path` tunggal mengharapkan resolusi relatif proyek, beralih ke `./path`. Sintaks ini berbeda dari [aturan izin Read dan Edit](/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur sistem file sandbox menggunakan konvensi standar: `/tmp/build` adalah jalur absolut.455Prefiks `//path` yang lebih lama untuk jalur absolut masih berfungsi. Jika Anda sebelumnya menggunakan `/path` tunggal mengharapkan resolusi relatif proyek, beralih ke `./path`. Sintaks ini berbeda dari [aturan izin Read dan Edit](/docs/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur sistem file sandbox menggunakan konvensi standar: `/tmp/build` adalah jalur absolut.

456 456 

457**Contoh konfigurasi:**457**Contoh konfigurasi:**

458 458 


542}542}

543```543```

544 544 

545Perintah berjalan dengan variabel lingkungan yang sama seperti [hooks](/id/hooks), termasuk `CLAUDE_PROJECT_DIR`. Ini menerima JSON melalui stdin dengan bidang `query`:545Perintah berjalan dengan variabel lingkungan yang sama seperti [hooks](/docs/id/hooks), termasuk `CLAUDE_PROJECT_DIR`. Ini menerima JSON melalui stdin dengan bidang `query`:

546 546 

547```json theme={null}547```json theme={null}

548{"query": "src/comp"}548{"query": "src/comp"}


603 603 

604Saat giliran selesai, Claude Code mencocokkan regex `pattern` setiap entri dengan output giliran pada thread utama, jadi regex lambat memblokir UI sampai selesai. Quantifier bersarang seperti `(a+)+$` dapat memakan waktu secara eksponensial terhadap input tertentu dan membekukan sesi, jadi jaga setiap `pattern` linear dan hindari bersarang `+` atau `*`.604Saat giliran selesai, Claude Code mencocokkan regex `pattern` setiap entri dengan output giliran pada thread utama, jadi regex lambat memblokir UI sampai selesai. Quantifier bersarang seperti `(a+)+$` dapat memakan waktu secara eksponensial terhadap input tertentu dan membekukan sesi, jadi jaga setiap `pattern` linear dan hindari bersarang `+` atau `*`.

605 605 

606Lencana footer render bersama [status line khusus](/id/statusline) saat satu dikonfigurasi; tidak satupun menggantikan yang lain. Gunakan status line untuk baris yang didorong skrip yang menghitung kontennya sendiri dari data sesi, dan lencana footer untuk mengubah ID dari percakapan menjadi tautan tanpa skrip.606Lencana footer render bersama [status line khusus](/docs/id/statusline) saat satu dikonfigurasi; tidak satupun menggantikan yang lain. Gunakan status line untuk baris yang didorong skrip yang menghitung kontennya sendiri dari data sesi, dan lencana footer untuk mengubah ID dari percakapan menjadi tautan tanpa skrip.

607 607 

608<h3 id="hook-configuration">608<h3 id="hook-configuration">

609 Konfigurasi hook609 Konfigurasi hook


641 Hitung pengaturan yang dikelola dengan policy helper641 Hitung pengaturan yang dikelola dengan policy helper

642</h3>642</h3>

643 643 

644Pengaturan `policyHelper` menunjuk ke executable yang menghitung pengaturan yang dikelola saat startup, sehingga admin dapat menurunkan kebijakan dari postur perangkat, identitas, atau layanan jarak jauh daripada file statis. Konfigurasikan dari MDM atau file `managed-settings.json` sistem. Claude Code mengabaikan `policyHelper` saat muncul dalam cakupan apa pun, termasuk pengaturan pengguna, pengaturan proyek, hive registry HKCU, dan [pengaturan yang dikelola server](/id/server-managed-settings).644Pengaturan `policyHelper` menunjuk ke executable yang menghitung pengaturan yang dikelola saat startup, sehingga admin dapat menurunkan kebijakan dari postur perangkat, identitas, atau layanan jarak jauh daripada file statis. Konfigurasikan dari MDM atau file `managed-settings.json` sistem. Claude Code mengabaikan `policyHelper` saat muncul dalam cakupan apa pun, termasuk pengaturan pengguna, pengaturan proyek, hive registry HKCU, dan [pengaturan yang dikelola server](/docs/id/server-managed-settings).

645 645 

646Pengaturan menerima kunci ini:646Pengaturan menerima kunci ini:

647 647 


671 671 

672Pengaturan berlaku dalam urutan prioritas. Dari tertinggi ke terendah:672Pengaturan berlaku dalam urutan prioritas. Dari tertinggi ke terendah:

673 673 

6741. **Pengaturan yang dikelola** ([yang dikelola server](/id/server-managed-settings), [kebijakan tingkat MDM/OS](#configuration-scopes), atau [pengaturan yang dikelola](/id/settings#settings-files))6741. **Pengaturan yang dikelola** ([yang dikelola server](/docs/id/server-managed-settings), [kebijakan tingkat MDM/OS](#configuration-scopes), atau [pengaturan yang dikelola](/docs/id/settings#settings-files))

675 * Kebijakan yang digunakan oleh IT melalui pengiriman server, profil konfigurasi MDM, kebijakan registry, atau file pengaturan yang dikelola675 * Kebijakan yang digunakan oleh IT melalui pengiriman server, profil konfigurasi MDM, kebijakan registry, atau file pengaturan yang dikelola

676 * Tidak dapat ditimpa oleh tingkat apa pun, termasuk argumen baris perintah676 * Tidak dapat ditimpa oleh tingkat apa pun, termasuk argumen baris perintah

677 * Dalam tingkat yang dikelola, hanya satu sumber yang digunakan dan yang lain diabaikan daripada digabungkan. Prioritas, tertinggi terlebih dahulu:677 * Dalam tingkat yang dikelola, hanya satu sumber yang digunakan dan yang lain diabaikan daripada digabungkan. Prioritas, tertinggi terlebih dahulu:

678 * Output [`policyHelper`](#compute-managed-settings-with-a-policy-helper): ketika dikonfigurasi, ini adalah satu-satunya sumber yang dikelola yang digunakan678 * Output [`policyHelper`](#compute-managed-settings-with-a-policy-helper): ketika dikonfigurasi, ini adalah satu-satunya sumber yang dikelola yang digunakan

679 * Remote (pengaturan yang dikelola server claude.ai atau kebijakan yang dikirimkan [Claude apps gateway](/id/claude-apps-gateway))679 * Remote (pengaturan yang dikelola server claude.ai atau kebijakan yang dikirimkan [Claude apps gateway](/docs/id/claude-apps-gateway))

680 * Kebijakan tingkat MDM/OS680 * Kebijakan tingkat MDM/OS

681 * Berbasis file (`managed-settings.d/*.json` dan `managed-settings.json`, digabungkan bersama)681 * Berbasis file (`managed-settings.d/*.json` dan `managed-settings.json`, digabungkan bersama)

682 * Registry HKCU (Windows saja)682 * Registry HKCU (Windows saja)


684 * kunci sandbox lock `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`, dengan daftar putih terkait mereka684 * kunci sandbox lock `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`, dengan daftar putih terkait mereka

685 * `allowAllClaudeAiMcps`685 * `allowAllClaudeAiMcps`

686 * jalur binary sandbox `sandbox.bwrapPath` dan `sandbox.socatPath`686 * jalur binary sandbox `sandbox.bwrapPath` dan `sandbox.socatPath`

687 * [`forceRemoteSettingsRefresh`](/id/server-managed-settings)687 * [`forceRemoteSettingsRefresh`](/docs/id/server-managed-settings)

688 * Host penyematan seperti Claude Desktop dapat memasok kebijakan melalui opsi SDK `managedSettings`. Secara default ini diabaikan ketika ada sumber yang dikelola yang digunakan admin: pengaturan yang dikelola server, kebijakan MDM atau OS-level, atau file pengaturan yang dikelola. Fallback registry HKCU yang dapat ditulis pengguna tidak dihitung sebagai sumber yang dikelola yang digunakan admin. Administrator dapat memilih dengan menetapkan [`parentSettingsBehavior`](#available-settings) ke `"merge"`. Nilai embedder disaring sehingga mereka dapat mengencangkan kebijakan yang dikelola tetapi tidak melonggarkannya.688 * Host penyematan seperti Claude Desktop dapat memasok kebijakan melalui opsi SDK `managedSettings`. Secara default ini diabaikan ketika ada sumber yang dikelola yang digunakan admin: pengaturan yang dikelola server, kebijakan MDM atau OS-level, atau file pengaturan yang dikelola. Fallback registry HKCU yang dapat ditulis pengguna tidak dihitung sebagai sumber yang dikelola yang digunakan admin. Administrator dapat memilih dengan menetapkan [`parentSettingsBehavior`](#available-settings) ke `"merge"`. Nilai embedder disaring sehingga mereka dapat mengencangkan kebijakan yang dikelola tetapi tidak melonggarkannya.

689 689 

6902. **Argumen baris perintah**6902. **Argumen baris perintah**


6995. **Pengaturan pengguna** (`~/.claude/settings.json`)6995. **Pengaturan pengguna** (`~/.claude/settings.json`)

700 * Pengaturan global pribadi700 * Pengaturan global pribadi

701 701 

702Hierarki ini memastikan bahwa kebijakan organisasi selalu diterapkan sambil tetap memungkinkan tim dan individu untuk menyesuaikan pengalaman mereka. Prioritas yang sama berlaku apakah Anda menjalankan Claude Code dari CLI, [ekstensi VS Code](/id/vs-code), atau [IDE JetBrains](/id/jetbrains).702Hierarki ini memastikan bahwa kebijakan organisasi selalu diterapkan sambil tetap memungkinkan tim dan individu untuk menyesuaikan pengalaman mereka. Prioritas yang sama berlaku apakah Anda menjalankan Claude Code dari CLI, [ekstensi VS Code](/docs/id/vs-code), atau [IDE JetBrains](/docs/id/jetbrains).

703 703 

704Misalnya, jika pengaturan pengguna Anda menetapkan `permissions.defaultMode` ke `acceptEdits` dan pengaturan bersama proyek menetapkannya ke `default`, nilai proyek berlaku. Contoh di bawah mencakup bagaimana pengaturan bernilai array seperti aturan izin digabungkan sebagai gantinya.704Misalnya, jika pengaturan pengguna Anda menetapkan `permissions.defaultMode` ke `acceptEdits` dan pengaturan bersama proyek menetapkannya ke `default`, nilai proyek berlaku. Contoh di bawah mencakup bagaimana pengaturan bernilai array seperti aturan izin digabungkan sebagai gantinya.

705 705 


709 Dua pengaturan array tidak digabungkan dengan cara ini:709 Dua pengaturan array tidak digabungkan dengan cara ini:

710 710 

711 * [`fallbackModel`](#available-settings) adalah rantai yang dipesan di mana posisi membawa makna: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh nilai.711 * [`fallbackModel`](#available-settings) adalah rantai yang dipesan di mana posisi membawa makna: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh nilai.

712 * [`availableModels`](#available-settings): {/* min-version: 2.1.175 */}saat [sumber yang dikelola dengan prioritas tertinggi](/id/server-managed-settings#settings-precedence) mendefinisikannya, daftar itu berlaku sebagainya dan entri pengguna, proyek, dan lokal tidak dapat memperluas. Di seluruh cakupan non-managed array digabungkan seperti biasa. Lihat [Perilaku penggabungan](/id/model-config#merge-behavior).712 * [`availableModels`](#available-settings): saat [sumber yang dikelola dengan prioritas tertinggi](/docs/id/server-managed-settings#settings-precedence) mendefinisikannya, daftar itu berlaku sebagainya dan entri pengguna, proyek, dan lokal tidak dapat memperluas. Di seluruh cakupan non-managed array digabungkan seperti biasa. Lihat [Perilaku penggabungan](/docs/id/model-config#merge-behavior).

713</Note>713</Note>

714 714 

715<h3 id="verify-active-settings">715<h3 id="verify-active-settings">

716 Verifikasi pengaturan aktif716 Verifikasi pengaturan aktif

717</h3>717</h3>

718 718 

719Jalankan `/status` di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Di dalam menu, tab **Status** mencakup baris `Setting sources` yang mencantumkan setiap lapisan Claude Code yang dimuat untuk sesi saat ini, seperti `User settings` atau `Project local settings`. Ketika [pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices) berlaku, entri menunjukkan saluran pengiriman dalam tanda kurung, misalnya `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, atau `(file)`. Lapisan muncul dalam daftar hanya saat sumber itu dimuat dengan setidaknya satu kunci, jadi daftar kosong berarti tidak ada sumber pengaturan yang ditemukan.719Jalankan `/status` di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Di dalam menu, tab **Status** mencakup baris `Setting sources` yang mencantumkan setiap lapisan Claude Code yang dimuat untuk sesi saat ini, seperti `User settings` atau `Project local settings`. Ketika [pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices) berlaku, entri menunjukkan saluran pengiriman dalam tanda kurung, misalnya `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, atau `(file)`. Lapisan muncul dalam daftar hanya saat sumber itu dimuat dengan setidaknya satu kunci, jadi daftar kosong berarti tidak ada sumber pengaturan yang ditemukan.

720 720 

721Baris `Setting sources` mengonfirmasi sumber mana yang sedang dibaca. Ini tidak menunjukkan lapisan mana yang memasok setiap kunci individual. Tab **Config** dalam dialog yang sama adalah editor untuk set toggle tetap seperti tema dan output verbose, bukan tampilan konten `settings.json` Anda.721Baris `Setting sources` mengonfirmasi sumber mana yang sedang dibaca. Ini tidak menunjukkan lapisan mana yang memasok setiap kunci individual. Tab **Config** dalam dialog yang sama adalah editor untuk set toggle tetap seperti tema dan output verbose, bukan tampilan konten `settings.json` Anda.

722 722 


771* **Subagents pengguna**: `~/.claude/agents/`, tersedia di semua proyek Anda771* **Subagents pengguna**: `~/.claude/agents/`, tersedia di semua proyek Anda

772* **Subagents proyek**: `.claude/agents/`, spesifik untuk proyek Anda dan dapat dibagikan dengan tim Anda772* **Subagents proyek**: `.claude/agents/`, spesifik untuk proyek Anda dan dapat dibagikan dengan tim Anda

773 773 

774File subagent mendefinisikan asisten AI khusus dengan prompt khusus dan izin tool. Pelajari lebih lanjut tentang membuat dan menggunakan subagents dalam [dokumentasi subagents](/id/sub-agents).774File subagent mendefinisikan asisten AI khusus dengan prompt khusus dan izin tool. Pelajari lebih lanjut tentang membuat dan menggunakan subagents dalam [dokumentasi subagents](/docs/id/sub-agents).

775 775 

776<h2 id="plugin-configuration">776<h2 id="plugin-configuration">

777 Konfigurasi plugin777 Konfigurasi plugin


807 `enabledPlugins`807 `enabledPlugins`

808</h4>808</h4>

809 809 

810Mengontrol plugin mana yang diaktifkan. Format: `"plugin-name@marketplace-name": true/false`. Plugin tanpa entri di cakupan apa pun kembali ke nilai [`defaultEnabled`](/id/plugins-reference#default-enablement) nya.810Mengontrol plugin mana yang diaktifkan. Format: `"plugin-name@marketplace-name": true/false`. Plugin tanpa entri di cakupan apa pun kembali ke nilai [`defaultEnabled`](/docs/id/plugins-reference#default-enablement) nya.

811 811 

812**Cakupan**:812**Cakupan**:

813 813 


821 821 

822 Plugin yang dipaksa diaktifkan oleh pengaturan yang dikelola tidak dapat dinonaktifkan dengan cara ini, karena pengaturan yang dikelola menggantikan pengaturan lokal.822 Plugin yang dipaksa diaktifkan oleh pengaturan yang dikelola tidak dapat dinonaktifkan dengan cara ini, karena pengaturan yang dikelola menggantikan pengaturan lokal.

823 823 

824 Mengaktifkan plugin dari sumber eksternal seperti repositori GitHub atau paket npm dalam `.claude/settings.json` proyek tidak menginstalnya untuk orang lain. Mulai dari Claude Code v2.1.195, setiap jalur yang memuat plugin meminta setiap pengguna untuk [menginstal dan mempercayai plugin](/id/discover-plugins#configure-team-marketplaces) sebelum dijalankan.824 Mengaktifkan plugin dari sumber eksternal seperti repositori GitHub atau paket npm dalam `.claude/settings.json` proyek tidak menginstalnya untuk orang lain. Mulai dari Claude Code v2.1.195, setiap jalur yang memuat plugin meminta setiap pengguna untuk [menginstal dan mempercayai plugin](/docs/id/discover-plugins#configure-team-marketplaces) sebelum dijalankan.

825</Note>825</Note>

826 826 

827**Contoh**:827**Contoh**:


840 `pluginConfigs`840 `pluginConfigs`

841</h4>841</h4>

842 842 

843Menyimpan nilai opsi non-sensitif yang dikumpulkan oleh prompt [`userConfig`](/id/plugins-reference#user-configuration) plugin, diindeks berdasarkan ID plugin. Claude Code menulis kunci ini ke pengaturan pengguna saat Anda mengisi dialog konfigurasi plugin, sehingga Anda tidak perlu mengeditnya secara manual. Opsi sensitif disimpan di macOS Keychain sebagai gantinya, atau di `~/.claude/.credentials.json` pada platform tanpa keychain yang didukung.843Menyimpan nilai opsi non-sensitif yang dikumpulkan oleh prompt [`userConfig`](/docs/id/plugins-reference#user-configuration) plugin, diindeks berdasarkan ID plugin. Claude Code menulis kunci ini ke pengaturan pengguna saat Anda mengisi dialog konfigurasi plugin, sehingga Anda tidak perlu mengeditnya secara manual. Opsi sensitif disimpan di macOS Keychain sebagai gantinya, atau di `~/.claude/.credentials.json` pada platform tanpa keychain yang didukung.

844 844 

845Contoh ini menyimpan satu opsi untuk plugin yang diinstal dari marketplace `acme-tools`:845Contoh ini menyimpan satu opsi untuk plugin yang diinstal dari marketplace `acme-tools`:

846 846 


900* `hostPattern`: Pola regex untuk mencocokkan host marketplace (menggunakan `hostPattern`)900* `hostPattern`: Pola regex untuk mencocokkan host marketplace (menggunakan `hostPattern`)

901* `settings`: marketplace inline yang dideklarasikan langsung dalam settings.json tanpa repositori yang dihosting terpisah (menggunakan `name` dan `plugins`)901* `settings`: marketplace inline yang dideklarasikan langsung dalam settings.json tanpa repositori yang dihosting terpisah (menggunakan `name` dan `plugins`)

902 902 

903Jenis sumber `git` bekerja dengan layanan hosting git apa pun, termasuk GitLab dan Bitbucket yang dihosting sendiri. Claude Code mengkloning repositori dengan autentikasi yang sama yang akan digunakan `git clone` di mesin tersebut: pembantu kredensial yang dikonfigurasi atau kunci SSH. Token penyedia seperti `GITHUB_TOKEN` hanya berlaku melalui pembantu kredensial yang membacanya. Lihat [Repositori pribadi](/id/plugin-marketplaces#private-repositories) untuk detail pengaturan.903Jenis sumber `git` bekerja dengan layanan hosting git apa pun, termasuk GitLab dan Bitbucket yang dihosting sendiri. Claude Code mengkloning repositori dengan autentikasi yang sama yang akan digunakan `git clone` di mesin tersebut: pembantu kredensial yang dikonfigurasi atau kunci SSH. Token penyedia seperti `GITHUB_TOKEN` hanya berlaku melalui pembantu kredensial yang membacanya. Lihat [Repositori pribadi](/docs/id/plugin-marketplaces#private-repositories) untuk detail pengaturan.

904 904 

905Untuk sumber `github` dan `git`, atur `"skipLfs": true` di dalam objek `source` (bersama `repo` atau `url`) untuk melewati unduhan Git LFS saat Claude Code mengkloning atau memperbarui repositori marketplace. File pointer LFS tetap sebagai pointer daripada mengunduh kontennya. Gunakan ini ketika repositori berisi objek LFS besar yang tidak terkait dengan konten plugin. {/* min-version: 2.1.153 */}Memerlukan Claude Code v2.1.153 atau lebih baru.905Untuk sumber `github` dan `git`, atur `"skipLfs": true` di dalam objek `source` (bersama `repo` atau `url`) untuk melewati unduhan Git LFS saat Claude Code mengkloning atau memperbarui repositori marketplace. File pointer LFS tetap sebagai pointer daripada mengunduh kontennya. Gunakan ini ketika repositori berisi objek LFS besar yang tidak terkait dengan konten plugin. Memerlukan Claude Code v2.1.153 atau lebih baru.

906 906 

907Setiap entri marketplace juga menerima Boolean `autoUpdate` opsional. Atur `"autoUpdate": true` bersama `source` untuk membuat Claude Code menyegarkan marketplace tersebut dan memperbarui plugin yang terinstal di latar belakang setelah startup. Jika dihilangkan, marketplace Anthropic resmi default ke `true` dan semua marketplace lainnya default ke `false`. Lihat [Konfigurasi pembaruan otomatis](/id/discover-plugins#configure-auto-updates).907Setiap entri marketplace juga menerima Boolean `autoUpdate` opsional. Atur `"autoUpdate": true` bersama `source` untuk membuat Claude Code menyegarkan marketplace tersebut dan memperbarui plugin yang terinstal di latar belakang setelah startup. Jika dihilangkan, marketplace Anthropic resmi default ke `true` dan semua marketplace lainnya default ke `false`. Lihat [Konfigurasi pembaruan otomatis](/docs/id/discover-plugins#configure-auto-updates).

908 908 

909Gunakan `source: 'settings'` untuk mendeklarasikan serangkaian plugin kecil inline tanpa menyiapkan repositori marketplace yang dihosting. Plugin yang terdaftar di sini harus mereferensikan sumber eksternal seperti GitHub atau npm. Anda masih perlu mengaktifkan setiap plugin secara terpisah dalam `enabledPlugins`.909Gunakan `source: 'settings'` untuk mendeklarasikan serangkaian plugin kecil inline tanpa menyiapkan repositori marketplace yang dihosting. Plugin yang terdaftar di sini harus mereferensikan sumber eksternal seperti GitHub atau npm. Anda masih perlu mengaktifkan setiap plugin secara terpisah dalam `enabledPlugins`.

910 910 


934 `strictKnownMarketplaces`934 `strictKnownMarketplaces`

935</h4>935</h4>

936 936 

937**Pengaturan yang dikelola saja**: Mengontrol marketplace plugin mana yang diizinkan pengguna untuk ditambahkan dan menginstal plugin darinya. Pengaturan ini hanya dapat dikonfigurasi dalam [pengaturan yang dikelola](/id/settings#settings-files) dan memberikan administrator kontrol ketat atas sumber marketplace.937**Pengaturan yang dikelola saja**: Mengontrol marketplace plugin mana yang diizinkan pengguna untuk ditambahkan dan menginstal plugin darinya. Pengaturan ini hanya dapat dikonfigurasi dalam [pengaturan yang dikelola](/docs/id/settings#settings-files) dan memberikan administrator kontrol ketat atas sumber marketplace.

938 938 

939**Lokasi file pengaturan yang dikelola**:939**Lokasi file pengaturan yang dikelola**:

940 940 


989Bidang: `url` (diperlukan), `headers` (opsional: header HTTP untuk akses terautentikasi)989Bidang: `url` (diperlukan), `headers` (opsional: header HTTP untuk akses terautentikasi)

990 990 

991<Note>991<Note>

992 Marketplace berbasis URL hanya mengunduh file `marketplace.json`. Mereka tidak mengunduh file plugin dari server. Plugin dalam marketplace berbasis URL harus menggunakan sumber eksternal (GitHub, npm, atau URL git) daripada jalur relatif. Untuk plugin dengan jalur relatif, gunakan marketplace berbasis Git sebagai gantinya. Lihat [Troubleshooting](/id/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces) untuk detail.992 Marketplace berbasis URL hanya mengunduh file `marketplace.json`. Mereka tidak mengunduh file plugin dari server. Plugin dalam marketplace berbasis URL harus menggunakan sumber eksternal (GitHub, npm, atau URL git) daripada jalur relatif. Untuk plugin dengan jalur relatif, gunakan marketplace berbasis Git sebagai gantinya. Lihat [Troubleshooting](/docs/id/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces) untuk detail.

993</Note>993</Note>

994 994 

9954. **Paket NPM**:9954. **Paket NPM**:


1179* Pembatasan diterapkan pada penambahan marketplace dan pada instalasi plugin, pembaruan, penyegaran, dan pembaruan otomatis. Marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk menginstal atau memperbarui plugin setelah sumbernya tidak lagi cocok dengan daftar putih1179* Pembatasan diterapkan pada penambahan marketplace dan pada instalasi plugin, pembaruan, penyegaran, dan pembaruan otomatis. Marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk menginstal atau memperbarui plugin setelah sumbernya tidak lagi cocok dengan daftar putih

1180* Pengaturan yang dikelola memiliki prioritas tertinggi dan tidak dapat ditimpa1180* Pengaturan yang dikelola memiliki prioritas tertinggi dan tidak dapat ditimpa

1181 1181 

1182Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) untuk dokumentasi yang menghadap pengguna.1182Lihat [Pembatasan marketplace yang dikelola](/docs/id/plugin-marketplaces#managed-marketplace-restrictions) untuk dokumentasi yang menghadap pengguna.

1183 1183 

1184<h4 id="strictpluginonlycustomization">1184<h4 id="strictpluginonlycustomization">

1185 `strictPluginOnlyCustomization`1185 `strictPluginOnlyCustomization`


1202| `skills` | `~/.claude/skills/`, `.claude/skills/` | Plugin skills, bundled skills, skills dalam direktori kebijakan yang dikelola |1202| `skills` | `~/.claude/skills/`, `.claude/skills/` | Plugin skills, bundled skills, skills dalam direktori kebijakan yang dikelola |

1203| `agents` | `~/.claude/agents/`, `.claude/agents/` | Plugin agents, built-in agents, agents dalam direktori kebijakan yang dikelola |1203| `agents` | `~/.claude/agents/`, `.claude/agents/` | Plugin agents, built-in agents, agents dalam direktori kebijakan yang dikelola |

1204| `hooks` | Hooks dalam pengaturan `settings.json` pengguna, proyek, dan lokal | Plugin hooks, hooks dalam pengaturan yang dikelola |1204| `hooks` | Hooks dalam pengaturan `settings.json` pengguna, proyek, dan lokal | Plugin hooks, hooks dalam pengaturan yang dikelola |

1205| `mcp` | Servers dalam `~/.claude.json` dan `.mcp.json` | Plugin MCP servers, servers [`managed-mcp.json`](/id/managed-mcp) |1205| `mcp` | Servers dalam `~/.claude.json` dan `.mcp.json` | Plugin MCP servers, servers [`managed-mcp.json`](/docs/id/managed-mcp) |

1206 1206 

1207Nama permukaan yang tidak dikenali oleh versi Claude Code diabaikan daripada gagal file pengaturan, jadi Anda dapat menambahkan nama permukaan baru sebelum semua klien diperbarui.1207Nama permukaan yang tidak dikenali oleh versi Claude Code diabaikan daripada gagal file pengaturan, jadi Anda dapat menambahkan nama permukaan baru sebelum semua klien diperbarui.

1208 1208 


1218* Lihat detail plugin (skills, agents, hooks yang disediakan)1218* Lihat detail plugin (skills, agents, hooks yang disediakan)

1219* Tambah/hapus marketplace1219* Tambah/hapus marketplace

1220 1220 

1221Pelajari lebih lanjut tentang sistem plugin dalam [dokumentasi plugins](/id/plugins).1221Pelajari lebih lanjut tentang sistem plugin dalam [dokumentasi plugins](/docs/id/plugins).

1222 1222 

1223<h2 id="environment-variables">1223<h2 id="environment-variables">

1224 Variabel lingkungan1224 Variabel lingkungan


1226 1226 

1227Variabel lingkungan memungkinkan Anda mengontrol perilaku Claude Code tanpa mengedit file pengaturan. Variabel apa pun juga dapat dikonfigurasi dalam [`settings.json`](#available-settings) di bawah kunci `env` untuk menerapkannya ke setiap sesi atau mengulanginya ke tim Anda.1227Variabel lingkungan memungkinkan Anda mengontrol perilaku Claude Code tanpa mengedit file pengaturan. Variabel apa pun juga dapat dikonfigurasi dalam [`settings.json`](#available-settings) di bawah kunci `env` untuk menerapkannya ke setiap sesi atau mengulanginya ke tim Anda.

1228 1228 

1229Lihat [referensi variabel lingkungan](/id/env-vars) untuk daftar lengkap.1229Lihat [referensi variabel lingkungan](/docs/id/env-vars) untuk daftar lengkap.

1230 1230 

1231<h2 id="tools-available-to-claude">1231<h2 id="tools-available-to-claude">

1232 Tools yang tersedia untuk Claude1232 Tools yang tersedia untuk Claude


1234 1234 

1235Claude Code memiliki akses ke serangkaian tools untuk membaca, mengedit, mencari, menjalankan perintah, dan mengorkestrasi subagents. Nama tool adalah string tepat yang Anda gunakan dalam aturan izin dan pencocokan hook.1235Claude Code memiliki akses ke serangkaian tools untuk membaca, mengedit, mencari, menjalankan perintah, dan mengorkestrasi subagents. Nama tool adalah string tepat yang Anda gunakan dalam aturan izin dan pencocokan hook.

1236 1236 

1237Lihat [referensi tools](/id/tools-reference) untuk daftar lengkap dan detail perilaku tool Bash.1237Lihat [referensi tools](/docs/id/tools-reference) untuk daftar lengkap dan detail perilaku tool Bash.

1238 1238 

1239<h2 id="see-also">1239<h2 id="see-also">

1240 Lihat juga1240 Lihat juga

1241</h2>1241</h2>

1242 1242 

1243* [Permissions](/id/permissions): sistem izin, sintaks aturan, pola spesifik tool, dan kebijakan yang dikelola1243* [Permissions](/docs/id/permissions): sistem izin, sintaks aturan, pola spesifik tool, dan kebijakan yang dikelola

1244* [Authentication](/id/authentication): atur akses pengguna ke Claude Code1244* [Authentication](/docs/id/authentication): atur akses pengguna ke Claude Code

1245* [Debug your configuration](/id/debug-your-config): diagnosis mengapa pengaturan, hook, atau server MCP tidak berlaku1245* [Debug your configuration](/docs/id/debug-your-config): diagnosis mengapa pengaturan, hook, atau server MCP tidak berlaku

1246* [Troubleshoot installation and login](/id/troubleshoot-install): instalasi, autentikasi, dan masalah platform1246* [Troubleshoot installation and login](/docs/id/troubleshoot-install): instalasi, autentikasi, dan masalah platform

skills.md +44 −44

Details

11Buat skill ketika Anda terus menempel instruksi yang sama, checklist, atau prosedur multi-langkah ke dalam chat, atau ketika bagian dari CLAUDE.md telah berkembang menjadi prosedur daripada fakta. Tidak seperti konten CLAUDE.md, badan skill hanya dimuat saat digunakan, jadi materi referensi yang panjang hampir tidak ada biayanya sampai Anda membutuhkannya.11Buat skill ketika Anda terus menempel instruksi yang sama, checklist, atau prosedur multi-langkah ke dalam chat, atau ketika bagian dari CLAUDE.md telah berkembang menjadi prosedur daripada fakta. Tidak seperti konten CLAUDE.md, badan skill hanya dimuat saat digunakan, jadi materi referensi yang panjang hampir tidak ada biayanya sampai Anda membutuhkannya.

12 12 

13<Note>13<Note>

14 Untuk perintah bawaan seperti `/help` dan `/compact`, dan skills bundel seperti `/debug` dan `/code-review`, lihat [referensi perintah](/id/commands).14 Untuk perintah bawaan seperti `/help` dan `/compact`, dan skills bundel seperti `/debug` dan `/code-review`, lihat [referensi perintah](/docs/id/commands).

15 15 

16 **Perintah kustom telah digabungkan ke dalam skills.** File di `.claude/commands/deploy.md` dan skill di `.claude/skills/deploy/SKILL.md` keduanya membuat `/deploy` dan bekerja dengan cara yang sama. File `.claude/commands/` yang ada tetap berfungsi. Skills menambahkan fitur opsional: direktori untuk file pendukung, frontmatter untuk [mengontrol apakah Anda atau Claude menginvokasinya](#control-who-invokes-a-skill), dan kemampuan bagi Claude untuk memuatnya secara otomatis saat relevan.16 **Perintah kustom telah digabungkan ke dalam skills.** File di `.claude/commands/deploy.md` dan skill di `.claude/skills/deploy/SKILL.md` keduanya membuat `/deploy` dan bekerja dengan cara yang sama. File `.claude/commands/` yang ada tetap berfungsi. Skills menambahkan fitur opsional: direktori untuk file pendukung, frontmatter untuk [mengontrol apakah Anda atau Claude menginvokasinya](#control-who-invokes-a-skill), dan kemampuan bagi Claude untuk memuatnya secara otomatis saat relevan.

17</Note>17</Note>


22 Skills bundel22 Skills bundel

23</h2>23</h2>

24 24 

25Claude Code menyertakan serangkaian skills bundel yang tersedia di setiap sesi kecuali dinonaktifkan dengan pengaturan [`disableBundledSkills`](/id/settings#available-settings), termasuk `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop`, dan `/claude-api`. Tidak seperti sebagian besar perintah bawaan, yang menjalankan logika tetap secara langsung, skills bundel berbasis prompt: mereka memberikan Claude instruksi terperinci dan membiarkannya mengorkestrasi pekerjaan menggunakan tools-nya. Anda menginvokasinya dengan cara yang sama seperti skill lainnya, dengan mengetik `/` diikuti dengan nama skill.25Claude Code menyertakan serangkaian skills bundel yang tersedia di setiap sesi kecuali dinonaktifkan dengan pengaturan [`disableBundledSkills`](/docs/id/settings#available-settings), termasuk `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop`, dan `/claude-api`. Tidak seperti sebagian besar perintah bawaan, yang menjalankan logika tetap secara langsung, skills bundel berbasis prompt: mereka memberikan Claude instruksi terperinci dan membiarkannya mengorkestrasi pekerjaan menggunakan tools-nya. Anda menginvokasinya dengan cara yang sama seperti skill lainnya, dengan mengetik `/` diikuti dengan nama skill.

26 26 

27Pengaturan checkup [`/doctor`](/id/commands#all-commands) adalah satu-satunya pengecualian untuk `disableBundledSkills` di Claude Code v2.1.205 dan lebih baru: tetap dapat diketik ketika pengaturan aktif. Untuk menyembunyikannya, atur variabel lingkungan `DISABLE_DOCTOR_COMMAND` atau entri [`skillOverrides`](#override-skill-visibility-from-settings) dari `"doctor": "off"`. Sebelum v2.1.205, `/doctor` adalah perintah bawaan daripada skill bundel.27Pengaturan checkup [`/doctor`](/docs/id/commands#all-commands) adalah satu-satunya pengecualian untuk `disableBundledSkills` di Claude Code v2.1.205 dan lebih baru: tetap dapat diketik ketika pengaturan aktif. Untuk menyembunyikannya, atur variabel lingkungan `DISABLE_DOCTOR_COMMAND` atau entri [`skillOverrides`](#override-skill-visibility-from-settings) dari `"doctor": "off"`. Sebelum v2.1.205, `/doctor` adalah perintah bawaan daripada skill bundel.

28 28 

29Skills bundel terdaftar bersama perintah bawaan dalam [referensi perintah](/id/commands), ditandai **Skill** di kolom Tujuan.29Skills bundel terdaftar bersama perintah bawaan dalam [referensi perintah](/docs/id/commands), ditandai **Skill** di kolom Tujuan.

30 30 

31<h3 id="run-and-verify-your-app">31<h3 id="run-and-verify-your-app">

32 Jalankan dan verifikasi aplikasi Anda32 Jalankan dan verifikasi aplikasi Anda


40| `/verify` | Bangun dan jalankan aplikasi Anda untuk mengonfirmasi perubahan kode melakukan apa yang seharusnya, tanpa kembali ke tes atau pemeriksaan tipe |40| `/verify` | Bangun dan jalankan aplikasi Anda untuk mengonfirmasi perubahan kode melakukan apa yang seharusnya, tanpa kembali ke tes atau pemeriksaan tipe |

41| `/run-skill-generator` | Ajarkan `/run` dan `/verify` cara membangun dan meluncurkan proyek Anda |41| `/run-skill-generator` | Ajarkan `/run` dan `/verify` cara membangun dan meluncurkan proyek Anda |

42 42 

43{/* min-version: 2.1.145 */}Ketiga skills memerlukan Claude Code v2.1.145 atau lebih baru.43Ketiga skills memerlukan Claude Code v2.1.145 atau lebih baru.

44 44 

45`/run` dan `/verify` bekerja tanpa pengaturan. Mereka menyimpulkan peluncuran dari jenis proyek Anda (CLI, server, TUI, berbasis browser) dan dari apa yang ada di README, `package.json`, atau `Makefile` Anda. Kesimpulan itu menjadi tidak dapat diandalkan untuk proyek yang memerlukan apa pun di luar peluncuran standar: database, file env, sesi grafis, build multi-langkah.45`/run` dan `/verify` bekerja tanpa pengaturan. Mereka menyimpulkan peluncuran dari jenis proyek Anda (CLI, server, TUI, berbasis browser) dan dari apa yang ada di README, `package.json`, atau `Makefile` Anda. Kesimpulan itu menjadi tidak dapat diandalkan untuk proyek yang memerlukan apa pun di luar peluncuran standar: database, file env, sesi grafis, build multi-langkah.

46 46 


114 114 

115| Lokasi | Path | Berlaku untuk |115| Lokasi | Path | Berlaku untuk |

116| :--------- | :-------------------------------------------------------- | :-------------------------------- |116| :--------- | :-------------------------------------------------------- | :-------------------------------- |

117| Enterprise | Lihat [pengaturan terkelola](/id/settings#settings-files) | Semua pengguna di organisasi Anda |117| Enterprise | Lihat [pengaturan terkelola](/docs/id/settings#settings-files) | Semua pengguna di organisasi Anda |

118| Pribadi | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda |118| Pribadi | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda |

119| Proyek | `.claude/skills/<skill-name>/SKILL.md` | Proyek ini saja |119| Proyek | `.claude/skills/<skill-name>/SKILL.md` | Proyek ini saja |

120| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Tempat plugin diaktifkan |120| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Tempat plugin diaktifkan |


133 133 

134Ketika Anda atau Claude menginvokasinya dengan nama yang tidak memenuhi, skill akar proyek dimuat, dan Claude Code menambahkan daftar varian yang memenuhi direktori ke kontennya dengan instruksi untuk juga menginvokasinya varian apa pun yang direktorinya menyimpan file yang sedang dikerjakan Claude. Skill bersarang oleh karena itu masih berlaku untuk pekerjaan di direktorinya ketika hanya nama yang tidak memenuhi yang diinvokasinya. Memerlukan Claude Code v2.1.203 atau lebih baru.134Ketika Anda atau Claude menginvokasinya dengan nama yang tidak memenuhi, skill akar proyek dimuat, dan Claude Code menambahkan daftar varian yang memenuhi direktori ke kontennya dengan instruksi untuk juga menginvokasinya varian apa pun yang direktorinya menyimpan file yang sedang dikerjakan Claude. Skill bersarang oleh karena itu masih berlaku untuk pekerjaan di direktorinya ketika hanya nama yang tidak memenuhi yang diinvokasinya. Memerlukan Claude Code v2.1.203 atau lebih baru.

135 135 

136Entri `<skill-name>` di lokasi enterprise, pribadi, atau proyek dapat berupa symlink ke direktori di tempat lain di disk. Claude Code mengikuti symlink dan membaca `SKILL.md` dari direktori target, dan jika target yang sama dapat dijangkau dari lebih dari satu lokasi, Claude Code memuat skill sekali. Skills plugin menangani symlink secara berbeda; lihat [Bagikan file dalam marketplace dengan symlinks](/id/plugins-reference#share-files-within-a-marketplace-with-symlinks).136Entri `<skill-name>` di lokasi enterprise, pribadi, atau proyek dapat berupa symlink ke direktori di tempat lain di disk. Claude Code mengikuti symlink dan membaca `SKILL.md` dari direktori target, dan jika target yang sama dapat dijangkau dari lebih dari satu lokasi, Claude Code memuat skill sekali. Skills plugin menangani symlink secara berbeda; lihat [Bagikan file dalam marketplace dengan symlinks](/docs/id/plugins-reference#share-files-within-a-marketplace-with-symlinks).

137 137 

138<Note>138<Note>

139 Tambahkan `.claude-plugin/plugin.json` ke folder skill dan itu dimuat sebagai [plugin](/id/plugins-reference#skills-directory-plugins) bernama `<name>@skills-dir`, sehingga dapat menggabungkan agents, hooks, dan server MCP. Di `.claude/skills/` proyek, ini memerlukan menerima dialog kepercayaan workspace terlebih dahulu.139 Tambahkan `.claude-plugin/plugin.json` ke folder skill dan itu dimuat sebagai [plugin](/docs/id/plugins-reference#skills-directory-plugins) bernama `<name>@skills-dir`, sehingga dapat menggabungkan agents, hooks, dan server MCP. Di `.claude/skills/` proyek, ini memerlukan menerima dialog kepercayaan workspace terlebih dahulu.

140</Note>140</Note>

141 141 

142<h4 id="live-change-detection">142<h4 id="live-change-detection">


146Claude Code memantau direktori skill untuk perubahan file. Menambahkan, mengedit, atau menghapus skill di bawah `~/.claude/skills/`, proyek `.claude/skills/`, atau `.claude/skills/` di dalam direktori `--add-dir` berlaku dalam sesi saat ini tanpa memulai ulang. Membuat direktori skills tingkat atas yang tidak ada saat sesi dimulai memerlukan memulai ulang Claude Code sehingga direktori baru dapat dipantau.146Claude Code memantau direktori skill untuk perubahan file. Menambahkan, mengedit, atau menghapus skill di bawah `~/.claude/skills/`, proyek `.claude/skills/`, atau `.claude/skills/` di dalam direktori `--add-dir` berlaku dalam sesi saat ini tanpa memulai ulang. Membuat direktori skills tingkat atas yang tidak ada saat sesi dimulai memerlukan memulai ulang Claude Code sehingga direktori baru dapat dipantau.

147 147 

148<Note>148<Note>

149 Deteksi perubahan langsung mencakup teks `SKILL.md` saja. Untuk folder skill yang juga merupakan [plugin](/id/plugins-reference#skills-directory-plugins), perubahan pada `hooks/`, `.mcp.json`, `agents/`, dan `output-styles/` memerlukan `/reload-plugins` untuk diterapkan.149 Deteksi perubahan langsung mencakup teks `SKILL.md` saja. Untuk folder skill yang juga merupakan [plugin](/docs/id/plugins-reference#skills-directory-plugins), perubahan pada `hooks/`, `.mcp.json`, `agents/`, dan `output-styles/` memerlukan `/reload-plugins` untuk diterapkan.

150</Note>150</Note>

151 151 

152<h4 id="automatic-discovery-from-parent-and-nested-directories">152<h4 id="automatic-discovery-from-parent-and-nested-directories">


177 Skills dari direktori tambahan177 Skills dari direktori tambahan

178</h4>178</h4>

179 179 

180Bendera `--add-dir` dan perintah `/add-dir` [memberikan akses file](/id/permissions#additional-directories-grant-file-access-not-configuration) daripada penemuan konfigurasi, tetapi skills adalah pengecualian: `.claude/skills/` dalam direktori yang ditambahkan dimuat secara otomatis. Pengecualian ini hanya berlaku untuk `--add-dir` dan `/add-dir`. Pengaturan `permissions.additionalDirectories` di `settings.json` memberikan akses file saja dan tidak memuat skills. Lihat [Deteksi perubahan langsung](#live-change-detection) untuk bagaimana edit diambil selama sesi.180Bendera `--add-dir` dan perintah `/add-dir` [memberikan akses file](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) daripada penemuan konfigurasi, tetapi skills adalah pengecualian: `.claude/skills/` dalam direktori yang ditambahkan dimuat secara otomatis. Pengecualian ini hanya berlaku untuk `--add-dir` dan `/add-dir`. Pengaturan `permissions.additionalDirectories` di `settings.json` memberikan akses file saja dan tidak memuat skills. Lihat [Deteksi perubahan langsung](#live-change-detection) untuk bagaimana edit diambil selama sesi.

181 181 

182Konfigurasi `.claude/` lainnya seperti perintah dan gaya output tidak dimuat dari direktori tambahan. Lihat [tabel pengecualian](/id/permissions#additional-directories-grant-file-access-not-configuration) untuk daftar lengkap apa yang dimuat dan tidak dimuat, serta cara yang direkomendasikan untuk berbagi konfigurasi di seluruh proyek.182Konfigurasi `.claude/` lainnya seperti perintah dan gaya output tidak dimuat dari direktori tambahan. Lihat [tabel pengecualian](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) untuk daftar lengkap apa yang dimuat dan tidak dimuat, serta cara yang direkomendasikan untuk berbagi konfigurasi di seluruh proyek.

183 183 

184<Note>184<Note>

185 File CLAUDE.md dari direktori `--add-dir` tidak dimuat secara default. Untuk memuatnya, atur `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. Lihat [Muat dari direktori tambahan](/id/memory#load-from-additional-directories).185 File CLAUDE.md dari direktori `--add-dir` tidak dimuat secara default. Untuk memuatnya, atur `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. Lihat [Muat dari direktori tambahan](/docs/id/memory#load-from-additional-directories).

186</Note>186</Note>

187 187 

188<h2 id="configure-skills">188<h2 id="configure-skills">


229 229 

230`SKILL.md` Anda dapat berisi apa pun, tetapi memikirkan bagaimana Anda ingin skill diinvokasinya (oleh Anda, oleh Claude, atau keduanya) dan di mana Anda ingin menjalankannya (inline atau di subagent) membantu memandu apa yang harus disertakan. Untuk skills kompleks, Anda juga dapat [menambahkan file pendukung](#add-supporting-files) untuk menjaga skill utama tetap fokus.230`SKILL.md` Anda dapat berisi apa pun, tetapi memikirkan bagaimana Anda ingin skill diinvokasinya (oleh Anda, oleh Claude, atau keduanya) dan di mana Anda ingin menjalankannya (inline atau di subagent) membantu memandu apa yang harus disertakan. Untuk skills kompleks, Anda juga dapat [menambahkan file pendukung](#add-supporting-files) untuk menjaga skill utama tetap fokus.

231 231 

232Jaga isi itu sendiri tetap ringkas. Setelah skill dimuat, kontennya [tetap dalam konteks di seluruh giliran](#skill-content-lifecycle), jadi setiap baris adalah biaya token berulang. Nyatakan apa yang harus dilakukan daripada menceritakan bagaimana atau mengapa, dan terapkan tes keringkasan yang sama yang akan Anda lakukan untuk [konten CLAUDE.md](/id/best-practices#write-an-effective-claude-md).232Jaga isi itu sendiri tetap ringkas. Setelah skill dimuat, kontennya [tetap dalam konteks di seluruh giliran](#skill-content-lifecycle), jadi setiap baris adalah biaya token berulang. Nyatakan apa yang harus dilakukan daripada menceritakan bagaimana atau mengapa, dan terapkan tes keringkasan yang sama yang akan Anda lakukan untuk [konten CLAUDE.md](/docs/id/best-practices#write-an-effective-claude-md).

233 233 

234<h3 id="frontmatter-reference">234<h3 id="frontmatter-reference">

235 Referensi frontmatter235 Referensi frontmatter


257| `when_to_use` | Tidak | Konteks tambahan untuk kapan Claude harus menginvokasinya skill, seperti frasa pemicu atau permintaan contoh. Ditambahkan ke `description` dalam daftar skill dan dihitung terhadap batas 1.536 karakter. |257| `when_to_use` | Tidak | Konteks tambahan untuk kapan Claude harus menginvokasinya skill, seperti frasa pemicu atau permintaan contoh. Ditambahkan ke `description` dalam daftar skill dan dihitung terhadap batas 1.536 karakter. |

258| `argument-hint` | Tidak | Petunjuk yang ditampilkan selama autocomplete untuk menunjukkan argumen yang diharapkan. Contoh: `[issue-number]` atau `[filename] [format]`. |258| `argument-hint` | Tidak | Petunjuk yang ditampilkan selama autocomplete untuk menunjukkan argumen yang diharapkan. Contoh: `[issue-number]` atau `[filename] [format]`. |

259| `arguments` | Tidak | Argumen posisional bernama untuk [substitusi `$name`](#available-string-substitutions) dalam konten skill. Menerima string yang dipisahkan spasi atau daftar YAML. Nama memetakan ke posisi argumen secara berurutan. |259| `arguments` | Tidak | Argumen posisional bernama untuk [substitusi `$name`](#available-string-substitutions) dalam konten skill. Menerima string yang dipisahkan spasi atau daftar YAML. Nama memetakan ke posisi argumen secara berurutan. |

260| `disable-model-invocation` | Tidak | Atur ke `true` untuk mencegah Claude memuat skill ini secara otomatis. Gunakan untuk workflow yang ingin Anda picu secara manual dengan `/name`. Juga mencegah skill dari [dimuat sebelumnya ke dalam subagents](/id/sub-agents#preload-skills-into-subagents). Mulai dari v2.1.196, juga mencegah skill berjalan saat [tugas terjadwal](/id/scheduled-tasks) dijalankan dengan skill sebagai promptnya. Default: `false`. |260| `disable-model-invocation` | Tidak | Atur ke `true` untuk mencegah Claude memuat skill ini secara otomatis. Gunakan untuk workflow yang ingin Anda picu secara manual dengan `/name`. Juga mencegah skill dari [dimuat sebelumnya ke dalam subagents](/docs/id/sub-agents#preload-skills-into-subagents). Mulai dari v2.1.196, juga mencegah skill berjalan saat [tugas terjadwal](/docs/id/scheduled-tasks) dijalankan dengan skill sebagai promptnya. Default: `false`. |

261| `user-invocable` | Tidak | Atur ke `false` untuk menyembunyikan dari menu `/`. Gunakan untuk pengetahuan latar belakang yang tidak boleh diinvokasinya pengguna secara langsung. Default: `true`. |261| `user-invocable` | Tidak | Atur ke `false` untuk menyembunyikan dari menu `/`. Gunakan untuk pengetahuan latar belakang yang tidak boleh diinvokasinya pengguna secara langsung. Default: `true`. |

262| `allowed-tools` | Tidak | Tools yang dapat digunakan Claude tanpa meminta izin saat skill ini aktif. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. |262| `allowed-tools` | Tidak | Tools yang dapat digunakan Claude tanpa meminta izin saat skill ini aktif. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. |

263| `disallowed-tools` | Tidak | Tools yang dihapus dari kumpulan tools yang tersedia Claude saat skill ini aktif. Gunakan untuk skills otonom yang tidak boleh memanggil tools tertentu, seperti `AskUserQuestion` untuk loop latar belakang. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. Pembatasan dihapus saat Anda mengirim pesan berikutnya. |263| `disallowed-tools` | Tidak | Tools yang dihapus dari kumpulan tools yang tersedia Claude saat skill ini aktif. Gunakan untuk skills otonom yang tidak boleh memanggil tools tertentu, seperti `AskUserQuestion` untuk loop latar belakang. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. Pembatasan dihapus saat Anda mengirim pesan berikutnya. |

264| `model` | Tidak | Model yang digunakan saat skill ini aktif. Penggantian berlaku untuk sisa giliran saat ini dan tidak disimpan ke pengaturan; model sesi dilanjutkan pada prompt Anda berikutnya. Menerima nilai yang sama seperti [`/model`](/id/model-config), atau `inherit` untuk menjaga model aktif. Nilai yang dikecualikan oleh allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda tidak digunakan dan sesi menjaga model saat ini. |264| `model` | Tidak | Model yang digunakan saat skill ini aktif. Penggantian berlaku untuk sisa giliran saat ini dan tidak disimpan ke pengaturan; model sesi dilanjutkan pada prompt Anda berikutnya. Menerima nilai yang sama seperti [`/model`](/docs/id/model-config), atau `inherit` untuk menjaga model aktif. Nilai yang dikecualikan oleh allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda tidak digunakan dan sesi menjaga model saat ini. |

265| `effort` | Tidak | [Effort level](/id/model-config#adjust-effort-level) saat skill ini aktif. Mengganti effort level sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; level yang tersedia tergantung pada model. |265| `effort` | Tidak | [Effort level](/docs/id/model-config#adjust-effort-level) saat skill ini aktif. Mengganti effort level sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; level yang tersedia tergantung pada model. |

266| `context` | Tidak | Atur ke `fork` untuk menjalankan dalam konteks subagent yang di-fork. |266| `context` | Tidak | Atur ke `fork` untuk menjalankan dalam konteks subagent yang di-fork. |

267| `agent` | Tidak | Jenis subagent mana yang digunakan saat `context: fork` diatur. |267| `agent` | Tidak | Jenis subagent mana yang digunakan saat `context: fork` diatur. |

268| `hooks` | Tidak | Hooks yang dibatasi pada lifecycle skill ini. Lihat [Hooks dalam skills dan agents](/id/hooks#hooks-in-skills-and-agents) untuk format konfigurasi. |268| `hooks` | Tidak | Hooks yang dibatasi pada lifecycle skill ini. Lihat [Hooks dalam skills dan agents](/docs/id/hooks#hooks-in-skills-and-agents) untuk format konfigurasi. |

269| `paths` | Tidak | Pola glob yang membatasi kapan skill ini diaktifkan. Menerima string yang dipisahkan koma atau daftar YAML. Ketika diatur, Claude memuat skill secara otomatis hanya saat bekerja dengan file yang cocok dengan pola. Menggunakan format yang sama seperti [aturan khusus path](/id/memory#path-specific-rules). |269| `paths` | Tidak | Pola glob yang membatasi kapan skill ini diaktifkan. Menerima string yang dipisahkan koma atau daftar YAML. Ketika diatur, Claude memuat skill secara otomatis hanya saat bekerja dengan file yang cocok dengan pola. Menggunakan format yang sama seperti [aturan khusus path](/docs/id/memory#path-specific-rules). |

270| `shell` | Tidak | Shell yang digunakan untuk `` !`command` `` dan ` ```! ` blocks dalam skill ini. Menerima `bash` (default) atau `powershell`. Mengatur `powershell` menjalankan perintah shell inline melalui PowerShell di Windows. Memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. |270| `shell` | Tidak | Shell yang digunakan untuk `` !`command` `` dan ` ```! ` blocks dalam skill ini. Menerima `bash` (default) atau `powershell`. Mengatur `powershell` menjalankan perintah shell inline melalui PowerShell di Windows. Memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. |

271 271 

272<h4 id="how-a-skill-gets-its-command-name">272<h4 id="how-a-skill-gets-its-command-name">


283| [Bersarang](#where-skills-live) direktori `.claude/skills/`, ketika nama bentrok dengan skill lain | Jalur subdirektori relatif terhadap direktori kerja, kemudian nama direktori skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |283| [Bersarang](#where-skills-live) direktori `.claude/skills/`, ketika nama bentrok dengan skill lain | Jalur subdirektori relatif terhadap direktori kerja, kemudian nama direktori skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

284| File di bawah `.claude/commands/` | Nama file tanpa ekstensi | `.claude/commands/deploy.md` → `/deploy` |284| File di bawah `.claude/commands/` | Nama file tanpa ekstensi | `.claude/commands/deploy.md` → `/deploy` |

285| Subdirektori `skills/` plugin | Nama direktori, diberi namespace oleh plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |285| Subdirektori `skills/` plugin | Nama direktori, diberi namespace oleh plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |

286| Plugin root `SKILL.md` | Frontmatter `name`, dengan nama direktori plugin sebagai fallback | `my-plugin/SKILL.md` dengan `name: review` → `/my-plugin:review`. Lihat [Aturan perilaku path](/id/plugins-reference#path-behavior-rules) |286| Plugin root `SKILL.md` | Frontmatter `name`, dengan nama direktori plugin sebagai fallback | `my-plugin/SKILL.md` dengan `name: review` → `/my-plugin:review`. Lihat [Aturan perilaku path](/docs/id/plugins-reference#path-behavior-rules) |

287 287 

288Kasus plugin-root adalah satu-satunya tempat di mana `name` menetapkan nama perintah, karena tidak ada direktori skill untuk mengambilnya. Jika `name` tidak diatur dalam frontmatter, nama direktori plugin digunakan sebagai gantinya.288Kasus plugin-root adalah satu-satunya tempat di mana `name` menetapkan nama perintah, karena tidak ada direktori skill untuk mengambilnya. Jika `name` tidak diatur dalam frontmatter, nama direktori plugin digunakan sebagai gantinya.

289 289 


302| `${CLAUDE_SESSION_ID}` | ID sesi saat ini. Berguna untuk logging, membuat file khusus sesi, atau mengkorelasikan output skill dengan sesi. |302| `${CLAUDE_SESSION_ID}` | ID sesi saat ini. Berguna untuk logging, membuat file khusus sesi, atau mengkorelasikan output skill dengan sesi. |

303| `${CLAUDE_EFFORT}` | Effort level saat ini: `low`, `medium`, `high`, `xhigh`, atau `max`. Ultracode bukan level yang berbeda dan dilaporkan sebagai `xhigh`. Gunakan ini untuk menyesuaikan instruksi skill dengan pengaturan effort aktif. |303| `${CLAUDE_EFFORT}` | Effort level saat ini: `low`, `medium`, `high`, `xhigh`, atau `max`. Ultracode bukan level yang berbeda dan dilaporkan sebagai `xhigh`. Gunakan ini untuk menyesuaikan instruksi skill dengan pengaturan effort aktif. |

304| `${CLAUDE_SKILL_DIR}` | Direktori yang berisi file `SKILL.md` skill. Untuk skills plugin, ini adalah subdirektori skill dalam plugin, bukan root plugin. Gunakan ini dalam perintah injeksi bash untuk mereferensikan script atau file yang dikemas dengan skill, terlepas dari direktori kerja saat ini. |304| `${CLAUDE_SKILL_DIR}` | Direktori yang berisi file `SKILL.md` skill. Untuk skills plugin, ini adalah subdirektori skill dalam plugin, bukan root plugin. Gunakan ini dalam perintah injeksi bash untuk mereferensikan script atau file yang dikemas dengan skill, terlepas dari direktori kerja saat ini. |

305| `${CLAUDE_PROJECT_DIR}` | Direktori root proyek. Ini adalah path yang sama yang diterima [hooks](/id/hooks#reference-scripts-by-path) dan server MCP sebagai `CLAUDE_PROJECT_DIR`. Gunakan ini untuk mereferensikan script atau file lokal proyek, seperti `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, independen dari tempat skill diinstal. |305| `${CLAUDE_PROJECT_DIR}` | Direktori root proyek. Ini adalah path yang sama yang diterima [hooks](/docs/id/hooks#reference-scripts-by-path) dan server MCP sebagai `CLAUDE_PROJECT_DIR`. Gunakan ini untuk mereferensikan script atau file lokal proyek, seperti `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, independen dari tempat skill diinstal. |

306 306 

307Substitusi `${CLAUDE_PROJECT_DIR}` memerlukan Claude Code v2.1.196 atau lebih baru. Ini berlaku untuk body skill dan frontmatter [`allowed-tools`](#frontmatter-reference), jadi aturan izin seperti `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)` diselesaikan ke path yang sama yang digunakan body skill.307Substitusi `${CLAUDE_PROJECT_DIR}` memerlukan Claude Code v2.1.196 atau lebih baru. Ini berlaku untuk body skill dan frontmatter [`allowed-tools`](#frontmatter-reference), jadi aturan izin seperti `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)` diselesaikan ke path yang sama yang digunakan body skill.

308 308 


385| `user-invocable: false` | Tidak | Ya | Deskripsi selalu dalam konteks, skill penuh dimuat saat diinvokasinya |385| `user-invocable: false` | Tidak | Ya | Deskripsi selalu dalam konteks, skill penuh dimuat saat diinvokasinya |

386 386 

387<Note>387<Note>

388 Dalam sesi reguler, deskripsi skill dimuat ke dalam konteks sehingga Claude tahu apa yang tersedia, tetapi konten skill penuh hanya dimuat saat diinvokasinya. [Subagents dengan skills yang dimuat sebelumnya](/id/sub-agents#preload-skills-into-subagents) bekerja berbeda: konten skill penuh disuntikkan saat startup.388 Dalam sesi reguler, deskripsi skill dimuat ke dalam konteks sehingga Claude tahu apa yang tersedia, tetapi konten skill penuh hanya dimuat saat diinvokasinya. [Subagents dengan skills yang dimuat sebelumnya](/docs/id/sub-agents#preload-skills-into-subagents) bekerja berbeda: konten skill penuh disuntikkan saat startup.

389</Note>389</Note>

390 390 

391<h3 id="skill-content-lifecycle">391<h3 id="skill-content-lifecycle">


396 396 

397Ketika Claude menginvokasinya kembali skill yang konten yang dirender identik dengan salinan yang sudah ada dalam konteks, Claude Code menambahkan catatan singkat bahwa skill sudah dimuat daripada salinan kedua dari konten. Ketika konten yang dirender berbeda, karena argumen berubah atau perintah [konteks dinamis](#inject-dynamic-context) menghasilkan output baru, Claude Code menambahkan konten penuh lagi. Sebelum v2.1.202, setiap re-invokasi menambahkan salinan lain dari instruksi skill.397Ketika Claude menginvokasinya kembali skill yang konten yang dirender identik dengan salinan yang sudah ada dalam konteks, Claude Code menambahkan catatan singkat bahwa skill sudah dimuat daripada salinan kedua dari konten. Ketika konten yang dirender berbeda, karena argumen berubah atau perintah [konteks dinamis](#inject-dynamic-context) menghasilkan output baru, Claude Code menambahkan konten penuh lagi. Sebelum v2.1.202, setiap re-invokasi menambahkan salinan lain dari instruksi skill.

398 398 

399[Auto-compaction](/id/how-claude-code-works#when-context-fills-up) membawa skills yang diinvokasinya maju dalam anggaran token. Ketika percakapan dirangkum untuk membebaskan konteks, Claude Code melampirkan kembali invokasi skill terbaru setelah ringkasan, menjaga 5.000 token pertama dari masing-masing. Skills yang dilampirkan kembali berbagi anggaran gabungan 25.000 token. Claude Code mengisi anggaran ini mulai dari skill yang paling baru diinvokasinya, jadi skills yang lebih lama dapat dijatuhkan sepenuhnya setelah compaction jika Anda telah menginvokasinya banyak dalam satu sesi.399[Auto-compaction](/docs/id/how-claude-code-works#when-context-fills-up) membawa skills yang diinvokasinya maju dalam anggaran token. Ketika percakapan dirangkum untuk membebaskan konteks, Claude Code melampirkan kembali invokasi skill terbaru setelah ringkasan, menjaga 5.000 token pertama dari masing-masing. Skills yang dilampirkan kembali berbagi anggaran gabungan 25.000 token. Claude Code mengisi anggaran ini mulai dari skill yang paling baru diinvokasinya, jadi skills yang lebih lama dapat dijatuhkan sepenuhnya setelah compaction jika Anda telah menginvokasinya banyak dalam satu sesi.

400 400 

401Jika skill tampaknya berhenti mempengaruhi perilaku setelah respons pertama, konten biasanya masih ada dan model memilih tools atau pendekatan lain. Perkuat deskripsi skill dan instruksi sehingga model terus menyukainya, atau gunakan [hooks](/id/hooks) untuk menerapkan perilaku secara deterministik. Jika skill besar atau Anda menginvokasinya beberapa yang lain setelahnya, invokasinya kembali setelah compaction untuk mengembalikan konten penuh.401Jika skill tampaknya berhenti mempengaruhi perilaku setelah respons pertama, konten biasanya masih ada dan model memilih tools atau pendekatan lain. Perkuat deskripsi skill dan instruksi sehingga model terus menyukainya, atau gunakan [hooks](/docs/id/hooks) untuk menerapkan perilaku secara deterministik. Jika skill besar atau Anda menginvokasinya beberapa yang lain setelahnya, invokasinya kembali setelah compaction untuk mengembalikan konten penuh.

402 402 

403<h3 id="pre-approve-tools-for-a-skill">403<h3 id="pre-approve-tools-for-a-skill">

404 Pra-setujui tools untuk skill404 Pra-setujui tools untuk skill

405</h3>405</h3>

406 406 

407Bidang `allowed-tools` memberikan izin untuk tools yang terdaftar saat skill aktif, sehingga Claude dapat menggunakannya tanpa meminta persetujuan Anda. Ini tidak membatasi tools mana yang tersedia: setiap tool tetap dapat dipanggil, dan [pengaturan izin](/id/permissions) Anda masih mengatur tools yang tidak terdaftar.407Bidang `allowed-tools` memberikan izin untuk tools yang terdaftar saat skill aktif, sehingga Claude dapat menggunakannya tanpa meminta persetujuan Anda. Ini tidak membatasi tools mana yang tersedia: setiap tool tetap dapat dipanggil, dan [pengaturan izin](/docs/id/permissions) Anda masih mengatur tools yang tidak terdaftar.

408 408 

409Untuk skills yang diperiksa ke dalam direktori `.claude/skills/` proyek, `allowed-tools` berlaku setelah Anda menerima dialog kepercayaan workspace untuk folder itu, sama seperti aturan izin dalam `.claude/settings.json`. Tinjau skills proyek sebelum mempercayai repositori, karena skill dapat memberikan dirinya sendiri akses tools yang luas.409Untuk skills yang diperiksa ke dalam direktori `.claude/skills/` proyek, `allowed-tools` berlaku setelah Anda menerima dialog kepercayaan workspace untuk folder itu, sama seperti aturan izin dalam `.claude/settings.json`. Tinjau skills proyek sebelum mempercayai repositori, karena skill dapat memberikan dirinya sendiri akses tools yang luas.

410 410 


419---419---

420```420```

421 421 

422Untuk menghapus tools dari kumpulan tools yang tersedia Claude saat skill aktif, daftarkan mereka dalam `disallowed-tools` di frontmatter skill. Pembatasan dihapus saat Anda mengirim pesan berikutnya. Untuk memblokir tools di semua skills dan prompts, tambahkan aturan deny dalam [pengaturan izin](/id/permissions) Anda.422Untuk menghapus tools dari kumpulan tools yang tersedia Claude saat skill aktif, daftarkan mereka dalam `disallowed-tools` di frontmatter skill. Pembatasan dihapus saat Anda mengirim pesan berikutnya. Untuk memblokir tools di semua skills dan prompts, tambahkan aturan deny dalam [pengaturan izin](/docs/id/permissions) Anda.

423 423 

424<h3 id="pass-arguments-to-skills">424<h3 id="pass-arguments-to-skills">

425 Lewatkan argumen ke skills425 Lewatkan argumen ke skills


530```530```

531````531````

532 532 

533Untuk menonaktifkan perilaku ini untuk skills dan perintah kustom dari sumber pengguna, proyek, plugin, atau [direktori tambahan](#skills-from-additional-directories), atur `"disableSkillShellExecution": true` dalam [pengaturan](/id/settings). Setiap perintah diganti dengan `[shell command execution disabled by policy]` sebagai gantinya dijalankan. Skills bundel dan terkelola tidak terpengaruh. Pengaturan ini paling berguna dalam [pengaturan terkelola](/id/permissions#managed-settings), di mana pengguna tidak dapat menimpanya.533Untuk menonaktifkan perilaku ini untuk skills dan perintah kustom dari sumber pengguna, proyek, plugin, atau [direktori tambahan](#skills-from-additional-directories), atur `"disableSkillShellExecution": true` dalam [pengaturan](/docs/id/settings). Setiap perintah diganti dengan `[shell command execution disabled by policy]` sebagai gantinya dijalankan. Skills bundel dan terkelola tidak terpengaruh. Pengaturan ini paling berguna dalam [pengaturan terkelola](/docs/id/permissions#managed-settings), di mana pengguna tidak dapat menimpanya.

534 534 

535<Tip>535<Tip>

536 Untuk meminta penalaran yang lebih dalam saat skill berjalan, sertakan `ultrathink` di mana pun dalam konten skill. Lihat [Gunakan ultrathink untuk penalaran mendalam sekali jalan](/id/model-config#use-ultrathink-for-one-off-deep-reasoning).536 Untuk meminta penalaran yang lebih dalam saat skill berjalan, sertakan `ultrathink` di mana pun dalam konten skill. Lihat [Gunakan ultrathink untuk penalaran mendalam sekali jalan](/docs/id/model-config#use-ultrathink-for-one-off-deep-reasoning).

537</Tip>537</Tip>

538 538 

539<h3 id="run-skills-in-a-subagent">539<h3 id="run-skills-in-a-subagent">


546 `context: fork` hanya masuk akal untuk skills dengan instruksi eksplisit. Jika skill Anda berisi panduan seperti "gunakan konvensi API ini" tanpa tugas, subagent menerima panduan tetapi tidak ada prompt yang dapat ditindaklanjuti, dan kembali tanpa output yang bermakna.546 `context: fork` hanya masuk akal untuk skills dengan instruksi eksplisit. Jika skill Anda berisi panduan seperti "gunakan konvensi API ini" tanpa tugas, subagent menerima panduan tetapi tidak ada prompt yang dapat ditindaklanjuti, dan kembali tanpa output yang bermakna.

547</Warning>547</Warning>

548 548 

549Skills dan [subagents](/id/sub-agents) bekerja bersama dalam dua arah:549Skills dan [subagents](/docs/id/sub-agents) bekerja bersama dalam dua arah:

550 550 

551| Pendekatan | System prompt | Tugas | Juga memuat |551| Pendekatan | System prompt | Tugas | Juga memuat |

552| :------------------------------ | :---------------------- | :-------------------- | :------------------------------------------------------ |552| :------------------------------ | :---------------------- | :-------------------- | :------------------------------------------------------ |

553| Skill dengan `context: fork` | Dari jenis agen | Konten SKILL.md | CLAUDE.md, kecuali ketika agen adalah Explore atau Plan |553| Skill dengan `context: fork` | Dari jenis agen | Konten SKILL.md | CLAUDE.md, kecuali ketika agen adalah Explore atau Plan |

554| Subagent dengan bidang `skills` | Badan markdown subagent | Pesan delegasi Claude | Skills yang dimuat sebelumnya + CLAUDE.md |554| Subagent dengan bidang `skills` | Badan markdown subagent | Pesan delegasi Claude | Skills yang dimuat sebelumnya + CLAUDE.md |

555 555 

556Dengan `context: fork`, Anda menulis tugas dalam skill Anda dan memilih jenis agen untuk menjalankannya. Agen Explore dan Plan bawaan [melewati CLAUDE.md dan git status](/id/sub-agents#what-loads-at-startup) untuk menjaga konteks mereka tetap kecil, jadi skill yang di-fork menggunakan `agent: Explore` hanya melihat konten SKILL.md dan system prompt agen itu sendiri. Untuk kebalikannya, di mana Anda mendefinisikan subagent kustom yang menggunakan skills sebagai materi referensi, lihat [Subagents](/id/sub-agents#preload-skills-into-subagents).556Dengan `context: fork`, Anda menulis tugas dalam skill Anda dan memilih jenis agen untuk menjalankannya. Agen Explore dan Plan bawaan [melewati CLAUDE.md dan git status](/docs/id/sub-agents#what-loads-at-startup) untuk menjaga konteks mereka tetap kecil, jadi skill yang di-fork menggunakan `agent: Explore` hanya melihat konten SKILL.md dan system prompt agen itu sendiri. Untuk kebalikannya, di mana Anda mendefinisikan subagent kustom yang menggunakan skills sebagai materi referensi, lihat [Subagents](/docs/id/sub-agents#preload-skills-into-subagents).

557 557 

558<h4 id="example-research-skill-using-explore-agent">558<h4 id="example-research-skill-using-explore-agent">

559 Contoh: Skill penelitian menggunakan agen Explore559 Contoh: Skill penelitian menggunakan agen Explore


589 Batasi akses skill Claude589 Batasi akses skill Claude

590</h3>590</h3>

591 591 

592Secara default, Claude dapat menginvokasinya skill apa pun yang tidak memiliki `disable-model-invocation: true` diatur. Skills yang mendefinisikan `allowed-tools` memberikan Claude akses ke tools tersebut tanpa persetujuan per-penggunaan saat skill aktif. Pengaturan [izin](/id/permissions) Anda masih mengatur perilaku persetujuan baseline untuk semua tools lainnya. Beberapa perintah bawaan juga tersedia melalui tool Skill, termasuk `/init`, `/review`, dan `/security-review`. Perintah bawaan lainnya seperti `/compact` tidak.592Secara default, Claude dapat menginvokasinya skill apa pun yang tidak memiliki `disable-model-invocation: true` diatur. Skills yang mendefinisikan `allowed-tools` memberikan Claude akses ke tools tersebut tanpa persetujuan per-penggunaan saat skill aktif. Pengaturan [izin](/docs/id/permissions) Anda masih mengatur perilaku persetujuan baseline untuk semua tools lainnya. Beberapa perintah bawaan juga tersedia melalui tool Skill, termasuk `/init`, `/review`, dan `/security-review`. Perintah bawaan lainnya seperti `/compact` tidak.

593 593 

594Tiga cara untuk mengontrol skills mana yang dapat diinvokasinya Claude:594Tiga cara untuk mengontrol skills mana yang dapat diinvokasinya Claude:

595 595 


600Skill600Skill

601```601```

602 602 

603**Izinkan atau tolak skills spesifik** menggunakan [aturan izin](/id/permissions):603**Izinkan atau tolak skills spesifik** menggunakan [aturan izin](/docs/id/permissions):

604 604 

605```text theme={null}605```text theme={null}

606# Allow only specific skills606# Allow only specific skills


623 Ganti visibilitas skill dari pengaturan623 Ganti visibilitas skill dari pengaturan

624</h3>624</h3>

625 625 

626Pengaturan `skillOverrides` mengontrol visibilitas skill dari [pengaturan](/id/settings) Anda sebagai gantinya dari frontmatter skill itu sendiri. Gunakan untuk skills yang SKILL.md-nya Anda tidak ingin edit, seperti yang diperiksa ke dalam repo proyek bersama atau disediakan oleh server MCP. Menu `/skills` menulisnya untuk Anda: sorot skill dan tekan `Space` untuk mengubah status, kemudian `Enter` untuk menyimpan ke `.claude/settings.local.json`.626Pengaturan `skillOverrides` mengontrol visibilitas skill dari [pengaturan](/docs/id/settings) Anda sebagai gantinya dari frontmatter skill itu sendiri. Gunakan untuk skills yang SKILL.md-nya Anda tidak ingin edit, seperti yang diperiksa ke dalam repo proyek bersama atau disediakan oleh server MCP. Menu `/skills` menulisnya untuk Anda: sorot skill dan tekan `Space` untuk mengubah status, kemudian `Enter` untuk menyimpan ke `.claude/settings.local.json`.

627 627 

628Setiap kunci adalah nama skill dan setiap nilai adalah salah satu dari empat status:628Setiap kunci adalah nama skill dan setiap nilai adalah salah satu dari empat status:

629 629 


670Setelah menginstal, jalankan `/reload-plugins` untuk membuat skills plugin tersedia dalam sesi saat ini. Kemudian minta Claude untuk mengevaluasi skill yang ada, misalnya `evaluate my summarize-changes skill with skill-creator`. Plugin memandu Anda melalui penulisan kasus uji dan menjalankan loop:670Setelah menginstal, jalankan `/reload-plugins` untuk membuat skills plugin tersedia dalam sesi saat ini. Kemudian minta Claude untuk mengevaluasi skill yang ada, misalnya `evaluate my summarize-changes skill with skill-creator`. Plugin memandu Anda melalui penulisan kasus uji dan menjalankan loop:

671 671 

672* **Kasus uji**: menyimpan prompt, file input, dan perilaku yang diharapkan di `evals/evals.json` di dalam direktori skill672* **Kasus uji**: menyimpan prompt, file input, dan perilaku yang diharapkan di `evals/evals.json` di dalam direktori skill

673* **Jalankan terisolasi**: menghasilkan [subagent](/id/sub-agents) per kasus uji sehingga setiap jalankan dimulai dengan konteks bersih, dan merekam jumlah token dan durasi673* **Jalankan terisolasi**: menghasilkan [subagent](/docs/id/sub-agents) per kasus uji sehingga setiap jalankan dimulai dengan konteks bersih, dan merekam jumlah token dan durasi

674* **Penilaian**: memeriksa setiap pernyataan terhadap output dan menulis lulus atau gagal dengan bukti ke `grading.json`674* **Penilaian**: memeriksa setiap pernyataan terhadap output dan menulis lulus atau gagal dengan bukti ke `grading.json`

675* **Benchmark**: mengagregasi tingkat lulus, waktu, dan token untuk dengan-skill versus tanpa-skill ke `benchmark.json` sehingga Anda dapat membandingkan peningkatan tingkat lulus terhadap overhead token dan waktu675* **Benchmark**: mengagregasi tingkat lulus, waktu, dan token untuk dengan-skill versus tanpa-skill ke `benchmark.json` sehingga Anda dapat membandingkan peningkatan tingkat lulus terhadap overhead token dan waktu

676* **Perbandingan versi**: menjalankan blind A/B antara dua versi skill sehingga Anda dapat mengonfirmasi edit adalah peningkatan sebelum melakukannya676* **Perbandingan versi**: menjalankan blind A/B antara dua versi skill sehingga Anda dapat mengonfirmasi edit adalah peningkatan sebelum melakukannya


686Skills dapat didistribusikan pada cakupan berbeda tergantung pada audiens Anda:686Skills dapat didistribusikan pada cakupan berbeda tergantung pada audiens Anda:

687 687 

688* **Skills proyek**: Commit `.claude/skills/` ke version control688* **Skills proyek**: Commit `.claude/skills/` ke version control

689* **Plugins**: Buat direktori `skills/` dalam [plugin](/id/plugins) Anda689* **Plugins**: Buat direktori `skills/` dalam [plugin](/docs/id/plugins) Anda

690* **Terkelola**: Terapkan di seluruh organisasi melalui [pengaturan terkelola](/id/settings#settings-files)690* **Terkelola**: Terapkan di seluruh organisasi melalui [pengaturan terkelola](/docs/id/settings#settings-files)

691 691 

692<h3 id="generate-visual-output">692<h3 id="generate-visual-output">

693 Hasilkan output visual693 Hasilkan output visual


914 914 

915Claude Code memuat daftar nama skill dan deskripsi ke dalam konteks sehingga Claude tahu apa yang tersedia. Daftar selalu berisi setiap nama skill, tetapi jika Anda memiliki banyak skills, Claude Code mempersingkat deskripsi agar sesuai dengan anggaran karakter daftar, yang dapat menghilangkan kata kunci yang Claude butuhkan untuk mencocokkan permintaan Anda. Anggaran diskalakan pada 1% dari jendela konteks model. Ketika daftar meluap, Claude Code menghapus deskripsi dimulai dengan skills yang Anda invokasinya paling sedikit, sehingga skills yang Anda gunakan paling banyak tetap mempertahankan teks lengkapnya.915Claude Code memuat daftar nama skill dan deskripsi ke dalam konteks sehingga Claude tahu apa yang tersedia. Daftar selalu berisi setiap nama skill, tetapi jika Anda memiliki banyak skills, Claude Code mempersingkat deskripsi agar sesuai dengan anggaran karakter daftar, yang dapat menghilangkan kata kunci yang Claude butuhkan untuk mencocokkan permintaan Anda. Anggaran diskalakan pada 1% dari jendela konteks model. Ketika daftar meluap, Claude Code menghapus deskripsi dimulai dengan skills yang Anda invokasinya paling sedikit, sehingga skills yang Anda gunakan paling banyak tetap mempertahankan teks lengkapnya.

916 916 

917Jalankan `/doctor` untuk estimasi biaya konteks daftar dan kontributor terbesarnya. Ketika daftar melebihi anggarannya, Claude Code juga menulis peringatan ke log debug, terlihat dengan [`--debug`](/id/cli-reference#cli-flags).917Jalankan `/doctor` untuk estimasi biaya konteks daftar dan kontributor terbesarnya. Ketika daftar melebihi anggarannya, Claude Code juga menulis peringatan ke log debug, terlihat dengan [`--debug`](/docs/id/cli-reference#cli-flags).

918 918 

919Baris Skills di `/context` melaporkan ukuran daftar setelah anggaran diterapkan, sehingga cocok dengan apa yang diterima model. Sebelum v2.1.196, baris menghitung teks lengkap setiap deskripsi dan dapat menampilkan nilai beberapa kali lebih besar dari anggaran yang dikonfigurasi.919Baris Skills di `/context` melaporkan ukuran daftar setelah anggaran diterapkan, sehingga cocok dengan apa yang diterima model. Sebelum v2.1.196, baris menghitung teks lengkap setiap deskripsi dan dapat menampilkan nilai beberapa kali lebih besar dari anggaran yang dikonfigurasi.

920 920 

921Untuk menaikkan anggaran, atur pengaturan [`skillListingBudgetFraction`](/id/settings#available-settings) (misalnya `0.02` = 2%) atau variabel lingkungan `SLASH_COMMAND_TOOL_CHAR_BUDGET` ke jumlah karakter tetap. Untuk membebaskan anggaran bagi skills lainnya, atur entri prioritas rendah ke `"name-only"` di [`skillOverrides`](#override-skill-visibility-from-settings) sehingga mereka terdaftar tanpa deskripsi. Anda juga dapat memangkas teks `description` dan `when_to_use` di sumbernya: depankan kasus penggunaan utama, karena teks gabungan setiap entri dibatasi pada 1.536 karakter terlepas dari anggaran. Batas dapat dikonfigurasi dengan [`skillListingMaxDescChars`](/id/settings#available-settings).921Untuk menaikkan anggaran, atur pengaturan [`skillListingBudgetFraction`](/docs/id/settings#available-settings) (misalnya `0.02` = 2%) atau variabel lingkungan `SLASH_COMMAND_TOOL_CHAR_BUDGET` ke jumlah karakter tetap. Untuk membebaskan anggaran bagi skills lainnya, atur entri prioritas rendah ke `"name-only"` di [`skillOverrides`](#override-skill-visibility-from-settings) sehingga mereka terdaftar tanpa deskripsi. Anda juga dapat memangkas teks `description` dan `when_to_use` di sumbernya: depankan kasus penggunaan utama, karena teks gabungan setiap entri dibatasi pada 1.536 karakter terlepas dari anggaran. Batas dapat dikonfigurasi dengan [`skillListingMaxDescChars`](/docs/id/settings#available-settings).

922 922 

923<h2 id="related-resources">923<h2 id="related-resources">

924 Sumber daya terkait924 Sumber daya terkait

925</h2>925</h2>

926 926 

927* **[Debug konfigurasi Anda](/id/debug-your-config)**: diagnosis mengapa skill tidak muncul atau tidak terpicu927* **[Debug konfigurasi Anda](/docs/id/debug-your-config)**: diagnosis mengapa skill tidak muncul atau tidak terpicu

928* **[Mengevaluasi kualitas output skill](https://agentskills.io/skill-creation/evaluating-skills)**: format file eval dan alur kerja iterasi di agentskills.io928* **[Mengevaluasi kualitas output skill](https://agentskills.io/skill-creation/evaluating-skills)**: format file eval dan alur kerja iterasi di agentskills.io

929* **[Praktik terbaik penulisan skill](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)**: panduan penulisan yang berlaku di seluruh produk Claude929* **[Praktik terbaik penulisan skill](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)**: panduan penulisan yang berlaku di seluruh produk Claude

930* **[Subagents](/id/sub-agents)**: delegasikan tugas ke agen khusus930* **[Subagents](/docs/id/sub-agents)**: delegasikan tugas ke agen khusus

931* **[Plugins](/id/plugins)**: paket dan distribusikan skills dengan ekstensi lainnya931* **[Plugins](/docs/id/plugins)**: paket dan distribusikan skills dengan ekstensi lainnya

932* **[Hooks](/id/hooks)**: otomatisasi workflow di sekitar peristiwa tool932* **[Hooks](/docs/id/hooks)**: otomatisasi workflow di sekitar peristiwa tool

933* **[Memory](/id/memory)**: kelola file CLAUDE.md untuk konteks persisten933* **[Memory](/docs/id/memory)**: kelola file CLAUDE.md untuk konteks persisten

934* **[Commands](/id/commands)**: referensi untuk perintah bawaan dan skills bundel934* **[Commands](/docs/id/commands)**: referensi untuk perintah bawaan dan skills bundel

935* **[Permissions](/id/permissions)**: kontrol akses tool dan skill935* **[Permissions](/docs/id/permissions)**: kontrol akses tool dan skill

936* **[Claude Tag skills](https://claude.com/docs/claude-tag/admins/skills-repo)**: project skills yang di-commit ke repo juga dimuat ketika repo tersebut digunakan di saluran Claude Tag936* **[Claude Tag skills](https://claude.com/docs/claude-tag/admins/skills-repo)**: project skills yang di-commit ke repo juga dimuat ketika repo tersebut digunakan di saluran Claude Tag

statusline.md +9 −9

Details

15* Bekerja di berbagai sesi dan perlu membedakannya15* Bekerja di berbagai sesi dan perlu membedakannya

16* Ingin cabang git dan status selalu terlihat16* Ingin cabang git dan status selalu terlihat

17 17 

18Baris status dirender di baris tersendiri di atas lencana footer bawaan dan tidak menggantikannya. Untuk menambahkan lencana tautan yang dapat diklik ke footer ketika ID muncul dalam percakapan, tanpa menulis skrip, konfigurasikan [`footerLinksRegexes`](/id/settings#footer-link-badges) sebagai gantinya.18Baris status dirender di baris tersendiri di atas lencana footer bawaan dan tidak menggantikannya. Untuk menambahkan lencana tautan yang dapat diklik ke footer ketika ID muncul dalam percakapan, tanpa menulis skrip, konfigurasikan [`footerLinksRegexes`](/docs/id/settings#footer-link-badges) sebagai gantinya.

19 19 

20Berikut adalah contoh [baris status multi-baris](#display-multiple-lines) yang menampilkan informasi git di baris pertama dan bilah konteks berkode warna di baris kedua.20Berikut adalah contoh [baris status multi-baris](#display-multiple-lines) yang menampilkan informasi git di baris pertama dan bilah konteks berkode warna di baris kedua.

21 21 


45 Konfigurasikan baris status secara manual45 Konfigurasikan baris status secara manual

46</h3>46</h3>

47 47 

48Tambahkan bidang `statusLine` ke pengaturan pengguna Anda (`~/.claude/settings.json`, di mana `~` adalah direktori home Anda) atau [pengaturan proyek](/id/settings#settings-files). Atur `type` ke `"command"` dan arahkan `command` ke jalur skrip atau perintah shell inline. Untuk panduan lengkap membuat skrip, lihat [Bangun baris status langkah demi langkah](#build-a-status-line-step-by-step).48Tambahkan bidang `statusLine` ke pengaturan pengguna Anda (`~/.claude/settings.json`, di mana `~` adalah direktori home Anda) atau [pengaturan proyek](/docs/id/settings#settings-files). Atur `type` ke `"command"` dan arahkan `command` ke jalur skrip atau perintah shell inline. Untuk panduan lengkap membuat skrip, lihat [Bangun baris status langkah demi langkah](#build-a-status-line-step-by-step).

49 49 

50```json theme={null}50```json theme={null}

51{51{


160 160 

161**Mengukur output ke terminal**161**Mengukur output ke terminal**

162 162 

163Claude Code menangkap output skrip Anda alih-alih menghubungkannya langsung ke terminal, jadi `tput cols` dan deteksi lebar tingkat bahasa tidak dapat membaca ukuran terminal dari dalam skrip. {/* min-version: 2.1.153 */}Baca variabel lingkungan `COLUMNS` dan `LINES` sebagai gantinya. Claude Code menetapkan ini ke dimensi terminal saat ini sebelum menjalankan skrip Anda. Memerlukan Claude Code v2.1.153 atau lebih baru.163Claude Code menangkap output skrip Anda alih-alih menghubungkannya langsung ke terminal, jadi `tput cols` dan deteksi lebar tingkat bahasa tidak dapat membaca ukuran terminal dari dalam skrip. Baca variabel lingkungan `COLUMNS` dan `LINES` sebagai gantinya. Claude Code menetapkan ini ke dimensi terminal saat ini sebelum menjalankan skrip Anda. Memerlukan Claude Code v2.1.153 atau lebih baru.

164 164 

165<Note>Baris status berjalan secara lokal dan tidak menggunakan token API. Itu sementara bersembunyi selama interaksi UI tertentu, termasuk saran pelengkapan otomatis, menu bantuan, dan prompt izin.</Note>165<Note>Baris status berjalan secara lokal dan tidak menggunakan token API. Itu sementara bersembunyi selama interaksi UI tertentu, termasuk saran pelengkapan otomatis, menu bantuan, dan prompt izin.</Note>

166 166 


194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Detik epoch Unix ketika jendela batas laju 5 jam atau 7 hari direset |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Detik epoch Unix ketika jendela batas laju 5 jam atau 7 hari direset |

195| `session_id` | Pengidentifikasi sesi unik |195| `session_id` | Pengidentifikasi sesi unik |

196| `session_name` | Nama sesi khusus yang ditetapkan dengan bendera `--name` atau `/rename`. Tidak ada jika tidak ada nama khusus yang telah ditetapkan |196| `session_name` | Nama sesi khusus yang ditetapkan dengan bendera `--name` atau `/rename`. Tidak ada jika tidak ada nama khusus yang telah ditetapkan |

197| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada acara OpenTelemetry](/id/monitoring-usage#event-correlation-attributes). Tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru |197| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada acara OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes). Tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru |

198| `transcript_path` | Jalur ke file transkrip percakapan |198| `transcript_path` | Jalur ke file transkrip percakapan |

199| `version` | Versi Claude Code |199| `version` | Versi Claude Code |

200| `output_style.name` | Nama gaya output saat ini |200| `output_style.name` | Nama gaya output saat ini |

201| `vim.mode` | Mode vim saat ini (`NORMAL`, `INSERT`, `VISUAL`, atau `VISUAL LINE`) ketika [vim mode](/id/interactive-mode#vim-editor-mode) diaktifkan |201| `vim.mode` | Mode vim saat ini (`NORMAL`, `INSERT`, `VISUAL`, atau `VISUAL LINE`) ketika [vim mode](/docs/id/interactive-mode#vim-editor-mode) diaktifkan |

202| `agent.name` | Nama agen saat menjalankan dengan bendera `--agent` atau pengaturan agen dikonfigurasi |202| `agent.name` | Nama agen saat menjalankan dengan bendera `--agent` atau pengaturan agen dikonfigurasi |

203| `pr.number`, `pr.url` | Buka permintaan tarik untuk cabang saat ini. Mencerminkan lencana PR di bilah status bawah. Tidak ada sampai PR ditemukan, ketika tidak dalam repositori git, atau setelah PR digabungkan atau ditutup |203| `pr.number`, `pr.url` | Buka permintaan tarik untuk cabang saat ini. Mencerminkan lencana PR di bilah status bawah. Tidak ada sampai PR ditemukan, ketika tidak dalam repositori git, atau setelah PR digabungkan atau ditutup |

204| `pr.review_state` | Status tinjauan PR terbuka: `approved`, `pending`, `changes_requested`, atau `draft`. Mungkin secara independen tidak ada bahkan ketika `pr` ada |204| `pr.review_state` | Status tinjauan PR terbuka: `approved`, `pending`, `changes_requested`, atau `draft`. Mungkin secara independen tidak ada bahkan ketika `pr` ada |


332* `cache_creation_input_tokens`: token yang ditulis ke cache332* `cache_creation_input_tokens`: token yang ditulis ke cache

333* `cache_read_input_tokens`: token yang dibaca dari cache333* `cache_read_input_tokens`: token yang dibaca dari cache

334 334 

335Untuk apa arti bidang cache dan bagaimana cara penagihan, lihat [periksa kinerja cache](/id/prompt-caching#check-cache-performance).335Untuk apa arti bidang cache dan bagaimana cara penagihan, lihat [periksa kinerja cache](/docs/id/prompt-caching#check-cache-performance).

336 336 

337Bidang `used_percentage` dihitung dari token input saja: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Itu tidak termasuk `output_tokens`.337Bidang `used_percentage` dihitung dari token input saja: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Itu tidak termasuk `output_tokens`.

338 338 


1033 Baris status subagen1033 Baris status subagen

1034</h2>1034</h2>

1035 1035 

1036Pengaturan `subagentStatusLine` merender badan baris khusus untuk setiap [subagen](/id/sub-agents) yang ditampilkan di panel agen di bawah prompt. Gunakan untuk mengganti baris default `name · description · token count` dengan pemformatan Anda sendiri.1036Pengaturan `subagentStatusLine` merender badan baris khusus untuk setiap [subagen](/docs/id/sub-agents) yang ditampilkan di panel agen di bawah prompt. Gunakan untuk mengganti baris default `name · description · token count` dengan pemformatan Anda sendiri.

1037 1037 

1038```json theme={null}1038```json theme={null}

1039{1039{


1044}1044}

1045```1045```

1046 1046 

1047Perintah berjalan sekali per tick refresh dengan semua baris subagen yang terlihat diteruskan sebagai objek JSON tunggal di stdin. Input mencakup [bidang hook umum](/id/hooks#common-input-fields), bidang `columns` dengan lebar baris yang dapat digunakan, dan array `tasks`. Setiap tugas memiliki `id`, `name`, `type`, `status`, `description`, `label`, `startTime`, `model`, `contextWindowSize`, `tokenCount`, `tokenSamples`, dan `cwd`.1047Perintah berjalan sekali per tick refresh dengan semua baris subagen yang terlihat diteruskan sebagai objek JSON tunggal di stdin. Input mencakup [bidang hook umum](/docs/id/hooks#common-input-fields), bidang `columns` dengan lebar baris yang dapat digunakan, dan array `tasks`. Setiap tugas memiliki `id`, `name`, `type`, `status`, `description`, `label`, `startTime`, `model`, `contextWindowSize`, `tokenCount`, `tokenSamples`, dan `cwd`.

1048 1048 

1049Bidang `model` per-tugas adalah ID model yang diselesaikan tempat tugas berjalan. `contextWindowSize` adalah jendela konteks model tersebut dalam token, dihitung dengan cara yang sama seperti `context_window.context_window_size` baris status utama, sehingga Anda dapat merender persentase per-baris dari `tokenCount`. Kedua bidang memerlukan Claude Code v2.1.205 atau lebih baru dan dihilangkan untuk tugas yang modelnya belum diselesaikan.1049Bidang `model` per-tugas adalah ID model yang diselesaikan tempat tugas berjalan. `contextWindowSize` adalah jendela konteks model tersebut dalam token, dihitung dengan cara yang sama seperti `context_window.context_window_size` baris status utama, sehingga Anda dapat merender persentase per-baris dari `tokenCount`. Kedua bidang memerlukan Claude Code v2.1.205 atau lebih baru dan dihilangkan untuk tugas yang modelnya belum diselesaikan.

1050 1050 

1051Tulis satu baris JSON ke stdout per baris yang ingin Anda ganti, dalam bentuk `{"id": "<task id>", "content": "<row body>"}`. String `content` dirender apa adanya, termasuk warna ANSI dan hyperlink OSC 8. Hilangkan `id` tugas untuk menjaga rendering default untuk baris itu; keluarkan string `content` kosong untuk menyembunyikannya.1051Tulis satu baris JSON ke stdout per baris yang ingin Anda ganti, dalam bentuk `{"id": "<task id>", "content": "<row body>"}`. String `content` dirender apa adanya, termasuk warna ANSI dan hyperlink OSC 8. Hilangkan `id` tugas untuk menjaga rendering default untuk baris itu; keluarkan string `content` kosong untuk menyembunyikannya.

1052 1052 

1053Gerbang kepercayaan dan `disableAllHooks` yang sama yang berlaku untuk `statusLine` berlaku di sini. Plugin dapat mengirimkan `subagentStatusLine` default dalam [`settings.json`](/id/plugins-reference#standard-plugin-layout) mereka.1053Gerbang kepercayaan dan `disableAllHooks` yang sama yang berlaku untuk `statusLine` berlaku di sini. Plugin dapat mengirimkan `subagentStatusLine` default dalam [`settings.json`](/docs/id/plugins-reference#standard-plugin-layout) mereka.

1054 1054 

1055<h2 id="tips">1055<h2 id="tips">

1056 Tips1056 Tips

sub-agents.md +84 −84

Details

8 8 

9Subagent adalah asisten AI khusus yang menangani jenis tugas tertentu. Gunakan satu ketika tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi: subagent melakukan pekerjaan itu dalam konteksnya sendiri dan hanya mengembalikan ringkasan. Tentukan subagent khusus ketika Anda terus menelurkan jenis pekerja yang sama dengan instruksi yang sama.9Subagent adalah asisten AI khusus yang menangani jenis tugas tertentu. Gunakan satu ketika tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi: subagent melakukan pekerjaan itu dalam konteksnya sendiri dan hanya mengembalikan ringkasan. Tentukan subagent khusus ketika Anda terus menelurkan jenis pekerja yang sama dengan instruksi yang sama.

10 10 

11Setiap subagent berjalan di jendela konteksnya sendiri dengan prompt sistem khusus, akses alat tertentu, dan izin independen. Ketika Claude menemukan tugas yang sesuai dengan deskripsi subagent, Claude mendelegasikan ke subagent tersebut, yang bekerja secara independen dan mengembalikan hasil. Untuk melihat penghematan konteks dalam praktik, [visualisasi jendela konteks](/id/context-window) menjelaskan sesi di mana subagent menangani penelitian di jendela terpisahnya sendiri.11Setiap subagent berjalan di jendela konteksnya sendiri dengan prompt sistem khusus, akses alat tertentu, dan izin independen. Ketika Claude menemukan tugas yang sesuai dengan deskripsi subagent, Claude mendelegasikan ke subagent tersebut, yang bekerja secara independen dan mengembalikan hasil. Untuk melihat penghematan konteks dalam praktik, [visualisasi jendela konteks](/docs/id/context-window) menjelaskan sesi di mana subagent menangani penelitian di jendela terpisahnya sendiri.

12 12 

13<Note>13<Note>

14 Subagent bekerja dalam satu sesi. Untuk menjalankan banyak sesi independen secara paralel dan memantaunya dari satu tempat, lihat [agen latar belakang](/id/agent-view). Untuk sesi yang berkomunikasi satu sama lain, lihat [tim agen](/id/agent-teams).14 Subagent bekerja dalam satu sesi. Untuk menjalankan banyak sesi independen secara paralel dan memantaunya dari satu tempat, lihat [agen latar belakang](/docs/id/agent-view). Untuk sesi yang berkomunikasi satu sama lain, lihat [tim agen](/docs/id/agent-teams).

15</Note>15</Note>

16 16 

17Subagent membantu Anda:17Subagent membantu Anda:


42 * **Tools**: alat hanya-baca; Write dan Edit ditolak42 * **Tools**: alat hanya-baca; Write dan Edit ditolak

43 * **Purpose**: penemuan file, pencarian kode, eksplorasi basis kode43 * **Purpose**: penemuan file, pencarian kode, eksplorasi basis kode

44 44 

45 Mulai dari v2.1.198, Explore mewarisi model percakapan utama alih-alih selalu berjalan pada Haiku. Di Claude API, model yang diwarisi dibatasi pada Opus: percakapan utama pada tingkat yang lebih tinggi menjalankan Explore pada Opus, dan percakapan utama pada Sonnet atau Haiku menjalankan Explore pada model yang sama. Di penyedia lain apa pun, seperti [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS](/id/third-party-integrations), Explore mewarisi model percakapan utama secara langsung.45 Mulai dari v2.1.198, Explore mewarisi model percakapan utama alih-alih selalu berjalan pada Haiku. Di Claude API, model yang diwarisi dibatasi pada Opus: percakapan utama pada tingkat yang lebih tinggi menjalankan Explore pada Opus, dan percakapan utama pada Sonnet atau Haiku menjalankan Explore pada model yang sama. Di penyedia lain apa pun, seperti [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS](/docs/id/third-party-integrations), Explore mewarisi model percakapan utama secara langsung.

46 46 

47 [User atau project subagent](#choose-the-subagent-scope) bernama `Explore` menggantikan yang bawaan dan menyimpan bidang `model` miliknya sendiri, jadi tentukan satu dengan `model: haiku` untuk menjaga eksplorasi pada model dengan biaya lebih rendah.47 [User atau project subagent](#choose-the-subagent-scope) bernama `Explore` menggantikan yang bawaan dan menyimpan bidang `model` miliknya sendiri, jadi tentukan satu dengan `model: haiku` untuk menjaga eksplorasi pada model dengan biaya lebih rendah.

48 48 


52 </Tab>52 </Tab>

53 53 

54 <Tab title="Plan">54 <Tab title="Plan">

55 Agen penelitian yang digunakan selama [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) untuk mengumpulkan konteks sebelum menyajikan rencana.55 Agen penelitian yang digunakan selama [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) untuk mengumpulkan konteks sebelum menyajikan rencana.

56 56 

57 * **Model**: mewarisi dari percakapan utama57 * **Model**: mewarisi dari percakapan utama

58 * **Tools**: alat hanya-baca; Write dan Edit ditolak58 * **Tools**: alat hanya-baca; Write dan Edit ditolak


84Subagent bawaan terdaftar secara default dalam sesi interaktif. Untuk membatasi mereka:84Subagent bawaan terdaftar secara default dalam sesi interaktif. Untuk membatasi mereka:

85 85 

86* Untuk memblokir tipe bawaan tertentu, tambahkan ke `permissions.deny` seperti yang ditunjukkan dalam [Nonaktifkan subagent tertentu](#disable-specific-subagents).86* Untuk memblokir tipe bawaan tertentu, tambahkan ke `permissions.deny` seperti yang ditunjukkan dalam [Nonaktifkan subagent tertentu](#disable-specific-subagents).

87* Untuk mencegah Claude mendelegasikan ke subagent apa pun, tolak alat `Agent` itu sendiri dengan [`permissions.deny`](/id/permissions#tool-specific-permission-rules).87* Untuk mencegah Claude mendelegasikan ke subagent apa pun, tolak alat `Agent` itu sendiri dengan [`permissions.deny`](/docs/id/permissions#tool-specific-permission-rules).

88* Untuk menghapus hanya subagent bawaan `Explore` dan `Plan`, atur [`CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`](/id/env-vars). Claude membaca dan mengeksplorasi file secara langsung alih-alih mendelegasikan ke mereka. Memerlukan Claude Code v2.1.198 atau lebih baru.88* Untuk menghapus hanya subagent bawaan `Explore` dan `Plan`, atur [`CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`](/docs/id/env-vars). Claude membaca dan mengeksplorasi file secara langsung alih-alih mendelegasikan ke mereka. Memerlukan Claude Code v2.1.198 atau lebih baru.

89* Dalam [mode non-interaktif](/id/headless) dan [Agent SDK](/id/agent-sdk/overview), atur [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/id/env-vars) untuk menghapus semua tipe bawaan dan menyediakan hanya milik Anda sendiri.89* Dalam [mode non-interaktif](/docs/id/headless) dan [Agent SDK](/docs/id/agent-sdk/overview), atur [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/id/env-vars) untuk menghapus semua tipe bawaan dan menyediakan hanya milik Anda sendiri.

90 90 

91Selain subagent bawaan ini, Anda dapat membuat subagent Anda sendiri dengan prompt khusus, pembatasan alat, mode izin, hooks, dan skills. Bagian berikut menunjukkan cara memulai dan menyesuaikan subagent.91Selain subagent bawaan ini, Anda dapat membuat subagent Anda sendiri dengan prompt khusus, pembatasan alat, mode izin, hooks, dan skills. Bagian berikut menunjukkan cara memulai dan menyesuaikan subagent.

92 92 


96 96 

97Subagent adalah file Markdown dengan frontmatter YAML. Untuk membuat satu, minta Claude menulisnya untuk Anda, atau [tulis file sendiri](#write-subagent-files).97Subagent adalah file Markdown dengan frontmatter YAML. Untuk membuat satu, minta Claude menulisnya untuk Anda, atau [tulis file sendiri](#write-subagent-files).

98 98 

99{/* min-version: 2.1.198 */}Mulai dari v2.1.198, perintah `/agents` tidak lagi membuka wizard pembuatan interaktif; menjalankannya mencetak pengingat untuk meminta Claude atau mengedit `.claude/agents/` secara langsung. File subagent, bidang frontmatter, dan lokasi `.claude/agents/` dan `~/.claude/agents/` tidak berubah; hanya wizard terminal yang dihapus.99Mulai dari v2.1.198, perintah `/agents` tidak lagi membuka wizard pembuatan interaktif; menjalankannya mencetak pengingat untuk meminta Claude atau mengedit `.claude/agents/` secara langsung. File subagent, bidang frontmatter, dan lokasi `.claude/agents/` dan `~/.claude/agents/` tidak berubah; hanya wizard terminal yang dihapus.

100 100 

101Panduan ini membuat subagent tingkat pengguna yang meninjau kode dan menyarankan perbaikan.101Panduan ini membuat subagent tingkat pengguna yang meninjau kode dan menyarankan perbaikan.

102 102 


150Anda juga dapat menulis file subagent secara manual, mendefinisikannya melalui flag CLI, atau mendistribusikannya melalui plugins. Bagian berikut mencakup semua opsi konfigurasi.150Anda juga dapat menulis file subagent secara manual, mendefinisikannya melalui flag CLI, atau mendistribusikannya melalui plugins. Bagian berikut mencakup semua opsi konfigurasi.

151 151 

152<Note>152<Note>

153 Pada Claude Code v2.1.197 dan lebih awal, `/agents` membuka wizard interaktif dengan tab **Running** yang mencantumkan subagent aktif dan tab **Library** untuk membuat, mengedit, dan menghapusnya. {/* max-version: 2.1.197 */}153 Pada Claude Code v2.1.197 dan lebih awal, `/agents` membuka wizard interaktif dengan tab **Running** yang mencantumkan subagent aktif dan tab **Library** untuk membuat, mengedit, dan menghapusnya.&#x20;

154</Note>154</Note>

155 155 

156<h2 id="configure-subagents">156<h2 id="configure-subagents">


167 167 

168| Lokasi | Cakupan | Prioritas | Cara membuat |168| Lokasi | Cakupan | Prioritas | Cara membuat |

169| :------------------------- | :----------------------- | :------------ | :----------------------------------------------------- |169| :------------------------- | :----------------------- | :------------ | :----------------------------------------------------- |

170| Pengaturan terkelola | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [pengaturan terkelola](/id/settings) |170| Pengaturan terkelola | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [pengaturan terkelola](/docs/id/settings) |

171| Flag CLI `--agents` | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |171| Flag CLI `--agents` | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |

172| `.claude/agents/` | Proyek saat ini | 3 | Tanyakan Claude, atau buat file secara manual |172| `.claude/agents/` | Proyek saat ini | 3 | Tanyakan Claude, atau buat file secara manual |

173| `~/.claude/agents/` | Semua proyek Anda | 4 | Tanyakan Claude, atau buat file secara manual |173| `~/.claude/agents/` | Semua proyek Anda | 4 | Tanyakan Claude, atau buat file secara manual |

174| Direktori `agents/` plugin | Tempat plugin diaktifkan | 5 (terendah) | Diinstal dengan [plugins](/id/plugins) |174| Direktori `agents/` plugin | Tempat plugin diaktifkan | 5 (terendah) | Diinstal dengan [plugins](/docs/id/plugins) |

175 175 

176**Subagent proyek** (`.claude/agents/`) ideal untuk subagent khusus untuk basis kode. Periksa mereka ke kontrol versi sehingga tim Anda dapat menggunakannya dan meningkatkannya secara kolaboratif.176**Subagent proyek** (`.claude/agents/`) ideal untuk subagent khusus untuk basis kode. Periksa mereka ke kontrol versi sehingga tim Anda dapat menggunakannya dan meningkatkannya secara kolaboratif.

177 177 

178Subagent proyek ditemukan dengan berjalan naik dari direktori kerja saat ini, sehingga setiap `.claude/agents/` antara sana dan akar repositori dipindai. {/* min-version: 2.1.178 */}Sejak v2.1.178, ketika lebih dari satu direktori bersarang ini mendefinisikan `name` yang sama, Claude Code menggunakan definisi yang paling dekat dengan direktori kerja.178Subagent proyek ditemukan dengan berjalan naik dari direktori kerja saat ini, sehingga setiap `.claude/agents/` antara sana dan akar repositori dipindai. Sejak v2.1.178, ketika lebih dari satu direktori bersarang ini mendefinisikan `name` yang sama, Claude Code menggunakan definisi yang paling dekat dengan direktori kerja.

179 179 

180Direktori yang ditambahkan dengan `--add-dir` juga dipindai: folder `.claude/agents/` di dalam direktori yang ditambahkan dimuat bersama subagent proyek. Lihat [Direktori tambahan](/id/permissions#additional-directories-grant-file-access-not-configuration) untuk jenis konfigurasi lain mana yang dimuat dari `--add-dir`. Untuk berbagi subagent di seluruh proyek tanpa `--add-dir`, gunakan `~/.claude/agents/` atau [plugin](/id/plugins).180Direktori yang ditambahkan dengan `--add-dir` juga dipindai: folder `.claude/agents/` di dalam direktori yang ditambahkan dimuat bersama subagent proyek. Lihat [Direktori tambahan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) untuk jenis konfigurasi lain mana yang dimuat dari `--add-dir`. Untuk berbagi subagent di seluruh proyek tanpa `--add-dir`, gunakan `~/.claude/agents/` atau [plugin](/docs/id/plugins).

181 181 

182**Subagent pengguna** (`~/.claude/agents/`) adalah subagent pribadi yang tersedia di semua proyek Anda.182**Subagent pengguna** (`~/.claude/agents/`) adalah subagent pribadi yang tersedia di semua proyek Anda.

183 183 


185 185 

186Jaga nilai `name` tetap unik di seluruh pohon: jika dua file dalam satu cakupan mendeklarasikan nama yang sama, Claude Code menyimpan satu dan membuang yang lain tanpa peringatan. Direktori `agents/` plugin juga dipindai secara rekursif. Tidak seperti cakupan proyek dan pengguna, subfolder di dalam direktori `agents/` plugin menjadi bagian dari [pengenal yang dibatasi cakupan](#invoke-subagents-explicitly): file di `agents/review/security.md` dalam plugin `my-plugin` terdaftar sebagai `my-plugin:review:security`.186Jaga nilai `name` tetap unik di seluruh pohon: jika dua file dalam satu cakupan mendeklarasikan nama yang sama, Claude Code menyimpan satu dan membuang yang lain tanpa peringatan. Direktori `agents/` plugin juga dipindai secara rekursif. Tidak seperti cakupan proyek dan pengguna, subfolder di dalam direktori `agents/` plugin menjadi bagian dari [pengenal yang dibatasi cakupan](#invoke-subagents-explicitly): file di `agents/review/security.md` dalam plugin `my-plugin` terdaftar sebagai `my-plugin:review:security`.

187 187 

188{/* min-version: 2.1.205 */}Pemeriksaan setup [`/doctor`](/id/commands#all-commands) melaporkan file dalam direktori yang sama yang berbagi nama dan menyarankan untuk mengganti nama atau menghapus semua kecuali satu. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang mencantumkan duplikat dan menunjukkan definisi mana yang aktif.188Pemeriksaan setup [`/doctor`](/docs/id/commands#all-commands) melaporkan file dalam direktori yang sama yang berbagi nama dan menyarankan untuk mengganti nama atau menghapus semua kecuali satu. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang mencantumkan duplikat dan menunjukkan definisi mana yang aktif.

189 189 

190**Subagent yang ditentukan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:190**Subagent yang ditentukan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:

191 191 


229 229 

230Flag `--agents` menerima JSON dengan [frontmatter](#supported-frontmatter-fields) yang sama bidang subagent berbasis file: `description`, `prompt`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `isolation`, dan `color`. Gunakan `prompt` untuk prompt sistem, setara dengan badan markdown dalam subagent berbasis file.230Flag `--agents` menerima JSON dengan [frontmatter](#supported-frontmatter-fields) yang sama bidang subagent berbasis file: `description`, `prompt`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `isolation`, dan `color`. Gunakan `prompt` untuk prompt sistem, setara dengan badan markdown dalam subagent berbasis file.

231 231 

232**Subagent terkelola** digunakan oleh administrator organisasi. Tempatkan file markdown dalam `.claude/agents/` di dalam [direktori pengaturan terkelola](/id/settings#settings-files), menggunakan format frontmatter yang sama dengan subagent proyek dan pengguna. Definisi terkelola mengambil alih subagent proyek dan pengguna dengan nama yang sama.232**Subagent terkelola** digunakan oleh administrator organisasi. Tempatkan file markdown dalam `.claude/agents/` di dalam [direktori pengaturan terkelola](/docs/id/settings#settings-files), menggunakan format frontmatter yang sama dengan subagent proyek dan pengguna. Definisi terkelola mengambil alih subagent proyek dan pengguna dengan nama yang sama.

233 233 

234**Subagent plugin** berasal dari [plugins](/id/plugins) yang telah Anda instal. Mereka dimuat bersama subagent khusus Anda dan muncul dalam typeahead @-mention di bawah nama yang dibatasi cakupan mereka. Lihat [referensi komponen plugin](/id/plugins-reference#agents) untuk detail tentang membuat subagent plugin.234**Subagent plugin** berasal dari [plugins](/docs/id/plugins) yang telah Anda instal. Mereka dimuat bersama subagent khusus Anda dan muncul dalam typeahead @-mention di bawah nama yang dibatasi cakupan mereka. Lihat [referensi komponen plugin](/docs/id/plugins-reference#agents) untuk detail tentang membuat subagent plugin.

235 235 

236<Note>236<Note>

237 Untuk alasan keamanan, subagent plugin tidak mendukung bidang frontmatter `hooks`, `mcpServers`, atau `permissionMode`. Bidang-bidang ini diabaikan saat memuat agen dari plugin. Jika Anda membutuhkannya, salin file agen ke dalam `.claude/agents/` atau `~/.claude/agents/`. Anda juga dapat menambahkan aturan ke [`permissions.allow`](/id/settings#permission-settings) dalam `settings.json` atau `settings.local.json`, tetapi aturan-aturan ini berlaku untuk seluruh sesi, bukan hanya subagent plugin.237 Untuk alasan keamanan, subagent plugin tidak mendukung bidang frontmatter `hooks`, `mcpServers`, atau `permissionMode`. Bidang-bidang ini diabaikan saat memuat agen dari plugin. Jika Anda membutuhkannya, salin file agen ke dalam `.claude/agents/` atau `~/.claude/agents/`. Anda juga dapat menambahkan aturan ke [`permissions.allow`](/docs/id/settings#permission-settings) dalam `settings.json` atau `settings.local.json`, tetapi aturan-aturan ini berlaku untuk seluruh sesi, bukan hanya subagent plugin.

238</Note>238</Note>

239 239 

240Definisi subagent dari salah satu cakupan ini juga tersedia untuk [tim agen](/id/agent-teams#use-subagent-definitions-for-teammates): saat menelurkan rekan kerja, Anda dapat mereferensikan jenis subagent dan rekan kerja menggunakan `tools` dan `model`-nya, dengan badan definisi ditambahkan ke prompt sistem rekan kerja sebagai instruksi tambahan. Lihat [tim agen](/id/agent-teams#use-subagent-definitions-for-teammates) untuk bidang frontmatter mana yang berlaku pada jalur itu.240Definisi subagent dari salah satu cakupan ini juga tersedia untuk [tim agen](/docs/id/agent-teams#use-subagent-definitions-for-teammates): saat menelurkan rekan kerja, Anda dapat mereferensikan jenis subagent dan rekan kerja menggunakan `tools` dan `model`-nya, dengan badan definisi ditambahkan ke prompt sistem rekan kerja sebagai instruksi tambahan. Lihat [tim agen](/docs/id/agent-teams#use-subagent-definitions-for-teammates) untuk bidang frontmatter mana yang berlaku pada jalur itu.

241 241 

242<h3 id="write-subagent-files">242<h3 id="write-subagent-files">

243 Tulis file subagent243 Tulis file subagent


268 268 

269Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi prompt sistem yang memandu perilaku subagent. Subagent menerima hanya prompt sistem ini (ditambah detail lingkungan dasar seperti direktori kerja), bukan prompt sistem Claude Code lengkap.269Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi prompt sistem yang memandu perilaku subagent. Subagent menerima hanya prompt sistem ini (ditambah detail lingkungan dasar seperti direktori kerja), bukan prompt sistem Claude Code lengkap.

270 270 

271Dalam [mode non-interaktif](/id/headless), flag [`--append-subagent-system-prompt`](/id/cli-reference#cli-flags) menambahkan teks yang Anda berikan ke akhir prompt sistem setiap subagent, termasuk subagent bersarang. Memerlukan Claude Code v2.1.205 atau lebih baru.271Dalam [mode non-interaktif](/docs/id/headless), flag [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) menambahkan teks yang Anda berikan ke akhir prompt sistem setiap subagent, termasuk subagent bersarang. Memerlukan Claude Code v2.1.205 atau lebih baru.

272 272 

273Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan alat Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan repositori yang terisolasi sebagai gantinya, atur [`isolation: worktree`](#supported-frontmatter-fields).273Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan alat Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan repositori yang terisolasi sebagai gantinya, atur [`isolation: worktree`](#supported-frontmatter-fields).

274 274 

275{/* min-version: 2.1.203 */}Subagent dengan `isolation: worktree` menjalankan perintah Bash dan PowerShell-nya di dalam worktree-nya. Perintah yang direktori kerjanya diselesaikan ke checkout utama Anda, misalnya karena direktori worktree dihapus saat subagent berjalan, gagal dengan kesalahan. Sebelum v2.1.203, perintah seperti itu dapat berjalan di checkout utama.275Subagent dengan `isolation: worktree` menjalankan perintah Bash dan PowerShell-nya di dalam worktree-nya. Perintah yang direktori kerjanya diselesaikan ke checkout utama Anda, misalnya karena direktori worktree dihapus saat subagent berjalan, gagal dengan kesalahan. Sebelum v2.1.203, perintah seperti itu dapat berjalan di checkout utama.

276 276 

277<h4 id="supported-frontmatter-fields">277<h4 id="supported-frontmatter-fields">

278 Bidang frontmatter yang didukung278 Bidang frontmatter yang didukung


282 282 

283| Bidang | Diperlukan | Deskripsi |283| Bidang | Diperlukan | Deskripsi |

284| :---------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |284| :---------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

285| `name` | Ya | Pengenal unik menggunakan huruf kecil dan tanda hubung. [Hooks](/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok |285| `name` | Ya | Pengenal unik menggunakan huruf kecil dan tanda hubung. [Hooks](/docs/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok |

286| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |286| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |

287| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent. Mewarisi semua alat jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent gagal diluncurkan dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |287| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent. Mewarisi semua alat jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent gagal diluncurkan dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |

288| `disallowedTools` | Tidak | Alat untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan |288| `disallowedTools` | Tidak | Alat untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan |

289| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap (misalnya, `claude-opus-4-8`), atau `inherit`. Default ke `inherit` |289| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap (misalnya, `claude-opus-4-8`), atau `inherit`. Default ke `inherit` |

290| `permissionMode` | Tidak | [Mode izin](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau {/* min-version: 2.1.200 */}`manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |290| `permissionMode` | Tidak | [Mode izin](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau `manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |

291| `maxTurns` | Tidak | Jumlah maksimum putaran agentic sebelum subagent berhenti |291| `maxTurns` | Tidak | Jumlah maksimum putaran agentic sebelum subagent berhenti |

292| `skills` | Tidak | [Skills](/id/skills) untuk dimuat ke dalam konteks subagent saat startup. Konten skill lengkap disuntikkan, bukan hanya deskripsi. Subagent masih dapat memanggil project, user, dan plugin skills yang tidak tercantum melalui alat Skill |292| `skills` | Tidak | [Skills](/docs/id/skills) untuk dimuat ke dalam konteks subagent saat startup. Konten skill lengkap disuntikkan, bukan hanya deskripsi. Subagent masih dapat memanggil project, user, dan plugin skills yang tidak tercantum melalui alat Skill |

293| `mcpServers` | Tidak | [MCP servers](/id/mcp) tersedia untuk subagent ini. Setiap entri adalah nama server yang mereferensikan server yang sudah dikonfigurasi (misalnya, `"slack"`) atau definisi inline dengan nama server sebagai kunci dan [konfigurasi MCP server](/id/mcp#installing-mcp-servers) lengkap sebagai nilai. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |293| `mcpServers` | Tidak | [MCP servers](/docs/id/mcp) tersedia untuk subagent ini. Setiap entri adalah nama server yang mereferensikan server yang sudah dikonfigurasi (misalnya, `"slack"`) atau definisi inline dengan nama server sebagai kunci dan [konfigurasi MCP server](/docs/id/mcp#installing-mcp-servers) lengkap sebagai nilai. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |

294| `hooks` | Tidak | [Lifecycle hooks](#define-hooks-for-subagents) yang dibatasi pada subagent ini. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |294| `hooks` | Tidak | [Lifecycle hooks](#define-hooks-for-subagents) yang dibatasi pada subagent ini. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |

295| `memory` | Tidak | [Cakupan memori persisten](#enable-persistent-memory): `user`, `project`, atau `local`. Memungkinkan pembelajaran lintas sesi |295| `memory` | Tidak | [Cakupan memori persisten](#enable-persistent-memory): `user`, `project`, atau `local`. Memungkinkan pembelajaran lintas sesi |

296| `background` | Tidak | Atur ke `true` untuk selalu menjalankan subagent ini sebagai [background task](#run-subagents-in-foreground-or-background), bahkan ketika Claude memerlukan hasilnya segera. Ketika tidak diatur, Claude memilih, dan {/* min-version: 2.1.198 */}sejak v2.1.198 itu menjalankan subagent di latar belakang secara default |296| `background` | Tidak | Atur ke `true` untuk selalu menjalankan subagent ini sebagai [background task](#run-subagents-in-foreground-or-background), bahkan ketika Claude memerlukan hasilnya segera. Ketika tidak diatur, Claude memilih, dan sejak v2.1.198 itu menjalankan subagent di latar belakang secara default |

297| `effort` | Tidak | Tingkat usaha ketika subagent ini aktif. Menimpa tingkat usaha sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; tingkat yang tersedia tergantung pada model |297| `effort` | Tidak | Tingkat usaha ketika subagent ini aktif. Menimpa tingkat usaha sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; tingkat yang tersedia tergantung pada model |

298| `isolation` | Tidak | Atur ke `worktree` untuk menjalankan subagent dalam [git worktree](/id/worktrees) sementara, memberikannya salinan repositori yang terisolasi yang bercabang secara default dari [cabang default](/id/worktrees#choose-the-base-branch) Anda daripada `HEAD` sesi induk. Worktree secara otomatis dibersihkan jika subagent tidak membuat perubahan |298| `isolation` | Tidak | Atur ke `worktree` untuk menjalankan subagent dalam [git worktree](/docs/id/worktrees) sementara, memberikannya salinan repositori yang terisolasi yang bercabang secara default dari [cabang default](/docs/id/worktrees#choose-the-base-branch) Anda daripada `HEAD` sesi induk. Worktree secara otomatis dibersihkan jika subagent tidak membuat perubahan |

299| `color` | Tidak | Warna tampilan untuk subagent dalam daftar tugas dan transkrip. Menerima `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, atau `cyan` |299| `color` | Tidak | Warna tampilan untuk subagent dalam daftar tugas dan transkrip. Menerima `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, atau `cyan` |

300| `initialPrompt` | Tidak | Auto-submitted sebagai putaran pengguna pertama ketika agen ini berjalan sebagai agen sesi utama (melalui `--agent` atau pengaturan `agent`). [Commands](/id/commands) dan [skills](/id/skills) diproses. Ditambahkan di depan prompt yang disediakan pengguna apa pun |300| `initialPrompt` | Tidak | Auto-submitted sebagai putaran pengguna pertama ketika agen ini berjalan sebagai agen sesi utama (melalui `--agent` atau pengaturan `agent`). [Commands](/docs/id/commands) dan [skills](/docs/id/skills) diproses. Ditambahkan di depan prompt yang disediakan pengguna apa pun |

301 301 

302<h3 id="choose-a-model">302<h3 id="choose-a-model">

303 Pilih model303 Pilih model

304</h3>304</h3>

305 305 

306Bidang `model` mengontrol [model AI](/id/model-config) mana yang digunakan subagent:306Bidang `model` mengontrol [model AI](/docs/id/model-config) mana yang digunakan subagent:

307 307 

308* **Alias model**: Gunakan salah satu alias yang tersedia: `sonnet`, `opus`, `haiku`, atau `fable`308* **Alias model**: Gunakan salah satu alias yang tersedia: `sonnet`, `opus`, `haiku`, atau `fable`

309* **ID model lengkap**: Gunakan ID model lengkap seperti `claude-opus-4-8` atau `claude-sonnet-5`. Menerima nilai yang sama dengan flag `--model`309* **ID model lengkap**: Gunakan ID model lengkap seperti `claude-opus-4-8` atau `claude-sonnet-5`. Menerima nilai yang sama dengan flag `--model`


312 312 

313Ketika Claude memanggil subagent, Claude juga dapat melewatkan parameter `model` untuk invokasi spesifik itu. Claude Code menyelesaikan model subagent dalam urutan ini:313Ketika Claude memanggil subagent, Claude juga dapat melewatkan parameter `model` untuk invokasi spesifik itu. Claude Code menyelesaikan model subagent dalam urutan ini:

314 314 

3151. Variabel lingkungan [`CLAUDE_CODE_SUBAGENT_MODEL`](/id/model-config#environment-variables), jika diatur ke alias model atau ID model3151. Variabel lingkungan [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/id/model-config#environment-variables), jika diatur ke alias model atau ID model

3162. Parameter `model` per-invokasi3162. Parameter `model` per-invokasi

3173. Frontmatter `model` definisi subagent3173. Frontmatter `model` definisi subagent

3184. Model percakapan utama3184. Model percakapan utama

319 319 

320{/* min-version: 2.1.196 */}Sejak v2.1.196, mengatur `CLAUDE_CODE_SUBAGENT_MODEL` ke `inherit` sama dengan membiarkannya tidak diatur: resolusi berlanjut dengan parameter `model` per-invokasi, kemudian frontmatter. Dalam versi sebelumnya, `inherit` memaksa subagent ke model percakapan utama dan mengabaikan kedua sumber itu.320Sejak v2.1.196, mengatur `CLAUDE_CODE_SUBAGENT_MODEL` ke `inherit` sama dengan membiarkannya tidak diatur: resolusi berlanjut dengan parameter `model` per-invokasi, kemudian frontmatter. Dalam versi sebelumnya, `inherit` memaksa subagent ke model percakapan utama dan mengabaikan kedua sumber itu.

321 321 

322Claude Code memeriksa variabel lingkungan, parameter per-invokasi, dan nilai frontmatter terhadap daftar allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda. Nilai yang diselesaikan ke model yang dikecualikan dilewati dan subagent berjalan pada model yang diwarisi sebagai gantinya.322Claude Code memeriksa variabel lingkungan, parameter per-invokasi, dan nilai frontmatter terhadap daftar allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda. Nilai yang diselesaikan ke model yang dikecualikan dilewati dan subagent berjalan pada model yang diwarisi sebagai gantinya.

323 323 

324{/* min-version: 2.1.198 */}Sejak v2.1.198, subagent juga mewarisi konfigurasi [extended thinking](/id/model-config#extended-thinking) percakapan utama: jika thinking aktif dalam sesi Anda, itu aktif untuk subagent, dan jika itu mati, itu tetap mati. Tidak ada pengaturan thinking per-subagent. Sebelum v2.1.198, subagent berjalan dengan extended thinking dinonaktifkan terlepas dari pengaturan percakapan utama.324Sejak v2.1.198, subagent juga mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) percakapan utama: jika thinking aktif dalam sesi Anda, itu aktif untuk subagent, dan jika itu mati, itu tetap mati. Tidak ada pengaturan thinking per-subagent. Sebelum v2.1.198, subagent berjalan dengan extended thinking dinonaktifkan terlepas dari pengaturan percakapan utama.

325 325 

326<h3 id="control-subagent-capabilities">326<h3 id="control-subagent-capabilities">

327 Kontrol kemampuan subagent327 Kontrol kemampuan subagent


333 Alat yang tersedia333 Alat yang tersedia

334</h4>334</h4>

335 335 

336Subagent mewarisi [alat internal](/id/tools-reference) dan alat MCP yang tersedia dalam percakapan utama secara default. Alat berikut bergantung pada UI percakapan utama atau status sesi dan tidak tersedia untuk subagent, bahkan ketika tercantum dalam bidang `tools`:336Subagent mewarisi [alat internal](/docs/id/tools-reference) dan alat MCP yang tersedia dalam percakapan utama secara default. Alat berikut bergantung pada UI percakapan utama atau status sesi dan tidak tersedia untuk subagent, bahkan ketika tercantum dalam bidang `tools`:

337 337 

338* `AskUserQuestion`338* `AskUserQuestion`

339* `EnterPlanMode`339* `EnterPlanMode`


363 363 

364Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap kumpulan yang tersisa. Alat yang tercantum di keduanya dihapus.364Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap kumpulan yang tersisa. Alat yang tercantum di keduanya dihapus.

365 365 

366Ketika tidak ada dalam daftar `tools` yang diselesaikan ke alat, misalnya karena setiap entri salah eja atau menyebutkan alat yang tidak tersedia untuk subagent, Claude Code menolak untuk meluncurkan subagent dan alat Agent mengembalikan kesalahan yang menyebutkan entri yang tidak diselesaikan. {/* min-version: 2.1.208 */}Sebelum v2.1.208, subagent itu diluncurkan tanpa alat dan dapat mengembalikan hasil yang kosong atau membingungkan.366Ketika tidak ada dalam daftar `tools` yang diselesaikan ke alat, misalnya karena setiap entri salah eja atau menyebutkan alat yang tidak tersedia untuk subagent, Claude Code menolak untuk meluncurkan subagent dan alat Agent mengembalikan kesalahan yang menyebutkan entri yang tidak diselesaikan. Sebelum v2.1.208, subagent itu diluncurkan tanpa alat dan dapat mengembalikan hasil yang kosong atau membingungkan.

367 367 

368Kedua bidang menerima pola tingkat server MCP selain nama alat yang tepat: `mcp__<server>` atau `mcp__<server>__*` memberikan atau menghapus setiap alat dari server bernama. Dalam `disallowedTools`, `mcp__*` juga menghapus setiap alat MCP dari server apa pun. Contoh ini menghapus setiap alat dari server MCP `github` sambil menyimpan alat dari server lain dan setiap alat bawaan:368Kedua bidang menerima pola tingkat server MCP selain nama alat yang tepat: `mcp__<server>` atau `mcp__<server>__*` memberikan atau menghapus setiap alat dari server bernama. Dalam `disallowedTools`, `mcp__*` juga menghapus setiap alat MCP dari server apa pun. Contoh ini menghapus setiap alat dari server MCP `github` sambil menyimpan alat dari server lain dan setiap alat bawaan:

369 369 


407 Cakupan MCP servers ke subagent407 Cakupan MCP servers ke subagent

408</h4>408</h4>

409 409 

410Gunakan bidang `mcpServers` untuk memberikan subagent akses ke [MCP](/id/mcp) servers yang tidak tersedia dalam percakapan utama. Server inline yang ditentukan di sini terhubung saat subagent dimulai dan terputus saat selesai. Referensi string berbagi koneksi sesi induk.410Gunakan bidang `mcpServers` untuk memberikan subagent akses ke [MCP](/docs/id/mcp) servers yang tidak tersedia dalam percakapan utama. Server inline yang ditentukan di sini terhubung saat subagent dimulai dan terputus saat selesai. Referensi string berbagi koneksi sesi induk.

411 411 

412<Note>412<Note>

413 Bidang `mcpServers` berlaku dalam kedua konteks di mana file agen dapat berjalan:413 Bidang `mcpServers` berlaku dalam kedua konteks di mana file agen dapat berjalan:


415 * Sebagai subagent, dihasilkan melalui alat Agent atau @-mention415 * Sebagai subagent, dihasilkan melalui alat Agent atau @-mention

416 * Sebagai sesi utama, diluncurkan dengan [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`416 * Sebagai sesi utama, diluncurkan dengan [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`

417 417 

418 Ketika agen adalah sesi utama, definisi server inline terhubung saat startup bersama server dari [`.mcp.json`](/id/mcp) dan file pengaturan.418 Ketika agen adalah sesi utama, definisi server inline terhubung saat startup bersama server dari [`.mcp.json`](/docs/id/mcp) dan file pengaturan.

419</Note>419</Note>

420 420 

421Setiap entri dalam daftar adalah definisi server inline atau string yang mereferensikan MCP server yang sudah dikonfigurasi dalam sesi Anda:421Setiap entri dalam daftar adalah definisi server inline atau string yang mereferensikan MCP server yang sudah dikonfigurasi dalam sesi Anda:


443 443 

444Sejak v2.1.153, pembatasan MCP yang berlaku untuk sesi utama juga mencakup server yang dideklarasikan dalam frontmatter subagent:444Sejak v2.1.153, pembatasan MCP yang berlaku untuk sesi utama juga mencakup server yang dideklarasikan dalam frontmatter subagent:

445 445 

446* [`--strict-mcp-config`](/id/cli-reference) dan [`--bare`](/id/cli-reference)446* [`--strict-mcp-config`](/docs/id/cli-reference) dan [`--bare`](/docs/id/cli-reference)

447* [Konfigurasi MCP terkelola Enterprise](/id/managed-mcp)447* [Konfigurasi MCP terkelola Enterprise](/docs/id/managed-mcp)

448* [`allowedMcpServers` dan `deniedMcpServers` policies](/id/managed-mcp#policy-based-control-with-allowlists-and-denylists)448* [`allowedMcpServers` dan `deniedMcpServers` policies](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists)

449 449 

450Ketika salah satu dari ini memblokir server, Claude Code melewatinya dan menampilkan peringatan yang menyebutkan server yang diblokir.450Ketika salah satu dari ini memblokir server, Claude Code melewatinya dan menampilkan peringatan yang menyebutkan server yang diblokir.

451 451 


461| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |461| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

462| `default` | Pemeriksaan izin standar dengan prompt |462| `default` | Pemeriksaan izin standar dengan prompt |

463| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |463| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |

464| `auto` | [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |464| `auto` | [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |

465| `dontAsk` | Auto-tolak prompt izin. Alat yang secara eksplisit diizinkan masih berfungsi; `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |465| `dontAsk` | Auto-tolak prompt izin. Alat yang secara eksplisit diizinkan masih berfungsi; `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |

466| `bypassPermissions` | Lewati prompt izin |466| `bypassPermissions` | Lewati prompt izin |

467| `plan` | Plan mode (eksplorasi hanya-baca) |467| `plan` | Plan mode (eksplorasi hanya-baca) |

468 468 

469<Warning>469<Warning>

470 Gunakan `bypassPermissions` dengan hati-hati. Ini melewati prompt izin, memungkinkan subagent untuk menjalankan operasi tanpa persetujuan, termasuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`.470 Gunakan `bypassPermissions` dengan hati-hati. Ini melewati prompt izin, memungkinkan subagent untuk menjalankan operasi tanpa persetujuan, termasuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`.

471 471 

472 Aturan [`ask` eksplisit](/id/permissions#manage-permissions), alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan penghapusan direktori root dan home seperti `rm -rf /` masih meminta. Lihat [permission modes](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk detail.472 Aturan [`ask` eksplisit](/docs/id/permissions#manage-permissions), alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan penghapusan direktori root dan home seperti `rm -rf /` masih meminta. Lihat [permission modes](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk detail.

473</Warning>473</Warning>

474 474 

475Jika induk menggunakan `bypassPermissions` atau `acceptEdits`, ini mengambil alih dan tidak dapat ditimpa. Jika induk menggunakan [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode), subagent mewarisi auto mode dan `permissionMode` apa pun dalam frontmatternya diabaikan: pengklasifikasi mengevaluasi panggilan alat subagent dengan aturan blok dan izin yang sama dengan sesi induk.475Jika induk menggunakan `bypassPermissions` atau `acceptEdits`, ini mengambil alih dan tidak dapat ditimpa. Jika induk menggunakan [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), subagent mewarisi auto mode dan `permissionMode` apa pun dalam frontmatternya diabaikan: pengklasifikasi mengevaluasi panggilan alat subagent dengan aturan blok dan izin yang sama dengan sesi induk.

476 476 

477<h4 id="preload-skills-into-subagents">477<h4 id="preload-skills-into-subagents">

478 Preload skills ke dalam subagent478 Preload skills ke dalam subagent


494 494 

495Konten lengkap setiap skill yang tercantum disuntikkan ke dalam konteks subagent saat startup. Bidang ini mengontrol skill mana yang dimuat sebelumnya, bukan skill mana yang dapat diakses subagent: tanpanya, subagent masih dapat menemukan dan memanggil project, user, dan plugin skills melalui alat Skill selama eksekusi. Untuk mencegah subagent memanggil skills sama sekali, hilangkan `Skill` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.495Konten lengkap setiap skill yang tercantum disuntikkan ke dalam konteks subagent saat startup. Bidang ini mengontrol skill mana yang dimuat sebelumnya, bukan skill mana yang dapat diakses subagent: tanpanya, subagent masih dapat menemukan dan memanggil project, user, dan plugin skills melalui alat Skill selama eksekusi. Untuk mencegah subagent memanggil skills sama sekali, hilangkan `Skill` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.

496 496 

497Anda tidak dapat preload skills yang menetapkan [`disable-model-invocation: true`](/id/skills#control-who-invokes-a-skill), karena preloading menarik dari set skills yang sama yang dapat diinvokasi Claude. Jika skill yang tercantum hilang atau dinonaktifkan, Claude Code melewatinya dan mencatat peringatan ke debug log.497Anda tidak dapat preload skills yang menetapkan [`disable-model-invocation: true`](/docs/id/skills#control-who-invokes-a-skill), karena preloading menarik dari set skills yang sama yang dapat diinvokasi Claude. Jika skill yang tercantum hilang atau dinonaktifkan, Claude Code melewatinya dan mencatat peringatan ke debug log.

498 498 

499<Note>499<Note>

500 Ini adalah kebalikan dari [menjalankan skill dalam subagent](/id/skills#run-skills-in-a-subagent). Dengan `skills` dalam subagent, subagent mengontrol prompt sistem dan memuat konten skill. Dengan `context: fork` dalam skill, konten skill disuntikkan ke dalam agen yang Anda tentukan. Keduanya menggunakan sistem yang mendasar yang sama.500 Ini adalah kebalikan dari [menjalankan skill dalam subagent](/docs/id/skills#run-skills-in-a-subagent). Dengan `skills` dalam subagent, subagent mengontrol prompt sistem dan memuat konten skill. Dengan `context: fork` dalam skill, konten skill disuntikkan ke dalam agen yang Anda tentukan. Keduanya menggunakan sistem yang mendasar yang sama.

501</Note>501</Note>

502 502 

503<h4 id="enable-persistent-memory">503<h4 id="enable-persistent-memory">


569---569---

570```570```

571 571 

572Claude Code [melewatkan input hook sebagai JSON](/id/hooks#pretooluse-input) melalui stdin ke perintah hook. Skrip validasi membaca JSON ini, mengekstrak perintah Bash, dan [keluar dengan kode 2](/id/hooks#exit-code-2-behavior-per-event) untuk memblokir operasi penulisan:572Claude Code [melewatkan input hook sebagai JSON](/docs/id/hooks#pretooluse-input) melalui stdin ke perintah hook. Skrip validasi membaca JSON ini, mengekstrak perintah Bash, dan [keluar dengan kode 2](/docs/id/hooks#exit-code-2-behavior-per-event) untuk memblokir operasi penulisan:

573 573 

574```bash theme={null}574```bash theme={null}

575#!/bin/bash575#!/bin/bash


587exit 0587exit 0

588```588```

589 589 

590Lihat [Hook input](/id/hooks#pretooluse-input) untuk skema input lengkap dan [exit codes](/id/hooks#exit-code-output) untuk bagaimana kode keluar mempengaruhi perilaku. Di Windows, tulis skrip hook dalam PowerShell dan tambahkan `shell: powershell` ke entri hook seperti yang ditunjukkan dalam [menjalankan hooks dalam PowerShell](/id/hooks#windows-powershell-tool).590Lihat [Hook input](/docs/id/hooks#pretooluse-input) untuk skema input lengkap dan [exit codes](/docs/id/hooks#exit-code-output) untuk bagaimana kode keluar mempengaruhi perilaku. Di Windows, tulis skrip hook dalam PowerShell dan tambahkan `shell: powershell` ke entri hook seperti yang ditunjukkan dalam [menjalankan hooks dalam PowerShell](/docs/id/hooks#windows-powershell-tool).

591 591 

592<h4 id="disable-specific-subagents">592<h4 id="disable-specific-subagents">

593 Nonaktifkan subagent tertentu593 Nonaktifkan subagent tertentu

594</h4>594</h4>

595 595 

596Anda dapat mencegah Claude menggunakan subagent tertentu dengan menambahkannya ke array `deny` dalam [pengaturan](/id/settings#permission-settings) Anda. Gunakan format `Agent(subagent-name)` di mana `subagent-name` cocok dengan bidang nama subagent.596Anda dapat mencegah Claude menggunakan subagent tertentu dengan menambahkannya ke array `deny` dalam [pengaturan](/docs/id/settings#permission-settings) Anda. Gunakan format `Agent(subagent-name)` di mana `subagent-name` cocok dengan bidang nama subagent.

597 597 

598```json theme={null}598```json theme={null}

599{599{


609claude --disallowedTools "Agent(Explore)"609claude --disallowedTools "Agent(Explore)"

610```610```

611 611 

612Lihat [dokumentasi Permissions](/id/permissions#tool-specific-permission-rules) untuk detail lebih lanjut tentang aturan izin.612Lihat [dokumentasi Permissions](/docs/id/permissions#tool-specific-permission-rules) untuk detail lebih lanjut tentang aturan izin.

613 613 

614<h3 id="define-hooks-for-subagents">614<h3 id="define-hooks-for-subagents">

615 Tentukan hooks untuk subagent615 Tentukan hooks untuk subagent

616</h3>616</h3>

617 617 

618Subagent dapat mendefinisikan [hooks](/id/hooks) yang berjalan selama siklus hidup subagent. Ada dua cara untuk mengonfigurasi hooks:618Subagent dapat mendefinisikan [hooks](/docs/id/hooks) yang berjalan selama siklus hidup subagent. Ada dua cara untuk mengonfigurasi hooks:

619 619 

620* **Dalam frontmatter subagent**: Tentukan hooks yang hanya berjalan saat subagent tertentu itu aktif620* **Dalam frontmatter subagent**: Tentukan hooks yang hanya berjalan saat subagent tertentu itu aktif

621* **Dalam `settings.json`**: Tentukan hooks yang berjalan dalam sesi utama ketika subagent dimulai atau berhenti621* **Dalam `settings.json`**: Tentukan hooks yang berjalan dalam sesi utama ketika subagent dimulai atau berhenti


627Tentukan hooks langsung dalam file markdown subagent. Hooks ini hanya berjalan saat subagent spesifik itu aktif dan dibersihkan saat selesai.627Tentukan hooks langsung dalam file markdown subagent. Hooks ini hanya berjalan saat subagent spesifik itu aktif dan dibersihkan saat selesai.

628 628 

629<Note>629<Note>

630 Frontmatter hooks terjadi ketika agen dihasilkan sebagai subagent melalui alat Agent atau @-mention, dan ketika agen berjalan sebagai sesi utama melalui [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`. Dalam kasus sesi-utama mereka berjalan bersama hook apa pun yang ditentukan dalam [`settings.json`](/id/hooks).630 Frontmatter hooks terjadi ketika agen dihasilkan sebagai subagent melalui alat Agent atau @-mention, dan ketika agen berjalan sebagai sesi utama melalui [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`. Dalam kasus sesi-utama mereka berjalan bersama hook apa pun yang ditentukan dalam [`settings.json`](/docs/id/hooks).

631</Note>631</Note>

632 632 

633Semua [hook events](/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:633Semua [hook events](/docs/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:

634 634 

635| Peristiwa | Input Matcher | Kapan itu terjadi |635| Peristiwa | Input Matcher | Kapan itu terjadi |

636| :------------ | :------------ | :------------------------------------------------------------------ |636| :------------ | :------------ | :------------------------------------------------------------------ |


671| `SubagentStart` | Nama jenis agen | Ketika subagent mulai dijalankan |671| `SubagentStart` | Nama jenis agen | Ketika subagent mulai dijalankan |

672| `SubagentStop` | Nama jenis agen | Ketika subagent selesai |672| `SubagentStop` | Nama jenis agen | Ketika subagent selesai |

673 673 

674Kedua peristiwa mendukung matcher untuk menargetkan jenis agen tertentu berdasarkan nama. Nilai matcher adalah `name` frontmatter agen untuk subagent tingkat proyek dan pengguna, atau pengenal yang dibatasi cakupan plugin seperti `my-plugin:db-agent` untuk [subagent plugin](/id/plugins). Nama yang dibatasi cakupan berisi titik dua, sehingga dievaluasi sebagai [ekspresi reguler yang tidak berlabuh](/id/hooks#matcher-patterns); jangkarnya dengan `^` dan `$`, seperti dalam `^my-plugin:db-agent$`, untuk mencocokkan hanya agen itu.674Kedua peristiwa mendukung matcher untuk menargetkan jenis agen tertentu berdasarkan nama. Nilai matcher adalah `name` frontmatter agen untuk subagent tingkat proyek dan pengguna, atau pengenal yang dibatasi cakupan plugin seperti `my-plugin:db-agent` untuk [subagent plugin](/docs/id/plugins). Nama yang dibatasi cakupan berisi titik dua, sehingga dievaluasi sebagai [ekspresi reguler yang tidak berlabuh](/docs/id/hooks#matcher-patterns); jangkarnya dengan `^` dan `$`, seperti dalam `^my-plugin:db-agent$`, untuk mencocokkan hanya agen itu.

675 675 

676Contoh ini menjalankan skrip setup hanya ketika subagent `db-agent` dimulai, dan skrip cleanup ketika subagent apa pun berhenti:676Contoh ini menjalankan skrip setup hanya ketika subagent `db-agent` dimulai, dan skrip cleanup ketika subagent apa pun berhenti:

677 677 


699 699 

700Matcher dengan tanda hubung seperti `db-agent` cocok dengan tepat pada Claude Code v2.1.195 atau lebih baru. Pada versi sebelumnya dievaluasi sebagai ekspresi reguler yang tidak berlabuh dan juga terjadi untuk jenis agen apa pun yang berisinya, seperti `prod-db-agent`; jangkarnya sebagai `^db-agent$` pada versi-versi itu.700Matcher dengan tanda hubung seperti `db-agent` cocok dengan tepat pada Claude Code v2.1.195 atau lebih baru. Pada versi sebelumnya dievaluasi sebagai ekspresi reguler yang tidak berlabuh dan juga terjadi untuk jenis agen apa pun yang berisinya, seperti `prod-db-agent`; jangkarnya sebagai `^db-agent$` pada versi-versi itu.

701 701 

702Lihat [Hooks](/id/hooks) untuk format konfigurasi hook lengkap.702Lihat [Hooks](/docs/id/hooks) untuk format konfigurasi hook lengkap.

703 703 

704<h2 id="work-with-subagents">704<h2 id="work-with-subagents">

705 Bekerja dengan subagent705 Bekerja dengan subagent


736 736 

737Pesan lengkap Anda masih pergi ke Claude, yang menulis prompt tugas subagent berdasarkan apa yang Anda minta. @-mention mengontrol subagent mana yang Claude panggil, bukan prompt apa yang diterima.737Pesan lengkap Anda masih pergi ke Claude, yang menulis prompt tugas subagent berdasarkan apa yang Anda minta. @-mention mengontrol subagent mana yang Claude panggil, bukan prompt apa yang diterima.

738 738 

739Subagent yang disediakan oleh [plugin](/id/plugins) yang diaktifkan muncul di typeahead dengan nama yang dibatasi, seperti `my-plugin:code-reviewer` atau `my-plugin:review:security` ketika plugin [mengorganisir agen ke dalam subfolder](#choose-the-subagent-scope). Subagent background bernama yang saat ini berjalan dalam sesi juga muncul di typeahead, menunjukkan status mereka di samping nama.739Subagent yang disediakan oleh [plugin](/docs/id/plugins) yang diaktifkan muncul di typeahead dengan nama yang dibatasi, seperti `my-plugin:code-reviewer` atau `my-plugin:review:security` ketika plugin [mengorganisir agen ke dalam subfolder](#choose-the-subagent-scope). Subagent background bernama yang saat ini berjalan dalam sesi juga muncul di typeahead, menunjukkan status mereka di samping nama.

740 740 

741Anda juga dapat mengetik mention secara manual tanpa menggunakan picker: `@agent-<name>` untuk subagent lokal, atau `@agent-` diikuti dengan nama yang dibatasi untuk subagent plugin, misalnya `@agent-my-plugin:code-reviewer`.741Anda juga dapat mengetik mention secara manual tanpa menggunakan picker: `@agent-<name>` untuk subagent lokal, atau `@agent-` diikuti dengan nama yang dibatasi untuk subagent plugin, misalnya `@agent-my-plugin:code-reviewer`.

742 742 

743**Jalankan seluruh sesi sebagai subagent.** Lewatkan [`--agent <name>`](/id/cli-reference) untuk memulai sesi di mana thread utama itu sendiri mengambil prompt sistem subagent, pembatasan alat, dan model:743**Jalankan seluruh sesi sebagai subagent.** Lewatkan [`--agent <name>`](/docs/id/cli-reference) untuk memulai sesi di mana thread utama itu sendiri mengambil prompt sistem subagent, pembatasan alat, dan model:

744 744 

745```bash theme={null}745```bash theme={null}

746claude --agent code-reviewer746claude --agent code-reviewer

747```747```

748 748 

749Prompt sistem subagent menggantikan prompt sistem Claude Code default sepenuhnya, dengan cara yang sama [`--system-prompt`](/id/cli-reference) melakukannya. File `CLAUDE.md` dan memori proyek masih dimuat melalui aliran pesan normal. Nama agen muncul sebagai `@<name>` di header startup sehingga Anda dapat mengonfirmasi itu aktif.749Prompt sistem subagent menggantikan prompt sistem Claude Code default sepenuhnya, dengan cara yang sama [`--system-prompt`](/docs/id/cli-reference) melakukannya. File `CLAUDE.md` dan memori proyek masih dimuat melalui aliran pesan normal. Nama agen muncul sebagai `@<name>` di header startup sehingga Anda dapat mengonfirmasi itu aktif.

750 750 

751Ini berfungsi dengan subagent bawaan dan khusus, dan pilihan bertahan ketika Anda melanjutkan sesi.751Ini berfungsi dengan subagent bawaan dan khusus, dan pilihan bertahan ketika Anda melanjutkan sesi.

752 752 


781Subagent dapat berjalan di foreground atau background:781Subagent dapat berjalan di foreground atau background:

782 782 

783* **Subagent foreground** memblokir percakapan utama sampai selesai. Prompt izin dilewatkan kepada Anda saat muncul.783* **Subagent foreground** memblokir percakapan utama sampai selesai. Prompt izin dilewatkan kepada Anda saat muncul.

784* **Subagent background** berjalan secara bersamaan sementara Anda terus bekerja. {/* min-version: 2.1.186 */}Mulai dari v2.1.186, ketika subagent background mencapai panggilan alat yang memerlukan izin, prompt muncul di sesi utama Anda dan menyebutkan subagent yang bertanya. Setujui untuk membiarkan subagent melanjutkan, atau tekan Esc untuk menolak panggilan alat itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background auto-deny setiap panggilan alat yang sebaliknya akan meminta.784* **Subagent background** berjalan secara bersamaan sementara Anda terus bekerja. Mulai dari v2.1.186, ketika subagent background mencapai panggilan alat yang memerlukan izin, prompt muncul di sesi utama Anda dan menyebutkan subagent yang bertanya. Setujui untuk membiarkan subagent melanjutkan, atau tekan Esc untuk menolak panggilan alat itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background auto-deny setiap panggilan alat yang sebaliknya akan meminta.

785 785 

786{/* min-version: 2.1.198 */}Mulai dari v2.1.198, subagent berjalan di background secara default. Claude menjalankan subagent di foreground ketika memerlukan hasil sebelum melanjutkan. Default mengubah di mana subagent berjalan, bukan apa yang diizinkan untuk dilakukan: subagent background masih menampilkan setiap prompt izin di sesi utama Anda. Sebelum v2.1.198, Claude memilih antara foreground dan background berdasarkan tugas.786Mulai dari v2.1.198, subagent berjalan di background secara default. Claude menjalankan subagent di foreground ketika memerlukan hasil sebelum melanjutkan. Default mengubah di mana subagent berjalan, bukan apa yang diizinkan untuk dilakukan: subagent background masih menampilkan setiap prompt izin di sesi utama Anda. Sebelum v2.1.198, Claude memilih antara foreground dan background berdasarkan tugas.

787 787 

788Anda juga dapat mengarahkan ini sendiri:788Anda juga dapat mengarahkan ini sendiri:

789 789 

790* Minta Claude untuk menjalankan tugas di background atau di foreground790* Minta Claude untuk menjalankan tugas di background atau di foreground

791* Tekan **Ctrl+B** untuk menempatkan tugas yang sedang berjalan di background791* Tekan **Ctrl+B** untuk menempatkan tugas yang sedang berjalan di background

792 792 

793{/* min-version: 2.1.208 */}Subagent background yang selesai tetap terdaftar dalam [`/tasks`](/id/commands), ditandai selesai dan diurutkan di bawah pekerjaan yang sedang berjalan, sampai sesi membersihkan daftar tugasnya. Tampilan detailnya tetap terbuka ketika subagent selesai. Subagent yang gagal atau yang Anda hentikan meninggalkan daftar. Sebelum v2.1.208, subagent yang selesai meninggalkan daftar saat itu selesai dan tampilan detailnya ditutup.793Subagent background yang selesai tetap terdaftar dalam [`/tasks`](/docs/id/commands), ditandai selesai dan diurutkan di bawah pekerjaan yang sedang berjalan, sampai sesi membersihkan daftar tugasnya. Tampilan detailnya tetap terbuka ketika subagent selesai. Subagent yang gagal atau yang Anda hentikan meninggalkan daftar. Sebelum v2.1.208, subagent yang selesai meninggalkan daftar saat itu selesai dan tampilan detailnya ditutup.

794 794 

795Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars).795Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/docs/id/env-vars).

796 796 

797Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background dan bidang frontmatter `background` tidak berpengaruh, karena fork mode menghapus parameter `run_in_background` dari alat `Agent`. `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` mengambil alih fork mode dan menjaga spawn subagent di foreground.797Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background dan bidang frontmatter `background` tidak berpengaruh, karena fork mode menghapus parameter `run_in_background` dari alat `Agent`. `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` mengambil alih fork mode dan menjaga spawn subagent di foreground.

798 798 


800 Kesalahan API dalam subagent800 Kesalahan API dalam subagent

801</h3>801</h3>

802 802 

803{/* min-version: 2.1.199 */}Mulai dari v2.1.199, subagent yang berjalan berakhir pada kesalahan API, seperti batas penggunaan atau kesalahan server berulang, melaporkan kegagalan itu kembali ke Claude daripada mengembalikan teks kesalahan seolah-olah itu adalah temuan subagent. Apa yang Claude terima tergantung di mana subagent berjalan:803Mulai dari v2.1.199, subagent yang berjalan berakhir pada kesalahan API, seperti batas penggunaan atau kesalahan server berulang, melaporkan kegagalan itu kembali ke Claude daripada mengembalikan teks kesalahan seolah-olah itu adalah temuan subagent. Apa yang Claude terima tergantung di mana subagent berjalan:

804 804 

805* **Foreground**: jika batas laju, kelebihan beban, atau kesalahan server memotong subagent yang sudah menghasilkan output teks, alat Agent mengembalikan output parsial itu dengan catatan bahwa subagent dipotong dan tidak menyelesaikan tugasnya. {/* min-version: 2.1.200 */}Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya panggilan alat, gagal dengan [`Agent terminated early due to an API error`](/id/errors#agent-terminated-early-due-to-an-api-error), diikuti oleh detail kesalahan. Dalam v2.1.199, batas laju, kelebihan beban, atau kesalahan server yang memotong bentuk tool-calls-only mengembalikan hasil parsial kosong yang hanya berisi catatan cut-off sebagai gantinya.805* **Foreground**: jika batas laju, kelebihan beban, atau kesalahan server memotong subagent yang sudah menghasilkan output teks, alat Agent mengembalikan output parsial itu dengan catatan bahwa subagent dipotong dan tidak menyelesaikan tugasnya. Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya panggilan alat, gagal dengan [`Agent terminated early due to an API error`](/docs/id/errors#agent-terminated-early-due-to-an-api-error), diikuti oleh detail kesalahan. Dalam v2.1.199, batas laju, kelebihan beban, atau kesalahan server yang memotong bentuk tool-calls-only mengembalikan hasil parsial kosong yang hanya berisi catatan cut-off sebagai gantinya.

806* **Background**: subagent ditandai gagal, dan pesan yang Claude terima saat berakhir menyebutkan kesalahan API dan menyertakan output terakhir subagent, jadi pekerjaan parsial tidak hilang.806* **Background**: subagent ditandai gagal, dan pesan yang Claude terima saat berakhir menyebutkan kesalahan API dan menyertakan output terakhir subagent, jadi pekerjaan parsial tidak hilang.

807 807 

808Setelah kesalahan API yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [lanjutkan subagent](#resume-subagents).808Setelah kesalahan API yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [lanjutkan subagent](#resume-subagents).


837 Ketika subagent selesai, hasil mereka kembali ke percakapan utama Anda. Menjalankan banyak subagent yang masing-masing mengembalikan hasil terperinci dapat mengonsumsi konteks yang signifikan.837 Ketika subagent selesai, hasil mereka kembali ke percakapan utama Anda. Menjalankan banyak subagent yang masing-masing mengembalikan hasil terperinci dapat mengonsumsi konteks yang signifikan.

838</Warning>838</Warning>

839 839 

840Untuk tugas yang memerlukan paralelisme berkelanjutan atau melebihi jendela konteks Anda, [tim agen](/id/agent-teams) memberikan setiap pekerja konteksnya sendiri yang independen.840Untuk tugas yang memerlukan paralelisme berkelanjutan atau melebihi jendela konteks Anda, [tim agen](/docs/id/agent-teams) memberikan setiap pekerja konteksnya sendiri yang independen.

841 841 

842<h4 id="chain-subagents">842<h4 id="chain-subagents">

843 Rantai subagent843 Rantai subagent


866* Anda ingin menerapkan pembatasan alat atau izin tertentu866* Anda ingin menerapkan pembatasan alat atau izin tertentu

867* Pekerjaan mandiri dan dapat mengembalikan ringkasan867* Pekerjaan mandiri dan dapat mengembalikan ringkasan

868 868 

869Pertimbangkan [Skills](/id/skills) sebagai gantinya ketika Anda menginginkan prompt atau alur kerja yang dapat digunakan kembali yang berjalan dalam konteks percakapan utama daripada konteks subagent yang terisolasi.869Pertimbangkan [Skills](/docs/id/skills) sebagai gantinya ketika Anda menginginkan prompt atau alur kerja yang dapat digunakan kembali yang berjalan dalam konteks percakapan utama daripada konteks subagent yang terisolasi.

870 870 

871Untuk pertanyaan cepat tentang sesuatu yang sudah ada dalam percakapan Anda, gunakan [`/btw`](/id/interactive-mode#side-questions-with-%2Fbtw) sebagai gantinya dari subagent. Ini melihat konteks penuh Anda tetapi tidak memiliki akses alat, dan jawabannya dibuang daripada ditambahkan ke riwayat.871Untuk pertanyaan cepat tentang sesuatu yang sudah ada dalam percakapan Anda, gunakan [`/btw`](/docs/id/interactive-mode#side-questions-with-%2Fbtw) sebagai gantinya dari subagent. Ini melihat konteks penuh Anda tetapi tidak memiliki akses alat, dan jawabannya dibuang daripada ditambahkan ke riwayat.

872 872 

873<h3 id="spawn-nested-subagents">873<h3 id="spawn-nested-subagents">

874 Hasilkan subagent bersarang874 Hasilkan subagent bersarang

875</h3>875</h3>

876 876 

877{/* min-version: 2.1.172 */}Mulai dari Claude Code v2.1.172, subagent dapat menghasilkan subagent-nya sendiri. Gunakan ini ketika tugas yang didelegasikan itu sendiri terbagi menjadi subtask paralel, seperti subagent reviewer yang mengirimkan verifier per temuan, sehingga output perantara tidak pernah mencapai percakapan utama Anda. Hanya ringkasan subagent tingkat atas yang kembali kepada Anda.877Mulai dari Claude Code v2.1.172, subagent dapat menghasilkan subagent-nya sendiri. Gunakan ini ketika tugas yang didelegasikan itu sendiri terbagi menjadi subtask paralel, seperti subagent reviewer yang mengirimkan verifier per temuan, sehingga output perantara tidak pernah mencapai percakapan utama Anda. Hanya ringkasan subagent tingkat atas yang kembali kepada Anda.

878 878 

879Subagent bersarang dikonfigurasi dengan cara yang sama seperti subagent tingkat atas dan diselesaikan dari scope yang sama.879Subagent bersarang dikonfigurasi dengan cara yang sama seperti subagent tingkat atas dan diselesaikan dari scope yang sama.

880 880 

881Panel subagent di bawah input prompt menunjukkan pohon lengkap: setiap baris menampilkan hitungan `(+N)` keturunan, dan {/* min-version: 2.1.193 */}mulai dari v2.1.193, membuka baris menunjukkan saudara dan anak langsung subagent itu dengan jalur kembali ke `main`.881Panel subagent di bawah input prompt menunjukkan pohon lengkap: setiap baris menampilkan hitungan `(+N)` keturunan, dan mulai dari v2.1.193, membuka baris menunjukkan saudara dan anak langsung subagent itu dengan jalur kembali ke `main`.

882 882 

883Kedalaman dihitung sebagai jumlah level subagent di bawah percakapan utama, terlepas dari apakah setiap level berjalan di foreground atau background. Subagent pada kedalaman lima tidak menerima alat Agent dan tidak dapat menghasilkan lebih lanjut. Batasnya tetap dan tidak dapat dikonfigurasi.883Kedalaman dihitung sebagai jumlah level subagent di bawah percakapan utama, terlepas dari apakah setiap level berjalan di foreground atau background. Subagent pada kedalaman lima tidak menerima alat Agent dan tidak dapat menghasilkan lebih lanjut. Batasnya tetap dan tidak dapat dikonfigurasi.

884 884 


905* **CLAUDE.md dan memori**: setiap level dari hierarki memori yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, dan file kebijakan yang dikelola. Agen Explore dan Plan bawaan melewati ini.905* **CLAUDE.md dan memori**: setiap level dari hierarki memori yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, dan file kebijakan yang dikelola. Agen Explore dan Plan bawaan melewati ini.

906* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika `includeGitInstructions` adalah `false`. Explore dan Plan melewatinya terlepas.906* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika `includeGitInstructions` adalah `false`. Explore dan Plan melewatinya terlepas.

907* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang `skills` agen. Agen bawaan tidak memuat skills sebelumnya.907* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang `skills` agen. Agen bawaan tidak memuat skills sebelumnya.

908* **Daftar saudara**: pengingat sistem yang mencantumkan `main` dan setiap agen bernama lainnya dalam sesi, masing-masing nilai `to` yang valid untuk [`SendMessage`](#resume-subagents). {/* min-version: 2.1.206 */}Memerlukan Claude Code v2.1.206 atau lebih baru. Daftar muncul hanya ketika alat subagent mencakup `SendMessage` dan setidaknya satu agen lain memiliki nama, baik Claude menamakannya saat memunculkannya atau berjalan sebagai anggota [tim agen](/id/agent-teams). Ini adalah snapshot yang diambil ketika subagent dimulai, jadi agen yang dinamai nanti tidak muncul.908* **Daftar saudara**: pengingat sistem yang mencantumkan `main` dan setiap agen bernama lainnya dalam sesi, masing-masing nilai `to` yang valid untuk [`SendMessage`](#resume-subagents). Memerlukan Claude Code v2.1.206 atau lebih baru. Daftar muncul hanya ketika alat subagent mencakup `SendMessage` dan setidaknya satu agen lain memiliki nama, baik Claude menamakannya saat memunculkannya atau berjalan sebagai anggota [tim agen](/docs/id/agent-teams). Ini adalah snapshot yang diambil ketika subagent dimulai, jadi agen yang dinamai nanti tidak muncul.

909 909 

910Explore dan Plan adalah satu-satunya subagent yang menghilangkan CLAUDE.md dan status git. Tidak ada bidang frontmatter atau pengaturan per-agen untuk mengubah agen mana yang melewatinya.910Explore dan Plan adalah satu-satunya subagent yang menghilangkan CLAUDE.md dan status git. Tidak ada bidang frontmatter atau pengaturan per-agen untuk mengubah agen mana yang melewatinya.

911 911 


935 935 

936Subagent yang dihentikan yang menerima `SendMessage` auto-resume di background tanpa memerlukan invokasi `Agent` baru. Hal yang sama berlaku untuk subagent yang Claude hentikan dengan alat `TaskStop`.936Subagent yang dihentikan yang menerima `SendMessage` auto-resume di background tanpa memerlukan invokasi `Agent` baru. Hal yang sama berlaku untuk subagent yang Claude hentikan dengan alat `TaskStop`.

937 937 

938{/* min-version: 2.1.191 */}Mulai dari v2.1.191, subagent yang Anda hentikan sendiri, dengan `x` dalam `/tasks` atau permintaan SDK `stop_task`, tidak auto-resume. Panggilan `SendMessage` mengembalikan penolakan yang memberi tahu Claude agen dibatalkan. Ketik ke dalam transkrip subagent itu di panel subagent untuk melanjutkannya sendiri, yang menghapus stop sehingga panggilan `SendMessage` nanti dapat auto-resume lagi.938Mulai dari v2.1.191, subagent yang Anda hentikan sendiri, dengan `x` dalam `/tasks` atau permintaan SDK `stop_task`, tidak auto-resume. Panggilan `SendMessage` mengembalikan penolakan yang memberi tahu Claude agen dibatalkan. Ketik ke dalam transkrip subagent itu di panel subagent untuk melanjutkannya sendiri, yang menghapus stop sehingga panggilan `SendMessage` nanti dapat auto-resume lagi.

939 939 

940Melanjutkan memulai run baru dari agen di bawah ID yang sama, jadi subagent yang sudah gagal atau selesai menunjukkan sebagai berjalan lagi dalam daftar tugas dan dalam peristiwa tugas SDK Agent. Sebelum v2.1.205, itu terus menunjukkan status gagal atau selesai sebelumnya sementara run yang dilanjutkan sedang bekerja.940Melanjutkan memulai run baru dari agen di bawah ID yang sama, jadi subagent yang sudah gagal atau selesai menunjukkan sebagai berjalan lagi dalam daftar tugas dan dalam peristiwa tugas SDK Agent. Sebelum v2.1.205, itu terus menunjukkan status gagal atau selesai sebelumnya sementara run yang dilanjutkan sedang bekerja.

941 941 

942{/* min-version: 2.1.199 */}Mulai dari v2.1.199, `SendMessage` memeriksa bahwa nama masih merujuk ke agen yang sama yang dicapai sebelumnya dalam percakapan. Jika agen yang lebih baru telah mengambil nama, seperti agen background yang di-spawn ulang yang menggunakannya kembali, Claude Code menolak pengiriman daripada mengirimkannya ke agen yang salah, dan kesalahan melaporkan agen mana yang sekarang dicapai nama sehingga Claude dapat menargetkan ulang. Untuk mencapai agen sebelumnya sementara masih berjalan, Claude mengalamatkannya dengan ID agen dari hasil spawn. Pemeriksaan dibatasi pada percakapan saat ini dan direset pada `/clear`.942Mulai dari v2.1.199, `SendMessage` memeriksa bahwa nama masih merujuk ke agen yang sama yang dicapai sebelumnya dalam percakapan. Jika agen yang lebih baru telah mengambil nama, seperti agen background yang di-spawn ulang yang menggunakannya kembali, Claude Code menolak pengiriman daripada mengirimkannya ke agen yang salah, dan kesalahan melaporkan agen mana yang sekarang dicapai nama sehingga Claude dapat menargetkan ulang. Untuk mencapai agen sebelumnya sementara masih berjalan, Claude mengalamatkannya dengan ID agen dari hasil spawn. Pemeriksaan dibatasi pada percakapan saat ini dan direset pada `/clear`.

943 943 

944{/* min-version: 2.1.198 */}Mulai dari v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal, termasuk koreksi kursus mid-task, dan bertindak atas mereka dalam pengaturan izin mereka sendiri. Dua batas masih berlaku terlepas dari siapa yang mengirim pesan: tidak ada pesan dari agen apa pun yang dihitung sebagai persetujuan Anda untuk prompt izin yang tertunda, dan tidak ada pesan agen yang dapat mengubah pengaturan izin subagent, `CLAUDE.md`, atau konfigurasi. Hanya sistem izin atau pesan Anda sendiri yang dapat memberikan persetujuan.944Mulai dari v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal, termasuk koreksi kursus mid-task, dan bertindak atas mereka dalam pengaturan izin mereka sendiri. Dua batas masih berlaku terlepas dari siapa yang mengirim pesan: tidak ada pesan dari agen apa pun yang dihitung sebagai persetujuan Anda untuk prompt izin yang tertunda, dan tidak ada pesan agen yang dapat mengubah pengaturan izin subagent, `CLAUDE.md`, atau konfigurasi. Hanya sistem izin atau pesan Anda sendiri yang dapat memberikan persetujuan.

945 945 

946Anda juga dapat meminta Claude untuk ID agen jika Anda ingin mereferensikannya secara eksplisit, atau temukan ID dalam file transkrip di `~/.claude/projects/{project}/{sessionId}/subagents/`. Setiap transkrip disimpan sebagai `agent-{agentId}.jsonl`.946Anda juga dapat meminta Claude untuk ID agen jika Anda ingin mereferensikannya secara eksplisit, atau temukan ID dalam file transkrip di `~/.claude/projects/{project}/{sessionId}/subagents/`. Setiap transkrip disimpan sebagai `agent-{agentId}.jsonl`.

947 947 


955 Auto-compaction955 Auto-compaction

956</h4>956</h4>

957 957 

958Subagent mendukung pemadatan otomatis menggunakan logika yang sama dengan percakapan utama. Pemadatan dipicu di bawah kondisi yang sama, dan `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` berlaku untuk subagent juga. Lihat [environment variables](/id/env-vars) untuk kapan override berlaku.958Subagent mendukung pemadatan otomatis menggunakan logika yang sama dengan percakapan utama. Pemadatan dipicu di bawah kondisi yang sama, dan `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` berlaku untuk subagent juga. Lihat [environment variables](/docs/id/env-vars) untuk kapan override berlaku.

959 959 

960Peristiwa pemadatan dicatat dalam file transkrip subagent:960Peristiwa pemadatan dicatat dalam file transkrip subagent:

961 961 


977</h2>977</h2>

978 978 

979<Note>979<Note>

980 Subagent yang di-fork memerlukan Claude Code v2.1.117 atau lebih baru. {/* min-version: 2.1.161 */}Mulai dari v2.1.161 perintah `/fork` diaktifkan secara default; pada versi sebelumnya memerlukan pengaturan variabel lingkungan [`CLAUDE_CODE_FORK_SUBAGENT`](/id/env-vars) ke `1`. Membiarkan Claude sendiri menelurkan fork bersifat eksperimental dan mungkin berubah di rilis mendatang. Kemampuan ini juga dapat diaktifkan dalam sesi interaktif sebagai bagian dari peluncuran bertahap.980 Subagent yang di-fork memerlukan Claude Code v2.1.117 atau lebih baru. Mulai dari v2.1.161 perintah `/fork` diaktifkan secara default; pada versi sebelumnya memerlukan pengaturan variabel lingkungan [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/id/env-vars) ke `1`. Membiarkan Claude sendiri menelurkan fork bersifat eksperimental dan mungkin berubah di rilis mendatang. Kemampuan ini juga dapat diaktifkan dalam sesi interaktif sebagai bagian dari peluncuran bertahap.

981</Note>981</Note>

982 982 

983Fork adalah subagent yang mewarisi seluruh percakapan sejauh ini daripada memulai segar. Ini menghilangkan isolasi input yang sebaliknya disediakan subagent: fork melihat prompt sistem yang sama, alat, model, dan riwayat pesan sebagai sesi utama, sehingga Anda dapat menyerahkan tugas sampingan tanpa menjelaskan situasinya lagi. Panggilan alat fork sendiri masih tetap keluar dari percakapan Anda dan hanya hasil akhirnya yang kembali, sehingga jendela konteks utama Anda tetap bersih. Gunakan fork ketika subagent bernama memerlukan terlalu banyak latar belakang untuk berguna, atau ketika Anda ingin mencoba beberapa pendekatan secara paralel dari titik awal yang sama.983Fork adalah subagent yang mewarisi seluruh percakapan sejauh ini daripada memulai segar. Ini menghilangkan isolasi input yang sebaliknya disediakan subagent: fork melihat prompt sistem yang sama, alat, model, dan riwayat pesan sebagai sesi utama, sehingga Anda dapat menyerahkan tugas sampingan tanpa menjelaskan situasinya lagi. Panggilan alat fork sendiri masih tetap keluar dari percakapan Anda dan hanya hasil akhirnya yang kembali, sehingga jendela konteks utama Anda tetap bersih. Gunakan fork ketika subagent bernama memerlukan terlalu banyak latar belakang untuk berguna, atau ketika Anda ingin mencoba beberapa pendekatan secara paralel dari titik awal yang sama.

984 984 

985Untuk mengontrol mode fork terlepas dari peluncuran bertahap, atur [`CLAUDE_CODE_FORK_SUBAGENT`](/id/env-vars) ke `1` untuk mengaktifkannya secara eksplisit atau ke `0` untuk menonaktifkannya. Variabel ini dihormati dalam mode interaktif dan melalui SDK atau `claude -p`.985Untuk mengontrol mode fork terlepas dari peluncuran bertahap, atur [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/id/env-vars) ke `1` untuk mengaktifkannya secara eksplisit atau ke `0` untuk menonaktifkannya. Variabel ini dihormati dalam mode interaktif dan melalui SDK atau `claude -p`.

986 986 

987Mengaktifkan mode fork mengubah Claude Code dalam dua cara:987Mengaktifkan mode fork mengubah Claude Code dalam dua cara:

988 988 


1010| `x` | Tutup fork yang selesai atau hentikan yang sedang berjalan |1010| `x` | Tutup fork yang selesai atau hentikan yang sedang berjalan |

1011| `Esc` | Kembalikan fokus ke input prompt |1011| `Esc` | Kembalikan fokus ke input prompt |

1012 1012 

1013Dengan transkrip fork atau subagent terbuka, pesan tindak lanjut dan [skills](/id/skills) pergi ke agen tersebut, tetapi perintah bawaan masih berjalan dalam percakapan utama Anda. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, mengetik `/model` atau `/fast` dalam tampilan itu menampilkan pemberitahuan bahwa itu mengubah model percakapan utama atau mode cepat, bukan agen yang dilihat, daripada menjalankannya secara diam-diam.1013Dengan transkrip fork atau subagent terbuka, pesan tindak lanjut dan [skills](/docs/id/skills) pergi ke agen tersebut, tetapi perintah bawaan masih berjalan dalam percakapan utama Anda. Mulai dari v2.1.199, mengetik `/model` atau `/fast` dalam tampilan itu menampilkan pemberitahuan bahwa itu mengubah model percakapan utama atau mode cepat, bukan agen yang dilihat, daripada menjalankannya secara diam-diam.

1014 1014 

1015<h3 id="how-forks-differ-from-named-subagents">1015<h3 id="how-forks-differ-from-named-subagents">

1016 Bagaimana fork berbeda dari subagent bernama1016 Bagaimana fork berbeda dari subagent bernama


1026| Izin | Prompt muncul di terminal Anda | [Prompt muncul di sesi utama Anda](#run-subagents-in-foreground-or-background) saat berjalan di background |1026| Izin | Prompt muncul di terminal Anda | [Prompt muncul di sesi utama Anda](#run-subagents-in-foreground-or-background) saat berjalan di background |

1027| Prompt cache | Dibagikan dengan sesi utama | Cache terpisah |1027| Prompt cache | Dibagikan dengan sesi utama | Cache terpisah |

1028 1028 

1029Karena prompt sistem fork dan definisi alat identik dengan induk, permintaan pertamanya menggunakan kembali [prompt cache](/id/prompt-caching#subagents-and-the-cache) induk. Ini membuat forking lebih murah daripada menelurkan subagent segar untuk tugas yang memerlukan konteks yang sama.1029Karena prompt sistem fork dan definisi alat identik dengan induk, permintaan pertamanya menggunakan kembali [prompt cache](/docs/id/prompt-caching#subagents-and-the-cache) induk. Ini membuat forking lebih murah daripada menelurkan subagent segar untuk tugas yang memerlukan konteks yang sama.

1030 1030 

1031Ketika Claude menelurkan fork melalui alat Agent, Claude dapat melewatkan `isolation: "worktree"` sehingga edit file fork ditulis ke git worktree terpisah daripada checkout Anda.1031Ketika Claude menelurkan fork melalui alat Agent, Claude dapat melewatkan `isolation: "worktree"` sehingga edit file fork ditulis ke git worktree terpisah daripada checkout Anda.

1032 1032 


1034 Keterbatasan1034 Keterbatasan

1035</h3>1035</h3>

1036 1036 

1037Menetapkan `CLAUDE_CODE_FORK_SUBAGENT=1` mengaktifkan fork mode dalam sesi interaktif, [non-interactive mode](/id/headless), dan Agent SDK; menetapkannya ke `0` menonaktifkan fork mode di mana-mana, termasuk peluncuran server-side apa pun. Fork tidak dapat menelurkan fork lebih lanjut.1037Menetapkan `CLAUDE_CODE_FORK_SUBAGENT=1` mengaktifkan fork mode dalam sesi interaktif, [non-interactive mode](/docs/id/headless), dan Agent SDK; menetapkannya ke `0` menonaktifkan fork mode di mana-mana, termasuk peluncuran server-side apa pun. Fork tidak dapat menelurkan fork lebih lanjut.

1038 1038 

1039<h2 id="example-subagents">1039<h2 id="example-subagents">

1040 Contoh subagent1040 Contoh subagent


1197You cannot modify data. If asked to INSERT, UPDATE, DELETE, or modify schema, explain that you only have read access.1197You cannot modify data. If asked to INSERT, UPDATE, DELETE, or modify schema, explain that you only have read access.

1198```1198```

1199 1199 

1200Claude Code [melewatkan input hook sebagai JSON](/id/hooks#pretooluse-input) melalui stdin ke perintah hook. Skrip validasi membaca JSON ini, mengekstrak perintah yang sedang dijalankan, dan memeriksanya terhadap daftar operasi penulisan SQL. Jika operasi penulisan terdeteksi, skrip [keluar dengan kode 2](/id/hooks#exit-code-2-behavior-per-event) untuk memblokir eksekusi dan mengembalikan pesan kesalahan ke Claude melalui stderr.1200Claude Code [melewatkan input hook sebagai JSON](/docs/id/hooks#pretooluse-input) melalui stdin ke perintah hook. Skrip validasi membaca JSON ini, mengekstrak perintah yang sedang dijalankan, dan memeriksanya terhadap daftar operasi penulisan SQL. Jika operasi penulisan terdeteksi, skrip [keluar dengan kode 2](/docs/id/hooks#exit-code-2-behavior-per-event) untuk memblokir eksekusi dan mengembalikan pesan kesalahan ke Claude melalui stderr.

1201 1201 

1202Buat skrip validasi di mana saja dalam proyek Anda. Jalur harus cocok dengan bidang `command` dalam konfigurasi hook Anda:1202Buat skrip validasi di mana saja dalam proyek Anda. Jalur harus cocok dengan bidang `command` dalam konfigurasi hook Anda:

1203 1203 


1230chmod +x ./scripts/validate-readonly-query.sh1230chmod +x ./scripts/validate-readonly-query.sh

1231```1231```

1232 1232 

1233Di Windows, tulis skrip validasi dalam PowerShell dan tambahkan `shell: powershell` ke entri hook. Lihat [menjalankan hooks dalam PowerShell](/id/hooks#windows-powershell-tool).1233Di Windows, tulis skrip validasi dalam PowerShell dan tambahkan `shell: powershell` ke entri hook. Lihat [menjalankan hooks dalam PowerShell](/docs/id/hooks#windows-powershell-tool).

1234 1234 

1235Hook menerima JSON melalui stdin dengan perintah Bash dalam `tool_input.command`. Kode keluar 2 memblokir operasi dan mengirimkan pesan kesalahan kembali ke Claude. Lihat [Hooks](/id/hooks#exit-code-output) untuk detail tentang kode keluar dan [Hook input](/id/hooks#pretooluse-input) untuk skema input lengkap.1235Hook menerima JSON melalui stdin dengan perintah Bash dalam `tool_input.command`. Kode keluar 2 memblokir operasi dan mengirimkan pesan kesalahan kembali ke Claude. Lihat [Hooks](/docs/id/hooks#exit-code-output) untuk detail tentang kode keluar dan [Hook input](/docs/id/hooks#pretooluse-input) untuk skema input lengkap.

1236 1236 

1237<h2 id="next-steps">1237<h2 id="next-steps">

1238 Langkah berikutnya1238 Langkah berikutnya


1240 1240 

1241Sekarang setelah Anda memahami subagent, jelajahi fitur terkait ini:1241Sekarang setelah Anda memahami subagent, jelajahi fitur terkait ini:

1242 1242 

1243* [Distribusikan subagent dengan plugins](/id/plugins) untuk berbagi subagent di seluruh tim atau proyek1243* [Distribusikan subagent dengan plugins](/docs/id/plugins) untuk berbagi subagent di seluruh tim atau proyek

1244* [Jalankan Claude Code secara terprogram](/id/headless) dengan Agent SDK untuk CI/CD dan otomasi1244* [Jalankan Claude Code secara terprogram](/docs/id/headless) dengan Agent SDK untuk CI/CD dan otomasi

1245* [Gunakan MCP servers](/id/mcp) untuk memberikan subagent akses ke alat dan data eksternal1245* [Gunakan MCP servers](/docs/id/mcp) untuk memberikan subagent akses ke alat dan data eksternal

tools-reference.md +73 −73

Details

6 6 

7> Referensi lengkap untuk tools yang dapat digunakan Claude Code, termasuk persyaratan izin dan perilaku per-tool.7> Referensi lengkap untuk tools yang dapat digunakan Claude Code, termasuk persyaratan izin dan perilaku per-tool.

8 8 

9Claude Code memiliki akses ke serangkaian tools bawaan yang membantu memahami dan memodifikasi codebase Anda. Nama tools adalah string yang tepat yang Anda gunakan dalam [aturan izin](/id/permissions#tool-specific-permission-rules), [daftar tools subagent](/id/sub-agents), dan [pencocokan hook](/id/hooks). Untuk menonaktifkan tool sepenuhnya, tambahkan namanya ke array `deny` dalam [pengaturan izin](/id/permissions#tool-specific-permission-rules) Anda.9Claude Code memiliki akses ke serangkaian tools bawaan yang membantu memahami dan memodifikasi codebase Anda. Nama tools adalah string yang tepat yang Anda gunakan dalam [aturan izin](/docs/id/permissions#tool-specific-permission-rules), [daftar tools subagent](/docs/id/sub-agents), dan [pencocokan hook](/docs/id/hooks). Untuk menonaktifkan tool sepenuhnya, tambahkan namanya ke array `deny` dalam [pengaturan izin](/docs/id/permissions#tool-specific-permission-rules) Anda.

10 10 

11Untuk menambahkan tools kustom, hubungkan [server MCP](/id/mcp). Untuk memperluas Claude dengan alur kerja berbasis prompt yang dapat digunakan kembali, tulis [skill](/id/skills), yang berjalan melalui tool `Skill` yang ada daripada menambahkan entri tool baru.11Untuk menambahkan tools kustom, hubungkan [server MCP](/docs/id/mcp). Untuk memperluas Claude dengan alur kerja berbasis prompt yang dapat digunakan kembali, tulis [skill](/docs/id/skills), yang berjalan melalui tool `Skill` yang ada daripada menambahkan entri tool baru.

12 12 

13Kolom Permission required menunjukkan apakah tool meminta dalam mode izin default untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta untuk path di luar [direktori kerja dan direktori tambahan](/id/permissions#working-directories). `Bash` ditandai Ya tetapi menjalankan serangkaian [perintah read-only](/id/permissions#read-only-commands) bawaan tanpa meminta.13Kolom Permission required menunjukkan apakah tool meminta dalam mode izin default untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta untuk path di luar [direktori kerja dan direktori tambahan](/docs/id/permissions#working-directories). `Bash` ditandai Ya tetapi menjalankan serangkaian [perintah read-only](/docs/id/permissions#read-only-commands) bawaan tanpa meminta.

14 14 

15| Tool | Deskripsi | Izin Diperlukan |15| Tool | Deskripsi | Izin Diperlukan |

16| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |16| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |

17| `Agent` | Menjalankan [subagent](/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |17| `Agent` | Menjalankan [subagent](/docs/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |

18| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](/id/artifacts): halaman interaktif pribadi di claude.ai. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](/id/artifacts#control-public-sharing). {/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Memerlukan paket Pro, Max, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](/id/artifacts#availability) | Ya |18| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](/docs/id/artifacts): halaman interaktif pribadi di claude.ai. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](/docs/id/artifacts#control-public-sharing). Memerlukan paket Pro, Max, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](/docs/id/artifacts#availability) | Ya |

19| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas. {/* min-version: 2.1.200 */}Pertanyaan tetap terbuka sampai Anda menjawabnya: tidak ada timeout idle secara default. Untuk membuat dialog idle auto-continue, atur pengaturan [`askUserQuestionTimeout`](/id/settings#available-settings) ke `60s`, `5m`, atau `10m`, baik dalam `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`. Setelah waktu idle yang dipilih berlalu tanpa input, dialog menutup dengan sendirinya: dialog mengirimkan opsi apa pun yang sudah Anda pilih dan memberitahu Claude bahwa Anda mungkin jauh dari keyboard, sehingga Claude melanjutkan dengan penilaian sendiri dan dapat menanyakan kembali nanti. Hitungan mundur muncul selama 20 detik terakhir. Setiap penekanan tombol memulai ulang timer, begitu juga dengan jendela yang terfokus pada terminal yang melaporkan fokus. Timeout hanya berlaku untuk pertanyaan pilihan ganda `AskUserQuestion`; prompt izin, termasuk persetujuan paket, tidak pernah auto-resolve saat idle. Dalam v2.1.198 dan v2.1.199, dialog auto-continued setelah 60 detik idle secara default, dan [`CLAUDE_AFK_TIMEOUT_MS`](/id/env-vars#variables) adalah satu-satunya cara untuk mengubah itu | Tidak |19| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas. Pertanyaan tetap terbuka sampai Anda menjawabnya: tidak ada timeout idle secara default. Untuk membuat dialog idle auto-continue, atur pengaturan [`askUserQuestionTimeout`](/docs/id/settings#available-settings) ke `60s`, `5m`, atau `10m`, baik dalam `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`. Setelah waktu idle yang dipilih berlalu tanpa input, dialog menutup dengan sendirinya: dialog mengirimkan opsi apa pun yang sudah Anda pilih dan memberitahu Claude bahwa Anda mungkin jauh dari keyboard, sehingga Claude melanjutkan dengan penilaian sendiri dan dapat menanyakan kembali nanti. Hitungan mundur muncul selama 20 detik terakhir. Setiap penekanan tombol memulai ulang timer, begitu juga dengan jendela yang terfokus pada terminal yang melaporkan fokus. Timeout hanya berlaku untuk pertanyaan pilihan ganda `AskUserQuestion`; prompt izin, termasuk persetujuan paket, tidak pernah auto-resolve saat idle. Dalam v2.1.198 dan v2.1.199, dialog auto-continued setelah 60 detik idle secara default, dan [`CLAUDE_AFK_TIMEOUT_MS`](/docs/id/env-vars#variables) adalah satu-satunya cara untuk mengubah itu | Tidak |

20| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [perilaku Bash tool](#bash-tool-behavior) | Ya |20| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [perilaku Bash tool](#bash-tool-behavior) | Ya |

21| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/id/scheduled-tasks) | Tidak |21| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/docs/id/scheduled-tasks) | Tidak |

22| `CronDelete` | Membatalkan tugas terjadwal berdasarkan ID | Tidak |22| `CronDelete` | Membatalkan tugas terjadwal berdasarkan ID | Tidak |

23| `CronList` | Mencantumkan semua tugas terjadwal dalam sesi | Tidak |23| `CronList` | Mencantumkan semua tugas terjadwal dalam sesi | Tidak |

24| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [perilaku Edit tool](#edit-tool-behavior) | Ya |24| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [perilaku Edit tool](#edit-tool-behavior) | Ya |

25| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |25| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |

26| `EnterWorktree` | Membuat [git worktree](/id/worktrees) terisolasi dan beralih ke dalamnya. Lewatkan `path` untuk beralih ke worktree yang ada daripada membuat yang baru. {/* min-version: 2.1.203 */}Pada entri pertama target mungkin merupakan worktree dari repositori saat ini atau, dalam workspace multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. {/* min-version: 2.1.206 */}Sebuah `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi itu. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak meminta. Sebelum v2.1.206, Claude memasuki path di luar `.claude/worktrees/` tanpa prompt. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |26| `EnterWorktree` | Membuat [git worktree](/docs/id/worktrees) terisolasi dan beralih ke dalamnya. Lewatkan `path` untuk beralih ke worktree yang ada daripada membuat yang baru. Pada entri pertama target mungkin merupakan worktree dari repositori saat ini atau, dalam workspace multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. Sebuah `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi itu. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak meminta. Sebelum v2.1.206, Claude memasuki path di luar `.claude/worktrees/` tanpa prompt. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |

27| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |27| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |

28| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields) | Tidak |28| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields) | Tidak |

29| `Glob` | Menemukan file berdasarkan pencocokan pola. Lihat [perilaku Glob tool](#glob-tool-behavior) | Tidak |29| `Glob` | Menemukan file berdasarkan pencocokan pola. Lihat [perilaku Glob tool](#glob-tool-behavior) | Tidak |

30| `Grep` | Mencari pola dalam konten file. Lihat [perilaku Grep tool](#grep-tool-behavior) | Tidak |30| `Grep` | Mencari pola dalam konten file. Lihat [perilaku Grep tool](#grep-tool-behavior) | Tidak |

31| `ListMcpResourcesTool` | Mencantumkan resources yang diekspos oleh [server MCP](/id/mcp) yang terhubung | Tidak |31| `ListMcpResourcesTool` | Mencantumkan resources yang diekspos oleh [server MCP](/docs/id/mcp) yang terhubung | Tidak |

32| `LSP` | Intelijen kode melalui language servers: lompat ke definisi, temukan referensi, laporkan kesalahan tipe dan peringatan. Lihat [perilaku LSP tool](#lsp-tool-behavior) | Tidak |32| `LSP` | Intelijen kode melalui language servers: lompat ke definisi, temukan referensi, laporkan kesalahan tipe dan peringatan. Lihat [perilaku LSP tool](#lsp-tool-behavior) | Tidak |

33| `Monitor` | Menjalankan perintah di latar belakang dan mengirimkan setiap baris output kembali ke Claude, sehingga dapat bereaksi terhadap entri log, perubahan file, atau status yang dipolling di tengah percakapan. Dapat juga membuka WebSocket dan memperlakukan setiap pesan masuk sebagai acara. Lihat [Monitor tool](#monitor-tool) | Ya |33| `Monitor` | Menjalankan perintah di latar belakang dan mengirimkan setiap baris output kembali ke Claude, sehingga dapat bereaksi terhadap entri log, perubahan file, atau status yang dipolling di tengah percakapan. Dapat juga membuka WebSocket dan memperlakukan setiap pesan masuk sebagai acara. Lihat [Monitor tool](#monitor-tool) | Ya |

34| `NotebookEdit` | Memodifikasi sel notebook Jupyter. Lihat [perilaku NotebookEdit tool](#notebookedit-tool-behavior) | Ya |34| `NotebookEdit` | Memodifikasi sel notebook Jupyter. Lihat [perilaku NotebookEdit tool](#notebookedit-tool-behavior) | Ya |

35| `PowerShell` | Menjalankan perintah PowerShell secara native. Lihat [PowerShell tool](#powershell-tool) untuk ketersediaan | Ya |35| `PowerShell` | Menjalankan perintah PowerShell secara native. Lihat [PowerShell tool](#powershell-tool) untuk ketersediaan | Ya |

36| `PushNotification` | Mengirim notifikasi desktop, dan push phone ketika [Remote Control](/id/remote-control) terhubung, sehingga tugas yang berjalan lama atau [tugas terjadwal](/id/scheduled-tasks) dapat menjangkau Anda ketika Anda pergi. {/* plan-availability: feature=push-notifications providers=anthropic */}Pengiriman push berjalan melalui infrastruktur yang dihosting Anthropic, yang tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |36| `PushNotification` | Mengirim notifikasi desktop, dan push phone ketika [Remote Control](/docs/id/remote-control) terhubung, sehingga tugas yang berjalan lama atau [tugas terjadwal](/docs/id/scheduled-tasks) dapat menjangkau Anda ketika Anda pergi. Pengiriman push berjalan melalui infrastruktur yang dihosting Anthropic, yang tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |

37| `Read` | Membaca konten file. Lihat [perilaku Read tool](#read-tool-behavior) | Tidak |37| `Read` | Membaca konten file. Lihat [perilaku Read tool](#read-tool-behavior) | Tidak |

38| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |38| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |

39| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/id/routines) di claude.ai. Mendukung perintah `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |39| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/docs/id/routines) di claude.ai. Mendukung perintah `/schedule`. Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |

40| `ReportFindings` | Melaporkan temuan code-review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merender mereka daripada mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code-review aktif memberitahunya untuk melakukannya. {/* min-version: 2.1.196 */}Memerlukan Claude Code v2.1.196 atau lebih baru. {/* min-version: 2.1.199 */}Sejak v2.1.199, temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |40| `ReportFindings` | Melaporkan temuan code-review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merender mereka daripada mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code-review aktif memberitahunya untuk melakukannya. Memerlukan Claude Code v2.1.196 atau lebih baru. Sejak v2.1.199, temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |

41| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. {/* min-version: 2.1.202 */}Bidang `stop` memerlukan Claude Code v2.1.202 atau lebih baru. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/id/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |41| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/docs/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. Bidang `stop` memerlukan Claude Code v2.1.202 atau lebih baru. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/docs/id/hooks#stop-input). Tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |

42| `SendMessage` | Mengirim pesan ke anggota [agent team](/id/agent-teams), atau [melanjutkan subagent](/id/sub-agents#resume-subagents) berdasarkan ID agennya atau nama. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang; subagent yang Anda hentikan dari `/tasks` tidak dan panggilan mengembalikan penolakan. Pesan protokol tim terstruktur memerlukan agent teams. Penerima tidak pernah memperlakukan pesan dari agen lain sebagai persetujuan atau persetujuan Anda. {/* min-version: 2.1.198 */}Sejak v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal daripada sebagai permintaan peer. {/* min-version: 2.1.199 */}Sejak v2.1.199, pengiriman ke nama yang sekarang diselesaikan ke agen berbeda daripada yang dilakukan sebelumnya dalam percakapan ditolak daripada dikirimkan; lihat [Resume subagents](/id/sub-agents#resume-subagents) | Tidak |42| `SendMessage` | Mengirim pesan ke anggota [agent team](/docs/id/agent-teams), atau [melanjutkan subagent](/docs/id/sub-agents#resume-subagents) berdasarkan ID agennya atau nama. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang; subagent yang Anda hentikan dari `/tasks` tidak dan panggilan mengembalikan penolakan. Pesan protokol tim terstruktur memerlukan agent teams. Penerima tidak pernah memperlakukan pesan dari agen lain sebagai persetujuan atau persetujuan Anda. Sejak v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal daripada sebagai permintaan peer. Sejak v2.1.199, pengiriman ke nama yang sekarang diselesaikan ke agen berbeda daripada yang dilakukan sebelumnya dalam percakapan ditolak daripada dikirimkan; lihat [Resume subagents](/docs/id/sub-agents#resume-subagents) | Tidak |

43| `SendUserFile` | Mengirim file dari sesi kepada Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak yang dibangun mencapai perangkat Anda daripada hanya disebutkan dalam transkrip. {/* min-version: 2.1.196 */}Sejak v2.1.196, input `display` opsional mengontrol presentasi: `render` membuka file secara inline di klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](/id/remote-control) terhubung atau sesi berjalan di lingkungan cloud terkelola seperti [Claude Code di web](/id/claude-code-on-the-web). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |43| `SendUserFile` | Mengirim file dari sesi kepada Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak yang dibangun mencapai perangkat Anda daripada hanya disebutkan dalam transkrip. Sejak v2.1.196, input `display` opsional mengontrol presentasi: `render` membuka file secara inline di klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](/docs/id/remote-control) terhubung atau sesi berjalan di lingkungan cloud terkelola seperti [Claude Code di web](/docs/id/claude-code-on-the-web). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |

44| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |44| `ShareOnboardingGuide` | Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |

45| `Skill` | Menjalankan [skill](/id/skills#control-who-invokes-a-skill) dalam percakapan utama | Ya |45| `Skill` | Menjalankan [skill](/docs/id/skills#control-who-invokes-a-skill) dalam percakapan utama | Ya |

46| `TaskCreate` | Membuat tugas baru dalam daftar tugas | Tidak |46| `TaskCreate` | Membuat tugas baru dalam daftar tugas | Tidak |

47| `TaskGet` | Mengambil detail lengkap untuk tugas tertentu | Tidak |47| `TaskGet` | Mengambil detail lengkap untuk tugas tertentu | Tidak |

48| `TaskList` | Mencantumkan semua tugas dengan status saat ini mereka | Tidak |48| `TaskList` | Mencantumkan semua tugas dengan status saat ini mereka | Tidak |

49| `TaskOutput` | Mengambil output dari tugas latar belakang. Tidak digunakan lagi mendukung `Read` pada jalur file output tugas. {/* min-version: 2.1.203 */}Ketika tidak ada tugas yang cocok dengan ID, kesalahan mencantumkan agen latar belakang yang sedang berjalan berdasarkan ID dan deskripsi. Sebelum v2.1.203, kesalahan hanya menyebutkan ID yang hilang | Tidak |49| `TaskOutput` | Mengambil output dari tugas latar belakang. Tidak digunakan lagi mendukung `Read` pada jalur file output tugas. Ketika tidak ada tugas yang cocok dengan ID, kesalahan mencantumkan agen latar belakang yang sedang berjalan berdasarkan ID dan deskripsi. Sebelum v2.1.203, kesalahan hanya menyebutkan ID yang hilang | Tidak |

50| `TaskStop` | Menghentikan tugas latar belakang yang sedang berjalan berdasarkan ID. {/* min-version: 2.1.198 */}Juga menerima [rekan tim agent-team](/id/agent-teams) atau agen latar belakang bernama berdasarkan ID agen atau nama. Sebelum v2.1.198, hanya menerima ID tugas latar belakang. {/* min-version: 2.1.203 */}Ketika tidak ada tugas yang cocok dengan ID, kesalahan mencantumkan agen latar belakang yang sedang berjalan berdasarkan ID dan deskripsi, termasuk agen yang agen lain jalankan. Sebelum v2.1.203, kesalahan mencantumkan rekan tim dan agen bernama yang sedang berjalan tetapi bukan agen latar belakang yang agen lain jalankan, jadi mereka tidak dapat diidentifikasi atau dihentikan dari percakapan utama | Tidak |50| `TaskStop` | Menghentikan tugas latar belakang yang sedang berjalan berdasarkan ID. Juga menerima [rekan tim agent-team](/docs/id/agent-teams) atau agen latar belakang bernama berdasarkan ID agen atau nama. Sebelum v2.1.198, hanya menerima ID tugas latar belakang. Ketika tidak ada tugas yang cocok dengan ID, kesalahan mencantumkan agen latar belakang yang sedang berjalan berdasarkan ID dan deskripsi, termasuk agen yang agen lain jalankan. Sebelum v2.1.203, kesalahan mencantumkan rekan tim dan agen bernama yang sedang berjalan tetapi bukan agen latar belakang yang agen lain jalankan, jadi mereka tidak dapat diidentifikasi atau dihentikan dari percakapan utama | Tidak |

51| `TaskUpdate` | Memperbarui status tugas, dependensi, detail, atau menghapus tugas | Tidak |51| `TaskUpdate` | Memperbarui status tugas, dependensi, detail, atau menghapus tugas | Tidak |

52| `TodoWrite` | {/* min-version: 2.1.142 */}Mengelola daftar periksa tugas sesi. Dinonaktifkan secara default sejak v2.1.142 mendukung `TaskCreate`, `TaskGet`, `TaskList`, dan `TaskUpdate`. Atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk mengaktifkan kembali | Tidak |52| `TodoWrite` | Mengelola daftar periksa tugas sesi. Dinonaktifkan secara default sejak v2.1.142 mendukung `TaskCreate`, `TaskGet`, `TaskList`, dan `TaskUpdate`. Atur `CLAUDE_CODE_ENABLE_TASKS=0` untuk mengaktifkan kembali | Tidak |

53| `ToolSearch` | Mencari dan memuat tools tertunda saat [pencarian tool](/id/mcp#scale-with-mcp-tool-search) diaktifkan | Tidak |53| `ToolSearch` | Mencari dan memuat tools tertunda saat [pencarian tool](/docs/id/mcp#scale-with-mcp-tool-search) diaktifkan | Tidak |

54| `WaitForMcpServers` | Menunggu satu atau lebih [server MCP](/id/mcp) yang masih terhubung di latar belakang, sehingga permintaan dapat menggunakan tools mereka tanpa memulai ulang sesi. Claude memanggilnya ketika server yang diperlukan belum terhubung. Hanya muncul saat [pencarian tool](/id/mcp#scale-with-mcp-tool-search) dinonaktifkan, karena `ToolSearch` menangani penundaan saat diaktifkan | Tidak |54| `WaitForMcpServers` | Menunggu satu atau lebih [server MCP](/docs/id/mcp) yang masih terhubung di latar belakang, sehingga permintaan dapat menggunakan tools mereka tanpa memulai ulang sesi. Claude memanggilnya ketika server yang diperlukan belum terhubung. Hanya muncul saat [pencarian tool](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan, karena `ToolSearch` menangani penundaan saat diaktifkan | Tidak |

55| `WebFetch` | Mengambil konten dari URL yang ditentukan. Lihat [perilaku WebFetch tool](#webfetch-tool-behavior) | Ya |55| `WebFetch` | Mengambil konten dari URL yang ditentukan. Lihat [perilaku WebFetch tool](#webfetch-tool-behavior) | Ya |

56| `WebSearch` | Melakukan pencarian web. Lihat [perilaku WebSearch tool](#websearch-tool-behavior) | Ya |56| `WebSearch` | Melakukan pencarian web. Lihat [perilaku WebSearch tool](#websearch-tool-behavior) | Ya |

57| `Workflow` | Menjalankan [dynamic workflow](/id/workflows): skrip yang mengorkestra banyak subagent di latar belakang dan mengembalikan satu hasil yang dikonsolidasikan | Ya |57| `Workflow` | Menjalankan [dynamic workflow](/docs/id/workflows): skrip yang mengorkestra banyak subagent di latar belakang dan mengembalikan satu hasil yang dikonsolidasikan | Ya |

58| `Write` | Membuat atau menimpa file. Lihat [perilaku Write tool](#write-tool-behavior) | Ya |58| `Write` | Membuat atau menimpa file. Lihat [perilaku Write tool](#write-tool-behavior) | Ya |

59 59 

60<h2 id="configure-tools-with-permission-rules-and-hooks">60<h2 id="configure-tools-with-permission-rules-and-hooks">


63 63 

64Sebagian besar, Claude memutuskan kapan menggunakan tools ini dan Anda tidak perlu menyebutkannya sendiri saat berinteraksi dengan Claude. Anda mereferensikan nama tools secara langsung saat menentukan izin dan konfigurasi lainnya:64Sebagian besar, Claude memutuskan kapan menggunakan tools ini dan Anda tidak perlu menyebutkannya sendiri saat berinteraksi dengan Claude. Anda mereferensikan nama tools secara langsung saat menentukan izin dan konfigurasi lainnya:

65 65 

66* dalam [`permissions.allow` dan `permissions.deny`](/id/settings#available-settings) dalam pengaturan, dan antarmuka `/permissions`66* dalam [`permissions.allow` dan `permissions.deny`](/docs/id/settings#available-settings) dalam pengaturan, dan antarmuka `/permissions`

67* dalam flag CLI [`--allowedTools` dan `--disallowedTools`](/id/cli-reference)67* dalam flag CLI [`--allowedTools` dan `--disallowedTools`](/docs/id/cli-reference)

68* dalam opsi [`allowedTools` dan `disallowedTools`](/id/agent-sdk/permissions#allow-and-deny-rules) Agent SDK68* dalam opsi [`allowedTools` dan `disallowedTools`](/docs/id/agent-sdk/permissions#allow-and-deny-rules) Agent SDK

69* dalam [frontmatter `tools` atau `disallowedTools`](/id/sub-agents#supported-frontmatter-fields) subagent69* dalam [frontmatter `tools` atau `disallowedTools`](/docs/id/sub-agents#supported-frontmatter-fields) subagent

70* dalam [frontmatter `allowed-tools`](/id/skills#frontmatter-reference) skill70* dalam [frontmatter `allowed-tools`](/docs/id/skills#frontmatter-reference) skill

71* dalam kondisi [`if`](/id/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field) hook71* dalam kondisi [`if`](/docs/id/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field) hook

72 72 

73Semua ini menerima format aturan yang sama, `ToolName(specifier)`. Specifier bergantung pada tool, dan beberapa tools berbagi format:73Semua ini menerima format aturan yang sama, `ToolName(specifier)`. Specifier bergantung pada tool, dan beberapa tools berbagi format:

74 74 

75| Format Aturan | Berlaku untuk | Detail |75| Format Aturan | Berlaku untuk | Detail |

76| :----------------------------- | :------------------------ | :------------------------------------------------------------------------- |76| :----------------------------- | :------------------------ | :------------------------------------------------------------------------- |

77| `Bash(npm run *)` | Bash, Monitor | [Pencocokan pola perintah](/id/permissions#bash) |77| `Bash(npm run *)` | Bash, Monitor | [Pencocokan pola perintah](/docs/id/permissions#bash) |

78| `PowerShell(Get-ChildItem *)` | PowerShell | [Pencocokan pola perintah](/id/permissions#powershell) |78| `PowerShell(Get-ChildItem *)` | PowerShell | [Pencocokan pola perintah](/docs/id/permissions#powershell) |

79| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pencocokan pola path](/id/permissions#read-and-edit) |79| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pencocokan pola path](/docs/id/permissions#read-and-edit) |

80| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Pencocokan pola path](/id/permissions#read-and-edit) |80| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Pencocokan pola path](/docs/id/permissions#read-and-edit) |

81| `Skill(deploy *)` | Skill | [Pencocokan nama skill](/id/skills#restrict-claude%E2%80%99s-skill-access) |81| `Skill(deploy *)` | Skill | [Pencocokan nama skill](/docs/id/skills#restrict-claude%E2%80%99s-skill-access) |

82| `Agent(Explore)` | Agent | [Pencocokan tipe subagent](/id/permissions#agent-subagents) |82| `Agent(Explore)` | Agent | [Pencocokan tipe subagent](/docs/id/permissions#agent-subagents) |

83| `WebFetch(domain:example.com)` | WebFetch | [Pencocokan domain](/id/permissions#webfetch) |83| `WebFetch(domain:example.com)` | WebFetch | [Pencocokan domain](/docs/id/permissions#webfetch) |

84| `WebSearch` | WebSearch | Tidak ada specifier; izinkan atau tolak tool secara keseluruhan |84| `WebSearch` | WebSearch | Tidak ada specifier; izinkan atau tolak tool secara keseluruhan |

85 85 

86Tools yang tidak tercantum di sini, seperti `ExitPlanMode` atau `ShareOnboardingGuide`, hanya menerima nama tool tanpa specifier.86Tools yang tidak tercantum di sini, seperti `ExitPlanMode` atau `ShareOnboardingGuide`, hanya menerima nama tool tanpa specifier.

87 87 

88Aturan izin `Edit(...)` juga memberikan akses baca ke path yang sama, sehingga Anda tidak perlu aturan `Read(...)` yang cocok. Aturan penolakan `Read(...)` juga memblokir tool Edit pada path yang sama, termasuk membuat file baru di sana, karena pengeditan memerlukan pembacaan hasil kembali. Pemeriksaan penolakan `Read` pada pengeditan memerlukan Claude Code v2.1.208 atau lebih baru.88Aturan izin `Edit(...)` juga memberikan akses baca ke path yang sama, sehingga Anda tidak perlu aturan `Read(...)` yang cocok. Aturan penolakan `Read(...)` juga memblokir tool Edit pada path yang sama, termasuk membuat file baru di sana, karena pengeditan memerlukan pembacaan hasil kembali. Pemeriksaan penolakan `Read` pada pengeditan memerlukan Claude Code v2.1.208 atau lebih baru.

89 89 

90Field `matcher` hook menggunakan nama tools tanpa format dengan tanda kurung. Lihat [pola matcher](/id/hooks#matcher-patterns) untuk aturan pencocokan. Untuk nama field yang setiap tool lewatkan ke `tool_input` dalam hooks, lihat [referensi input PreToolUse](/id/hooks#pretooluse-input).90Field `matcher` hook menggunakan nama tools tanpa format dengan tanda kurung. Lihat [pola matcher](/docs/id/hooks#matcher-patterns) untuk aturan pencocokan. Untuk nama field yang setiap tool lewatkan ke `tool_input` dalam hooks, lihat [referensi input PreToolUse](/docs/id/hooks#pretooluse-input).

91 91 

92<h2 id="agent-tool-behavior">92<h2 id="agent-tool-behavior">

93 Perilaku Agent tool93 Perilaku Agent tool


95 95 

96Agent tool menjalankan subagent dalam jendela konteks terpisah. Subagent bekerja melalui tugasnya secara otonom, kemudian mengembalikan hasil teks tunggal ke percakapan induk. Induk tidak melihat panggilan tool atau output perantara subagent, hanya hasil akhir itu.96Agent tool menjalankan subagent dalam jendela konteks terpisah. Subagent bekerja melalui tugasnya secara otonom, kemudian mengembalikan hasil teks tunggal ke percakapan induk. Induk tidak melihat panggilan tool atau output perantara subagent, hanya hasil akhir itu.

97 97 

98Untuk membatasi berapa banyak turn subagent berjalan, atur `maxTurns` dalam [definisi subagent](/id/sub-agents#supported-frontmatter-fields).98Untuk membatasi berapa banyak turn subagent berjalan, atur `maxTurns` dalam [definisi subagent](/docs/id/sub-agents#supported-frontmatter-fields).

99 99 

100Agent tool yang sama juga meluncurkan [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) ketika mode fork diaktifkan. Fork mewarisi percakapan induk penuh daripada memulai segar, selalu berjalan di latar belakang, dan masih menampilkan prompt izin di terminal Anda. Sisa bagian ini menjelaskan subagent bernama.100Agent tool yang sama juga meluncurkan [subagent yang di-fork](/docs/id/sub-agents#fork-the-current-conversation) ketika mode fork diaktifkan. Fork mewarisi percakapan induk penuh daripada memulai segar, selalu berjalan di latar belakang, dan masih menampilkan prompt izin di terminal Anda. Sisa bagian ini menjelaskan subagent bernama.

101 101 

102Tools mana yang dapat digunakan subagent bernama bergantung pada field `tools` dan `disallowedTools` dalam [definisi subagent](/id/sub-agents):102Tools mana yang dapat digunakan subagent bernama bergantung pada field `tools` dan `disallowedTools` dalam [definisi subagent](/docs/id/sub-agents):

103 103 

104* **Tidak ada field yang diatur**: subagent mewarisi setiap tool yang tersedia untuk induk.104* **Tidak ada field yang diatur**: subagent mewarisi setiap tool yang tersedia untuk induk.

105* **Hanya `tools`**: subagent mendapatkan hanya tools yang tercantum.105* **Hanya `tools`**: subagent mendapatkan hanya tools yang tercantum.

106* **Hanya `disallowedTools`**: subagent mendapatkan setiap tool induk kecuali yang tercantum.106* **Hanya `disallowedTools`**: subagent mendapatkan setiap tool induk kecuali yang tercantum.

107* **Keduanya diatur**: `disallowedTools` mengambil alih. Tool yang tercantum di keduanya dihapus.107* **Keduanya diatur**: `disallowedTools` mengambil alih. Tool yang tercantum di keduanya dihapus.

108 108 

109Ketika daftar `tools` subagent tidak menghasilkan tools sama sekali, misalnya karena setiap entri salah eja atau menamai tool yang tidak tersedia untuk subagent, Agent tool mengembalikan error yang mencantumkan entri tersebut daripada meluncurkan subagent. {/* min-version: 2.1.208 */}Sebelum v2.1.208, subagent diluncurkan tanpa tools dan dapat mengembalikan hasil yang kosong atau membingungkan.109Ketika daftar `tools` subagent tidak menghasilkan tools sama sekali, misalnya karena setiap entri salah eja atau menamai tool yang tidak tersedia untuk subagent, Agent tool mengembalikan error yang mencantumkan entri tersebut daripada meluncurkan subagent. Sebelum v2.1.208, subagent diluncurkan tanpa tools dan dapat mengembalikan hasil yang kosong atau membingungkan.

110 110 

111Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.111Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.

112 112 

113{/* min-version: 2.1.198 */}Sejak v2.1.198, subagent berjalan di latar belakang secara default; Claude menjalankan satu di foreground ketika membutuhkan hasil sebelum melanjutkan.113Sejak v2.1.198, subagent berjalan di latar belakang secara default; Claude menjalankan satu di foreground ketika membutuhkan hasil sebelum melanjutkan.

114 114 

115* **Subagent foreground** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.115* **Subagent foreground** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.

116* **Subagent background** {/* min-version: 2.1.186 */}menampilkan prompt izin dalam sesi utama Anda sejak v2.1.186. Prompt menunjukkan subagent mana yang meminta, dan menekan Esc menolak panggilan tool itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background secara otomatis menolak panggilan tool apa pun yang sebaliknya akan meminta dan melanjutkan tanpa tool itu.116* **Subagent background** menampilkan prompt izin dalam sesi utama Anda sejak v2.1.186. Prompt menunjukkan subagent mana yang meminta, dan menekan Esc menolak panggilan tool itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background secara otomatis menolak panggilan tool apa pun yang sebaliknya akan meminta dan melanjutkan tanpa tool itu.

117 117 

118Untuk membatasi apa yang dapat dijangkau subagent sejak awal, persempit field `tools` nya, tinggalkan Bash dari daftar, atau atur aturan deny dalam pengaturan Anda, seperti yang dijelaskan dalam [Kontrol kemampuan subagent](/id/sub-agents#control-subagent-capabilities). Untuk lebih lanjut tentang memilih antara foreground dan background, lihat [Jalankan subagent di foreground atau background](/id/sub-agents#run-subagents-in-foreground-or-background).118Untuk membatasi apa yang dapat dijangkau subagent sejak awal, persempit field `tools` nya, tinggalkan Bash dari daftar, atau atur aturan deny dalam pengaturan Anda, seperti yang dijelaskan dalam [Kontrol kemampuan subagent](/docs/id/sub-agents#control-subagent-capabilities). Untuk lebih lanjut tentang memilih antara foreground dan background, lihat [Jalankan subagent di foreground atau background](/docs/id/sub-agents#run-subagents-in-foreground-or-background).

119 119 

120<h2 id="bash-tool-behavior">120<h2 id="bash-tool-behavior">

121 Perilaku Bash tool121 Perilaku Bash tool


123 123 

124Bash tool menjalankan setiap perintah dalam proses terpisah dengan perilaku persistensi berikut:124Bash tool menjalankan setiap perintah dalam proses terpisah dengan perilaku persistensi berikut:

125 125 

126* Ketika Claude menjalankan `cd` dalam sesi utama, direktori kerja baru berlanjut ke perintah Bash yang lebih baru selama tetap berada di dalam direktori proyek atau [direktori kerja tambahan](/id/permissions#working-directories) yang Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `additionalDirectories` dalam pengaturan. Sesi subagent tidak pernah membawa perubahan direktori kerja.126* Ketika Claude menjalankan `cd` dalam sesi utama, direktori kerja baru berlanjut ke perintah Bash yang lebih baru selama tetap berada di dalam direktori proyek atau [direktori kerja tambahan](/docs/id/permissions#working-directories) yang Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `additionalDirectories` dalam pengaturan. Sesi subagent tidak pernah membawa perubahan direktori kerja.

127 * Jika `cd` mendarat di luar direktori tersebut, Claude Code mengatur ulang ke direktori proyek dan menambahkan `Shell cwd was reset to <dir>` ke hasil tool.127 * Jika `cd` mendarat di luar direktori tersebut, Claude Code mengatur ulang ke direktori proyek dan menambahkan `Shell cwd was reset to <dir>` ke hasil tool.

128 * Untuk menonaktifkan carry-over ini sehingga setiap perintah Bash dimulai di direktori proyek, atur `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.128 * Untuk menonaktifkan carry-over ini sehingga setiap perintah Bash dimulai di direktori proyek, atur `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.

129* Variabel lingkungan tidak persisten. `export` dalam satu perintah tidak akan tersedia di perintah berikutnya.129* Variabel lingkungan tidak persisten. `export` dalam satu perintah tidak akan tersedia di perintah berikutnya.

130* Alias dan fungsi shell yang ditentukan dalam file startup shell Anda tersedia. Pada awal sesi, Claude Code bersumber dari `~/.zshrc`, `~/.bashrc`, atau `~/.profile` tergantung pada shell Anda, menangkap alias, fungsi, dan opsi shell yang dihasilkan, dan menerapkannya ke setiap perintah Bash.130* Alias dan fungsi shell yang ditentukan dalam file startup shell Anda tersedia. Pada awal sesi, Claude Code bersumber dari `~/.zshrc`, `~/.bashrc`, atau `~/.profile` tergantung pada shell Anda, menangkap alias, fungsi, dan opsi shell yang dihasilkan, dan menerapkannya ke setiap perintah Bash.

131 131 

132Aktifkan virtualenv atau conda environment Anda sebelum meluncurkan Claude Code. Untuk membuat variabel lingkungan persisten di seluruh perintah Bash, atur [`CLAUDE_ENV_FILE`](/id/env-vars) ke skrip shell sebelum meluncurkan Claude Code, atau gunakan [hook SessionStart](/id/hooks#persist-environment-variables) untuk mengisinya secara dinamis.132Aktifkan virtualenv atau conda environment Anda sebelum meluncurkan Claude Code. Untuk membuat variabel lingkungan persisten di seluruh perintah Bash, atur [`CLAUDE_ENV_FILE`](/docs/id/env-vars) ke skrip shell sebelum meluncurkan Claude Code, atau gunakan [hook SessionStart](/docs/id/hooks#persist-environment-variables) untuk mengisinya secara dinamis.

133 133 

134Dua batas mengikat setiap perintah:134Dua batas mengikat setiap perintah:

135 135 

136* **Timeout**: dua menit secara default. Claude dapat meminta hingga 10 menit per perintah dengan parameter `timeout`. Ganti default dan ceiling dengan [`BASH_DEFAULT_TIMEOUT_MS` dan `BASH_MAX_TIMEOUT_MS`](/id/env-vars).136* **Timeout**: dua menit secara default. Claude dapat meminta hingga 10 menit per perintah dengan parameter `timeout`. Ganti default dan ceiling dengan [`BASH_DEFAULT_TIMEOUT_MS` dan `BASH_MAX_TIMEOUT_MS`](/docs/id/env-vars).

137* **Panjang output**: 30.000 karakter secara default. Ketika perintah menghasilkan lebih dari itu, Claude Code menyimpan output penuh ke file dalam direktori sesi dan memberikan Claude jalur file ditambah pratinjau singkat dari awal. Claude membaca atau mencari file itu ketika membutuhkan sisanya. Naikkan batas dengan [`BASH_MAX_OUTPUT_LENGTH`](/id/env-vars), hingga ceiling keras 150.000 karakter.137* **Panjang output**: 30.000 karakter secara default. Ketika perintah menghasilkan lebih dari itu, Claude Code menyimpan output penuh ke file dalam direktori sesi dan memberikan Claude jalur file ditambah pratinjau singkat dari awal. Claude membaca atau mencari file itu ketika membutuhkan sisanya. Naikkan batas dengan [`BASH_MAX_OUTPUT_LENGTH`](/docs/id/env-vars), hingga ceiling keras 150.000 karakter.

138 138 

139Untuk proses yang berjalan lama seperti dev server atau watch build, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`. Dalam mode non-interaktif dengan flag `-p`, [tugas latar belakang berakhir tidak lama setelah hasil akhir run](/id/headless#background-tasks-at-exit).139Untuk proses yang berjalan lama seperti dev server atau watch build, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`. Dalam mode non-interaktif dengan flag `-p`, [tugas latar belakang berakhir tidak lama setelah hasil akhir run](/docs/id/headless#background-tasks-at-exit).

140 140 

141<h2 id="edit-tool-behavior">141<h2 id="edit-tool-behavior">

142 Perilaku Edit tool142 Perilaku Edit tool


144 144 

145Edit tool melakukan penggantian string yang tepat. Ini mengambil `old_string` dan `new_string` dan mengganti yang pertama dengan yang kedua. Ini tidak menggunakan regex atau fuzzy matching.145Edit tool melakukan penggantian string yang tepat. Ini mengambil `old_string` dan `new_string` dan mengganti yang pertama dengan yang kedua. Ini tidak menggunakan regex atau fuzzy matching.

146 146 

147Tiga pemeriksaan harus lulus agar edit diterapkan. Sebelum salah satunya, path yang cocok dengan [aturan deny `Read`](/id/permissions#tool-specific-permission-rules) ditolak, termasuk membuat file baru di sana. Penolakan memerlukan Claude Code v2.1.208 atau lebih baru.147Tiga pemeriksaan harus lulus agar edit diterapkan. Sebelum salah satunya, path yang cocok dengan [aturan deny `Read`](/docs/id/permissions#tool-specific-permission-rules) ditolak, termasuk membuat file baru di sana. Penolakan memerlukan Claude Code v2.1.208 atau lebih baru.

148 148 

149* **Read-before-edit**: Claude membaca file dalam percakapan saat ini sebelum mengeditnya, dan pembacaan yang terpotong dengan pemberitahuan [`PARTIAL view`](#read-tool-behavior) tidak dihitung. Claude Opus 4.6, Claude Haiku 4.5, dan model yang lebih lama selalu memerlukan pembacaan. Model yang lebih baru dapat mengedit file yang belum dibaca ketika membacanya tidak memerlukan prompt izin dan Read tool tersedia.149* **Read-before-edit**: Claude membaca file dalam percakapan saat ini sebelum mengeditnya, dan pembacaan yang terpotong dengan pemberitahuan [`PARTIAL view`](#read-tool-behavior) tidak dihitung. Claude Opus 4.6, Claude Haiku 4.5, dan model yang lebih lama selalu memerlukan pembacaan. Model yang lebih baru dapat mengedit file yang belum dibaca ketika membacanya tidak memerlukan prompt izin dan Read tool tersedia.

150* **Match**: `old_string` harus muncul dalam file persis seperti yang ditulis. Satu karakter perbedaan whitespace atau indentasi sudah cukup untuk melewatkan.150* **Match**: `old_string` harus muncul dalam file persis seperti yang ditulis. Satu karakter perbedaan whitespace atau indentasi sudah cukup untuk melewatkan.


154 154 

155Melihat file dengan Bash juga memenuhi persyaratan read-before-edit ketika perintahnya adalah `cat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, atau `fgrep` pada file tunggal tanpa pipe atau redirect. Output yang di-pipe dan perintah Bash lainnya tidak dihitung terhadap pemeriksaan read-before-edit.155Melihat file dengan Bash juga memenuhi persyaratan read-before-edit ketika perintahnya adalah `cat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, atau `fgrep` pada file tunggal tanpa pipe atau redirect. Output yang di-pipe dan perintah Bash lainnya tidak dihitung terhadap pemeriksaan read-before-edit.

156 156 

157Ini mempengaruhi kelayakan edit saja, bukan izin. [Aturan deny Read dan Edit](/id/permissions#tool-specific-permission-rules) juga berlaku untuk perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `grep`, tetapi bukan untuk subprocess arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Himpunan perintah yang dikenali untuk aturan deny tidak sama dengan daftar read-before-edit di atas: misalnya, `egrep` dan `fgrep` dihitung untuk read-before-edit tetapi tidak diperiksa terhadap aturan deny Read. Untuk penegakan tingkat OS yang mencakup setiap proses, [aktifkan sandbox](/id/sandboxing).157Ini mempengaruhi kelayakan edit saja, bukan izin. [Aturan deny Read dan Edit](/docs/id/permissions#tool-specific-permission-rules) juga berlaku untuk perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `grep`, tetapi bukan untuk subprocess arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Himpunan perintah yang dikenali untuk aturan deny tidak sama dengan daftar read-before-edit di atas: misalnya, `egrep` dan `fgrep` dihitung untuk read-before-edit tetapi tidak diperiksa terhadap aturan deny Read. Untuk penegakan tingkat OS yang mencakup setiap proses, [aktifkan sandbox](/docs/id/sandboxing).

158 158 

159<h2 id="glob-tool-behavior">159<h2 id="glob-tool-behavior">

160 Perilaku Glob tool160 Perilaku Glob tool


170 170 

171Glob tidak menghormati `.gitignore` secara default, jadi menemukan file gitignored bersama yang dilacak. Ini berbeda dari [Grep](#grep-tool-behavior), yang melewati file gitignored. Untuk membuat Glob menghormati `.gitignore`, atur `CLAUDE_CODE_GLOB_NO_IGNORE=false` sebelum meluncurkan Claude Code.171Glob tidak menghormati `.gitignore` secara default, jadi menemukan file gitignored bersama yang dilacak. Ini berbeda dari [Grep](#grep-tool-behavior), yang melewati file gitignored. Untuk membuat Glob menghormati `.gitignore`, atur `CLAUDE_CODE_GLOB_NO_IGNORE=false` sebelum meluncurkan Claude Code.

172 172 

173Nilai `pattern` atau `path` yang berisi byte null mengembalikan kesalahan yang meminta Claude untuk menghapusnya. {/* min-version: 2.1.208 */}173Nilai `pattern` atau `path` yang berisi byte null mengembalikan kesalahan yang meminta Claude untuk menghapusnya.&#x20;

174 174 

175<h2 id="grep-tool-behavior">175<h2 id="grep-tool-behavior">

176 Perilaku Grep tool176 Perilaku Grep tool


180 180 

181Grep dibangun di atas [ripgrep](https://github.com/BurntSushi/ripgrep) dan menggunakan sintaks regex ripgrep, bukan POSIX grep. Pola yang mencakup karakter metacharacter regex perlu escape. Misalnya, menemukan `interface{}` dalam kode Go memerlukan pola `interface\{\}`.181Grep dibangun di atas [ripgrep](https://github.com/BurntSushi/ripgrep) dan menggunakan sintaks regex ripgrep, bukan POSIX grep. Pola yang mencakup karakter metacharacter regex perlu escape. Misalnya, menemukan `interface{}` dalam kode Go memerlukan pola `interface\{\}`.

182 182 

183Pola, glob, atau tipe file yang ditolak oleh ripgrep mengembalikan kesalahan yang mencakup diagnostik ripgrep, sehingga Claude dapat memperbaiki input dan mencari lagi. {/* min-version: 2.1.208 */}Sebelum v2.1.208, Claude Code melaporkan input yang ditolak sebagai `No files found` alih-alih kesalahan, bahkan ketika teks yang dicari ada di file target.183Pola, glob, atau tipe file yang ditolak oleh ripgrep mengembalikan kesalahan yang mencakup diagnostik ripgrep, sehingga Claude dapat memperbaiki input dan mencari lagi. Sebelum v2.1.208, Claude Code melaporkan input yang ditolak sebagai `No files found` alih-alih kesalahan, bahkan ketika teks yang dicari ada di file target.

184 184 

185Tiga mode output mengontrol apa yang kembali:185Tiga mode output mengontrol apa yang kembali:

186 186 

187* `files_with_matches`: jalur file saja, tidak ada konten baris. Ini adalah default.187* `files_with_matches`: jalur file saja, tidak ada konten baris. Ini adalah default.

188* `content`: baris yang cocok dengan file dan nomor baris.188* `content`: baris yang cocok dengan file dan nomor baris.

189* `count`: jumlah kecocokan per file, diikuti dengan total di semua file yang cocok. {/* min-version: 2.1.208 */}Total mencakup setiap kecocokan bahkan ketika parameter `head_limit` atau `offset` tool memotong entri per-file yang terdaftar. Sebelum v2.1.208, total hanya menjumlahkan entri yang terdaftar.189* `count`: jumlah kecocokan per file, diikuti dengan total di semua file yang cocok. Total mencakup setiap kecocokan bahkan ketika parameter `head_limit` atau `offset` tool memotong entri per-file yang terdaftar. Sebelum v2.1.208, total hanya menjumlahkan entri yang terdaftar.

190 190 

191Claude dapat membatasi hasil berdasarkan file dengan parameter `glob`, seperti `**/*.tsx`, atau berdasarkan bahasa dengan parameter `type`, seperti `py` atau `rust`. Secara default, pola cocok dalam satu baris. Claude dapat mengatur `multiline: true` untuk cocok di seluruh batas baris.191Claude dapat membatasi hasil berdasarkan file dengan parameter `glob`, seperti `**/*.tsx`, atau berdasarkan bahasa dengan parameter `type`, seperti `py` atau `rust`. Secara default, pola cocok dalam satu baris. Claude dapat mengatur `multiline: true` untuk cocok di seluruh batas baris.

192 192 


206* Temukan implementasi antarmuka206* Temukan implementasi antarmuka

207* Lacak hierarki panggilan207* Lacak hierarki panggilan

208 208 

209Tool ini tidak aktif sampai Anda menginstal [plugin intelijen kode](/id/discover-plugins#code-intelligence) untuk bahasa Anda. Plugin menggabungkan konfigurasi language server, dan Anda menginstal binary server secara terpisah.209Tool ini tidak aktif sampai Anda menginstal [plugin intelijen kode](/docs/id/discover-plugins#code-intelligence) untuk bahasa Anda. Plugin menggabungkan konfigurasi language server, dan Anda menginstal binary server secara terpisah.

210 210 

211<h2 id="monitor-tool">211<h2 id="monitor-tool">

212 Monitor tool212 Monitor tool


224 224 

225Anda terus bekerja dalam sesi yang sama dan Claude menyela ketika peristiwa tiba. Hentikan monitor dengan meminta Claude untuk membatalkannya atau dengan mengakhiri sesi.225Anda terus bekerja dalam sesi yang sama dan Claude menyela ketika peristiwa tiba. Hentikan monitor dengan meminta Claude untuk membatalkannya atau dengan mengakhiri sesi.

226 226 

227Ketika Monitor menjalankan perintah, ia menggunakan [aturan izin yang sama seperti Bash](/id/permissions#tool-specific-permission-rules), jadi pola `allow` dan `deny` yang Anda tetapkan untuk Bash berlaku di sini juga. [Sumber WebSocket](#websocket-source) memiliki prompt persetujuan tersendiri.227Ketika Monitor menjalankan perintah, ia menggunakan [aturan izin yang sama seperti Bash](/docs/id/permissions#tool-specific-permission-rules), jadi pola `allow` dan `deny` yang Anda tetapkan untuk Bash berlaku di sini juga. [Sumber WebSocket](#websocket-source) memiliki prompt persetujuan tersendiri.

228 228 

229Tool ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Ini juga tidak tersedia ketika `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur.229Tool ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Ini juga tidak tersedia ketika `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur.

230 230 

231Plugin dapat mendeklarasikan monitors yang dimulai secara otomatis ketika plugin aktif, daripada meminta Claude untuk memulainya. Lihat [plugin monitors](/id/plugins-reference#monitors).231Plugin dapat mendeklarasikan monitors yang dimulai secara otomatis ketika plugin aktif, daripada meminta Claude untuk memulainya. Lihat [plugin monitors](/docs/id/plugins-reference#monitors).

232 232 

233<h3 id="websocket-source">233<h3 id="websocket-source">

234 WebSocket source234 WebSocket source


256 256 

257Membuka WebSocket meminta persetujuan, dan prompt tidak menawarkan opsi untuk melewati prompt di masa depan untuk host yang sama.257Membuka WebSocket meminta persetujuan, dan prompt tidak menawarkan opsi untuk melewati prompt di masa depan untuk host yang sama.

258 258 

259Claude Code menolak URL yang menunjuk ke alamat pribadi, link-local, atau cloud-metadata, termasuk nama host yang menyelesaikan ke salah satu. Ini juga menolak host di `sandbox.network.deniedDomains`, dan ketika [`allowManagedDomainsOnly`](/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, host apa pun di luar daftar izin terkelola.259Claude Code menolak URL yang menunjuk ke alamat pribadi, link-local, atau cloud-metadata, termasuk nama host yang menyelesaikan ke salah satu. Ini juga menolak host di `sandbox.network.deniedDomains`, dan ketika [`allowManagedDomainsOnly`](/docs/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, host apa pun di luar daftar izin terkelola.

260 260 

261<h2 id="notebookedit-tool-behavior">261<h2 id="notebookedit-tool-behavior">

262 Perilaku NotebookEdit tool262 Perilaku NotebookEdit tool


308 308 

309Tiga pengaturan tambahan mengontrol di mana PowerShell digunakan:309Tiga pengaturan tambahan mengontrol di mana PowerShell digunakan:

310 310 

311* `"defaultShell": "powershell"` dalam [`settings.json`](/id/settings#available-settings): merutekan perintah `!` interaktif melalui PowerShell. Memerlukan PowerShell tool untuk diaktifkan.311* `"defaultShell": "powershell"` dalam [`settings.json`](/docs/id/settings#available-settings): merutekan perintah `!` interaktif melalui PowerShell. Memerlukan PowerShell tool untuk diaktifkan.

312* `"shell": "powershell"` pada [command hooks](/id/hooks#command-hook-fields) individual: menjalankan hook tersebut dalam PowerShell. Hooks menjalankan PowerShell secara langsung, jadi ini berfungsi terlepas dari `CLAUDE_CODE_USE_POWERSHELL_TOOL`.312* `"shell": "powershell"` pada [command hooks](/docs/id/hooks#command-hook-fields) individual: menjalankan hook tersebut dalam PowerShell. Hooks menjalankan PowerShell secara langsung, jadi ini berfungsi terlepas dari `CLAUDE_CODE_USE_POWERSHELL_TOOL`.

313* `shell: powershell` dalam [skill frontmatter](/id/skills#frontmatter-reference): menjalankan blok `` !`command` `` dalam PowerShell. Memerlukan PowerShell tool untuk diaktifkan.313* `shell: powershell` dalam [skill frontmatter](/docs/id/skills#frontmatter-reference): menjalankan blok `` !`command` `` dalam PowerShell. Memerlukan PowerShell tool untuk diaktifkan.

314 314 

315Perilaku reset direktori kerja sesi utama yang sama yang dijelaskan di bagian Bash tool berlaku untuk perintah PowerShell, termasuk variabel lingkungan `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.315Perilaku reset direktori kerja sesi utama yang sama yang dijelaskan di bagian Bash tool berlaku untuk perintah PowerShell, termasuk variabel lingkungan `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

316 316 

317{/* min-version: 2.1.196 */}Mulai dari v2.1.196, PowerShell tool mencocokkan penanganan Bash tool terhadap kode keluar pencarian dan diff. Kode keluar 1 dari `grep`, `egrep`, `fgrep`, dan `git grep` berarti tidak ada kecocokan, dan kode keluar 1 dari `git diff` berarti perbedaan ada, sehingga hasil ini tidak dilaporkan ke Claude sebagai kegagalan perintah.317Mulai dari v2.1.196, PowerShell tool mencocokkan penanganan Bash tool terhadap kode keluar pencarian dan diff. Kode keluar 1 dari `grep`, `egrep`, `fgrep`, dan `git grep` berarti tidak ada kecocokan, dan kode keluar 1 dari `git diff` berarti perbedaan ada, sehingga hasil ini tidak dilaporkan ke Claude sebagai kegagalan perintah.

318 318 

319<h3 id="preview-limitations">319<h3 id="preview-limitations">

320 Batasan pratinjau320 Batasan pratinjau


360* Respons di-cache selama 15 menit, jadi fetch berulang dari URL yang sama kembali dengan cepat.360* Respons di-cache selama 15 menit, jadi fetch berulang dari URL yang sama kembali dengan cepat.

361* Ketika URL mengalihkan ke host yang berbeda, WebFetch mengembalikan hasil teks yang menyebutkan URL asli dan target pengalihan daripada mengikutinya. Claude kemudian mengambil URL baru dengan panggilan WebFetch kedua.361* Ketika URL mengalihkan ke host yang berbeda, WebFetch mengembalikan hasil teks yang menyebutkan URL asli dan target pengalihan daripada mengikutinya. Claude kemudian mengambil URL baru dengan panggilan WebFetch kedua.

362 362 

363Dalam mode izin default dan `acceptEdits`, WebFetch meminta pertama kali mencapai domain baru, kecuali untuk set bawaan domain dokumentasi yang telah disetujui sebelumnya yang fetch tanpa prompt. Untuk mengizinkan domain lain sebelumnya tanpa prompt, tambahkan aturan izin seperti `WebFetch(domain:example.com)`. Mode izin `auto` dan `bypassPermissions` [permission modes](/id/permissions#permission-modes) melewati prompt sepenuhnya.363Dalam mode izin default dan `acceptEdits`, WebFetch meminta pertama kali mencapai domain baru, kecuali untuk set bawaan domain dokumentasi yang telah disetujui sebelumnya yang fetch tanpa prompt. Untuk mengizinkan domain lain sebelumnya tanpa prompt, tambahkan aturan izin seperti `WebFetch(domain:example.com)`. Mode izin `auto` dan `bypassPermissions` [permission modes](/docs/id/permissions#permission-modes) melewati prompt sepenuhnya.

364 364 

365Aturan `WebFetch(domain:...)` eksplisit dalam `deny`, `ask`, atau `allow` mengambil alih set yang telah disetujui sebelumnya, jadi Anda dapat memblokir domain yang telah disetujui sebelumnya atau memerlukan prompt untuknya.365Aturan `WebFetch(domain:...)` eksplisit dalam `deny`, `ask`, atau `allow` mengambil alih set yang telah disetujui sebelumnya, jadi Anda dapat memblokir domain yang telah disetujui sebelumnya atau memerlukan prompt untuknya.

366 366 

367WebFetch menetapkan header `User-Agent` yang dimulai dengan `Claude-User`, dan header `Accept` yang lebih suka Markdown daripada HTML sehingga server yang mendukung negosiasi konten dapat mengembalikan Markdown secara langsung.367WebFetch menetapkan header `User-Agent` yang dimulai dengan `Claude-User`, dan header `Accept` yang lebih suka Markdown daripada HTML sehingga server yang mendukung negosiasi konten dapat mengembalikan Markdown secara langsung.

368 368 

369Anda mengonfigurasi aturan jaringan [sandbox](/id/sandboxing) secara terpisah, jadi domain yang ingin dijangkau proses sandboxed masih memerlukan aturan izin sandbox eksplisit.369Anda mengonfigurasi aturan jaringan [sandbox](/docs/id/sandboxing) secara terpisah, jadi domain yang ingin dijangkau proses sandboxed masih memerlukan aturan izin sandbox eksplisit.

370 370 

371<h2 id="websearch-tool-behavior">371<h2 id="websearch-tool-behavior">

372 Perilaku WebSearch tool372 Perilaku WebSearch tool


376 376 

377Tool dapat mengeluarkan hingga delapan pencarian backend per panggilan, menyempurnakan pencarian secara internal sebelum mengembalikan hasil. Claude dapat membatasi hasil dengan `allowed_domains` untuk menyertakan hanya host tertentu, atau `blocked_domains` untuk mengecualikannya. Dua daftar tidak dapat digabungkan dalam satu panggilan.377Tool dapat mengeluarkan hingga delapan pencarian backend per panggilan, menyempurnakan pencarian secara internal sebelum mengembalikan hasil. Claude dapat membatasi hasil dengan `allowed_domains` untuk menyertakan hanya host tertentu, atau `blocked_domains` untuk mengecualikannya. Dua daftar tidak dapat digabungkan dalam satu panggilan.

378 378 

379Backend pencarian tidak dapat dikonfigurasi. Untuk mencari dengan penyedia berbeda, tambahkan [server MCP](/id/mcp) yang mengekspos tool pencarian.379Backend pencarian tidak dapat dikonfigurasi. Untuk mencari dengan penyedia berbeda, tambahkan [server MCP](/docs/id/mcp) yang mengekspos tool pencarian.

380 380 

381Aturan izin WebSearch tidak mengambil specifier. Entri `WebSearch` telanjang dalam `allow` atau `deny` adalah satu-satunya bentuk.381Aturan izin WebSearch tidak mengambil specifier. Entri `WebSearch` telanjang dalam `allow` atau `deny` adalah satu-satunya bentuk.

382 382 

383<Note>383<Note>

384 WebSearch tersedia di Claude API, [Claude Platform on AWS](/id/claude-platform-on-aws), dan Microsoft Foundry. Di Google Cloud's Agent Platform berfungsi dengan model Claude 4 dan model yang lebih baru, termasuk Opus, Sonnet, dan Haiku. Amazon Bedrock tidak mengekspos tool web search sisi server.384 WebSearch tersedia di Claude API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan Microsoft Foundry. Di Google Cloud's Agent Platform berfungsi dengan model Claude 4 dan model yang lebih baru, termasuk Opus, Sonnet, dan Haiku. Amazon Bedrock tidak mengekspos tool web search sisi server.

385</Note>385</Note>

386 386 

387<h2 id="write-tool-behavior">387<h2 id="write-tool-behavior">


409Claude memberikan ringkasan percakapan. Untuk nama tool MCP yang tepat, jalankan `/mcp`.409Claude memberikan ringkasan percakapan. Untuk nama tool MCP yang tepat, jalankan `/mcp`.

410 410 

411<Note>411<Note>

412 [advisor tool](/id/advisor) adalah [server tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool) yang dijalankan API, bukan tool yang diimplementasikan Claude Code. Tool ini tidak memiliki nama yang dapat Anda referensikan dalam aturan izin atau pencocokan hook.412 [advisor tool](/docs/id/advisor) adalah [server tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool) yang dijalankan API, bukan tool yang diimplementasikan Claude Code. Tool ini tidak memiliki nama yang dapat Anda referensikan dalam aturan izin atau pencocokan hook.

413</Note>413</Note>

414 414 

415<h2 id="see-also">415<h2 id="see-also">

416 Lihat juga416 Lihat juga

417</h2>417</h2>

418 418 

419* [MCP servers](/id/mcp): tambahkan tools kustom dengan menghubungkan server eksternal419* [MCP servers](/docs/id/mcp): tambahkan tools kustom dengan menghubungkan server eksternal

420* [Permissions](/id/permissions): sistem izin, sintaks aturan, dan pola khusus tool420* [Permissions](/docs/id/permissions): sistem izin, sintaks aturan, dan pola khusus tool

421* [Subagents](/id/sub-agents): konfigurasi akses tool untuk subagent421* [Subagents](/docs/id/sub-agents): konfigurasi akses tool untuk subagent

422* [Hooks](/id/hooks-guide): jalankan perintah kustom sebelum atau sesudah eksekusi tool422* [Hooks](/docs/id/hooks-guide): jalankan perintah kustom sebelum atau sesudah eksekusi tool

Details

6 6 

7> Perbaiki command not found, PATH, permission, network, dan authentication errors saat menginstal atau masuk ke Claude Code.7> Perbaiki command not found, PATH, permission, network, dan authentication errors saat menginstal atau masuk ke Claude Code.

8 8 

9Jika instalasi gagal atau Anda tidak dapat masuk, temukan kesalahan Anda di bawah. Untuk masalah runtime setelah Claude Code berfungsi, lihat [Troubleshooting](/id/troubleshooting). Untuk masalah konfigurasi seperti pengaturan tidak diterapkan atau hooks tidak berfungsi, lihat [Debug your configuration](/id/debug-your-config).9Jika instalasi gagal atau Anda tidak dapat masuk, temukan kesalahan Anda di bawah. Untuk masalah runtime setelah Claude Code berfungsi, lihat [Troubleshooting](/docs/id/troubleshooting). Untuk masalah konfigurasi seperti pengaturan tidak diterapkan atau hooks tidak berfungsi, lihat [Debug your configuration](/docs/id/debug-your-config).

10 10 

11<h2 id="find-your-error">11<h2 id="find-your-error">

12 Temukan kesalahan Anda12 Temukan kesalahan Anda


41| `OAuth error` atau `403 Forbidden` | [Perbaiki authentication](#login-and-authentication) |41| `OAuth error` atau `403 Forbidden` | [Perbaiki authentication](#login-and-authentication) |

42| `Could not load the default credentials` atau `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |42| `Could not load the default credentials` atau `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

43| `ChainedTokenCredential authentication failed` atau `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |43| `ChainedTokenCredential authentication failed` atau `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

44| `API Error: 500`, `529 Overloaded`, `429`, atau 4xx dan 5xx errors lainnya yang tidak tercantum di atas | Lihat [Error reference](/id/errors) |44| `API Error: 500`, `529 Overloaded`, `429`, atau 4xx dan 5xx errors lainnya yang tidak tercantum di atas | Lihat [Error reference](/docs/id/errors) |

45 45 

46Jika masalah Anda tidak tercantum, lakukan pemeriksaan diagnostik di bawah untuk mempersempit penyebabnya.46Jika masalah Anda tidak tercantum, lakukan pemeriksaan diagnostik di bawah untuk mempersempit penyebabnya.

47 47 

48<Tip>48<Tip>

49 Jika Anda lebih suka melewati terminal sepenuhnya, [Claude Code Desktop app](/id/desktop-quickstart) memungkinkan Anda menginstal dan menggunakan Claude Code melalui antarmuka grafis. Unduh untuk [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) atau [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) dan mulai coding tanpa setup command-line apa pun. Di Linux, instal aplikasi dengan apt dengan mengikuti [instruksi instalasi Linux](/id/desktop-linux).49 Jika Anda lebih suka melewati terminal sepenuhnya, [Claude Code Desktop app](/docs/id/desktop-quickstart) memungkinkan Anda menginstal dan menggunakan Claude Code melalui antarmuka grafis. Unduh untuk [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) atau [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) dan mulai coding tanpa setup command-line apa pun. Di Linux, instal aplikasi dengan apt dengan mengikuti [instruksi instalasi Linux](/docs/id/desktop-linux).

50</Tip>50</Tip>

51 51 

52<h2 id="run-diagnostic-checks">52<h2 id="run-diagnostic-checks">


100Jika instalasi berhasil tetapi Anda mendapatkan error `command not found` atau `not recognized` saat menjalankan `claude`, direktori instalasi tidak ada di PATH Anda. Shell Anda mencari program di direktori yang tercantum di PATH, dan installer menempatkan `claude` di `~/.local/bin/claude` di macOS/Linux atau `%USERPROFILE%\.local\bin\claude.exe` di Windows.100Jika instalasi berhasil tetapi Anda mendapatkan error `command not found` atau `not recognized` saat menjalankan `claude`, direktori instalasi tidak ada di PATH Anda. Shell Anda mencari program di direktori yang tercantum di PATH, dan installer menempatkan `claude` di `~/.local/bin/claude` di macOS/Linux atau `%USERPROFILE%\.local\bin\claude.exe` di Windows.

101 101 

102<Note>102<Note>

103 Ekstensi [VS Code](/id/vs-code) tidak menempatkan `claude` di lokasi ini. Ini menggabungkan salinan pribadi CLI di dalam direktori ekstensi untuk panel chat-nya sendiri dan tidak menambahkannya ke PATH. Jika Anda hanya telah menginstal ekstensi, `~/.local/bin/claude` tidak akan ada. Jalankan [instalasi standalone](/id/setup) untuk menggunakan `claude` dari terminal, kemudian lanjutkan di bawah.103 Ekstensi [VS Code](/docs/id/vs-code) tidak menempatkan `claude` di lokasi ini. Ini menggabungkan salinan pribadi CLI di dalam direktori ekstensi untuk panel chat-nya sendiri dan tidak menambahkannya ke PATH. Jika Anda hanya telah menginstal ekstensi, `~/.local/bin/claude` tidak akan ada. Jalankan [instalasi standalone](/docs/id/setup) untuk menggunakan `claude` dari terminal, kemudian lanjutkan di bawah.

104</Note>104</Note>

105 105 

106Periksa apakah direktori instalasi ada di PATH Anda dengan membuat daftar entri PATH dan memfilter untuk `local/bin`:106Periksa apakah direktori instalasi ada di PATH Anda dengan membuat daftar entri PATH dan memfilter untuk `local/bin`:


196 ls -la ~/.local/bin/claude196 ls -la ~/.local/bin/claude

197 ```197 ```

198 198 

199 Native install menunjukkan symlink ke `~/.local/share/claude/versions/`. Script atau symlink yang Anda buat sendiri di path ini adalah custom launcher, yang [auto-update meninggalkan di tempat](/id/setup#auto-updates).199 Native install menunjukkan symlink ke `~/.local/share/claude/versions/`. Script atau symlink yang Anda buat sendiri di path ini adalah custom launcher, yang [auto-update meninggalkan di tempat](/docs/id/setup#auto-updates).

200 200 

201 Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.201 Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.

202 202 


294Get-Command claude | Select-Object Source294Get-Command claude | Select-Object Source

295```295```

296 296 

297Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Alpine Linux setup](/id/setup#alpine-linux-and-musl-based-distributions).297Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Alpine Linux setup](/docs/id/setup#alpine-linux-and-musl-based-distributions).

298 298 

299```bash theme={null}299```bash theme={null}

300ldd "$(command -v claude)" | grep "not found"300ldd "$(command -v claude)" | grep "not found"


413brew install --cask claude-code413brew install --cask claude-code

414```414```

415 415 

416Jika Homebrew menginstal versi Claude Code yang lebih lama dari yang Anda harapkan, indeks yang sudah usang biasanya menjadi penyebabnya. Cask `claude-code` melacak saluran stabil dan biasanya tertinggal sekitar satu minggu dari rilis terbaru; untuk versi terbaru jalankan `brew install --cask claude-code@latest` sebagai gantinya. Lihat [Configure release channel](/id/setup#configure-release-channel) untuk perbedaan antara dua cask.416Jika Homebrew menginstal versi Claude Code yang lebih lama dari yang Anda harapkan, indeks yang sudah usang biasanya menjadi penyebabnya. Cask `claude-code` melacak saluran stabil dan biasanya tertinggal sekitar satu minggu dari rilis terbaru; untuk versi terbaru jalankan `brew install --cask claude-code@latest` sebagai gantinya. Lihat [Configure release channel](/docs/id/setup#configure-release-channel) untuk perbedaan antara dua cask.

417 417 

418<h3 id="tls-or-ssl-connection-errors">418<h3 id="tls-or-ssl-connection-errors">

419 TLS or SSL connection errors419 TLS or SSL connection errors


468 curl -sI https://downloads.claude.ai/claude-code-releases/latest468 curl -sI https://downloads.claude.ai/claude-code-releases/latest

469 ```469 ```

470 470 

4712. **Jika di belakang proxy**, atur `HTTPS_PROXY` sehingga installer dapat merutekan melaluinya. Lihat [proxy configuration](/id/network-config#proxy-configuration) untuk detail.4712. **Jika di belakang proxy**, atur `HTTPS_PROXY` sehingga installer dapat merutekan melaluinya. Lihat [proxy configuration](/docs/id/network-config#proxy-configuration) untuk detail.

472 ```bash theme={null}472 ```bash theme={null}

473 export HTTPS_PROXY=http://proxy.example.com:8080473 export HTTPS_PROXY=http://proxy.example.com:8080

474 curl -fsSL https://claude.ai/install.sh | bash474 curl -fsSL https://claude.ai/install.sh | bash


551 551 

552Sebelum v2.1.200, script keluar hanya dengan baris `Killed` telanjang shell dan tanpa penjelasan.552Sebelum v2.1.200, script keluar hanya dengan baris `Killed` telanjang shell dan tanpa penjelasan.

553 553 

554Instalasi memerlukan kira-kira 512 MB memori gratis, dan menjalankan Claude Code memerlukan lebih banyak. Lihat [system requirements](/id/setup#system-requirements).554Instalasi memerlukan kira-kira 512 MB memori gratis, dan menjalankan Claude Code memerlukan lebih banyak. Lihat [system requirements](/docs/id/setup#system-requirements).

555 555 

556**Solusi:**556**Solusi:**

557 557 


607 Claude Code on Windows requires either Git for Windows (for bash) or PowerShell607 Claude Code on Windows requires either Git for Windows (for bash) or PowerShell

608</h3>608</h3>

609 609 

610Git for Windows bersifat opsional. Claude Code menggunakan [PowerShell tool](/id/tools-reference#powershell-tool) saat Git Bash tidak ada, jadi error ini berarti tidak ada shell yang ditemukan.610Git for Windows bersifat opsional. Claude Code menggunakan [PowerShell tool](/docs/id/tools-reference#powershell-tool) saat Git Bash tidak ada, jadi error ini berarti tidak ada shell yang ditemukan.

611 611 

612**Jika PowerShell hilang dari PATH Anda**, lokasi defaultnya adalah `C:\Windows\System32\WindowsPowerShell\v1.0\`. Tambahkan direktori itu ke `PATH` Anda, atau instal [PowerShell 7](https://aka.ms/powershell), yang menyediakan `pwsh`.612**Jika PowerShell hilang dari PATH Anda**, lokasi defaultnya adalah `C:\Windows\System32\WindowsPowerShell\v1.0\`. Tambahkan direktori itu ke `PATH` Anda, atau instal [PowerShell 7](https://aka.ms/powershell), yang menyediakan `pwsh`.

613 613 

614**Untuk menginstal Git for Windows sebagai gantinya**, unduh dari [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Selama setup, pilih "Add to PATH." Restart terminal Anda setelah menginstal. Menginstalnya mengaktifkan Bash tool, berguna saat bekerja dengan script dan tooling berbasis Bash.614**Untuk menginstal Git for Windows sebagai gantinya**, unduh dari [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Selama setup, pilih "Add to PATH." Restart terminal Anda setelah menginstal. Menginstalnya mengaktifkan Bash tool, berguna saat bekerja dengan script dan tooling berbasis Bash.

615 615 

616**Jika Git sudah terinstal** tetapi Claude Code tidak dapat menemukannya, atur path di [settings.json file](/id/settings) Anda:616**Jika Git sudah terinstal** tetapi Claude Code tidak dapat menemukannya, atur path di [settings.json file](/docs/id/settings) Anda:

617 617 

618```json theme={null}618```json theme={null}

619{619{


641 641 

642Jika ini mencetak `True`, sistem operasi Anda baik-baik saja. Tutup jendela, buka `Windows PowerShell` tanpa suffix x86, dan jalankan perintah install lagi.642Jika ini mencetak `True`, sistem operasi Anda baik-baik saja. Tutup jendela, buka `Windows PowerShell` tanpa suffix x86, dan jalankan perintah install lagi.

643 643 

644Jika ini mencetak `False`, Anda berada di edisi Windows 32-bit. Claude Code memerlukan sistem operasi 64-bit. Lihat [system requirements](/id/setup#system-requirements).644Jika ini mencetak `False`, Anda berada di edisi Windows 32-bit. Claude Code memerlukan sistem operasi 64-bit. Lihat [system requirements](/docs/id/setup#system-requirements).

645 645 

646<h3 id="linux-musl-or-glibc-binary-mismatch">646<h3 id="linux-musl-or-glibc-binary-mismatch">

647 Linux musl or glibc binary mismatch647 Linux musl or glibc binary mismatch


737 npm install errors in WSL737 npm install errors in WSL

738</h3>738</h3>

739 739 

740Masalah ini berlaku jika Anda menginstal Claude Code dengan `npm install -g` di dalam WSL. Jika Anda menggunakan [native installer](/id/setup), lewati bagian ini.740Masalah ini berlaku jika Anda menginstal Claude Code dengan `npm install -g` di dalam WSL. Jika Anda menggunakan [native installer](/docs/id/setup), lewati bagian ini.

741 741 

742**OS atau platform detection issues.** Jika npm melaporkan ketidakcocokan platform selama instalasi, WSL mungkin mengambil Windows `npm`. Jalankan `npm config set os linux` terlebih dahulu, kemudian instal dengan `npm install -g @anthropic-ai/claude-code --force`. Jangan gunakan `sudo`.742**OS atau platform detection issues.** Jika npm melaporkan ketidakcocokan platform selama instalasi, WSL mungkin mengambil Windows `npm`. Jalankan `npm config set os linux` terlebih dahulu, kemudian instal dengan `npm install -g @anthropic-ai/claude-code --force`. Jangan gunakan `sudo`.

743 743 


786Paket npm `@anthropic-ai/claude-code` menarik binary native melalui per-platform optional dependency seperti `@anthropic-ai/claude-code-darwin-arm64`. Jika menjalankan `claude` setelah install mencetak `Could not find native binary package "@anthropic-ai/claude-code-<platform>"`, periksa penyebab berikut:786Paket npm `@anthropic-ai/claude-code` menarik binary native melalui per-platform optional dependency seperti `@anthropic-ai/claude-code-darwin-arm64`. Jika menjalankan `claude` setelah install mencetak `Could not find native binary package "@anthropic-ai/claude-code-<platform>"`, periksa penyebab berikut:

787 787 

788* **Optional dependencies dinonaktifkan.** Hapus `--omit=optional` dari perintah npm install Anda, `--no-optional` dari pnpm, atau `--ignore-optional` dari yarn, dan periksa bahwa `.npmrc` tidak mengatur `optional=false`. Kemudian instal ulang. Binary native disampaikan hanya sebagai optional dependency, jadi tidak ada JavaScript fallback jika dilewati.788* **Optional dependencies dinonaktifkan.** Hapus `--omit=optional` dari perintah npm install Anda, `--no-optional` dari pnpm, atau `--ignore-optional` dari yarn, dan periksa bahwa `.npmrc` tidak mengatur `optional=false`. Kemudian instal ulang. Binary native disampaikan hanya sebagai optional dependency, jadi tidak ada JavaScript fallback jika dilewati.

789* **Platform tidak didukung.** Binary prebuilt dipublikasikan untuk `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, dan `win32-arm64`. Claude Code tidak mengirimkan binary untuk platform lain; lihat [system requirements](/id/setup#system-requirements). {/* min-version: 2.1.205 */}Di FreeBSD, installer melaporkan platform sebagai tidak didukung. Sebelum v2.1.205, installer memperlakukan FreeBSD sebagai Linux dan mengunduh binary yang tidak dapat dijalankan.789* **Platform tidak didukung.** Binary prebuilt dipublikasikan untuk `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, dan `win32-arm64`. Claude Code tidak mengirimkan binary untuk platform lain; lihat [system requirements](/docs/id/setup#system-requirements). Di FreeBSD, installer melaporkan platform sebagai tidak didukung. Sebelum v2.1.205, installer memperlakukan FreeBSD sebagai Linux dan mengunduh binary yang tidak dapat dijalankan.

790* **Corporate npm mirror kehilangan paket platform.** Pastikan registry Anda mencerminkan semua delapan paket `@anthropic-ai/claude-code-*` platform selain paket meta.790* **Corporate npm mirror kehilangan paket platform.** Pastikan registry Anda mencerminkan semua delapan paket `@anthropic-ai/claude-code-*` platform selain paket meta.

791 791 

792Menginstal dengan `--ignore-scripts` tidak memicu error ini. Langkah postinstall yang menghubungkan binary ke tempat dilewati, jadi Claude Code kembali ke wrapper yang menemukan dan menjalankan binary platform di setiap peluncuran. Ini berfungsi tetapi dimulai lebih lambat; instal ulang dengan scripts diaktifkan untuk eksekusi langsung.792Menginstal dengan `--ignore-scripts` tidak memicu error ini. Langkah postinstall yang menghubungkan binary ke tempat dilewati, jadi Claude Code kembali ke wrapper yang menemukan dan menjalankan binary platform di setiap peluncuran. Ini berfungsi tetapi dimulai lebih lambat; instal ulang dengan scripts diaktifkan untuk eksekusi langsung.


829 829 

830* **Claude Pro/Max users**: verifikasi subscription Anda aktif di [claude.ai/settings](https://claude.ai/settings)830* **Claude Pro/Max users**: verifikasi subscription Anda aktif di [claude.ai/settings](https://claude.ai/settings)

831* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.831* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.

832* **Di belakang proxy**: corporate proxies dapat mengganggu permintaan API. Lihat [network configuration](/id/network-config) untuk setup proxy.832* **Di belakang proxy**: corporate proxies dapat mengganggu permintaan API. Lihat [network configuration](/docs/id/network-config) untuk setup proxy.

833 833 

834<h3 id="this-organization-has-been-disabled-with-an-active-subscription">834<h3 id="this-organization-has-been-disabled-with-an-active-subscription">

835 This organization has been disabled with an active subscription835 This organization has been disabled with an active subscription


837 837 

838Jika Anda melihat `API Error: 400 ... "This organization has been disabled"` meskipun memiliki subscription Claude aktif, variabel environment `ANTHROPIC_API_KEY` menimpa subscription Anda. Ini biasanya terjadi saat API key lama dari employer atau project sebelumnya masih diatur di shell profile Anda.838Jika Anda melihat `API Error: 400 ... "This organization has been disabled"` meskipun memiliki subscription Claude aktif, variabel environment `ANTHROPIC_API_KEY` menimpa subscription Anda. Ini biasanya terjadi saat API key lama dari employer atau project sebelumnya masih diatur di shell profile Anda.

839 839 

840Saat `ANTHROPIC_API_KEY` ada dan Anda telah menyetujuinya, Claude Code menggunakan key itu alih-alih OAuth credentials subscription Anda. Dalam mode non-interactive dengan flag `-p`, key selalu digunakan saat ada. Lihat [authentication precedence](/id/authentication#authentication-precedence) untuk urutan resolusi lengkap.840Saat `ANTHROPIC_API_KEY` ada dan Anda telah menyetujuinya, Claude Code menggunakan key itu alih-alih OAuth credentials subscription Anda. Dalam mode non-interactive dengan flag `-p`, key selalu digunakan saat ada. Lihat [authentication precedence](/docs/id/authentication#authentication-precedence) untuk urutan resolusi lengkap.

841 841 

842Untuk menggunakan subscription Anda sebagai gantinya, unset variabel environment dan hapus dari shell profile Anda:842Untuk menggunakan subscription Anda sebagai gantinya, unset variabel environment dan hapus dari shell profile Anda:

843 843 


907 907 

908Jika credentials berfungsi di terminal Anda tetapi tidak di VS Code atau JetBrains extension, proses IDE mungkin tidak mewarisi environment shell Anda. Atur variabel environment provider di pengaturan IDE itu sendiri, atau luncurkan IDE dari terminal di mana mereka sudah diekspor.908Jika credentials berfungsi di terminal Anda tetapi tidak di VS Code atau JetBrains extension, proses IDE mungkin tidak mewarisi environment shell Anda. Atur variabel environment provider di pengaturan IDE itu sendiri, atau luncurkan IDE dari terminal di mana mereka sudah diekspor.

909 909 

910Lihat [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry) untuk setup provider lengkap.910Lihat [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry) untuk setup provider lengkap.

911 911 

912<h2 id="still-stuck">912<h2 id="still-stuck">

913 Still stuck913 Still stuck

ultraplan.md +0 −96 deleted

File Deleted View Diff

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Rencanakan di cloud dengan ultraplan

6 

7> Mulai rencana dari CLI Anda, buat draftnya di Claude Code di web, kemudian jalankan secara jarak jauh atau kembali di terminal Anda

8 

9<Note>

10 Ultraplan sedang dalam penelitian preview. Perilaku dan kemampuan dapat berubah berdasarkan umpan balik.

11</Note>

12 

13Ultraplan menyerahkan tugas perencanaan dari CLI lokal Anda ke sesi [Claude Code di web](/id/claude-code-on-the-web) yang berjalan dalam [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode). Claude membuat draft rencana di cloud sementara Anda terus bekerja di terminal Anda. Ketika rencana siap, Anda membukanya di browser untuk memberikan komentar pada bagian tertentu, meminta revisi, dan memilih di mana akan menjalankannya.

14 

15Ini berguna ketika Anda menginginkan permukaan review yang lebih kaya daripada yang ditawarkan terminal:

16 

17* **Umpan balik yang ditargetkan**: berikan komentar pada bagian individual rencana alih-alih membalas semuanya

18* **Drafting tanpa tangan**: rencana dihasilkan dari jarak jauh, sehingga terminal Anda tetap bebas untuk pekerjaan lain

19* **Eksekusi yang fleksibel**: setujui rencana untuk dijalankan di web dan buka pull request, atau kirimkan kembali ke terminal Anda

20 

21Ultraplan memerlukan akun [Claude Code di web](/id/claude-code-on-the-web) dan repositori GitHub. Karena berjalan pada infrastruktur cloud Anthropic, tidak tersedia saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Sesi cloud berjalan di [cloud environment](/id/claude-code-on-the-web#the-cloud-environment) default akun Anda. Jika Anda belum memiliki cloud environment, ultraplan membuat satu secara otomatis saat pertama kali diluncurkan.

22 

23<h2 id="launch-ultraplan-from-the-cli">

24 Luncurkan ultraplan dari CLI

25</h2>

26 

27Dari sesi CLI lokal Anda, Anda dapat meluncurkan ultraplan dengan tiga cara:

28 

29* **Perintah**: jalankan `/ultraplan` diikuti dengan prompt Anda

30* **Kata kunci**: sertakan kata `ultraplan` di mana saja dalam prompt normal

31* **Dari rencana lokal**: ketika Claude menyelesaikan rencana lokal dan menampilkan dialog persetujuan, pilih **No, refine with Ultraplan on Claude Code on the web** untuk mengirim draft ke cloud untuk iterasi lebih lanjut

32 

33Misalnya, untuk merencanakan migrasi layanan dengan perintah:

34 

35```

36/ultraplan migrate the auth service from sessions to JWTs

37```

38 

39Jalur perintah dan kata kunci membuka dialog konfirmasi sebelum meluncurkan. Jalur rencana lokal melewati dialog ini karena pilihan itu sudah berfungsi sebagai konfirmasi. Jika [Remote Control](/id/remote-control) aktif, itu akan terputus saat ultraplan dimulai karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.

40 

41Setelah sesi cloud diluncurkan, input prompt CLI Anda menampilkan indikator status sementara sesi jarak jauh bekerja:

42 

43| Status | Arti |

44| :----------------------------- | :----------------------------------------------------------------------- |

45| `◇ ultraplan` | Claude sedang meneliti codebase Anda dan membuat draft rencana |

46| `◇ ultraplan needs your input` | Claude memiliki pertanyaan klarifikasi; buka tautan sesi untuk merespons |

47| `◆ ultraplan ready` | Rencana siap untuk ditinjau di browser Anda |

48 

49Jalankan `/tasks` dan pilih entri ultraplan untuk membuka tampilan detail dengan tautan sesi, aktivitas agen, dan tindakan **Stop ultraplan**. Menghentikan mengarsipkan sesi cloud dan menghapus indikator; tidak ada yang disimpan ke terminal Anda.

50 

51<h2 id="review-and-revise-the-plan-in-your-browser">

52 Tinjau dan revisi rencana di browser Anda

53</h2>

54 

55Ketika status berubah menjadi `◆ ultraplan ready`, buka tautan sesi untuk melihat rencana di claude.ai. Rencana muncul dalam tampilan review khusus:

56 

57* **Komentar inline**: sorot bagian apa pun dan tinggalkan komentar untuk Claude untuk ditangani

58* **Reaksi emoji**: bereaksi terhadap bagian untuk menandakan persetujuan atau kekhawatiran tanpa menulis komentar lengkap

59* **Bilah outline**: lompat antar bagian rencana

60 

61Ketika Anda meminta Claude untuk mengatasi komentar Anda, itu merevisi rencana dan menyajikan draft yang diperbarui. Anda dapat melakukan iterasi sebanyak yang diperlukan sebelum memilih di mana akan menjalankannya.

62 

63<h2 id="choose-where-to-execute">

64 Pilih di mana akan menjalankan

65</h2>

66 

67Ketika rencana terlihat benar, Anda memilih dari browser apakah Claude mengimplementasikannya dalam sesi cloud yang sama atau mengirimkannya kembali ke terminal yang menunggu.

68 

69<h3 id="execute-on-the-web">

70 Jalankan di web

71</h3>

72 

73Pilih **Approve Claude's plan and start coding** di browser Anda untuk membuat Claude mengimplementasikannya dalam sesi Claude Code di web yang sama. Terminal Anda menampilkan konfirmasi, indikator status dihapus, dan pekerjaan berlanjut di cloud. Ketika implementasi selesai, [tinjau diff](/id/claude-code-on-the-web#review-changes) dan buat pull request dari antarmuka web.

74 

75<h3 id="send-the-plan-back-to-your-terminal">

76 Kirim rencana kembali ke terminal Anda

77</h3>

78 

79Pilih **Approve plan and teleport back to terminal** di browser Anda untuk mengimplementasikan rencana secara lokal dengan akses penuh ke lingkungan Anda. Opsi ini muncul ketika sesi diluncurkan dari CLI Anda dan terminal masih melakukan polling. Sesi web diarsipkan sehingga tidak terus bekerja secara paralel.

80 

81Terminal Anda menampilkan rencana dalam dialog berjudul **Ultraplan approved** dengan tiga opsi:

82 

83* **Implement here**: injeksi rencana ke dalam percakapan saat ini dan lanjutkan dari mana Anda berhenti

84* **Start new session**: hapus percakapan saat ini dan mulai segar dengan hanya rencana sebagai konteks

85* **Cancel**: simpan rencana ke file tanpa menjalankannya; Claude mencetak jalur file sehingga Anda dapat kembali ke sana nanti

86 

87Jika Anda memulai sesi baru, Claude mencetak perintah `claude --resume` di bagian atas sehingga Anda dapat kembali ke percakapan sebelumnya nanti.

88 

89<h2 id="related-resources">

90 Sumber daya terkait

91</h2>

92 

93* [Claude Code di web](/id/claude-code-on-the-web): infrastruktur cloud tempat ultraplan berjalan

94* [Plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode): cara perencanaan bekerja dalam sesi lokal

95* [Temukan bug dengan ultrareview](/id/ultrareview): rekan review kode untuk ultraplan untuk menangkap masalah sebelum merge

96* [Remote Control](/id/remote-control): gunakan antarmuka claude.ai/code dengan sesi yang berjalan di mesin Anda sendiri

voice-dictation.md +16 −16

Details

12 Mode ketuk memerlukan Claude Code v2.1.116 atau lebih baru. Periksa versi Anda dengan `claude --version`.12 Mode ketuk memerlukan Claude Code v2.1.116 atau lebih baru. Periksa versi Anda dengan `claude --version`.

13</Note>13</Note>

14 14 

15Dikte juga berfungsi di [tampilan agen](/id/agent-view#peek-and-reply). Tahan atau ketuk kunci push-to-talk Anda saat input pengiriman atau balasan panel intip difokuskan untuk mendikte ke sesi latar belakang.15Dikte juga berfungsi di [tampilan agen](/docs/id/agent-view#peek-and-reply). Tahan atau ketuk kunci push-to-talk Anda saat input pengiriman atau balasan panel intip difokuskan untuk mendikte ke sesi latar belakang.

16 16 

17<h2 id="requirements">17<h2 id="requirements">

18 Persyaratan18 Persyaratan


22 22 

23* **Akun Claude.ai**: layanan ucapan-ke-teks hanya tersedia saat Anda melakukan autentikasi dengan akun Claude.ai, dan tidak tersedia saat Claude Code dikonfigurasi untuk menggunakan kunci API Anthropic secara langsung, Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.23* **Akun Claude.ai**: layanan ucapan-ke-teks hanya tersedia saat Anda melakukan autentikasi dengan akun Claude.ai, dan tidak tersedia saat Claude Code dikonfigurasi untuk menggunakan kunci API Anthropic secara langsung, Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.

24* **Organisasi tanpa kepatuhan HIPAA yang diaktifkan**: `/voice` menampilkan `Voice mode is disabled by your organization's policy` saat pembatasan ini berlaku.24* **Organisasi tanpa kepatuhan HIPAA yang diaktifkan**: `/voice` menampilkan `Voice mode is disabled by your organization's policy` saat pembatasan ini berlaku.

25* **Mikrofon lokal**: dikte suara tidak berfungsi di lingkungan jarak jauh seperti [Claude Code di web](/id/claude-code-on-the-web) atau sesi SSH.25* **Mikrofon lokal**: dikte suara tidak berfungsi di lingkungan jarak jauh seperti [Claude Code di web](/docs/id/claude-code-on-the-web) atau sesi SSH.

26* **WSLg, jika Anda menjalankan Claude Code di WSL**: WSLg disertakan dengan WSL2 saat diinstal dari Microsoft Store di Windows 10 atau 11. Jika WSLg tidak tersedia, misalnya di WSL1, jalankan Claude Code di Windows asli sebagai gantinya.26* **WSLg, jika Anda menjalankan Claude Code di WSL**: WSLg disertakan dengan WSL2 saat diinstal dari Microsoft Store di Windows 10 atau 11. Jika WSLg tidak tersedia, misalnya di WSL1, jalankan Claude Code di Windows asli sebagai gantinya.

27 27 

28Transkripsi tidak menggunakan pesan Claude atau token dan tidak dihitung terhadap batas yang ditampilkan di `/usage`. Lihat [penggunaan data](/id/data-usage) untuk mengetahui bagaimana Anthropic menangani data Anda.28Transkripsi tidak menggunakan pesan Claude atau token dan tidak dihitung terhadap batas yang ditampilkan di `/usage`. Lihat [penggunaan data](/docs/id/data-usage) untuk mengetahui bagaimana Anthropic menangani data Anda.

29 29 

30Perekaman audio menggunakan modul asli bawaan di macOS, Linux, dan Windows. Di Linux, jika modul asli tidak dapat dimuat, Claude Code kembali ke `arecord` dari ALSA utils atau `rec` dari SoX. Jika tidak ada yang tersedia, `/voice` mencetak perintah instalasi untuk manajer paket Anda.30Perekaman audio menggunakan modul asli bawaan di macOS, Linux, dan Windows. Di Linux, jika modul asli tidak dapat dimuat, Claude Code kembali ke `arecord` dari ALSA utils atau `rec` dari SoX. Jika tidak ada yang tersedia, `/voice` mencetak perintah instalasi untuk manajer paket Anda.

31 31 

32[Ekstensi VS Code](/id/vs-code) Claude Code juga mendukung dikte suara dengan persyaratan akun Claude.ai yang sama. Ini tidak tersedia di sesi VS Code Remote, termasuk SSH, Dev Containers, dan Codespaces, karena mikrofon berada di mesin lokal Anda dan ekstensi berjalan di host jarak jauh.32[Ekstensi VS Code](/docs/id/vs-code) Claude Code juga mendukung dikte suara dengan persyaratan akun Claude.ai yang sama. Ini tidak tersedia di sesi VS Code Remote, termasuk SSH, Dev Containers, dan Codespaces, karena mikrofon berada di mesin lokal Anda dan ekstensi berjalan di host jarak jauh.

33 33 

34<h2 id="enable-voice-dictation">34<h2 id="enable-voice-dictation">

35 Aktifkan dikte suara35 Aktifkan dikte suara


51| `/voice tap` | Aktifkan dalam [mode ketuk](#tap-to-record-and-send) |51| `/voice tap` | Aktifkan dalam [mode ketuk](#tap-to-record-and-send) |

52| `/voice off` | Nonaktifkan |52| `/voice off` | Nonaktifkan |

53 53 

54Dikte suara bertahan di seluruh sesi. Atur langsung di [file pengaturan pengguna](/id/settings) Anda alih-alih menjalankan `/voice`:54Dikte suara bertahan di seluruh sesi. Atur langsung di [file pengaturan pengguna](/docs/id/settings) Anda alih-alih menjalankan `/voice`:

55 55 

56```json theme={null}56```json theme={null}

57{57{


62}62}

63```63```

64 64 

65Saat dikte suara diaktifkan, footer input menampilkan petunjuk `hold space to speak` saat prompt kosong. Petunjuk mencerminkan pengikatan `voice:pushToTalk` saat ini Anda dan diperbarui jika Anda [mengikat ulang kunci dikte](#rebind-the-dictation-key). Teks petunjuk sama di kedua mode, dan tidak muncul jika Anda memiliki [baris status kustom](/id/statusline) yang dikonfigurasi.65Saat dikte suara diaktifkan, footer input menampilkan petunjuk `hold space to speak` saat prompt kosong. Petunjuk mencerminkan pengikatan `voice:pushToTalk` saat ini Anda dan diperbarui jika Anda [mengikat ulang kunci dikte](#rebind-the-dictation-key). Teks petunjuk sama di kedua mode, dan tidak muncul jika Anda memiliki [baris status kustom](/docs/id/statusline) yang dikonfigurasi.

66 66 

67Transkripsi disesuaikan untuk kosakata pengkodean di kedua mode. Istilah pengembangan umum seperti `regex`, `OAuth`, `JSON`, dan `localhost` dikenali dengan benar, dan nama proyek saat ini dan nama cabang git Anda ditambahkan sebagai petunjuk pengenalan secara otomatis.67Transkripsi disesuaikan untuk kosakata pengkodean di kedua mode. Istilah pengembangan umum seperti `regex`, `OAuth`, `JSON`, dan `localhost` dikenali dengan benar, dan nama proyek saat ini dan nama cabang git Anda ditambahkan sebagai petunjuk pengenalan secara otomatis.

68 68 


108 Ubah bahasa dikte108 Ubah bahasa dikte

109</h2>109</h2>

110 110 

111Dikte suara menggunakan pengaturan [`language`](/id/settings) yang sama yang mengontrol bahasa respons Claude. Jika pengaturan itu kosong, dikte default ke Bahasa Inggris. Di ekstensi VS Code, jika `language` kosong, dikte menggunakan pengaturan `accessibility.voice.speechLanguage` VS Code sebelum default ke Bahasa Inggris.111Dikte suara menggunakan pengaturan [`language`](/docs/id/settings) yang sama yang mengontrol bahasa respons Claude. Jika pengaturan itu kosong, dikte default ke Bahasa Inggris. Di ekstensi VS Code, jika `language` kosong, dikte menggunakan pengaturan `accessibility.voice.speechLanguage` VS Code sebelum default ke Bahasa Inggris.

112 112 

113<Accordion title="Bahasa dikte yang didukung">113<Accordion title="Bahasa dikte yang didukung">

114 | Bahasa | Kode |114 | Bahasa | Kode |


149 Ikat ulang kunci dikte149 Ikat ulang kunci dikte

150</h2>150</h2>

151 151 

152Kunci dikte terikat pada `voice:pushToTalk` dalam konteks `Chat` dan default ke `Space`. Pengikatan yang sama mengontrol mode tahan dan ketuk. Ikat ulang di [`~/.claude/keybindings.json`](/id/keybindings):152Kunci dikte terikat pada `voice:pushToTalk` dalam konteks `Chat` dan default ke `Space`. Pengikatan yang sama mengontrol mode tahan dan ketuk. Ikat ulang di [`~/.claude/keybindings.json`](/docs/id/keybindings):

153 153 

154```json theme={null}154```json theme={null}

155{155{


169 169 

170Dalam mode tahan, hindari mengikat kunci huruf telanjang seperti `v` karena deteksi tahan bergantung pada pengulangan kunci dan huruf mengetik ke dalam prompt selama pemanasan. Gunakan `Space`, atau gunakan kombinasi pengubah seperti `meta+k` untuk mulai merekam pada penekanan tombol pertama tanpa pemanasan. Mode ketuk tidak memiliki pemanasan, jadi sebagian besar kunci berfungsi.170Dalam mode tahan, hindari mengikat kunci huruf telanjang seperti `v` karena deteksi tahan bergantung pada pengulangan kunci dan huruf mengetik ke dalam prompt selama pemanasan. Gunakan `Space`, atau gunakan kombinasi pengubah seperti `meta+k` untuk mulai merekam pada penekanan tombol pertama tanpa pemanasan. Mode ketuk tidak memiliki pemanasan, jadi sebagian besar kunci berfungsi.

171 171 

172Beberapa kunci tidak dikirimkan ke aplikasi terminal dan tidak dapat diikat sama sekali. Misalnya, `Caps Lock` menampilkan kesalahan jika Anda mencoba mengikatnya. Lihat [sesuaikan pintasan keyboard](/id/keybindings) untuk sintaks keybinding lengkap dan daftar pintasan yang dicadangkan.172Beberapa kunci tidak dikirimkan ke aplikasi terminal dan tidak dapat diikat sama sekali. Misalnya, `Caps Lock` menampilkan kesalahan jika Anda mencoba mengikatnya. Lihat [sesuaikan pintasan keyboard](/docs/id/keybindings) untuk sintaks keybinding lengkap dan daftar pintasan yang dicadangkan.

173 173 

174<h2 id="troubleshooting">174<h2 id="troubleshooting">

175 Pemecahan Masalah175 Pemecahan Masalah


181* **`Voice mode is disabled by your organization's policy`**: konfigurasi kepatuhan organisasi Anda menonaktifkan dikte suara, seperti yang dijelaskan dalam [Persyaratan](#requirements). Hubungi administrator organisasi Anda untuk mengonfirmasi apakah dikte suara tersedia untuk organisasi Anda.181* **`Voice mode is disabled by your organization's policy`**: konfigurasi kepatuhan organisasi Anda menonaktifkan dikte suara, seperti yang dijelaskan dalam [Persyaratan](#requirements). Hubungi administrator organisasi Anda untuk mengonfirmasi apakah dikte suara tersedia untuk organisasi Anda.

182* **`Microphone access is denied`**: berikan izin mikrofon ke terminal Anda di pengaturan sistem. Di macOS, buka System Settings → Privacy & Security → Microphone dan aktifkan aplikasi terminal Anda, kemudian jalankan `/voice` lagi. Di Windows, buka Settings → Privacy & security → Microphone dan aktifkan akses mikrofon untuk aplikasi desktop, kemudian jalankan `/voice` lagi. Jika terminal Anda tidak terdaftar dalam pengaturan macOS, lihat [Terminal tidak terdaftar dalam pengaturan Mikrofon macOS](#terminal-not-listed-in-macos-microphone-settings).182* **`Microphone access is denied`**: berikan izin mikrofon ke terminal Anda di pengaturan sistem. Di macOS, buka System Settings → Privacy & Security → Microphone dan aktifkan aplikasi terminal Anda, kemudian jalankan `/voice` lagi. Di Windows, buka Settings → Privacy & security → Microphone dan aktifkan akses mikrofon untuk aplikasi desktop, kemudian jalankan `/voice` lagi. Jika terminal Anda tidak terdaftar dalam pengaturan macOS, lihat [Terminal tidak terdaftar dalam pengaturan Mikrofon macOS](#terminal-not-listed-in-macos-microphone-settings).

183* **`No audio recording tool found` di Linux**: modul audio asli tidak dapat dimuat dan tidak ada fallback yang diinstal. Instal SoX dengan perintah yang ditampilkan dalam pesan kesalahan, misalnya `sudo apt-get install sox`.183* **`No audio recording tool found` di Linux**: modul audio asli tidak dapat dimuat dan tidak ada fallback yang diinstal. Instal SoX dengan perintah yang ditampilkan dalam pesan kesalahan, misalnya `sudo apt-get install sox`.

184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX diinstal, tetapi host tidak memiliki perangkat penangkap audio, misalnya server headless atau kontainer. Jalankan Claude Code pada mesin dengan mikrofon. {/* min-version: 2.1.195 */}Mulai dari v2.1.195, Claude Code di Linux melaporkan pesan ini dalam situasi itu; versi sebelumnya meminta Anda untuk menginstal SoX bahkan ketika sudah diinstal.184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX diinstal, tetapi host tidak memiliki perangkat penangkap audio, misalnya server headless atau kontainer. Jalankan Claude Code pada mesin dengan mikrofon. Mulai dari v2.1.195, Claude Code di Linux melaporkan pesan ini dalam situasi itu; versi sebelumnya meminta Anda untuk menginstal SoX bahkan ketika sudah diinstal.

185* **`Voice mode could not find a working audio recorder in WSL`**: WSLg merutekan audio melalui PulseAudio daripada perangkat ALSA, jadi SoX memerlukan backend PulseAudio-nya diinstal secara eksplisit. Jalankan `sudo apt install sox libsox-fmt-pulse`. Menginstal `sox` saja menarik backend ALSA, yang tidak dapat merekam di WSL karena tidak ada perangkat `/dev/snd`.185* **`Voice mode could not find a working audio recorder in WSL`**: WSLg merutekan audio melalui PulseAudio daripada perangkat ALSA, jadi SoX memerlukan backend PulseAudio-nya diinstal secara eksplisit. Jalankan `sudo apt install sox libsox-fmt-pulse`. Menginstal `sox` saja menarik backend ALSA, yang tidak dapat merekam di WSL karena tidak ada perangkat `/dev/snd`.

186* **`Voice input is failing repeatedly and has been paused`**: dikte suara mengalami beberapa kegagalan penangkapan berturut-turut dan berhenti mencoba sesi baru sampai satu berhasil. Kegagalan dihitung apakah mikrofon gagal dimulai atau perekam dimulai dan kemudian berhenti tanpa menghasilkan audio apa pun. Ini biasanya berarti mikrofon atau tumpukan audio di host ini tidak dapat menangkap audio, misalnya server headless, shell jarak jauh tanpa passthrough audio, atau izin mikrofon yang ditolak. Konfirmasi perangkat input yang berfungsi, perbaiki penyebab mendasar dari entri di atas, kemudian picu suara lagi. {/* min-version: 2.1.202 */}Sebelum v2.1.202, hanya kegagalan awal yang diperhitungkan menuju jeda.186* **`Voice input is failing repeatedly and has been paused`**: dikte suara mengalami beberapa kegagalan penangkapan berturut-turut dan berhenti mencoba sesi baru sampai satu berhasil. Kegagalan dihitung apakah mikrofon gagal dimulai atau perekam dimulai dan kemudian berhenti tanpa menghasilkan audio apa pun. Ini biasanya berarti mikrofon atau tumpukan audio di host ini tidak dapat menangkap audio, misalnya server headless, shell jarak jauh tanpa passthrough audio, atau izin mikrofon yang ditolak. Konfirmasi perangkat input yang berfungsi, perbaiki penyebab mendasar dari entri di atas, kemudian picu suara lagi. Sebelum v2.1.202, hanya kegagalan awal yang diperhitungkan menuju jeda.

187* **Tidak ada yang terjadi saat menahan `Space` dalam mode tahan**: perhatikan input prompt saat Anda menahan. Jika spasi terus menumpuk, dikte suara kemungkinan mati; jalankan `/voice hold` untuk mengaktifkannya. Jika hanya satu atau dua spasi muncul dan kemudian tidak ada, dikte suara aktif tetapi deteksi tahan tidak dipicu. Deteksi tahan memerlukan terminal Anda untuk mengirim peristiwa pengulangan kunci, sehingga tidak dapat mendeteksi kunci yang ditahan jika pengulangan kunci dinonaktifkan di tingkat OS. Beralih ke mode ketuk dengan `/voice tap` untuk menghindari persyaratan pengulangan kunci.187* **Tidak ada yang terjadi saat menahan `Space` dalam mode tahan**: perhatikan input prompt saat Anda menahan. Jika spasi terus menumpuk, dikte suara kemungkinan mati; jalankan `/voice hold` untuk mengaktifkannya. Jika hanya satu atau dua spasi muncul dan kemudian tidak ada, dikte suara aktif tetapi deteksi tahan tidak dipicu. Deteksi tahan memerlukan terminal Anda untuk mengirim peristiwa pengulangan kunci, sehingga tidak dapat mendeteksi kunci yang ditahan jika pengulangan kunci dinonaktifkan di tingkat OS. Beralih ke mode ketuk dengan `/voice tap` untuk menghindari persyaratan pengulangan kunci.

188* **Mengetuk `Space` mengetik spasi alih-alih merekam dalam mode ketuk**: ketukan pertama hanya mulai merekam saat input prompt kosong. Hapus input terlebih dahulu, atau periksa bahwa Anda dalam mode ketuk dengan menjalankan `/voice tap`.188* **Mengetuk `Space` mengetik spasi alih-alih merekam dalam mode ketuk**: ketukan pertama hanya mulai merekam saat input prompt kosong. Hapus input terlebih dahulu, atau periksa bahwa Anda dalam mode ketuk dengan menjalankan `/voice tap`.

189* **`No audio detected from microphone`**: perekaman dimulai tetapi menangkap keheningan. Konfirmasi perangkat input yang benar diatur sebagai default sistem dan tingkat inputnya tidak dibisukan atau mendekati nol. Di Windows, buka Settings → System → Sound → Input dan pilih mikrofon Anda. Di macOS, buka System Settings → Sound → Input.189* **`No audio detected from microphone`**: perekaman dimulai tetapi menangkap keheningan. Konfirmasi perangkat input yang benar diatur sebagai default sistem dan tingkat inputnya tidak dibisukan atau mendekati nol. Di Windows, buka Settings → System → Sound → Input dan pilih mikrofon Anda. Di macOS, buka System Settings → Sound → Input.

190* **`Voice connection failed`**: perekaman Anda tidak pernah mencapai layanan transkripsi karena koneksi gagal. Periksa jaringan Anda dan coba lagi. {/* min-version: 2.1.200 */}Perekaman yang menangkap audio tidak melaporkan `No audio detected from microphone` alih-alih pesan ini. Sebelum v2.1.200, mikrofon senyap dapat melaporkan kegagalan koneksi, yang menyarankan masalah jaringan ketika masalah sebenarnya adalah perangkat input.190* **`Voice connection failed`**: perekaman Anda tidak pernah mencapai layanan transkripsi karena koneksi gagal. Periksa jaringan Anda dan coba lagi. Perekaman yang menangkap audio tidak melaporkan `No audio detected from microphone` alih-alih pesan ini. Sebelum v2.1.200, mikrofon senyap dapat melaporkan kegagalan koneksi, yang menyarankan masalah jaringan ketika masalah sebenarnya adalah perangkat input.

191* **`No speech detected`**: audio mencapai layanan transkripsi tetapi tidak ada kata yang dikenali. Berbicara lebih dekat ke mikrofon, kurangi kebisingan latar belakang, dan konfirmasi [bahasa dikte](#change-the-dictation-language) Anda cocok dengan bahasa yang Anda gunakan.191* **`No speech detected`**: audio mencapai layanan transkripsi tetapi tidak ada kata yang dikenali. Berbicara lebih dekat ke mikrofon, kurangi kebisingan latar belakang, dan konfirmasi [bahasa dikte](#change-the-dictation-language) Anda cocok dengan bahasa yang Anda gunakan.

192* **Transkripsi berantakan atau dalam bahasa yang salah**: dikte default ke Bahasa Inggris. Jika Anda mendikte dalam bahasa lain, atur di `/config` terlebih dahulu. Lihat [Ubah bahasa dikte](#change-the-dictation-language).192* **Transkripsi berantakan atau dalam bahasa yang salah**: dikte default ke Bahasa Inggris. Jika Anda mendikte dalam bahasa lain, atur di `/config` terlebih dahulu. Lihat [Ubah bahasa dikte](#change-the-dictation-language).

193 193 


219 Lihat juga219 Lihat juga

220</h2>220</h2>

221 221 

222* [Sesuaikan pintasan keyboard](/id/keybindings): ikat ulang `voice:pushToTalk` dan tindakan keyboard CLI lainnya222* [Sesuaikan pintasan keyboard](/docs/id/keybindings): ikat ulang `voice:pushToTalk` dan tindakan keyboard CLI lainnya

223* [Konfigurasi pengaturan](/id/settings): referensi lengkap untuk kunci pengaturan `voice`, `language`, dan lainnya223* [Konfigurasi pengaturan](/docs/id/settings): referensi lengkap untuk kunci pengaturan `voice`, `language`, dan lainnya

224* [Mode interaktif](/id/interactive-mode): pintasan keyboard, mode input, dan kontrol sesi224* [Mode interaktif](/docs/id/interactive-mode): pintasan keyboard, mode input, dan kontrol sesi

225* [Perintah](/id/commands): referensi untuk `/voice`, `/config`, dan semua perintah lainnya225* [Perintah](/docs/id/commands): referensi untuk `/voice`, `/config`, dan semua perintah lainnya

vs-code.md +35 −35

Details

19Sebelum menginstal, pastikan Anda memiliki:19Sebelum menginstal, pastikan Anda memiliki:

20 20 

21* VS Code 1.98.0 atau lebih tinggi21* VS Code 1.98.0 atau lebih tinggi

22* Akun Anthropic: langganan Claude berbayar apa pun (Pro, Max, Team, atau Enterprise) atau akun Claude Console berfungsi, dan tidak ada kunci API yang diperlukan. Anda akan [masuk](/id/authentication#log-in-to-claude-code) dengan akun ini saat pertama kali membuka ekstensi. Jika Anda mengakses Claude melalui penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform, lihat [Gunakan penyedia pihak ketiga](#use-third-party-providers) untuk petunjuk penyiapan.22* Akun Anthropic: langganan Claude berbayar apa pun (Pro, Max, Team, atau Enterprise) atau akun Claude Console berfungsi, dan tidak ada kunci API yang diperlukan. Anda akan [masuk](/docs/id/authentication#log-in-to-claude-code) dengan akun ini saat pertama kali membuka ekstensi. Jika Anda mengakses Claude melalui penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform, lihat [Gunakan penyedia pihak ketiga](#use-third-party-providers) untuk petunjuk penyiapan.

23 23 

24<Tip>24<Tip>

25 Ekstensi menggabungkan salinan CLI (command-line interface) miliknya sendiri untuk panel obrolan. Untuk menjalankan `claude` di terminal terintegrasi VS Code, Anda juga memerlukan [instalasi CLI mandiri](/id/setup). Lihat [Ekstensi VS Code vs. Claude Code CLI](#vs-code-extension-vs-claude-code-cli) untuk detail.25 Ekstensi menggabungkan salinan CLI (command-line interface) miliknya sendiri untuk panel obrolan. Untuk menjalankan `claude` di terminal terintegrasi VS Code, Anda juga memerlukan [instalasi CLI mandiri](/docs/id/setup). Lihat [Ekstensi VS Code vs. Claude Code CLI](#vs-code-extension-vs-claude-code-cli) untuk detail.

26</Tip>26</Tip>

27 27 

28<h2 id="install-the-extension">28<h2 id="install-the-extension">


36 36 

37Atau di VS Code, tekan `Cmd+Shift+X` (Mac) atau `Ctrl+Shift+X` (Windows/Linux) untuk membuka tampilan Extensions, cari "Claude Code", dan klik **Install**.37Atau di VS Code, tekan `Cmd+Shift+X` (Mac) atau `Ctrl+Shift+X` (Windows/Linux) untuk membuka tampilan Extensions, cari "Claude Code", dan klik **Install**.

38 38 

39Ekstensi juga dapat diinstal di fork VS Code lainnya seperti Devin Desktop atau Kiro. Cari "Claude Code" di tampilan Extensions editor Anda, atau instal dari [registri Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Jika editor Anda tidak dapat menginstal ekstensi, [instal CLI](/id/quickstart) dan jalankan `claude` di terminal terintegrasi-nya. CLI berfungsi di terminal apa pun.39Ekstensi juga dapat diinstal di fork VS Code lainnya seperti Devin Desktop atau Kiro. Cari "Claude Code" di tampilan Extensions editor Anda, atau instal dari [registri Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Jika editor Anda tidak dapat menginstal ekstensi, [instal CLI](/docs/id/quickstart) dan jalankan `claude` di terminal terintegrasi-nya. CLI berfungsi di terminal apa pun.

40 40 

41<Note>Jika ekstensi tidak muncul setelah instalasi, restart VS Code atau jalankan "Developer: Reload Window" dari Command Palette.</Note>41<Note>Jika ekstensi tidak muncul setelah instalasi, restart VS Code atau jalankan "Developer: Reload Window" dari Command Palette.</Note>

42 42 


90 </Step>90 </Step>

91</Steps>91</Steps>

92 92 

93Untuk lebih banyak ide tentang apa yang dapat Anda lakukan dengan Claude Code, lihat [Alur kerja umum](/id/common-workflows).93Untuk lebih banyak ide tentang apa yang dapat Anda lakukan dengan Claude Code, lihat [Alur kerja umum](/docs/id/common-workflows).

94 94 

95<Tip>95<Tip>

96 Jalankan "Claude Code: Open Walkthrough" dari Command Palette untuk tur terpandu tentang dasar-dasarnya.96 Jalankan "Claude Code: Open Walkthrough" dari Command Palette untuk tur terpandu tentang dasar-dasarnya.


102 102 

103Kotak prompt mendukung beberapa fitur:103Kotak prompt mendukung beberapa fitur:

104 104 

105* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode, atau atur default di pengaturan VS Code di bawah `claudeCode.initialPermissionMode`. Lihat [mode izin](/id/permission-modes#switch-permission-modes) untuk setiap mode yang ditawarkan indikator.105* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode, atau atur default di pengaturan VS Code di bawah `claudeCode.initialPermissionMode`. Lihat [mode izin](/docs/id/permission-modes#switch-permission-modes) untuk setiap mode yang ditawarkan indikator.

106 * **Manual**: Claude meminta izin sebelum edit file dan sebagian besar perintah shell.106 * **Manual**: Claude meminta izin sebelum edit file dan sebagian besar perintah shell.

107 * **Plan**: Claude menjelaskan apa yang akan dilakukan dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown penuh di mana Anda dapat menambahkan komentar inline untuk memberikan umpan balik sebelum Claude mulai.107 * **Plan**: Claude menjelaskan apa yang akan dilakukan dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown penuh di mana Anda dapat menambahkan komentar inline untuk memberikan umpan balik sebelum Claude mulai.

108 * **Edit automatically**: Claude membuat edit tanpa bertanya.108 * **Edit automatically**: Claude membuat edit tanpa bertanya.

109* **Command menu**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsi termasuk melampirkan file, beralih model, mengalihkan extended thinking, melihat penggunaan rencana (`/usage`), dan memulai sesi [Remote Control](/id/remote-control) (`/remote-control`). Bagian Customize menyediakan akses ke MCP servers, hooks, memory, permissions, dan plugins. Item dengan ikon terminal terbuka di terminal terintegrasi.109* **Command menu**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsi termasuk melampirkan file, beralih model, mengalihkan extended thinking, melihat penggunaan rencana (`/usage`), dan memulai sesi [Remote Control](/docs/id/remote-control) (`/remote-control`). Bagian Customize menyediakan akses ke MCP servers, hooks, memory, permissions, dan plugins. Item dengan ikon terminal terbuka di terminal terintegrasi.

110 * {/* min-version: 2.1.203 */}Bagian Settings mencakup **Enable Remote Control for all sessions**, yang menetapkan [`remoteControlAtStartup`](/id/settings#available-settings) sehingga [setiap sesi interaktif baru terhubung ke Remote Control secara otomatis](/id/remote-control#enable-remote-control-for-all-sessions). Memerlukan Claude Code v2.1.203 atau lebih baru.110 * Bagian Settings mencakup **Enable Remote Control for all sessions**, yang menetapkan [`remoteControlAtStartup`](/docs/id/settings#available-settings) sehingga [setiap sesi interaktif baru terhubung ke Remote Control secara otomatis](/docs/id/remote-control#enable-remote-control-for-all-sessions). Memerlukan Claude Code v2.1.203 atau lebih baru.

111* **Context indicator**: kotak prompt menunjukkan berapa banyak context window Claude yang Anda gunakan. Claude secara otomatis melakukan compact saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.111* **Context indicator**: kotak prompt menunjukkan berapa banyak context window Claude yang Anda gunakan. Claude secara otomatis melakukan compact saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.

112* **Extended thinking**: memungkinkan Claude menghabiskan lebih banyak waktu untuk bernalar melalui masalah kompleks. Alihkan melalui menu perintah (`/`). Penalaran Claude muncul dalam percakapan sebagai blok yang dilipat: klik blok untuk membacanya, atau tekan `Ctrl+O` untuk memperluas atau melipat setiap blok thinking dalam sesi. Lihat [Extended thinking](/id/model-config#extended-thinking) untuk detail.112* **Extended thinking**: memungkinkan Claude menghabiskan lebih banyak waktu untuk bernalar melalui masalah kompleks. Alihkan melalui menu perintah (`/`). Penalaran Claude muncul dalam percakapan sebagai blok yang dilipat: klik blok untuk membacanya, atau tekan `Ctrl+O` untuk memperluas atau melipat setiap blok thinking dalam sesi. Lihat [Extended thinking](/docs/id/model-config#extended-thinking) untuk detail.

113* **Multi-line input**: tekan `Shift+Enter` untuk menambahkan baris baru tanpa mengirim. Ini juga berfungsi di input teks bebas "Other" dari dialog pertanyaan.113* **Multi-line input**: tekan `Shift+Enter` untuk menambahkan baris baru tanpa mengirim. Ini juga berfungsi di input teks bebas "Other" dari dialog pertanyaan.

114 114 

115<h3 id="reference-files-and-folders">115<h3 id="reference-files-and-folders">


133 Resume past conversations133 Resume past conversations

134</h3>134</h3>

135 135 

136Klik tombol **Session history** di bagian atas panel Claude Code untuk mengakses riwayat percakapan Anda. Anda dapat mencari berdasarkan kata kunci atau menelusuri berdasarkan waktu (Today, Yesterday, Last 7 days, dll.). Klik percakapan apa pun untuk melanjutkannya dengan riwayat pesan lengkap. Sesi baru menerima judul yang dihasilkan AI berdasarkan pesan pertama Anda. Arahkan kursor ke sesi untuk mengungkapkan tindakan rename dan remove: rename untuk memberikan judul deskriptif, atau remove untuk menghapusnya dari daftar. Untuk lebih lanjut tentang melanjutkan sesi, lihat [Manage sessions](/id/sessions).136Klik tombol **Session history** di bagian atas panel Claude Code untuk mengakses riwayat percakapan Anda. Anda dapat mencari berdasarkan kata kunci atau menelusuri berdasarkan waktu (Today, Yesterday, Last 7 days, dll.). Klik percakapan apa pun untuk melanjutkannya dengan riwayat pesan lengkap. Sesi baru menerima judul yang dihasilkan AI berdasarkan pesan pertama Anda. Arahkan kursor ke sesi untuk mengungkapkan tindakan rename dan remove: rename untuk memberikan judul deskriptif, atau remove untuk menghapusnya dari daftar. Untuk lebih lanjut tentang melanjutkan sesi, lihat [Manage sessions](/docs/id/sessions).

137 137 

138<h3 id="resume-cloud-sessions-from-claude-ai">138<h3 id="resume-cloud-sessions-from-claude-ai">

139 Resume cloud sessions from Claude.ai139 Resume cloud sessions from Claude.ai

140</h3>140</h3>

141 141 

142Jika Anda menggunakan [Claude Code on the web](/id/claude-code-on-the-web), Anda dapat melanjutkan sesi jarak jauh tersebut langsung di VS Code. Ini memerlukan masuk dengan **Claude.ai Subscription**, bukan Anthropic Console.142Jika Anda menggunakan [Claude Code on the web](/docs/id/claude-code-on-the-web), Anda dapat melanjutkan sesi jarak jauh tersebut langsung di VS Code. Ini memerlukan masuk dengan **Claude.ai Subscription**, bukan Anthropic Console.

143 143 

144<Steps>144<Steps>

145 <Step title="Open session history">145 <Step title="Open session history">


167 167 

168Dialog juga merinci apa yang berkontribusi pada batas paket Anda. Dialog ini menandai perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru, seperti cache misses, konteks panjang, dan sesi yang berat subagent atau sangat paralel, masing-masing dengan tip untuk menguranginya. Tabel atribusi menunjukkan berapa banyak penggunaan yang berasal dari setiap skill, subagent, plugin, dan MCP server. Memerlukan Claude Code v2.1.174 atau lebih baru.168Dialog juga merinci apa yang berkontribusi pada batas paket Anda. Dialog ini menandai perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru, seperti cache misses, konteks panjang, dan sesi yang berat subagent atau sangat paralel, masing-masing dengan tip untuk menguranginya. Tabel atribusi menunjukkan berapa banyak penggunaan yang berasal dari setiap skill, subagent, plugin, dan MCP server. Memerlukan Claude Code v2.1.174 atau lebih baru.

169 169 

170Gunakan toggle Day dan Week untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut perkiraan dan dihitung dari sesi lokal di mesin ini, jadi penggunaan dari perangkat lain atau claude.ai tidak disertakan. Untuk lebih lanjut tentang pelacakan dan pengurangan penggunaan, lihat [Track your costs](/id/costs#track-your-costs).170Gunakan toggle Day dan Week untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut perkiraan dan dihitung dari sesi lokal di mesin ini, jadi penggunaan dari perangkat lain atau claude.ai tidak disertakan. Untuk lebih lanjut tentang pelacakan dan pengurangan penggunaan, lihat [Track your costs](/docs/id/costs#track-your-costs).

171 171 

172<h2 id="customize-your-workflow">172<h2 id="customize-your-workflow">

173 Sesuaikan alur kerja Anda173 Sesuaikan alur kerja Anda


209 Kelola plugins209 Kelola plugins

210</h2>210</h2>

211 211 

212Ekstensi VS Code mencakup antarmuka grafis untuk menginstal dan mengelola [plugins](/id/plugins). Ketik `/plugins` di kotak prompt untuk membuka antarmuka **Manage plugins**.212Ekstensi VS Code mencakup antarmuka grafis untuk menginstal dan mengelola [plugins](/docs/id/plugins). Ketik `/plugins` di kotak prompt untuk membuka antarmuka **Manage plugins**.

213 213 

214<h3 id="install-plugins">214<h3 id="install-plugins">

215 Instal plugins215 Instal plugins


246 Manajemen plugin di VS Code menggunakan perintah CLI yang sama di balik layar. Plugins dan marketplaces yang Anda konfigurasi di ekstensi juga tersedia di CLI, dan sebaliknya.246 Manajemen plugin di VS Code menggunakan perintah CLI yang sama di balik layar. Plugins dan marketplaces yang Anda konfigurasi di ekstensi juga tersedia di CLI, dan sebaliknya.

247</Note>247</Note>

248 248 

249Untuk lebih lanjut tentang sistem plugin, lihat [Plugins](/id/plugins) dan [Plugin marketplaces](/id/plugin-marketplaces).249Untuk lebih lanjut tentang sistem plugin, lihat [Plugins](/docs/id/plugins) dan [Plugin marketplaces](/docs/id/plugin-marketplaces).

250 250 

251<h2 id="automate-browser-tasks-with-chrome">251<h2 id="automate-browser-tasks-with-chrome">

252 Otomatisasi tugas browser dengan Chrome252 Otomatisasi tugas browser dengan Chrome


264 264 

265Claude membuka tab baru untuk tugas browser dan berbagi status login browser Anda, sehingga dapat mengakses situs apa pun yang sudah Anda masuki.265Claude membuka tab baru untuk tugas browser dan berbagi status login browser Anda, sehingga dapat mengakses situs apa pun yang sudah Anda masuki.

266 266 

267Untuk instruksi setup, daftar lengkap kemampuan, dan troubleshooting, lihat [Gunakan Claude Code dengan Chrome](/id/chrome).267Untuk instruksi setup, daftar lengkap kemampuan, dan troubleshooting, lihat [Gunakan Claude Code dengan Chrome](/docs/id/chrome).

268 268 

269<h2 id="vs-code-commands-and-shortcuts">269<h2 id="vs-code-commands-and-shortcuts">

270 Perintah dan pintasan VS Code270 Perintah dan pintasan VS Code


332| Parameter | Deskripsi |332| Parameter | Deskripsi |

333| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |333| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

334| `prompt` | Teks untuk pre-fill di kotak prompt. Harus URL-encoded. Prompt di-pre-fill tetapi tidak dikirim secara otomatis. |334| `prompt` | Teks untuk pre-fill di kotak prompt. Harus URL-encoded. Prompt di-pre-fill tetapi tidak dikirim secara otomatis. |

335| `session` | ID sesi untuk dilanjutkan alih-alih memulai percakapan baru. Sesi harus milik workspace yang saat ini terbuka di VS Code. Jika sesi tidak ditemukan, percakapan segar dimulai sebagai gantinya. Jika sesi sudah terbuka di tab, tab tersebut difokuskan. Untuk menangkap ID sesi secara terprogram, lihat [Continue conversations](/id/headless#continue-conversations). |335| `session` | ID sesi untuk dilanjutkan alih-alih memulai percakapan baru. Sesi harus milik workspace yang saat ini terbuka di VS Code. Jika sesi tidak ditemukan, percakapan segar dimulai sebagai gantinya. Jika sesi sudah terbuka di tab, tab tersebut difokuskan. Untuk menangkap ID sesi secara terprogram, lihat [Continue conversations](/docs/id/headless#continue-conversations). |

336 336 

337Misalnya, untuk membuka tab yang di-pre-fill dengan "review my changes":337Misalnya, untuk membuka tab yang di-pre-fill dengan "review my changes":

338 338 


340vscode://anthropic.claude-code/open?prompt=review%20my%20changes340vscode://anthropic.claude-code/open?prompt=review%20my%20changes

341```341```

342 342 

343Untuk meluncurkan sesi terminal alih-alih tab VS Code, gunakan handler `claude-cli://` CLI. Lihat [Launch sessions from links](/id/deep-links).343Untuk meluncurkan sesi terminal alih-alih tab VS Code, gunakan handler `claude-cli://` CLI. Lihat [Launch sessions from links](/docs/id/deep-links).

344 344 

345<h2 id="configure-settings">345<h2 id="configure-settings">

346 Konfigurasi pengaturan346 Konfigurasi pengaturan


349Ekstensi memiliki dua jenis pengaturan:349Ekstensi memiliki dua jenis pengaturan:

350 350 

351* **Extension settings** di VS Code: mengontrol perilaku ekstensi dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), kemudian buka Extensions → Claude Code. Anda juga dapat mengetik `/` dan memilih **General Config** untuk membuka pengaturan.351* **Extension settings** di VS Code: mengontrol perilaku ekstensi dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), kemudian buka Extensions → Claude Code. Anda juga dapat mengetik `/` dan memilih **General Config** untuk membuka pengaturan.

352* **Claude Code settings** di `~/.claude/settings.json`: dibagikan antara ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, variabel lingkungan, hooks, dan MCP servers. Lihat [Settings](/id/settings) untuk detail.352* **Claude Code settings** di `~/.claude/settings.json`: dibagikan antara ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, variabel lingkungan, hooks, dan MCP servers. Lihat [Settings](/docs/id/settings) untuk detail.

353 353 

354<Tip>354<Tip>

355 Tambahkan `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ke `settings.json` Anda untuk mendapatkan autocomplete dan validasi inline untuk semua pengaturan yang tersedia langsung di VS Code.355 Tambahkan `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ke `settings.json` Anda untuk mendapatkan autocomplete dan validasi inline untuk semua pengaturan yang tersedia langsung di VS Code.


362| Pengaturan | Default | Deskripsi |362| Pengaturan | Default | Deskripsi |

363| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |363| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

364| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |364| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |

365| `initialPermissionMode` | `default` | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. {/* min-version: 2.1.200 */}`manual` adalah alias untuk `default` dan memilih mode yang berlabel **Manual** dalam indikator mode. Memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [permission modes](/id/permission-modes). |365| `initialPermissionMode` | `default` | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. `manual` adalah alias untuk `default` dan memilih mode yang berlabel **Manual** dalam indikator mode. Memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [permission modes](/docs/id/permission-modes). |

366| `preferredLocation` | `panel` | Di mana Claude terbuka: `sidebar` (kanan) atau `panel` (tab baru) |366| `preferredLocation` | `panel` | Di mana Claude terbuka: `sidebar` (kanan) atau `panel` (tab baru) |

367| `autosave` | `true` | Auto-save file sebelum Claude membaca atau menulisnya |367| `autosave` | `true` | Auto-save file sebelum Claude membaca atau menulisnya |

368| `useCtrlEnterToSend` | `false` | Gunakan Ctrl/Cmd+Enter alih-alih Enter untuk mengirim prompt |368| `useCtrlEnterToSend` | `false` | Gunakan Ctrl/Cmd+Enter alih-alih Enter untuk mengirim prompt |


374| `environmentVariables` | `[]` | Atur variabel lingkungan untuk proses Claude. Gunakan pengaturan Claude Code sebagai gantinya untuk konfigurasi bersama. |374| `environmentVariables` | `[]` | Atur variabel lingkungan untuk proses Claude. Gunakan pengaturan Claude Code sebagai gantinya untuk konfigurasi bersama. |

375| `disableLoginPrompt` | `false` | Lewati prompt autentikasi (untuk setup penyedia pihak ketiga) |375| `disableLoginPrompt` | `false` | Lewati prompt autentikasi (untuk setup penyedia pihak ketiga) |

376| `allowDangerouslySkipPermissions` | `false` | Menambahkan Bypass permissions ke pemilih mode. Gunakan hanya di sandbox tanpa akses internet. |376| `allowDangerouslySkipPermissions` | `false` | Menambahkan Bypass permissions ke pemilih mode. Gunakan hanya di sandbox tanpa akses internet. |

377| `claudeProcessWrapper` | - | Executable yang digunakan untuk meluncurkan proses Claude. Jalur binary bundel dilewatkan sebagai argumen saat ada. Atur ini ke binary `claude` yang diinstal secara terpisah jika build ekstensi tidak menyertakan satu untuk platform Anda. Error "Unsupported platform" saat aktivasi berarti tidak ada binary yang dibundel untuk platform Anda; lihat [platform mana yang memiliki binary prebuilt](/id/troubleshoot-install#native-binary-not-found-after-npm-install). |377| `claudeProcessWrapper` | - | Executable yang digunakan untuk meluncurkan proses Claude. Jalur binary bundel dilewatkan sebagai argumen saat ada. Atur ini ke binary `claude` yang diinstal secara terpisah jika build ekstensi tidak menyertakan satu untuk platform Anda. Error "Unsupported platform" saat aktivasi berarti tidak ada binary yang dibundel untuk platform Anda; lihat [platform mana yang memiliki binary prebuilt](/docs/id/troubleshoot-install#native-binary-not-found-after-npm-install). |

378 378 

379<h2 id="vs-code-extension-vs-claude-code-cli">379<h2 id="vs-code-extension-vs-claude-code-cli">

380 Ekstensi VS Code vs. Claude Code CLI380 Ekstensi VS Code vs. Claude Code CLI

381</h2>381</h2>

382 382 

383Claude Code tersedia sebagai ekstensi VS Code (panel grafis) dan CLI (command-line interface di terminal). Beberapa fitur hanya tersedia di CLI. Jika Anda memerlukan fitur khusus CLI, jalankan `claude` di terminal terintegrasi VS Code. Ini memerlukan [instalasi CLI standalone](/id/setup): ekstensi tidak menambahkan `claude` ke PATH Anda. Lihat [Jalankan CLI di VS Code](#run-cli-in-vs-code).383Claude Code tersedia sebagai ekstensi VS Code (panel grafis) dan CLI (command-line interface di terminal). Beberapa fitur hanya tersedia di CLI. Jika Anda memerlukan fitur khusus CLI, jalankan `claude` di terminal terintegrasi VS Code. Ini memerlukan [instalasi CLI standalone](/docs/id/setup): ekstensi tidak menambahkan `claude` ke PATH Anda. Lihat [Jalankan CLI di VS Code](#run-cli-in-vs-code).

384 384 

385| Fitur | CLI | Ekstensi VS Code |385| Fitur | CLI | Ekstensi VS Code |

386| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------ |386| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------ |

387| Perintah dan skills | [Semua](/id/commands) | Subset (ketik `/` untuk melihat yang tersedia) |387| Perintah dan skills | [Semua](/docs/id/commands) | Subset (ketik `/` untuk melihat yang tersedia) |

388| Konfigurasi MCP server | Ya | Parsial (tambahkan server melalui CLI; kelola server yang ada dengan `/mcp` di panel chat) |388| Konfigurasi MCP server | Ya | Parsial (tambahkan server melalui CLI; kelola server yang ada dengan `/mcp` di panel chat) |

389| Checkpoints | Ya | Ya |389| Checkpoints | Ya | Ya |

390| Pintasan bash `!` | Ya | Tidak |390| Pintasan bash `!` | Ya | Tidak |


400* **Rewind code to here**: kembalikan perubahan file ke titik ini dalam percakapan sambil menjaga riwayat percakapan lengkap400* **Rewind code to here**: kembalikan perubahan file ke titik ini dalam percakapan sambil menjaga riwayat percakapan lengkap

401* **Fork conversation and rewind code**: mulai cabang percakapan baru dan kembalikan perubahan file ke titik ini401* **Fork conversation and rewind code**: mulai cabang percakapan baru dan kembalikan perubahan file ke titik ini

402 402 

403Untuk detail lengkap tentang cara kerja checkpoints dan keterbatasannya, lihat [Checkpointing](/id/checkpointing).403Untuk detail lengkap tentang cara kerja checkpoints dan keterbatasannya, lihat [Checkpointing](/docs/id/checkpointing).

404 404 

405<h3 id="run-cli-in-vs-code">405<h3 id="run-cli-in-vs-code">

406 Jalankan CLI di VS Code406 Jalankan CLI di VS Code


408 408 

409Untuk menggunakan CLI sambil tetap berada di VS Code, buka terminal terintegrasi (`` Ctrl+` `` di Windows/Linux atau `` Cmd+` `` di Mac) dan jalankan `claude`. CLI secara otomatis terintegrasi dengan IDE Anda untuk fitur seperti tampilan diff dan berbagi diagnostik.409Untuk menggunakan CLI sambil tetap berada di VS Code, buka terminal terintegrasi (`` Ctrl+` `` di Windows/Linux atau `` Cmd+` `` di Mac) dan jalankan `claude`. CLI secara otomatis terintegrasi dengan IDE Anda untuk fitur seperti tampilan diff dan berbagi diagnostik.

410 410 

411Menginstal ekstensi tidak menempatkan `claude` di PATH shell Anda. Ekstensi menggabungkan salinan pribadi CLI untuk panel chatnya, tetapi mengetik `claude` di terminal memerlukan [instalasi CLI standalone](/id/setup). Jalankan instalasi sekali dan perintah di halaman ini, termasuk `claude mcp add` dan `claude --resume`, bekerja di terminal apa pun. Jika `claude` masih tidak ditemukan setelah menginstal, [verifikasi PATH Anda](/id/troubleshoot-install#verify-your-path).411Menginstal ekstensi tidak menempatkan `claude` di PATH shell Anda. Ekstensi menggabungkan salinan pribadi CLI untuk panel chatnya, tetapi mengetik `claude` di terminal memerlukan [instalasi CLI standalone](/docs/id/setup). Jalankan instalasi sekali dan perintah di halaman ini, termasuk `claude mcp add` dan `claude --resume`, bekerja di terminal apa pun. Jika `claude` masih tidak ditemukan setelah menginstal, [verifikasi PATH Anda](/docs/id/troubleshoot-install#verify-your-path).

412 412 

413Jika menggunakan terminal eksternal, jalankan `/ide` di dalam Claude Code untuk menghubungkannya ke VS Code.413Jika menggunakan terminal eksternal, jalankan `/ide` di dalam Claude Code untuk menghubungkannya ke VS Code.

414 414 


445 445 

446Setelah dikonfigurasi, minta Claude untuk menggunakan alat (misalnya, "Review PR #456").446Setelah dikonfigurasi, minta Claude untuk menggunakan alat (misalnya, "Review PR #456").

447 447 

448Untuk mengelola MCP servers tanpa meninggalkan VS Code, ketik `/mcp` di panel chat. Dialog manajemen MCP memungkinkan Anda mengaktifkan atau menonaktifkan server, reconnect ke server, dan mengelola autentikasi OAuth. Lihat [dokumentasi MCP](/id/mcp) untuk server yang tersedia.448Untuk mengelola MCP servers tanpa meninggalkan VS Code, ketik `/mcp` di panel chat. Dialog manajemen MCP memungkinkan Anda mengaktifkan atau menonaktifkan server, reconnect ke server, dan mengelola autentikasi OAuth. Lihat [dokumentasi MCP](/docs/id/mcp) untuk server yang tersedia.

449 449 

450<h2 id="work-with-git">450<h2 id="work-with-git">

451 Bekerja dengan git451 Bekerja dengan git


477claude --worktree feature-auth477claude --worktree feature-auth

478```478```

479 479 

480Setiap worktree mempertahankan status file independen sambil berbagi riwayat git. Ini mencegah instance Claude saling mengganggu saat bekerja pada tugas berbeda. Untuk detail lebih lanjut, lihat [Jalankan sesi paralel dengan Git worktrees](/id/worktrees).480Setiap worktree mempertahankan status file independen sambil berbagi riwayat git. Ini mencegah instance Claude saling mengganggu saat bekerja pada tugas berbeda. Untuk detail lebih lanjut, lihat [Jalankan sesi paralel dengan Git worktrees](/docs/id/worktrees).

481 481 

482<h2 id="use-third-party-providers">482<h2 id="use-third-party-providers">

483 Gunakan penyedia pihak ketiga483 Gunakan penyedia pihak ketiga


495 <Step title="Konfigurasi penyedia Anda">495 <Step title="Konfigurasi penyedia Anda">

496 Ikuti panduan setup untuk penyedia Anda:496 Ikuti panduan setup untuk penyedia Anda:

497 497 

498 * [Claude Code di Amazon Bedrock](/id/amazon-bedrock)498 * [Claude Code di Amazon Bedrock](/docs/id/amazon-bedrock)

499 * [Claude Code di Google Cloud's Agent Platform](/id/google-vertex-ai)499 * [Claude Code di Google Cloud's Agent Platform](/docs/id/google-vertex-ai)

500 * [Claude Code di Microsoft Foundry](/id/microsoft-foundry)500 * [Claude Code di Microsoft Foundry](/docs/id/microsoft-foundry)

501 501 

502 Panduan ini mencakup konfigurasi penyedia Anda di `~/.claude/settings.json`, yang memastikan pengaturan Anda dibagikan antara ekstensi VS Code dan CLI.502 Panduan ini mencakup konfigurasi penyedia Anda di `~/.claude/settings.json`, yang memastikan pengaturan Anda dibagikan antara ekstensi VS Code dan CLI.

503 </Step>503 </Step>


507 Keamanan dan privasi507 Keamanan dan privasi

508</h2>508</h2>

509 509 

510Kode Anda tetap pribadi. Claude Code memproses kode Anda untuk memberikan bantuan tetapi tidak menggunakannya untuk melatih model. Untuk detail tentang penanganan data dan cara opt out dari logging, lihat [Data and privacy](/id/data-usage).510Kode Anda tetap pribadi. Claude Code memproses kode Anda untuk memberikan bantuan tetapi tidak menggunakannya untuk melatih model. Untuk detail tentang penanganan data dan cara opt out dari logging, lihat [Data and privacy](/docs/id/data-usage).

511 511 

512Dengan izin auto-edit diaktifkan, Claude Code dapat memodifikasi file konfigurasi VS Code (seperti `settings.json` atau `tasks.json`) yang mungkin dijalankan VS Code secara otomatis. Untuk mengurangi risiko saat bekerja dengan kode yang tidak dipercaya:512Dengan izin auto-edit diaktifkan, Claude Code dapat memodifikasi file konfigurasi VS Code (seperti `settings.json` atau `tasks.json`) yang mungkin dijalankan VS Code secara otomatis. Untuk mengurangi risiko saat bekerja dengan kode yang tidak dipercaya:

513 513 


523 523 

524Server bernama `ide` dan tersembunyi dari `/mcp` karena tidak ada yang perlu dikonfigurasi. Namun, jika organisasi Anda menggunakan hook `PreToolUse` untuk allowlist alat MCP, Anda perlu mengetahui bahwa itu ada.524Server bernama `ide` dan tersembunyi dari `/mcp` karena tidak ada yang perlu dikonfigurasi. Namun, jika organisasi Anda menggunakan hook `PreToolUse` untuk allowlist alat MCP, Anda perlu mengetahui bahwa itu ada.

525 525 

526**Konteks seleksi dan file terbuka.** Saat terhubung, CLI menyertakan pilihan editor saat ini Anda dan jalur file aktif sebagai konteks pada setiap prompt yang Anda kirim. Transkrip menunjukkan baris `⧉ Selected N lines from <file>` saat ini terjadi. Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.526**Konteks seleksi dan file terbuka.** Saat terhubung, CLI menyertakan pilihan editor saat ini Anda dan jalur file aktif sebagai konteks pada setiap prompt yang Anda kirim. Transkrip menunjukkan baris `⧉ Selected N lines from <file>` saat ini terjadi. Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/docs/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.

527 527 

528**Transport dan autentikasi.** Server mengikat ke `127.0.0.1` pada port tinggi acak dalam rentang 10000–65535, dan port tidak dapat dikonfigurasi. Transport adalah `ws://` yang tidak terenkripsi; karena soket hanya loopback, proses apa pun yang dapat menangkap lalu lintas juga dapat membaca token dari file kunci, jadi TLS tidak akan menambah perlindungan. Setiap aktivasi ekstensi menghasilkan token auth acak segar, menulisnya ke file kunci di `~/.claude/ide/<port>.lock`, dan CLI harus menyajikannya sebagai header `X-Claude-Code-Ide-Authorization` untuk terhubung. File kunci memiliki izin `0600` di direktori `0700`, jadi hanya pengguna yang menjalankan VS Code yang dapat membacanya. Jika `CLAUDE_CONFIG_DIR` diatur, file kunci ditulis ke `$CLAUDE_CONFIG_DIR/ide/` sebagai gantinya.528**Transport dan autentikasi.** Server mengikat ke `127.0.0.1` pada port tinggi acak dalam rentang 10000–65535, dan port tidak dapat dikonfigurasi. Transport adalah `ws://` yang tidak terenkripsi; karena soket hanya loopback, proses apa pun yang dapat menangkap lalu lintas juga dapat membaca token dari file kunci, jadi TLS tidak akan menambah perlindungan. Setiap aktivasi ekstensi menghasilkan token auth acak segar, menulisnya ke file kunci di `~/.claude/ide/<port>.lock`, dan CLI harus menyajikannya sebagai header `X-Claude-Code-Ide-Authorization` untuk terhubung. File kunci memiliki izin `0600` di direktori `0700`, jadi hanya pengguna yang menjalankan VS Code yang dapat membacanya. Jika `CLAUDE_CONFIG_DIR` diatur, file kunci ditulis ke `$CLAUDE_CONFIG_DIR/ide/` sebagai gantinya.

529 529 


6022. Cari "Claude Code"6022. Cari "Claude Code"

6033. Klik **Uninstall**6033. Klik **Uninstall**

604 604 

605Menjalankan `claude` di terminal terintegrasi VS Code akan menginstal ulang ekstensi secara otomatis. Untuk tetap menguninstalnya, matikan **Auto-install IDE extension** di `/config`, atau atur [`autoInstallIdeExtension`](/id/settings#global-config-settings) ke `false`. Anda juga dapat mengatur variabel lingkungan [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/id/env-vars) ke `1`.605Menjalankan `claude` di terminal terintegrasi VS Code akan menginstal ulang ekstensi secara otomatis. Untuk tetap menguninstalnya, matikan **Auto-install IDE extension** di `/config`, atau atur [`autoInstallIdeExtension`](/docs/id/settings#global-config-settings) ke `false`. Anda juga dapat mengatur variabel lingkungan [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/docs/id/env-vars) ke `1`.

606 606 

607Untuk juga menghapus data ekstensi dan reset semua pengaturan, hapus direktori penyimpanan ekstensi untuk platform Anda.607Untuk juga menghapus data ekstensi dan reset semua pengaturan, hapus direktori penyimpanan ekstensi untuk platform Anda.

608 608 


624Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"624Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"

625```625```

626 626 

627Untuk bantuan tambahan, lihat [panduan troubleshooting](/id/troubleshooting).627Untuk bantuan tambahan, lihat [panduan troubleshooting](/docs/id/troubleshooting).

628 628 

629<h2 id="next-steps">629<h2 id="next-steps">

630 Langkah berikutnya630 Langkah berikutnya


632 632 

633Sekarang Anda telah menyiapkan Claude Code di VS Code:633Sekarang Anda telah menyiapkan Claude Code di VS Code:

634 634 

635* [Jelajahi alur kerja umum](/id/common-workflows) untuk mendapatkan hasil maksimal dari Claude Code635* [Jelajahi alur kerja umum](/docs/id/common-workflows) untuk mendapatkan hasil maksimal dari Claude Code

636* [Siapkan MCP servers](/id/mcp) untuk memperluas kemampuan Claude dengan alat eksternal. Tambahkan server menggunakan CLI, kemudian kelola dengan `/mcp` di panel chat.636* [Siapkan MCP servers](/docs/id/mcp) untuk memperluas kemampuan Claude dengan alat eksternal. Tambahkan server menggunakan CLI, kemudian kelola dengan `/mcp` di panel chat.

637* [Konfigurasi pengaturan Claude Code](/id/settings) untuk menyesuaikan perintah yang diizinkan, hooks, dan lainnya. Pengaturan ini dibagikan antara ekstensi dan CLI.637* [Konfigurasi pengaturan Claude Code](/docs/id/settings) untuk menyesuaikan perintah yang diizinkan, hooks, dan lainnya. Pengaturan ini dibagikan antara ekstensi dan CLI.

web-quickstart.md +25 −25

Details

21* **Tugas yang tidak memerlukan pengarahan sering**: kirimkan tugas yang terdefinisi dengan baik, lakukan sesuatu yang lain, dan tinjau hasilnya ketika Claude selesai21* **Tugas yang tidak memerlukan pengarahan sering**: kirimkan tugas yang terdefinisi dengan baik, lakukan sesuatu yang lain, dan tinjau hasilnya ketika Claude selesai

22* **Pertanyaan kode dan eksplorasi**: pahami basis kode atau lacak bagaimana fitur diimplementasikan tanpa checkout lokal22* **Pertanyaan kode dan eksplorasi**: pahami basis kode atau lacak bagaimana fitur diimplementasikan tanpa checkout lokal

23 23 

24Untuk pekerjaan yang memerlukan konfigurasi lokal, alat, atau lingkungan Anda, menjalankan Claude Code secara lokal atau menggunakan [Remote Control](/id/remote-control) adalah pilihan yang lebih baik.24Untuk pekerjaan yang memerlukan konfigurasi lokal, alat, atau lingkungan Anda, menjalankan Claude Code secara lokal atau menggunakan [Remote Control](/docs/id/remote-control) adalah pilihan yang lebih baik.

25 25 

26<h2 id="how-sessions-run">26<h2 id="how-sessions-run">

27 Bagaimana sesi berjalan27 Bagaimana sesi berjalan


29 29 

30Ketika Anda mengirimkan tugas:30Ketika Anda mengirimkan tugas:

31 31 

321. **Klonkan dan persiapkan**: repositori Anda diklonkan ke VM yang dikelola Anthropic, dan [skrip setup](/id/claude-code-on-the-web#setup-scripts) Anda berjalan jika dikonfigurasi.321. **Klonkan dan persiapkan**: repositori Anda diklonkan ke VM yang dikelola Anthropic, dan [skrip setup](/docs/id/claude-code-on-the-web#setup-scripts) Anda berjalan jika dikonfigurasi.

332. **Konfigurasi jaringan**: akses internet diatur berdasarkan [tingkat akses](/id/claude-code-on-the-web#access-levels) lingkungan Anda.332. **Konfigurasi jaringan**: akses internet diatur berdasarkan [tingkat akses](/docs/id/claude-code-on-the-web#access-levels) lingkungan Anda.

343. **Bekerja**: Claude menganalisis kode, membuat perubahan, menjalankan tes, dan memeriksa pekerjaannya. Anda dapat menonton dan mengarahkan sepanjang waktu, atau pergi dan kembali ketika selesai.343. **Bekerja**: Claude menganalisis kode, membuat perubahan, menjalankan tes, dan memeriksa pekerjaannya. Anda dapat menonton dan mengarahkan sepanjang waktu, atau pergi dan kembali ketika selesai.

354. **Dorong cabang**: ketika Claude mencapai titik pemberhentian, ia mendorong cabangnya ke GitHub. Anda meninjau diff, meninggalkan komentar inline, membuat PR, atau mengirim pesan lain untuk melanjutkan.354. **Dorong cabang**: ketika Claude mencapai titik pemberhentian, ia mendorong cabangnya ke GitHub. Anda meninjau diff, meninggalkan komentar inline, membuat PR, atau mengirim pesan lain untuk melanjutkan.

36 36 


47| **Kode berjalan di** | VM cloud Anthropic | Mesin Anda | Mesin Anda | Mesin Anda atau VM cloud |47| **Kode berjalan di** | VM cloud Anthropic | Mesin Anda | Mesin Anda | Mesin Anda atau VM cloud |

48| **Anda chat dari** | claude.ai atau aplikasi mobile | claude.ai atau aplikasi mobile | Terminal Anda | UI Desktop |48| **Anda chat dari** | claude.ai atau aplikasi mobile | claude.ai atau aplikasi mobile | Terminal Anda | UI Desktop |

49| **Menggunakan konfigurasi lokal Anda** | Tidak, hanya repo | Ya | Ya | Ya untuk lokal, tidak untuk cloud |49| **Menggunakan konfigurasi lokal Anda** | Tidak, hanya repo | Ya | Ya | Ya untuk lokal, tidak untuk cloud |

50| **Memerlukan GitHub** | Ya, atau [bundel repo lokal](/id/claude-code-on-the-web#send-local-repositories-without-github) melalui `--cloud` | Tidak | Tidak | Hanya untuk sesi cloud |50| **Memerlukan GitHub** | Ya, atau [bundel repo lokal](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) melalui `--cloud` | Tidak | Tidak | Hanya untuk sesi cloud |

51| **Terus berjalan jika Anda terputus** | Ya | Selama terminal tetap terbuka | Tidak | Tergantung jenis sesi |51| **Terus berjalan jika Anda terputus** | Ya | Selama terminal tetap terbuka | Tidak | Tergantung jenis sesi |

52| **[Mode izin](/id/permission-modes)** | Terima otomatis editan, Plan | Tanya, Terima otomatis editan, Plan | Semua mode | Tergantung jenis sesi |52| **[Mode izin](/docs/id/permission-modes)** | Terima otomatis editan, Plan | Tanya, Terima otomatis editan, Plan | Semua mode | Tergantung jenis sesi |

53| **Akses jaringan** | Dapat dikonfigurasi per lingkungan | Jaringan mesin Anda | Jaringan mesin Anda | Tergantung jenis sesi |53| **Akses jaringan** | Dapat dikonfigurasi per lingkungan | Jaringan mesin Anda | Jaringan mesin Anda | Tergantung jenis sesi |

54 54 

55Lihat dokumentasi [terminal quickstart](/id/quickstart), [Aplikasi Desktop](/id/desktop), atau [Remote Control](/id/remote-control) untuk mengaturnya.55Lihat dokumentasi [terminal quickstart](/docs/id/quickstart), [Aplikasi Desktop](/docs/id/desktop), atau [Remote Control](/docs/id/remote-control) untuk mengaturnya.

56 56 

57<h2 id="connect-github-and-create-an-environment">57<h2 id="connect-github-and-create-an-environment">

58 Hubungkan GitHub dan buat lingkungan58 Hubungkan GitHub dan buat lingkungan


70 </Step>70 </Step>

71 71 

72 <Step title="Buat lingkungan Anda">72 <Step title="Buat lingkungan Anda">

73 Setelah menghubungkan GitHub, Anda akan diminta untuk membuat lingkungan cloud. Lingkungan mengontrol akses jaringan apa yang dimiliki Claude selama sesi dan apa yang berjalan ketika sesi baru dibuat. Lihat [Alat yang Diinstal](/id/claude-code-on-the-web#installed-tools) untuk apa yang tersedia tanpa konfigurasi apa pun.73 Setelah menghubungkan GitHub, Anda akan diminta untuk membuat lingkungan cloud. Lingkungan mengontrol akses jaringan apa yang dimiliki Claude selama sesi dan apa yang berjalan ketika sesi baru dibuat. Lihat [Alat yang Diinstal](/docs/id/claude-code-on-the-web#installed-tools) untuk apa yang tersedia tanpa konfigurasi apa pun.

74 74 

75 Formulir memiliki bidang-bidang ini:75 Formulir memiliki bidang-bidang ini:

76 76 

77 * **Nama**: label tampilan. Berguna ketika Anda memiliki beberapa lingkungan untuk proyek atau tingkat akses yang berbeda.77 * **Nama**: label tampilan. Berguna ketika Anda memiliki beberapa lingkungan untuk proyek atau tingkat akses yang berbeda.

78 * **Akses jaringan**: mengontrol apa yang dapat dijangkau sesi di internet. Default, `Trusted`, memungkinkan koneksi ke [registri paket umum](/id/claude-code-on-the-web#default-allowed-domains) seperti npm, PyPI, dan RubyGems sambil memblokir akses internet umum.78 * **Akses jaringan**: mengontrol apa yang dapat dijangkau sesi di internet. Default, `Trusted`, memungkinkan koneksi ke [registri paket umum](/docs/id/claude-code-on-the-web#default-allowed-domains) seperti npm, PyPI, dan RubyGems sambil memblokir akses internet umum.

79 * **Variabel lingkungan**: variabel opsional yang tersedia di setiap sesi, dalam format `.env`. Jangan bungkus nilai dalam tanda kutip, karena tanda kutip disimpan sebagai bagian dari nilai. Ini terlihat oleh siapa pun yang dapat mengedit lingkungan ini.79 * **Variabel lingkungan**: variabel opsional yang tersedia di setiap sesi, dalam format `.env`. Jangan bungkus nilai dalam tanda kutip, karena tanda kutip disimpan sebagai bagian dari nilai. Ini terlihat oleh siapa pun yang dapat mengedit lingkungan ini.

80 * **Skrip setup**: skrip Bash opsional yang berjalan sebelum Claude Code diluncurkan. Gunakan untuk menginstal alat sistem yang tidak disertakan VM cloud, seperti `apt install -y gh`. Hasilnya [di-cache](/id/claude-code-on-the-web#environment-caching), jadi skrip tidak berjalan ulang di setiap sesi. Lihat [Skrip setup](/id/claude-code-on-the-web#setup-scripts) untuk contoh dan tips debugging.80 * **Skrip setup**: skrip Bash opsional yang berjalan sebelum Claude Code diluncurkan. Gunakan untuk menginstal alat sistem yang tidak disertakan VM cloud, seperti `apt install -y gh`. Hasilnya [di-cache](/docs/id/claude-code-on-the-web#environment-caching), jadi skrip tidak berjalan ulang di setiap sesi. Lihat [Skrip setup](/docs/id/claude-code-on-the-web#setup-scripts) untuk contoh dan tips debugging.

81 81 

82 Untuk proyek pertama, biarkan default dan klik **Buat lingkungan**. Anda dapat [mengeditnya nanti atau membuat lingkungan tambahan](/id/claude-code-on-the-web#configure-your-environment) untuk proyek yang berbeda.82 Untuk proyek pertama, biarkan default dan klik **Buat lingkungan**. Anda dapat [mengeditnya nanti atau membuat lingkungan tambahan](/docs/id/claude-code-on-the-web#configure-your-environment) untuk proyek yang berbeda.

83 </Step>83 </Step>

84</Steps>84</Steps>

85 85 


87 Hubungkan dari terminal Anda87 Hubungkan dari terminal Anda

88</h3>88</h3>

89 89 

90Jika Anda sudah menggunakan GitHub CLI (`gh`), Anda dapat mengatur Claude Code di web tanpa membuka browser. Ini memerlukan [Claude Code CLI](/id/quickstart). `/web-setup` membaca token `gh` lokal Anda, menautkannya ke akun Claude Anda, dan membuat lingkungan cloud default jika Anda tidak memilikinya.90Jika Anda sudah menggunakan GitHub CLI (`gh`), Anda dapat mengatur Claude Code di web tanpa membuka browser. Ini memerlukan [Claude Code CLI](/docs/id/quickstart). `/web-setup` membaca token `gh` lokal Anda, menautkannya ke akun Claude Anda, dan membuat lingkungan cloud default jika Anda tidak memilikinya.

91 91 

92<Note>92<Note>

93 Organisasi dengan [Zero Data Retention](/id/zero-data-retention) yang diaktifkan tidak dapat menggunakan `/web-setup` atau fitur sesi cloud lainnya. Jika GitHub CLI tidak diinstal atau diautentikasi, `/web-setup` membuka alur onboarding browser sebagai gantinya.93 Organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) yang diaktifkan tidak dapat menggunakan `/web-setup` atau fitur sesi cloud lainnya. Jika GitHub CLI tidak diinstal atau diautentikasi, `/web-setup` membuka alur onboarding browser sebagai gantinya.

94</Note>94</Note>

95 95 

96<Steps>96<Steps>


113 /web-setup113 /web-setup

114 ```114 ```

115 115 

116 Ini menyinkronkan token `gh` Anda ke akun Claude Anda. Jika Anda belum memiliki lingkungan cloud, `/web-setup` membuat satu dengan akses jaringan Trusted dan tanpa skrip setup. Anda dapat [mengedit lingkungan atau menambahkan variabel](/id/claude-code-on-the-web#configure-your-environment) setelahnya. Setelah `/web-setup` selesai, Anda dapat memulai sesi cloud dari terminal Anda dengan [`--cloud`](/id/claude-code-on-the-web#from-terminal-to-web) atau mengatur tugas berulang dengan [`/schedule`](/id/routines).116 Ini menyinkronkan token `gh` Anda ke akun Claude Anda. Jika Anda belum memiliki lingkungan cloud, `/web-setup` membuat satu dengan akses jaringan Trusted dan tanpa skrip setup. Anda dapat [mengedit lingkungan atau menambahkan variabel](/docs/id/claude-code-on-the-web#configure-your-environment) setelahnya. Setelah `/web-setup` selesai, Anda dapat memulai sesi cloud dari terminal Anda dengan [`--cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-web) atau mengatur tugas berulang dengan [`/schedule`](/docs/id/routines).

117 </Step>117 </Step>

118</Steps>118</Steps>

119 119 


129 </Step>129 </Step>

130 130 

131 <Step title="Pilih mode izin">131 <Step title="Pilih mode izin">

132 Dropdown mode di sebelah input default ke **Terima otomatis editan**, di mana Claude membuat perubahan dan mendorong cabang tanpa berhenti untuk persetujuan. Beralih ke **Plan mode** jika Anda ingin Claude mengusulkan pendekatan dan menunggu persetujuan Anda sebelum mengedit file. Sesi cloud tidak menawarkan izin Ask atau izin Bypass. Lihat [daftar lengkap mode izin](/id/permission-modes#available-modes) untuk apa yang masing-masing izinkan.132 Dropdown mode di sebelah input default ke **Terima otomatis editan**, di mana Claude membuat perubahan dan mendorong cabang tanpa berhenti untuk persetujuan. Beralih ke **Plan mode** jika Anda ingin Claude mengusulkan pendekatan dan menunggu persetujuan Anda sebelum mengedit file. Sesi cloud tidak menawarkan izin Ask atau izin Bypass. Lihat [daftar lengkap mode izin](/docs/id/permission-modes#available-modes) untuk apa yang masing-masing izinkan.

133 </Step>133 </Step>

134 134 

135 <Step title="Jelaskan tugas dan kirimkan">135 <Step title="Jelaskan tugas dan kirimkan">


182 </Step>182 </Step>

183 183 

184 <Step title="Terus ulangi setelah PR">184 <Step title="Terus ulangi setelah PR">

185 Sesi tetap aktif setelah PR dibuat. Tempel output kegagalan CI atau komentar pengulas ke chat dan minta Claude untuk mengatasinya. Untuk membuat Claude memantau PR secara otomatis, lihat [Auto-fix pull requests](/id/claude-code-on-the-web#auto-fix-pull-requests).185 Sesi tetap aktif setelah PR dibuat. Tempel output kegagalan CI atau komentar pengulas ke chat dan minta Claude untuk mengatasinya. Untuk membuat Claude memantau PR secara otomatis, lihat [Auto-fix pull requests](/docs/id/claude-code-on-the-web#auto-fix-pull-requests).

186 </Step>186 </Step>

187</Steps>187</Steps>

188 188 


194 Tidak ada repositori yang muncul setelah menghubungkan GitHub194 Tidak ada repositori yang muncul setelah menghubungkan GitHub

195</h3>195</h3>

196 196 

197Sesi cloud dapat menggunakan repositori apa pun yang dapat dilihat akun GitHub yang terhubung, terlepas dari repositori mana yang Aplikasi Claude GitHub diinstal. Jika repositori hilang, verifikasi akun GitHub yang terhubung memiliki akses ke repositori di GitHub. Jika Anda juga ingin [Auto-fix](/id/claude-code-on-the-web#auto-fix-pull-requests) untuk repositori, instal Aplikasi di atasnya: di github.com, buka **Settings → Applications → Claude → Configure** dan verifikasi repositori terdaftar di bawah **Repository access**. Repositori pribadi memerlukan otorisasi yang sama dengan yang publik.197Sesi cloud dapat menggunakan repositori apa pun yang dapat dilihat akun GitHub yang terhubung, terlepas dari repositori mana yang Aplikasi Claude GitHub diinstal. Jika repositori hilang, verifikasi akun GitHub yang terhubung memiliki akses ke repositori di GitHub. Jika Anda juga ingin [Auto-fix](/docs/id/claude-code-on-the-web#auto-fix-pull-requests) untuk repositori, instal Aplikasi di atasnya: di github.com, buka **Settings → Applications → Claude → Configure** dan verifikasi repositori terdaftar di bawah **Repository access**. Repositori pribadi memerlukan otorisasi yang sama dengan yang publik.

198 198 

199<h3 id="the-page-only-shows-a-github-login-button">199<h3 id="the-page-only-shows-a-github-login-button">

200 Halaman hanya menampilkan tombol login GitHub200 Halaman hanya menampilkan tombol login GitHub

201</h3>201</h3>

202 202 

203Sesi cloud memerlukan akun GitHub yang terhubung. Hubungkan melalui alur browser di atas, atau jalankan `/web-setup` dari terminal Anda jika Anda menggunakan GitHub CLI. Jika Anda lebih suka tidak menghubungkan GitHub sama sekali, lihat [Remote Control](/id/remote-control) untuk menjalankan Claude Code di mesin Anda sendiri dan memantaunya dari web.203Sesi cloud memerlukan akun GitHub yang terhubung. Hubungkan melalui alur browser di atas, atau jalankan `/web-setup` dari terminal Anda jika Anda menggunakan GitHub CLI. Jika Anda lebih suka tidak menghubungkan GitHub sama sekali, lihat [Remote Control](/docs/id/remote-control) untuk menjalankan Claude Code di mesin Anda sendiri dan memantaunya dari web.

204 204 

205<h3 id="not-available-for-the-selected-organization">205<h3 id="not-available-for-the-selected-organization">

206 "Tidak tersedia untuk organisasi yang dipilih"206 "Tidak tersedia untuk organisasi yang dipilih"


220 "Tidak dapat membuat lingkungan cloud" atau "Tidak ada lingkungan cloud yang tersedia" saat menggunakan `--cloud` atau ultraplan220 "Tidak dapat membuat lingkungan cloud" atau "Tidak ada lingkungan cloud yang tersedia" saat menggunakan `--cloud` atau ultraplan

221</h3>221</h3>

222 222 

223Fitur sesi jarak jauh membuat lingkungan cloud default secara otomatis jika Anda tidak memilikinya. Jika Anda melihat "Tidak dapat membuat lingkungan cloud", pembuatan otomatis gagal. {/* max-version: 2.1.100 */}Jika Anda melihat "Tidak ada lingkungan cloud yang tersedia", CLI Anda mendahului pembuatan otomatis. Dalam kedua kasus, jalankan `/web-setup` di Claude Code CLI untuk membuat satu secara manual, atau kunjungi [claude.ai/code](https://claude.ai/code) dan ikuti langkah **Buat lingkungan Anda** di atas.223Fitur sesi jarak jauh membuat lingkungan cloud default secara otomatis jika Anda tidak memilikinya. Jika Anda melihat "Tidak dapat membuat lingkungan cloud", pembuatan otomatis gagal. Jika Anda melihat "Tidak ada lingkungan cloud yang tersedia", CLI Anda mendahului pembuatan otomatis. Dalam kedua kasus, jalankan `/web-setup` di Claude Code CLI untuk membuat satu secara manual, atau kunjungi [claude.ai/code](https://claude.ai/code) dan ikuti langkah **Buat lingkungan Anda** di atas.

224 224 

225<h3 id="setup-script-failed">225<h3 id="setup-script-failed">

226 Skrip setup gagal226 Skrip setup gagal


228 228 

229Skrip setup keluar dengan status bukan nol, yang memblokir sesi dari dimulai. Penyebab umum:229Skrip setup keluar dengan status bukan nol, yang memblokir sesi dari dimulai. Penyebab umum:

230 230 

231* Instalasi paket gagal karena registri tidak ada di [tingkat akses jaringan](/id/claude-code-on-the-web#access-levels) Anda. `Trusted` mencakup sebagian besar manajer paket; `None` memblokir semuanya.231* Instalasi paket gagal karena registri tidak ada di [tingkat akses jaringan](/docs/id/claude-code-on-the-web#access-levels) Anda. `Trusted` mencakup sebagian besar manajer paket; `None` memblokir semuanya.

232* Skrip mereferensikan file atau jalur yang tidak ada dalam klon segar.232* Skrip mereferensikan file atau jalur yang tidak ada dalam klon segar.

233* Perintah yang bekerja secara lokal memerlukan invokasi berbeda di Ubuntu.233* Perintah yang bekerja secara lokal memerlukan invokasi berbeda di Ubuntu.

234 234 


238 Sesi baru hang atau timeout selama setup238 Sesi baru hang atau timeout selama setup

239</h3>239</h3>

240 240 

241Jika sesi baru macet pada langkah skrip setup atau gagal dengan kesalahan kontainer generik sebelum skrip selesai, skrip kemungkinan melebihi anggaran waktu sekitar lima menit untuk membangun [cache lingkungan](/id/claude-code-on-the-web#environment-caching). Langkah berat seperti menarik gambar Docker besar, menyinkronkan pohon dependensi penuh, atau mengunduh bobot model sering mendorong total melampaui batas, terutama ketika mereka berjalan satu demi satu.241Jika sesi baru macet pada langkah skrip setup atau gagal dengan kesalahan kontainer generik sebelum skrip selesai, skrip kemungkinan melebihi anggaran waktu sekitar lima menit untuk membangun [cache lingkungan](/docs/id/claude-code-on-the-web#environment-caching). Langkah berat seperti menarik gambar Docker besar, menyinkronkan pohon dependensi penuh, atau mengunduh bobot model sering mendorong total melampaui batas, terutama ketika mereka berjalan satu demi satu.

242 242 

243Untuk memperbaiki ini, pangkas skrip sehingga dapat diandalkan selesai dalam waktu kurang dari lima menit:243Untuk memperbaiki ini, pangkas skrip sehingga dapat diandalkan selesai dalam waktu kurang dari lima menit:

244 244 

245* Jalankan instalasi independen secara paralel dengan `&` dan `wait` akhir alih-alih menjalankannya secara serial.245* Jalankan instalasi independen secara paralel dengan `&` dan `wait` akhir alih-alih menjalankannya secara serial.

246* Pindahkan unduhan terbesar keluar dari skrip setup dan ke [SessionStart hook](/id/claude-code-on-the-web#setup-scripts-vs-sessionstart-hooks) yang meluncurkannya di latar belakang, sehingga sesi menjadi dapat digunakan saat mereka selesai.246* Pindahkan unduhan terbesar keluar dari skrip setup dan ke [SessionStart hook](/docs/id/claude-code-on-the-web#setup-scripts-vs-sessionstart-hooks) yang meluncurkannya di latar belakang, sehingga sesi menjadi dapat digunakan saat mereka selesai.

247* Hapus tidur ulang panjang dari skrip setup, karena loop ulang yang macet dihitung terhadap anggaran.247* Hapus tidur ulang panjang dari skrip setup, karena loop ulang yang macet dihitung terhadap anggaran.

248 248 

249<h3 id="session-keeps-running-after-closing-the-tab">249<h3 id="session-keeps-running-after-closing-the-tab">

250 Sesi terus berjalan setelah menutup tab250 Sesi terus berjalan setelah menutup tab

251</h3>251</h3>

252 252 

253Ini dirancang demikian. Menutup tab atau menavigasi pergi tidak menghentikan sesi. Ini terus berjalan di latar belakang sampai Claude menyelesaikan tugas saat ini, kemudian menganggur. Dari sidebar, Anda dapat [mengarsipkan sesi](/id/claude-code-on-the-web#archive-sessions) untuk menyembunyikannya dari daftar Anda, atau [menghapusnya](/id/claude-code-on-the-web#delete-sessions) untuk menghapusnya secara permanen.253Ini dirancang demikian. Menutup tab atau menavigasi pergi tidak menghentikan sesi. Ini terus berjalan di latar belakang sampai Claude menyelesaikan tugas saat ini, kemudian menganggur. Dari sidebar, Anda dapat [mengarsipkan sesi](/docs/id/claude-code-on-the-web#archive-sessions) untuk menyembunyikannya dari daftar Anda, atau [menghapusnya](/docs/id/claude-code-on-the-web#delete-sessions) untuk menghapusnya secara permanen.

254 254 

255<h2 id="next-steps">255<h2 id="next-steps">

256 Langkah berikutnya256 Langkah berikutnya


258 258 

259Sekarang bahwa Anda dapat mengirimkan dan meninjau tugas, halaman-halaman ini mencakup apa yang akan datang: memulai sesi cloud dari terminal Anda, menjadwalkan pekerjaan berulang, dan memberikan Claude instruksi berdiri.259Sekarang bahwa Anda dapat mengirimkan dan meninjau tugas, halaman-halaman ini mencakup apa yang akan datang: memulai sesi cloud dari terminal Anda, menjadwalkan pekerjaan berulang, dan memberikan Claude instruksi berdiri.

260 260 

261* [Gunakan Claude Code di web](/id/claude-code-on-the-web): referensi lengkap, termasuk teleportasi sesi ke terminal Anda, skrip setup, variabel lingkungan, dan konfigurasi jaringan261* [Gunakan Claude Code di web](/docs/id/claude-code-on-the-web): referensi lengkap, termasuk teleportasi sesi ke terminal Anda, skrip setup, variabel lingkungan, dan konfigurasi jaringan

262* [Routines](/id/routines): otomatiskan pekerjaan sesuai jadwal, melalui panggilan API, atau sebagai respons terhadap peristiwa GitHub262* [Routines](/docs/id/routines): otomatiskan pekerjaan sesuai jadwal, melalui panggilan API, atau sebagai respons terhadap peristiwa GitHub

263* [CLAUDE.md](/id/memory): berikan Claude instruksi dan konteks persisten yang dimuat di awal setiap sesi263* [CLAUDE.md](/docs/id/memory): berikan Claude instruksi dan konteks persisten yang dimuat di awal setiap sesi

264* Instal aplikasi mobile Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) atau [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) untuk memantau sesi dari ponsel Anda. Dari Claude Code CLI, `/mobile` menampilkan kode QR.264* Instal aplikasi mobile Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) atau [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) untuk memantau sesi dari ponsel Anda. Dari Claude Code CLI, `/mobile` menampilkan kode QR.

workflows.md +19 −21

Details

6 6 

7> Alur kerja dinamis mengorkestrasi banyak subagen dari skrip yang ditulis Claude dan dapat Anda jalankan kembali. Gunakan untuk audit basis kode, migrasi besar, dan penelitian lintas-periksa.7> Alur kerja dinamis mengorkestrasi banyak subagen dari skrip yang ditulis Claude dan dapat Anda jalankan kembali. Gunakan untuk audit basis kode, migrasi besar, dan penelitian lintas-periksa.

8 8 

9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}

10 

11<Note>9<Note>

12 Alur kerja dinamis memerlukan Claude Code v2.1.154 atau lebih baru dan tersedia di semua paket berbayar, dengan akses API Anthropic, dan di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Di Pro, aktifkan dari baris Dynamic workflows di `/config`.10 Alur kerja dinamis memerlukan Claude Code v2.1.154 atau lebih baru dan tersedia di semua paket berbayar, dengan akses API Anthropic, dan di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Di Pro, aktifkan dari baris Dynamic workflows di `/config`.

13</Note>11</Note>

14 12 

15Alur kerja dinamis adalah skrip JavaScript yang mengorkestrasi [subagen](/id/sub-agents) dalam skala besar. Claude menulis skrip untuk tugas yang Anda jelaskan, dan runtime menjalankannya di latar belakang sementara sesi Anda tetap responsif.13Alur kerja dinamis adalah skrip JavaScript yang mengorkestrasi [subagen](/docs/id/sub-agents) dalam skala besar. Claude menulis skrip untuk tugas yang Anda jelaskan, dan runtime menjalankannya di latar belakang sementara sesi Anda tetap responsif.

16 14 

17Gunakan alur kerja ketika tugas memerlukan lebih banyak agen daripada yang dapat dikoordinasikan satu percakapan, atau ketika Anda ingin orkestrasi dikodifikasi sebagai skrip yang dapat Anda baca dan jalankan kembali. Contohnya termasuk penyapuan bug di seluruh basis kode, migrasi 500 file, pertanyaan penelitian yang memerlukan sumber untuk diperiksa silang satu sama lain, dan rencana sulit yang layak dirancang dari beberapa sudut pandang independen sebelum Anda berkomitmen pada satu.15Gunakan alur kerja ketika tugas memerlukan lebih banyak agen daripada yang dapat dikoordinasikan satu percakapan, atau ketika Anda ingin orkestrasi dikodifikasi sebagai skrip yang dapat Anda baca dan jalankan kembali. Contohnya termasuk penyapuan bug di seluruh basis kode, migrasi 500 file, pertanyaan penelitian yang memerlukan sumber untuk diperiksa silang satu sama lain, dan rencana sulit yang layak dirancang dari beberapa sudut pandang independen sebelum Anda berkomitmen pada satu.

18 16 


20 Kapan menggunakan alur kerja18 Kapan menggunakan alur kerja

21</h2>19</h2>

22 20 

23[Subagen](/id/sub-agents), [skills](/id/skills), [tim agen](/id/agent-teams), dan alur kerja semuanya dapat menjalankan tugas multi-langkah. Perbedaannya adalah siapa yang memegang rencana:21[Subagen](/docs/id/sub-agents), [skills](/docs/id/skills), [tim agen](/docs/id/agent-teams), dan alur kerja semuanya dapat menjalankan tugas multi-langkah. Perbedaannya adalah siapa yang memegang rencana:

24 22 

25| | Subagen | Skills | Tim agen | Alur kerja |23| | Subagen | Skills | Tim agen | Alur kerja |

26| :-------------------------------------------------- | :-------------------------------------------- | :---------------------------- | :----------------------------------- | :------------------------------------- |24| :-------------------------------------------------- | :-------------------------------------------- | :---------------------------- | :----------------------------------- | :------------------------------------- |


69 <Step title="Baca laporan">67 <Step title="Baca laporan">

70 Ketika run selesai, laporan mendarat di sesi Anda. Ini mengutip sumber setiap klaim berasal, dengan klaim yang tidak bertahan pemeriksaan silang sudah disaring.68 Ketika run selesai, laporan mendarat di sesi Anda. Ini mengutip sumber setiap klaim berasal, dengan klaim yang tidak bertahan pemeriksaan silang sudah disaring.

71 69 

72 {/* min-version: 2.1.196 */}Mulai dari v2.1.196, ketika agen verifikasi tidak dapat memeriksa klaim, seperti setelah batas laju atau kesalahan API, laporan mencantumkan klaim tersebut sebagai tidak terverifikasi daripada menghitungnya sebagai dibantah.70 Mulai dari v2.1.196, ketika agen verifikasi tidak dapat memeriksa klaim, seperti setelah batas laju atau kesalahan API, laporan mencantumkan klaim tersebut sebagai tidak terverifikasi daripada menghitungnya sebagai dibantah.

73 </Step>71 </Step>

74</Steps>72</Steps>

75 73 


83 81 

84| Perintah | Apa yang dilakukannya |82| Perintah | Apa yang dilakukannya |

85| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

86| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](/id/tools-reference#websearch-tool-behavior) tersedia |84| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](/docs/id/tools-reference#websearch-tool-behavior) tersedia |

87 85 

88[Alur kerja yang Anda simpan](#save-the-workflow-for-reuse) sendiri menjadi perintah dengan cara yang sama dan muncul dalam `/` autocomplete bersama yang bundel.86[Alur kerja yang Anda simpan](#save-the-workflow-for-reuse) sendiri menjadi perintah dengan cara yang sama dan muncul dalam `/` autocomplete bersama yang bundel.

89 87 


105| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |103| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |

106| `Esc` atau `←` | Kembali satu level. Dalam v2.1.203 hingga v2.1.205, `←` tidak melangkah keluar dari fase atau agen; gunakan `Esc` pada versi tersebut |104| `Esc` atau `←` | Kembali satu level. Dalam v2.1.203 hingga v2.1.205, `←` tidak melangkah keluar dari fase atau agen; gunakan `Esc` pada versi tersebut |

107| `j` / `k` | Gulir dalam detail agen ketika meluap |105| `j` / `k` | Gulir dalam detail agen ketika meluap |

108| `f` | {/* min-version: 2.1.186 */}Filter daftar agen di fase yang dipilih berdasarkan status. Tekan lagi untuk siklus |106| `f` | Filter daftar agen di fase yang dipilih berdasarkan status. Tekan lagi untuk siklus |

109| `p` | Jeda atau lanjutkan run |107| `p` | Jeda atau lanjutkan run |

110| `x` | Hentikan agen yang dipilih, atau hentikan seluruh alur kerja ketika fokus ada di run |108| `x` | Hentikan agen yang dipilih, atau hentikan seluruh alur kerja ketika fokus ada di run |

111| `r` | Mulai ulang agen yang sedang berjalan yang dipilih |109| `r` | Mulai ulang agen yang sedang berjalan yang dipilih |


142 Biarkan Claude memutuskan dengan ultracode140 Biarkan Claude memutuskan dengan ultracode

143</h3>141</h3>

144 142 

145Ultracode adalah pengaturan Claude Code yang menggabungkan upaya [reasoning](/id/model-config#adjust-effort-level) `xhigh` dengan orkestrasi alur kerja otomatis. Dengan itu aktif, Claude merencanakan alur kerja untuk setiap tugas substansial daripada menunggu Anda untuk meminta.143Ultracode adalah pengaturan Claude Code yang menggabungkan upaya [reasoning](/docs/id/model-config#adjust-effort-level) `xhigh` dengan orkestrasi alur kerja otomatis. Dengan itu aktif, Claude merencanakan alur kerja untuk setiap tugas substansial daripada menunggu Anda untuk meminta.

146 144 

147```text theme={null}145```text theme={null}

148/effort ultracode146/effort ultracode


152 150 

153Dengan ultracode aktif, Claude memutuskan kapan tugas memerlukan alur kerja. Satu permintaan dapat berubah menjadi beberapa alur kerja berturut-turut: satu untuk memahami kode, satu untuk membuat perubahan, dan satu untuk memverifikasinya. Ini berlaku untuk setiap tugas dalam sesi, jadi setiap permintaan menggunakan lebih banyak token dan memakan waktu lebih lama daripada pada tingkat upaya yang lebih rendah.151Dengan ultracode aktif, Claude memutuskan kapan tugas memerlukan alur kerja. Satu permintaan dapat berubah menjadi beberapa alur kerja berturut-turut: satu untuk memahami kode, satu untuk membuat perubahan, dan satu untuk memverifikasinya. Ini berlaku untuk setiap tugas dalam sesi, jadi setiap permintaan menggunakan lebih banyak token dan memakan waktu lebih lama daripada pada tingkat upaya yang lebih rendah.

154 152 

155Ultracode berlangsung untuk sesi saat ini dan disetel ulang ketika Anda memulai yang baru. Turun kembali dengan `/effort high` ketika Anda kembali ke pekerjaan rutin. Ini tersedia di model yang mendukung upaya `xhigh` [effort](/id/model-config#adjust-effort-level); di model lain menu `/effort` tidak menawarkannya.153Ultracode berlangsung untuk sesi saat ini dan disetel ulang ketika Anda memulai yang baru. Turun kembali dengan `/effort high` ketika Anda kembali ke pekerjaan rutin. Ini tersedia di model yang mendukung upaya `xhigh` [effort](/docs/id/model-config#adjust-effort-level); di model lain menu `/effort` tidak menawarkannya.

156 154 

157<h3 id="approve-the-plan-before-it-runs">155<h3 id="approve-the-plan-before-it-runs">

158 Setujui rencana sebelum berjalan156 Setujui rencana sebelum berjalan


167 165 

168`Ctrl+G` membuka skrip di editor Anda. `Tab` memungkinkan Anda menyesuaikan prompt sebelum run dimulai.166`Ctrl+G` membuka skrip di editor Anda. `Tab` memungkinkan Anda menyesuaikan prompt sebelum run dimulai.

169 167 

170Apakah Anda melihat prompt ini tergantung pada [mode izin](/id/permission-modes) Anda:168Apakah Anda melihat prompt ini tergantung pada [mode izin](/docs/id/permission-modes) Anda:

171 169 

172| Mode izin | Kapan Anda diminta |170| Mode izin | Kapan Anda diminta |

173| :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |171| :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


177 175 

178Di aplikasi Desktop, kartu persetujuan menunjukkan nama alur kerja, daftar fase, dan peringatan penggunaan token, dengan tindakan **Once**, **Always**, dan **Deny**. Tampilan kemajuan muncul di panel tugas Latar Belakang.176Di aplikasi Desktop, kartu persetujuan menunjukkan nama alur kerja, daftar fase, dan peringatan penggunaan token, dengan tindakan **Once**, **Always**, dan **Deny**. Tampilan kemajuan muncul di panel tugas Latar Belakang.

179 177 

180Mode izin Anda hanya mengontrol prompt peluncuran di atas. Subagen yang dihasilkan alur kerja selalu berjalan dalam mode `acceptEdits` dan mewarisi [allowlist alat](/id/settings#permission-settings) Anda, terlepas dari mode sesi Anda. Edit file disetujui secara otomatis.178Mode izin Anda hanya mengontrol prompt peluncuran di atas. Subagen yang dihasilkan alur kerja selalu berjalan dalam mode `acceptEdits` dan mewarisi [allowlist alat](/docs/id/settings#permission-settings) Anda, terlepas dari mode sesi Anda. Edit file disetujui secara otomatis.

181 179 

182Perintah shell, pengambilan web, dan alat MCP yang tidak ada dalam allowlist Anda masih dapat meminta Anda di tengah run. Untuk menghindari ini pada run yang panjang, tambahkan perintah yang dibutuhkan agen ke allowlist Anda sebelum memulai.180Perintah shell, pengambilan web, dan alat MCP yang tidak ada dalam allowlist Anda masih dapat meminta Anda di tengah run. Untuk menghindari ini pada run yang panjang, tambahkan perintah yang dibutuhkan agen ke allowlist Anda sebelum memulai.

183 181 


192Jalankan `/workflows`, pilih run yang ingin Anda simpan, dan tekan `s`. Dalam dialog simpan, Tab beralih antara dua lokasi simpan:190Jalankan `/workflows`, pilih run yang ingin Anda simpan, dan tekan `s`. Dalam dialog simpan, Tab beralih antara dua lokasi simpan:

193 191 

194* `.claude/workflows/` di proyek Anda: dibagikan dengan semua orang yang mengkloning repo192* `.claude/workflows/` di proyek Anda: dibagikan dengan semua orang yang mengkloning repo

195* `~/.claude/workflows/` di direktori home Anda: tersedia di setiap proyek, hanya terlihat oleh Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/id/env-vars), lokasi ini adalah direktori `workflows/` di bawah jalur itu.193* `~/.claude/workflows/` di direktori home Anda: tersedia di setiap proyek, hanya terlihat oleh Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), lokasi ini adalah direktori `workflows/` di bawah jalur itu.

196 194 

197{/* min-version: 2.1.208 */}Dialog simpan menunjukkan jalur yang diselesaikan untuk lokasi pribadi. Sebelum v2.1.208, itu menunjukkan `~/.claude/workflows/` bahkan ketika `CLAUDE_CONFIG_DIR` ditetapkan; file masih disimpan di bawah direktori yang dikonfigurasi.195Dialog simpan menunjukkan jalur yang diselesaikan untuk lokasi pribadi. Sebelum v2.1.208, itu menunjukkan `~/.claude/workflows/` bahkan ketika `CLAUDE_CONFIG_DIR` ditetapkan; file masih disimpan di bawah direktori yang dikonfigurasi.

198 196 

199Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.197Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.

200 198 

201{/* min-version: 2.1.178 */}Dalam monorepo dengan beberapa direktori `.claude/`, Anda dapat menyimpan alur kerja di samping paket yang mereka terapkan. Mulai dari v2.1.178, menyimpan ke lokasi proyek menulis ke direktori `.claude/workflows/` terdekat yang sudah ada antara direktori kerja Anda dan akar repositori, atau ke akar repositori jika belum ada. Alur kerja proyek juga dimuat dari setiap `.claude/workflows/` di sepanjang jalur itu, dan ketika lebih dari satu mendefinisikan nama yang sama Claude Code menjalankan yang terdekat dengan direktori kerja.199Dalam monorepo dengan beberapa direktori `.claude/`, Anda dapat menyimpan alur kerja di samping paket yang mereka terapkan. Mulai dari v2.1.178, menyimpan ke lokasi proyek menulis ke direktori `.claude/workflows/` terdekat yang sudah ada antara direktori kerja Anda dan akar repositori, atau ke akar repositori jika belum ada. Alur kerja proyek juga dimuat dari setiap `.claude/workflows/` di sepanjang jalur itu, dan ketika lebih dari satu mendefinisikan nama yang sama Claude Code menjalankan yang terdekat dengan direktori kerja.

202 200 

203Jika alur kerja proyek dan alur kerja pribadi berbagi nama, yang proyek berjalan.201Jika alur kerja proyek dan alur kerja pribadi berbagi nama, yang proyek berjalan.

204 202 


305return audits.filter(Boolean)303return audits.filter(Boolean)

306```304```

307 305 

308Badan adalah JavaScript biasa dengan `await` tingkat atas. `agent()` menghasilkan satu subagen dan `pipeline()` menjalankan satu per item dalam daftar. Jika Anda ingin mengedit skrip dengan tangan, minta Claude untuk memandu Anda melalui perubahan, atau lihat entri alat Workflow dalam [referensi Agent SDK](/id/agent-sdk/typescript) untuk set opsi lengkap.306Badan adalah JavaScript biasa dengan `await` tingkat atas. `agent()` menghasilkan satu subagen dan `pipeline()` menjalankan satu per item dalam daftar. Jika Anda ingin mengedit skrip dengan tangan, minta Claude untuk memandu Anda melalui perubahan, atau lihat entri alat Workflow dalam [referensi Agent SDK](/docs/id/agent-sdk/typescript) untuk set opsi lengkap.

309 307 

310<h2 id="how-a-workflow-runs">308<h2 id="how-a-workflow-runs">

311 Bagaimana alur kerja berjalan309 Bagaimana alur kerja berjalan


359* Jika Anda [menetapkan panduan ukuran](#set-a-size-guideline), jumlah agen panduan menggantikan ambang batas 25 agen.357* Jika Anda [menetapkan panduan ukuran](#set-a-size-guideline), jumlah agen panduan menggantikan ambang batas 25 agen.

360* Sesi dengan [ultracode](#let-claude-decide-with-ultracode) aktif tidak menampilkan peringatan, karena mengaktifkan ultracode sudah memilih Anda untuk run besar.358* Sesi dengan [ultracode](#let-claude-decide-with-ultracode) aktif tidak menampilkan peringatan, karena mengaktifkan ultracode sudah memilih Anda untuk run besar.

361 359 

362Setiap agen dalam alur kerja menggunakan model sesi Anda kecuali skrip merutekan tahap ke yang berbeda atau variabel lingkungan [`CLAUDE_CODE_SUBAGENT_MODEL`](/id/model-config#environment-variables) diatur, yang mengesampingkan keduanya. Untuk mengontrol biaya model:360Setiap agen dalam alur kerja menggunakan model sesi Anda kecuali skrip merutekan tahap ke yang berbeda atau variabel lingkungan [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/id/model-config#environment-variables) diatur, yang mengesampingkan keduanya. Untuk mengontrol biaya model:

363 361 

364* Periksa `/model` sebelum run besar jika Anda biasanya beralih ke model yang lebih kecil untuk pekerjaan rutin362* Periksa `/model` sebelum run besar jika Anda biasanya beralih ke model yang lebih kecil untuk pekerjaan rutin

365* Minta Claude untuk menggunakan model yang lebih kecil untuk tahap yang tidak memerlukan yang terkuat ketika Anda menjelaskan tugas363* Minta Claude untuk menggunakan model yang lebih kecil untuk tahap yang tidak memerlukan yang terkuat ketika Anda menjelaskan tugas


385 Matikan alur kerja383 Matikan alur kerja

386</h3>384</h3>

387 385 

388Alur kerja tersedia di CLI, aplikasi Desktop, ekstensi IDE, [mode non-interaktif](/id/headless) dengan `claude -p`, dan [Agent SDK](/id/agent-sdk/overview). Pengaturan disable yang sama berlaku di setiap permukaan.386Alur kerja tersedia di CLI, aplikasi Desktop, ekstensi IDE, [mode non-interaktif](/docs/id/headless) dengan `claude -p`, dan [Agent SDK](/docs/id/agent-sdk/overview). Pengaturan disable yang sama berlaku di setiap permukaan.

389 387 

390Untuk mematikan alur kerja untuk diri sendiri:388Untuk mematikan alur kerja untuk diri sendiri:

391 389 


393* Atur `"disableWorkflows": true` di `~/.claude/settings.json`. Bertahan di seluruh sesi.391* Atur `"disableWorkflows": true` di `~/.claude/settings.json`. Bertahan di seluruh sesi.

394* Atur `CLAUDE_CODE_DISABLE_WORKFLOWS=1`. Dibaca saat startup, jadi berlaku di mana pun Anda mengaturnya.392* Atur `CLAUDE_CODE_DISABLE_WORKFLOWS=1`. Dibaca saat startup, jadi berlaku di mana pun Anda mengaturnya.

395 393 

396Untuk mematikan alur kerja untuk seluruh organisasi Anda, atur `"disableWorkflows": true` di [pengaturan yang dikelola server](/id/server-managed-settings), atau gunakan toggle di halaman [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).394Untuk mematikan alur kerja untuk seluruh organisasi Anda, atur `"disableWorkflows": true` di [pengaturan yang dikelola server](/docs/id/server-managed-settings), atau gunakan toggle di halaman [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

397 395 

398Ketika alur kerja dinonaktifkan, perintah alur kerja bundel tidak tersedia, kata kunci `ultracode` tidak lagi memicu run, dan `ultracode` dihapus dari menu `/effort`.396Ketika alur kerja dinonaktifkan, perintah alur kerja bundel tidak tersedia, kata kunci `ultracode` tidak lagi memicu run, dan `ultracode` dihapus dari menu `/effort`.

399 397 


401 Sumber daya terkait399 Sumber daya terkait

402</h2>400</h2>

403 401 

404* [Jalankan agen secara paralel](/id/agents): bandingkan subagen, tampilan agen, tim agen, dan alur kerja402* [Jalankan agen secara paralel](/docs/id/agents): bandingkan subagen, tampilan agen, tim agen, dan alur kerja

405* [Buat subagen kustom](/id/sub-agents): primitif pekerja yang diorkestrasikan alur kerja403* [Buat subagen kustom](/docs/id/sub-agents): primitif pekerja yang diorkestrasikan alur kerja

406* [Kelola biaya](/id/costs): bagaimana run multi-agen dihitung terhadap batas penggunaan404* [Kelola biaya](/docs/id/costs): bagaimana run multi-agen dihitung terhadap batas penggunaan

worktrees.md +21 −21

Details

8 8 

9[git worktree](https://git-scm.com/docs/git-worktree) adalah direktori kerja terpisah dengan file dan cabang sendiri, berbagi riwayat repositori dan remote yang sama dengan checkout utama Anda. Menjalankan setiap sesi Claude Code dalam worktree-nya sendiri berarti edit dalam satu sesi tidak akan pernah menyentuh file di sesi lain, sehingga Anda dapat memiliki Claude membangun fitur di satu terminal sambil memperbaiki bug di terminal kedua.9[git worktree](https://git-scm.com/docs/git-worktree) adalah direktori kerja terpisah dengan file dan cabang sendiri, berbagi riwayat repositori dan remote yang sama dengan checkout utama Anda. Menjalankan setiap sesi Claude Code dalam worktree-nya sendiri berarti edit dalam satu sesi tidak akan pernah menyentuh file di sesi lain, sehingga Anda dapat memiliki Claude membangun fitur di satu terminal sambil memperbaiki bug di terminal kedua.

10 10 

11Halaman ini mencakup isolasi worktree di CLI. Semuanya di bawah mengasumsikan repositori git. Untuk sistem kontrol versi lainnya, lihat [Non-git version control](#non-git-version-control). [Aplikasi desktop](/id/desktop#work-in-parallel-with-sessions) membuat worktree untuk setiap sesi baru secara otomatis.11Halaman ini mencakup isolasi worktree di CLI. Semuanya di bawah mengasumsikan repositori git. Untuk sistem kontrol versi lainnya, lihat [Non-git version control](#non-git-version-control). [Aplikasi desktop](/docs/id/desktop#work-in-parallel-with-sessions) membuat worktree untuk setiap sesi baru secara otomatis.

12 12 

13Worktrees adalah salah satu dari beberapa cara untuk menjalankan Claude secara paralel. Mereka mengisolasi edit file, sementara [subagents](/id/sub-agents) dan [agent teams](/id/agent-teams) mengoordinasikan pekerjaan itu sendiri. Lihat [Run agents in parallel](/id/agents) untuk membandingkan pendekatan, atau lompat ke [Isolate subagents with worktrees](#isolate-subagents-with-worktrees) untuk menggunakan worktrees dan subagents bersama-sama.13Worktrees adalah salah satu dari beberapa cara untuk menjalankan Claude secara paralel. Mereka mengisolasi edit file, sementara [subagents](/docs/id/sub-agents) dan [agent teams](/docs/id/agent-teams) mengoordinasikan pekerjaan itu sendiri. Lihat [Run agents in parallel](/docs/id/agents) untuk membandingkan pendekatan, atau lompat ke [Isolate subagents with worktrees](#isolate-subagents-with-worktrees) untuk menggunakan worktrees dan subagents bersama-sama.

14 14 

15<h2 id="start-claude-in-a-worktree">15<h2 id="start-claude-in-a-worktree">

16 Mulai Claude dalam worktree16 Mulai Claude dalam worktree


34claude --worktree34claude --worktree

35```35```

36 36 

37Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu akan membuat satu dengan tool [`EnterWorktree`](/id/tools-reference). Setelah berada dalam worktree, Claude dapat beralih langsung ke worktree lain di bawah `.claude/worktrees/` dengan memanggil `EnterWorktree` dengan jalur target. Worktree sebelumnya tetap berada di disk tanpa disentuh.37Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu akan membuat satu dengan tool [`EnterWorktree`](/docs/id/tools-reference). Setelah berada dalam worktree, Claude dapat beralih langsung ke worktree lain di bawah `.claude/worktrees/` dengan memanggil `EnterWorktree` dengan jalur target. Worktree sebelumnya tetap berada di disk tanpa disentuh.

38 38 

39Memasuki jalur di luar direktori `.claude/worktrees/` repositori meminta persetujuan Anda terlebih dahulu, karena itu memindahkan direktori kerja sesi, akses tulis, dan konfigurasi proyek seperti `CLAUDE.md` dan settings ke lokasi tersebut. Aturan [izin](/id/permissions) `EnterWorktree` atau memilih "jangan tanya lagi" tidak menekan prompt ini; hanya mode `bypassPermissions` yang melewatinya. Sebelum v2.1.206, Claude dapat memasuki jalur worktree yang ada tanpa bertanya.39Memasuki jalur di luar direktori `.claude/worktrees/` repositori meminta persetujuan Anda terlebih dahulu, karena itu memindahkan direktori kerja sesi, akses tulis, dan konfigurasi proyek seperti `CLAUDE.md` dan settings ke lokasi tersebut. Aturan [izin](/docs/id/permissions) `EnterWorktree` atau memilih "jangan tanya lagi" tidak menekan prompt ini; hanya mode `bypassPermissions` yang melewatinya. Sebelum v2.1.206, Claude dapat memasuki jalur worktree yang ada tanpa bertanya.

40 40 

41{/* min-version: 2.1.198 */}Mulai dari v2.1.198, memasuki atau keluar dari worktree juga memindahkan transkrip sesi ke penyimpanan proyek direktori tersebut, dengan cara yang sama seperti [`/cd`](/id/commands) melakukannya, sehingga `/desktop` dan `--resume` menemukan sesi di sana setelahnya. Worktrees yang dibuat oleh hook [`WorktreeCreate`](#non-git-version-control) dikecualikan dan menyimpan transkrip di direktori peluncuran.41Mulai dari v2.1.198, memasuki atau keluar dari worktree juga memindahkan transkrip sesi ke penyimpanan proyek direktori tersebut, dengan cara yang sama seperti [`/cd`](/docs/id/commands) melakukannya, sehingga `/desktop` dan `--resume` menemukan sesi di sana setelahnya. Worktrees yang dibuat oleh hook [`WorktreeCreate`](#non-git-version-control) dikecualikan dan menyimpan transkrip di direktori peluncuran.

42 42 

43Worktrees bekerja dengan [sandboxing](/id/sandboxing#filesystem-isolation) diaktifkan: sandbox memungkinkan penulisan ke direktori `.git` bersama repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks dari dalam linked worktree.43Worktrees bekerja dengan [sandboxing](/docs/id/sandboxing#filesystem-isolation) diaktifkan: sandbox memungkinkan penulisan ke direktori `.git` bersama repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks dari dalam linked worktree.

44 44 

45Sebelum menggunakan `--worktree` secara interaktif di direktori untuk pertama kalinya, terima dialog kepercayaan workspace dengan menjalankan `claude` sekali di direktori tersebut. Jika kepercayaan belum diterima, `--worktree` keluar dengan kesalahan dan meminta Anda untuk menjalankan `claude` di direktori terlebih dahulu. Jalankan non-interaktif dengan `-p` melewati [pemeriksaan kepercayaan](/id/security), jadi `claude -p --worktree` melanjutkan tanpanya.45Sebelum menggunakan `--worktree` secara interaktif di direktori untuk pertama kalinya, terima dialog kepercayaan workspace dengan menjalankan `claude` sekali di direktori tersebut. Jika kepercayaan belum diterima, `--worktree` keluar dengan kesalahan dan meminta Anda untuk menjalankan `claude` di direktori terlebih dahulu. Jalankan non-interaktif dengan `-p` melewati [pemeriksaan kepercayaan](/docs/id/security), jadi `claude -p --worktree` melanjutkan tanpanya.

46 46 

47Jika Claude Code tidak dapat memasuki direktori worktree saat startup, misalnya karena hook [`WorktreeCreate`](/id/hooks#worktreecreate) mencetak sesuatu selain direktori yang dibuat, atau karena direktori dihapus setelah diatur, Claude Code mencetak kesalahan yang menamai jalur dan keluar dengan kode 1. Sebelum v2.1.205, ini menghancurkan sesi, dan dengan `-p` itu terhenti selama sekitar 30 detik sebelum keluar dengan kode 0.47Jika Claude Code tidak dapat memasuki direktori worktree saat startup, misalnya karena hook [`WorktreeCreate`](/docs/id/hooks#worktreecreate) mencetak sesuatu selain direktori yang dibuat, atau karena direktori dihapus setelah diatur, Claude Code mencetak kesalahan yang menamai jalur dan keluar dengan kode 1. Sebelum v2.1.205, ini menghancurkan sesi, dan dengan `-p` itu terhenti selama sekitar 30 detik sebelum keluar dengan kode 0.

48 48 

49{/* min-version: 2.1.200 */}Plugin yang diinstal pada [cakupan proyek](/id/plugins-reference#plugin-installation-scopes) dari checkout utama juga dimuat dalam worktrees dari repositori yang sama, sehingga Anda tidak perlu menginstal ulang per worktree. Ini berlaku apakah Anda membuat worktree dengan `--worktree` atau dengan `git worktree add`. Memerlukan Claude Code v2.1.200 atau lebih baru.49Plugin yang diinstal pada [cakupan proyek](/docs/id/plugins-reference#plugin-installation-scopes) dari checkout utama juga dimuat dalam worktrees dari repositori yang sama, sehingga Anda tidak perlu menginstal ulang per worktree. Ini berlaku apakah Anda membuat worktree dengan `--worktree` atau dengan `git worktree add`. Memerlukan Claude Code v2.1.200 atau lebih baru.

50 50 

51<Tip>51<Tip>

52 Tambahkan `.claude/worktrees/` ke `.gitignore` Anda sehingga konten worktree tidak muncul sebagai file yang tidak dilacak dalam checkout utama Anda.52 Tambahkan `.claude/worktrees/` ke `.gitignore` Anda sehingga konten worktree tidak muncul sebagai file yang tidak dilacak dalam checkout utama Anda.


60 60 

61Penyegaran memerlukan Claude Code v2.1.208 atau lebih baru; sebelum itu, worktree baru menggunakan apa pun yang sudah disimpan secara lokal di `origin/HEAD`.61Penyegaran memerlukan Claude Code v2.1.208 atau lebih baru; sebelum itu, worktree baru menggunakan apa pun yang sudah disimpan secara lokal di `origin/HEAD`.

62 62 

63Untuk selalu bercabang dari `HEAD` lokal, atur `worktree.baseRef` ke `"head"` dalam [settings](/id/settings#worktree-settings). Mengatur `baseRef` ke `"head"` membuat worktree baru membawa commit yang belum didorong dan status cabang fitur Anda, yang berguna saat mengisolasi subagent yang perlu beroperasi pada pekerjaan yang sedang berlangsung. Ketika sesi berjalan di dalam linked worktree, `"head"` diselesaikan ke `HEAD` worktree tersebut, bukan checkout utama. Pengaturan hanya menerima `"fresh"` atau `"head"`, bukan git refs arbitrer:63Untuk selalu bercabang dari `HEAD` lokal, atur `worktree.baseRef` ke `"head"` dalam [settings](/docs/id/settings#worktree-settings). Mengatur `baseRef` ke `"head"` membuat worktree baru membawa commit yang belum didorong dan status cabang fitur Anda, yang berguna saat mengisolasi subagent yang perlu beroperasi pada pekerjaan yang sedang berlangsung. Ketika sesi berjalan di dalam linked worktree, `"head"` diselesaikan ke `HEAD` worktree tersebut, bukan checkout utama. Pengaturan hanya menerima `"fresh"` atau `"head"`, bukan git refs arbitrer:

64 64 

65```json theme={null}65```json theme={null}

66{66{


76claude --worktree "#1234"76claude --worktree "#1234"

77```77```

78 78 

79Untuk kontrol penuh atas cara pembuatan worktrees, konfigurasikan hook [`WorktreeCreate`](/id/hooks#worktreecreate), yang menggantikan logika `git worktree` default sepenuhnya.79Untuk kontrol penuh atas cara pembuatan worktrees, konfigurasikan hook [`WorktreeCreate`](/docs/id/hooks#worktreecreate), yang menggantikan logika `git worktree` default sepenuhnya.

80 80 

81<h3 id="reuse-a-worktree-name">81<h3 id="reuse-a-worktree-name">

82 Gunakan kembali nama worktree82 Gunakan kembali nama worktree


108config/secrets.json108config/secrets.json

109```109```

110 110 

111Ini berlaku untuk worktrees yang dibuat dengan `--worktree`, [subagent worktrees](#isolate-subagents-with-worktrees), dan sesi paralel dalam [aplikasi desktop](/id/desktop#work-in-parallel-with-sessions).111Ini berlaku untuk worktrees yang dibuat dengan `--worktree`, [subagent worktrees](#isolate-subagents-with-worktrees), dan sesi paralel dalam [aplikasi desktop](/docs/id/desktop#work-in-parallel-with-sessions).

112 112 

113<h2 id="isolate-subagents-with-worktrees">113<h2 id="isolate-subagents-with-worktrees">

114 Isolasi subagents dengan worktrees114 Isolasi subagents dengan worktrees

115</h2>115</h2>

116 116 

117Subagents dapat berjalan dalam worktrees mereka sendiri sehingga edit paralel tidak bertabrakan. Minta Claude untuk "gunakan worktrees untuk agen Anda", atau atur secara permanen pada [subagent kustom](/id/sub-agents#supported-frontmatter-fields) dengan menambahkan `isolation: worktree` ke frontmatter. Setiap subagent mendapatkan worktree sementara yang dihapus secara otomatis saat subagent selesai tanpa perubahan.117Subagents dapat berjalan dalam worktrees mereka sendiri sehingga edit paralel tidak bertabrakan. Minta Claude untuk "gunakan worktrees untuk agen Anda", atau atur secara permanen pada [subagent kustom](/docs/id/sub-agents#supported-frontmatter-fields) dengan menambahkan `isolation: worktree` ke frontmatter. Setiap subagent mendapatkan worktree sementara yang dihapus secara otomatis saat subagent selesai tanpa perubahan.

118 118 

119Worktrees subagent menggunakan [base branch](#choose-the-base-branch) yang sama dengan `--worktree`, jadi mereka membuat cabang dari branch default repositori Anda kecuali `worktree.baseRef` diatur ke `"head"`.119Worktrees subagent menggunakan [base branch](#choose-the-base-branch) yang sama dengan `--worktree`, jadi mereka membuat cabang dari branch default repositori Anda kecuali `worktree.baseRef` diatur ke `"head"`.

120 120 


124 124 

125Saat Anda keluar dari sesi worktree, pembersihan tergantung pada apakah Anda membuat perubahan:125Saat Anda keluar dari sesi worktree, pembersihan tergantung pada apakah Anda membuat perubahan:

126 126 

127* **Tidak ada perubahan yang belum dilakukan, tidak ada file yang tidak dilacak, dan tidak ada commit baru**: worktree dan cabangnya dihapus secara otomatis. Jika sesi memiliki [nama](/id/sessions#name-your-sessions), Claude malah meminta sehingga Anda dapat menyimpan worktree untuk nanti127* **Tidak ada perubahan yang belum dilakukan, tidak ada file yang tidak dilacak, dan tidak ada commit baru**: worktree dan cabangnya dihapus secara otomatis. Jika sesi memiliki [nama](/docs/id/sessions#name-your-sessions), Claude malah meminta sehingga Anda dapat menyimpan worktree untuk nanti

128* **Perubahan yang belum dilakukan, file yang tidak dilacak, atau commit baru ada**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang sehingga Anda dapat kembali nanti. Menghapus menghapus direktori worktree dan cabangnya, membuang semua perubahan yang belum dilakukan, file yang tidak dilacak, dan commit128* **Perubahan yang belum dilakukan, file yang tidak dilacak, atau commit baru ada**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang sehingga Anda dapat kembali nanti. Menghapus menghapus direktori worktree dan cabangnya, membuang semua perubahan yang belum dilakukan, file yang tidak dilacak, dan commit

129* **Jalankan non-interaktif**: worktrees yang dibuat dengan `--worktree` bersama dengan `-p` tidak dibersihkan secara otomatis karena tidak ada prompt keluar. Hapus dengan `git worktree remove`129* **Jalankan non-interaktif**: worktrees yang dibuat dengan `--worktree` bersama dengan `-p` tidak dibersihkan secara otomatis karena tidak ada prompt keluar. Hapus dengan `git worktree remove`

130 130 

131Worktrees yang Claude buat untuk subagent dan [sesi latar belakang](/id/agent-view#how-file-edits-are-isolated) dihapus secara otomatis setelah mereka lebih tua dari pengaturan [`cleanupPeriodDays`](/id/settings#available-settings) Anda, asalkan mereka tidak memiliki perubahan yang belum dilakukan, tidak ada file yang tidak dilacak, dan tidak ada commit yang belum didorong. Worktrees yang Anda buat dengan `--worktree` tidak pernah dihapus oleh sapuan ini.131Worktrees yang Claude buat untuk subagent dan [sesi latar belakang](/docs/id/agent-view#how-file-edits-are-isolated) dihapus secara otomatis setelah mereka lebih tua dari pengaturan [`cleanupPeriodDays`](/docs/id/settings#available-settings) Anda, asalkan mereka tidak memiliki perubahan yang belum dilakukan, tidak ada file yang tidak dilacak, dan tidak ada commit yang belum didorong. Worktrees yang Anda buat dengan `--worktree` tidak pernah dihapus oleh sapuan ini.

132 132 

133Saat agen sedang berjalan, Claude menjalankan `git worktree lock` pada worktreenya sehingga pembersihan bersamaan tidak dapat menghapusnya. Kunci dilepaskan ketika agen selesai. Untuk membersihkan worktree yang disimpan oleh sapuan, jalankan `git worktree remove`, tambahkan `--force` jika worktree memiliki perubahan yang belum dilakukan atau file yang tidak dilacak.133Saat agen sedang berjalan, Claude menjalankan `git worktree lock` pada worktreenya sehingga pembersihan bersamaan tidak dapat menghapusnya. Kunci dilepaskan ketika agen selesai. Untuk membersihkan worktree yang disimpan oleh sapuan, jalankan `git worktree remove`, tambahkan `--force` jika worktree memiliki perubahan yang belum dilakukan atau file yang tidak dilacak.

134 134 


176 Non-git version control176 Non-git version control

177</h2>177</h2>

178 178 

179Isolasi worktree menggunakan git secara default. Untuk SVN, Perforce, Mercurial, atau sistem lainnya, konfigurasikan hook [`WorktreeCreate` dan `WorktreeRemove`](/id/hooks#worktreecreate) untuk menyediakan logika pembuatan dan pembersihan kustom. Karena hook menggantikan perilaku git default, [`.worktreeinclude`](#copy-gitignored-files-into-worktrees) tidak diproses saat Anda menggunakan `--worktree`. Salin file konfigurasi lokal apa pun di dalam skrip hook Anda.179Isolasi worktree menggunakan git secara default. Untuk SVN, Perforce, Mercurial, atau sistem lainnya, konfigurasikan hook [`WorktreeCreate` dan `WorktreeRemove`](/docs/id/hooks#worktreecreate) untuk menyediakan logika pembuatan dan pembersihan kustom. Karena hook menggantikan perilaku git default, [`.worktreeinclude`](#copy-gitignored-files-into-worktrees) tidak diproses saat Anda menggunakan `--worktree`. Salin file konfigurasi lokal apa pun di dalam skrip hook Anda.

180 180 

181Hook `WorktreeCreate` ini membaca nama worktree dari stdin, checkout salinan kerja SVN segar, dan mencetak jalur direktori sehingga Claude Code dapat menggunakannya sebagai direktori kerja sesi:181Hook `WorktreeCreate` ini membaca nama worktree dari stdin, checkout salinan kerja SVN segar, dan mencetak jalur direktori sehingga Claude Code dapat menggunakannya sebagai direktori kerja sesi:

182 182 


197}197}

198```198```

199 199 

200Pasangkan dengan hook `WorktreeRemove` untuk membersihkan saat sesi berakhir. Lihat [referensi hooks](/id/hooks#worktreecreate) untuk skema input dan contoh penghapusan.200Pasangkan dengan hook `WorktreeRemove` untuk membersihkan saat sesi berakhir. Lihat [referensi hooks](/docs/id/hooks#worktreecreate) untuk skema input dan contoh penghapusan.

201 201 

202<h2 id="see-also">202<h2 id="see-also">

203 Lihat juga203 Lihat juga


205 205 

206Worktrees menangani isolasi file. Halaman terkait di bawah mencakup pendelegasian pekerjaan ke checkout terisolasi tersebut dan beralih antar sesi yang Anda buat:206Worktrees menangani isolasi file. Halaman terkait di bawah mencakup pendelegasian pekerjaan ke checkout terisolasi tersebut dan beralih antar sesi yang Anda buat:

207 207 

208* [Subagents](/id/sub-agents): delegasikan pekerjaan ke agen terisolasi dalam sesi208* [Subagents](/docs/id/sub-agents): delegasikan pekerjaan ke agen terisolasi dalam sesi

209* [Agent teams](/id/agent-teams): koordinasikan beberapa sesi Claude secara otomatis209* [Agent teams](/docs/id/agent-teams): koordinasikan beberapa sesi Claude secara otomatis

210* [Manage sessions](/id/sessions): beri nama, lanjutkan, dan beralih antar percakapan210* [Manage sessions](/docs/id/sessions): beri nama, lanjutkan, dan beralih antar percakapan

211* [Desktop parallel sessions](/id/desktop#work-in-parallel-with-sessions): sesi yang didukung worktree dalam aplikasi desktop211* [Desktop parallel sessions](/docs/id/desktop#work-in-parallel-with-sessions): sesi yang didukung worktree dalam aplikasi desktop