SpyBara
Go Premium

Documentation 2026-11-01 23:57 UTC to 2026-11-02 23:57 UTC

41 files changed +610 −136. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

20>20>

21> Satu aturan penagihan yang dimodelkan SDK adalah [penetapan harga residensi data](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing). Ketika respons `usage` melaporkan `inference_geo: "us"`, SDK mengalikan harga daftar token respons tersebut dengan 1,1. Biaya per-permintaan seperti pencarian web tidak dikalikan. Memerlukan TypeScript Agent SDK v0.3.239 atau lebih baru, atau Python Agent SDK v0.2.144 atau lebih baru.21> Satu aturan penagihan yang dimodelkan SDK adalah [penetapan harga residensi data](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing). Ketika respons `usage` melaporkan `inference_geo: "us"`, SDK mengalikan harga daftar token respons tersebut dengan 1,1. Biaya per-permintaan seperti pencarian web tidak dikalikan. Memerlukan TypeScript Agent SDK v0.3.239 atau lebih baru, atau Python Agent SDK v0.2.144 atau lebih baru.

22>22>

23> Gunakan bidang-bidang ini untuk wawasan pengembangan dan anggaran perkiraan. Untuk penagihan yang berwenang, gunakan [Usage and Cost API](https://platform.claude.com/docs/en/build-with-claude/usage-cost-api) atau halaman Penggunaan di [Claude Console](https://platform.claude.com/usage). Jangan tagih pengguna akhir atau picu keputusan keuangan dari bidang-bidang ini.23> Gunakan bidang-bidang ini untuk wawasan pengembangan dan anggaran perkiraan. Untuk penagihan yang berwenang, lihat [Kelola biaya untuk organisasi Anda](https://code.claude.com/docs/id/costs.md#manage-costs-for-your-organization). Jangan tagih pengguna akhir atau picu keputusan keuangan dari bidang-bidang ini.

24 24 

25## Pahami penggunaan token25## Pahami penggunaan token

26 26 

Details

52 52 

53Jika aplikasi Anda membundel Agent SDK bersama dengan dependensinya sendiri, impor dari `@anthropic-ai/claude-agent-sdk/core` alih-alih akar paket. Entri `/core` memerlukan TypeScript Agent SDK v0.3.282 atau lebih baru, dan tipenya memerlukan TypeScript 5.0 atau lebih baru.53Jika aplikasi Anda membundel Agent SDK bersama dengan dependensinya sendiri, impor dari `@anthropic-ai/claude-agent-sdk/core` alih-alih akar paket. Entri `/core` memerlukan TypeScript Agent SDK v0.3.282 atau lebih baru, dan tipenya memerlukan TypeScript 5.0 atau lebih baru.

54 54 

55Entri `/core` mengekspor `query()`, `startup()`, `tool()`, `createSdkMcpServer()`, dan `resolveSettings()` yang sama seperti entri akar, bersama dengan fungsi yang mengganti nama, menandai, dan menghapus sesi, `AbortError`, konstanta runtime, dan setiap tipe. Ini tidak menambahkan nama miliknya sendiri. Untuk menjaga kode yang dimuat aplikasi Anda tetap kecil, `/core` menghilangkan beberapa ekspor akar, termasuk `prewarm()`, kelas `InMemorySessionStore`, dan pembantu yang mencantumkan, membaca, melakukan fork, mengimpor, dan merangkum sesi. Jika Anda memerlukan salah satunya, gunakan entri akar sebagai gantinya.55Untuk menjaga kode yang dimuat aplikasi Anda tetap kecil, entri `/core` menghilangkan beberapa ekspor akar:

56 

57* **Diekspor**: `query()`, `startup()`, [`prewarm()`](#prewarm), `tool()`, `createSdkMcpServer()`, dan `resolveSettings()` yang sama seperti entri akar, bersama dengan fungsi yang mengganti nama, menandai, dan menghapus sesi, `AbortError`, konstanta runtime, dan setiap tipe. Mengimpor `prewarm()` alpha dari `/core` memerlukan Agent SDK v0.3.314 atau lebih baru.

58* **Dihilangkan**: ekspor akar termasuk kelas `InMemorySessionStore` dan pembantu yang mencantumkan, membaca, melakukan fork, mengimpor, dan merangkum sesi. Jika Anda memerlukan salah satunya, gunakan entri akar sebagai gantinya.

56 59 

57Entri akar menginline salinan miliknya sendiri dari `zod` dan `@modelcontextprotocol/sdk`. Entri `/core` mengimpornya dari `node_modules` Anda pada rentang yang dideklarasikan `peerDependencies` Agent SDK, jadi bundel yang sudah menyertakan mereka tidak membawa salinan kedua. Impor dari entri akar atau `/core` dalam proses tertentu, bukan keduanya: mereka adalah bundel terpisah, dan memuat keduanya memberi Anda dua salinan dari kelas dan status Agent SDK.60Entri akar menginline salinan miliknya sendiri dari `zod` dan `@modelcontextprotocol/sdk`. Entri `/core` mengimpornya dari `node_modules` Anda pada rentang yang dideklarasikan `peerDependencies` Agent SDK, jadi bundel yang sudah menyertakan mereka tidak membawa salinan kedua. Impor dari entri akar atau `/core` dalam proses tertentu, bukan keduanya: mereka adalah bundel terpisah, dan memuat keduanya memberi Anda dua salinan dari kelas dan status Agent SDK.

58 61 


2002 2005 

2003* Resume yang Claude Code hentikan karena tidak dapat [mengembalikan sesi ke worktree-nya](https://code.claude.com/docs/id/worktrees.md#the-session-resumes-outside-its-worktree), dengan `worktree_unverified` atau `worktree_resume_refused`. Bagian itu mengatakan kesalahan mana yang membawa nilai mana.2006* Resume yang Claude Code hentikan karena tidak dapat [mengembalikan sesi ke worktree-nya](https://code.claude.com/docs/id/worktrees.md#the-session-resumes-outside-its-worktree), dengan `worktree_unverified` atau `worktree_resume_refused`. Bagian itu mengatakan kesalahan mana yang membawa nilai mana.

2004* [`continue`](#options) yang ditolak dari percakapan yang dipegang sesi latar belakang, dengan `session_held_by_background`. Untuk [`resume`](#options) yang ditolak dari percakapan seperti itu, Claude Code menulis hasil hanya ketika variabel diatur.2007* [`continue`](#options) yang ditolak dari percakapan yang dipegang sesi latar belakang, dengan `session_held_by_background`. Untuk [`resume`](#options) yang ditolak dari percakapan seperti itu, Claude Code menulis hasil hanya ketika variabel diatur.

2008* Start yang ditolak Claude Code karena [`failIfUnavailable`](#sandboxsettings) aktif dan sandbox tidak dapat dimulai, dengan `sandbox_required_unavailable`.

2009 

2010Tipe `SDKStartupFailureReason` mencantumkan nilai-nilai yang dapat dimuat `startup_failure_reason`:

2005 2011 

2006```typescript theme={null}2012```typescript theme={null}

2007type SDKStartupFailureReason =2013type SDKStartupFailureReason =


2023 | "cli_version_too_old"2029 | "cli_version_too_old"

2024 | "bypass_root"2030 | "bypass_root"

2025 | "org_config_required_unavailable"2031 | "org_config_required_unavailable"

2026 | "org_config_refused";2032 | "org_config_refused"

2033 | "sandbox_required_unavailable";

2027```2034```

2028 2035 

2029Setiap nilai menamai satu penolakan:2036Setiap nilai menamai satu penolakan:


2049| `bypass_root` | Mode izin bypass diminta saat berjalan sebagai root |2056| `bypass_root` | Mode izin bypass diminta saat berjalan sebagai root |

2050| `org_config_required_unavailable` | Sesi memerlukan kebijakan dan pengaturan terkelola organisasi sebelum dapat dimulai, dan keduanya tidak dapat dimuat, misalnya karena kegagalan jaringan atau error server Anthropic. Memerlukan Agent SDK v0.3.293 atau lebih baru |2057| `org_config_required_unavailable` | Sesi memerlukan kebijakan dan pengaturan terkelola organisasi sebelum dapat dimulai, dan keduanya tidak dapat dimuat, misalnya karena kegagalan jaringan atau error server Anthropic. Memerlukan Agent SDK v0.3.293 atau lebih baru |

2051| `org_config_refused` | Anthropic menolak menyediakan kebijakan dan pengaturan terkelola organisasi untuk login ini, misalnya karena login kedaluwarsa atau dicabut, atau organisasi tidak mengizinkan Claude Code untuk akun ini. Memerlukan Agent SDK v0.3.293 atau lebih baru |2058| `org_config_refused` | Anthropic menolak menyediakan kebijakan dan pengaturan terkelola organisasi untuk login ini, misalnya karena login kedaluwarsa atau dicabut, atau organisasi tidak mengizinkan Claude Code untuk akun ini. Memerlukan Agent SDK v0.3.293 atau lebih baru |

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) aktif dan sandbox tidak dapat dimulai. Teks di `errors` diakhiri dengan `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Memerlukan Agent SDK v0.3.314 atau yang lebih baru |

2052 2060 

2053### `SDKSystemMessage`2061### `SDKSystemMessage`

2054 2062 

Details

308 308 

309Ketika Claude Code dimulai dengan Amazon Bedrock yang dikonfigurasi, Claude Code memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di akun Anda.309Ketika Claude Code dimulai dengan Amazon Bedrock yang dikonfigurasi, Claude Code memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di akun Anda.

310 310 

311Jika Anda telah menyematkan versi model yang lebih lama dari default Claude Code saat ini, dan akun Anda dapat memanggil versi yang lebih baru, Claude Code akan meminta Anda untuk memperbarui pin. Menerima akan menulis ID model baru ke [file pengaturan pengguna Anda](https://code.claude.com/docs/id/settings.md) dan memulai ulang Claude Code. Menolak akan diingat hingga perubahan versi default berikutnya. Pin yang menunjuk ke [profil inferensi aplikasi ARN](#map-each-model-version-to-an-inference-profile) dilewati, karena dikelola oleh administrator Anda.311Anda mungkin telah menyematkan versi model yang lebih lama dari default Claude Code saat ini. Jika akun Anda dapat memanggil versi yang lebih baru, Claude Code akan meminta Anda untuk memperbarui pin. Menerima akan menulis ID model baru ke [file pengaturan pengguna Anda](https://code.claude.com/docs/id/settings.md) dan memulai ulang Claude Code. Menolak akan diingat hingga perubahan versi default berikutnya.

312 

313Claude Code tidak memeriksa atau meminta pembaruan untuk pin berikut:

314 

315* Pin dalam blok `env` dari [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md)

316* Pin yang menunjuk ke [profil inferensi aplikasi ARN](#map-each-model-version-to-an-inference-profile), karena dikelola oleh administrator Anda

312 317 

313Jika Anda belum menyematkan model dan default saat ini tidak tersedia di akun Anda, Claude Code akan melakukan fallback 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, melakukan fallback ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [sematkan versi](#4-pin-model-versions) untuk membuat pilihan permanen.318Jika Anda belum menyematkan model dan default saat ini tidak tersedia di akun Anda, Claude Code akan melakukan fallback 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, melakukan fallback ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [sematkan versi](#4-pin-model-versions) untuk membuat pilihan permanen.

314 319 

315Ketika Anda memulai sesi pada versi Sonnet atau Opus tertentu, misalnya dengan `--model`, `ANTHROPIC_MODEL`, atau [pengaturan `model`](https://code.claude.com/docs/id/settings-reference#model), versi tersebut bertindak sebagai default yang disematkan sesi untuk alias `sonnet` atau `opus` yang cocok. Claude Code melewati pemeriksaan ketersediaan untuk default bawaan yang diganti model Anda dan dimulai pada model yang Anda konfigurasi, tanpa pemberitahuan fallback.320Ketika Anda memulai sesi pada versi Sonnet atau Opus tertentu, misalnya dengan `--model`, `ANTHROPIC_MODEL`, atau [pengaturan `model`](https://code.claude.com/docs/id/settings-reference#model), versi tersebut bertindak sebagai default yang disematkan sesi untuk alias `sonnet` atau `opus` yang cocok. Claude Code melewati pemeriksaan ketersediaan untuk default bawaan yang diganti model Anda dan dimulai pada model yang Anda konfigurasi, tanpa pemberitahuan fallback.

316 321 

317Alias model seperti `opus` tidak bertindak sebagai pin, begitu juga ID model yang tidak dikenali Claude Code, seperti profil inferensi aplikasi ARN.322Hal berikut tidak bertindak sebagai pin ketika Anda memulai sesi dengannya:

323 

324* Alias model seperti `opus`

325* ID model yang tidak dikenali Claude Code, seperti profil inferensi aplikasi ARN

318 326 

319Ketika pemeriksaan ini menemukan model yang tidak dapat dipanggil oleh akun Anda, Claude Code mengingat penolakan tersebut di mesin ini hingga satu hari, dan peluncuran selama waktu itu melewati model yang diingat tanpa bertanya kepada Amazon Bedrock lagi. Claude Code memeriksa kembali penolakan yang diingat untuk model default saat ini saat peluncuran setelah sepuluh menit berlalu sejak pemeriksaan terakhir, sehingga default yang diaktifkan kembali oleh administrator Anda akan tersedia lagi. Untuk mematikan memori ini, atur [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/id/env-vars).327Ketika pemeriksaan ini menemukan model yang tidak dapat dipanggil oleh akun Anda, Claude Code mengingat penolakan tersebut di mesin ini hingga satu hari, dan peluncuran selama waktu itu melewati model yang diingat tanpa bertanya kepada Amazon Bedrock lagi. Claude Code memeriksa kembali penolakan yang diingat untuk model default saat ini saat peluncuran setelah sepuluh menit berlalu sejak pemeriksaan terakhir, sehingga default yang diaktifkan kembali oleh administrator Anda akan tersedia lagi. Untuk mematikan memori ini, atur [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/id/env-vars).

320 328 

analytics.md +10 −10

Details

77* **Lines of code with CC**: total baris kode di semua PR yang digabungkan yang ditulis dengan bantuan Claude Code. Hanya "baris efektif" yang dihitung: baris dengan lebih dari 3 karakter setelah normalisasi, tidak termasuk baris kosong dan baris dengan hanya tanda kurung atau tanda baca sepele.77* **Lines of code with CC**: total baris kode di semua PR yang digabungkan yang ditulis dengan bantuan Claude Code. Hanya "baris efektif" yang dihitung: baris dengan lebih dari 3 karakter setelah normalisasi, tidak termasuk baris kosong dan baris dengan hanya tanda kurung atau tanda baca sepele.

78* **PRs with Claude Code (%)**: persentase semua PR yang digabungkan yang berisi kode yang dibantu Claude Code78* **PRs with Claude Code (%)**: persentase semua PR yang digabungkan yang berisi kode yang dibantu Claude Code

79* **Suggestion accept rate**: persentase waktu pengguna menerima saran pengeditan kode Claude Code, termasuk penggunaan alat Edit, Write, dan NotebookEdit79* **Suggestion accept rate**: persentase waktu pengguna menerima saran pengeditan kode Claude Code, termasuk penggunaan alat Edit, Write, dan NotebookEdit

80* **Lines of code accepted**: total baris kode yang ditulis oleh Claude Code yang telah diterima pengguna dalam sesi mereka. Ini tidak termasuk saran yang ditolak dan tidak melacak penghapusan berikutnya.80* **Lines of code accepted**: total baris kode yang ditambahkan atau dihapus oleh tool Edit dan Write Claude Code dalam pengeditan yang diterima. Ini tidak termasuk saran yang ditolak, dan baris yang dihapus kemudian tidak mengurangi total.

81 81 

82### Jelajahi grafik82### Jelajahi grafik

83 83 


192 192 

193## Akses analitik untuk pelanggan API193## Akses analitik untuk pelanggan API

194 194 

195Pelanggan API yang menggunakan Claude Console dapat mengakses analitik di [platform.claude.com/claude-code](https://platform.claude.com/claude-code). Anda memerlukan izin UsageView untuk mengakses dasbor, yang diberikan kepada peran Developer, Billing, Admin, Owner, dan Primary Owner. Untuk menarik metrik harian per pengguna yang sama secara terprogram, gunakan [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) dengan kunci API Admin.195Pelanggan API yang menggunakan Claude Console dapat mengakses analitik di [platform.claude.com/claude-code](https://platform.claude.com/claude-code). Anda memerlukan izin UsageView untuk mengakses dasbor. Peran Developer, Billing, Admin, Owner, dan Primary Owner memiliki izin ini. Untuk menarik metrik harian per pengguna secara terprogram, gunakan [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) dengan kunci API Admin.

196 196 

197> [!NOTE]197> [!NOTE]

198>198>


200 200 

201Dasbor Console menampilkan:201Dasbor Console menampilkan:

202 202 

203* **Lines of code accepted**: total baris kode yang ditulis oleh Claude Code yang telah diterima pengguna dalam sesi mereka. Ini tidak termasuk saran yang ditolak dan tidak melacak penghapusan berikutnya.203* **Lines of code accepted**: total baris kode yang ditambahkan atau dihapus oleh tool Edit dan Write milik Claude Code dalam pengeditan yang diterima. Ini tidak termasuk saran yang ditolak, dan baris yang dihapus kemudian tidak mengurangi total.

204* **Suggestion accept rate**: persentase waktu pengguna menerima penggunaan alat pengeditan kode, termasuk alat Edit, Write, dan NotebookEdit.204* **Suggestion accept rate**: persentase waktu pengguna menerima penggunaan alat pengeditan kode, termasuk alat Edit, Write, dan NotebookEdit.

205* **Activity**: pengguna aktif harian dan sesi ditampilkan pada grafik.205* **Active users** dan **Sessions**: jumlah harian pengguna aktif dan sesi Claude Code.

206* **Spend**: biaya API harian dalam dolar bersama jumlah pengguna.206* **Spend**: biaya API harian dalam dolar.

207 207 

208### Lihat wawasan tim208### Lihat wawasan tim

209 209 

210Tabel wawasan tim menampilkan metrik per pengguna:210Tabel wawasan tim menampilkan kolom per pengguna berikut untuk rentang tanggal yang Anda pilih di bagian atas dasbor, secara default 30 hari terakhir:

211 211 

212* **Members**: semua pengguna yang telah diautentikasi ke Claude Code. Pengguna kunci API ditampilkan berdasarkan pengidentifikasi kunci, pengguna OAuth ditampilkan berdasarkan alamat email.212* **Members**: pengguna dan kunci API dengan penggunaan Claude Code yang dilaporkan dalam rentang tersebut. Pengguna kunci API ditampilkan berdasarkan nama kunci, dan pengguna OAuth berdasarkan alamat email.

213* **Spend this month**: total biaya API per pengguna untuk bulan saat ini.213* **Spend**: total biaya API per pengguna.

214* **Lines this month**: total per pengguna dari baris kode yang diterima untuk bulan saat ini.214* **Lines accepted**: total per pengguna dari baris yang ditambahkan atau dihapus oleh tool Edit dan Write dalam pengeditan yang diterima.

215 215 

216> [!NOTE]216> [!NOTE]

217>217>

218> Angka pengeluaran di dasbor Console adalah perkiraan untuk tujuan analitik. Untuk biaya aktual, lihat halaman penagihan Anda.218> Angka pengeluaran di dasbor Console adalah perkiraan untuk tujuan analitik. Untuk biaya aktual, lihat [halaman Cost](https://platform.claude.com/cost).

219 219 

220## Sumber daya terkait220## Sumber daya terkait

221 221 

Details

355 355 

356## Tinjau penolakan356## Tinjau penolakan

357 357 

358Untuk meninjau dan mencoba kembali tindakan yang ditolak oleh pengklasifikasi mode otomatis, buka `/permissions` dan pilih tab **Recently denied**, di mana Claude Code mencatat setiap penolakan. Tekan `r` pada tindakan yang ditolak untuk menandainya untuk dicoba kembali: ketika Anda keluar dari dialog, Claude Code mengirimkan pesan yang memberitahu model bahwa mungkin dapat mencoba kembali panggilan alat tersebut dan melanjutkan percakapan.358Untuk membiarkan Claude mencoba ulang tindakan yang diblokir, gunakan tab **Recently blocked** di `/permissions`:

359 359 

360Ketika pengklasifikasi menghasilkan [tidak ada putusan tentang tindakan](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action), karena pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri atau responsnya tidak dapat diuraikan, Claude Code menolak tindakan tanpa mencatatnya di bawah **Recently denied**. Entri kesalahan yang ditautkan mencakup apa yang diberitahu kepada Claude dan cara menjalankan tindakan jika Anda membutuhkannya.360**1. Buka tab**

361 

362Jalankan `/permissions` di sesi Anda untuk membuka dialog izin, lalu pilih tab **Recently blocked**.

363 

364**2. Periksa tindakan**

365 

366Sorot baris tindakan tersebut dan baca perintah atau inputnya di bawah daftar. Berpeganglah pada perintah atau input tersebut, bukan deskripsi baris, yang ditulis oleh Claude atau tool.

367 

368**3. Setujui tindakan**

369 

370Tekan `r` untuk menyetujui tindakan dan membiarkan Claude mencoba ulang tindakan tersebut.

371 

372**4. Tutup dialog**

373 

374Tekan `Esc` untuk menutup dialog dan menerapkan persetujuan Anda. Jika Claude sedang bekerja saat Anda membuka `/permissions`, kirim pesan setelah Claude selesai agar Claude dapat mencoba ulang tindakan tersebut. Jika tidak, Anda tidak perlu mengirim apa pun: Claude langsung melanjutkan dan mungkin mencoba ulang tindakan tersebut. Jika tidak, sebutkan tindakan tersebut dalam pesan berikutnya, seperti yang dijelaskan di [Persetujuan yang Anda nyatakan dalam percakapan](https://code.claude.com/docs/id/permission-modes.md#approvals-you-state-in-conversation).

375 

376Menyetujui tindakan tidak menambahkan aturan izin. Dalam auto mode, tindakan yang dicoba ulang akan melalui pemeriksaan lagi, sehingga dapat diblokir lagi. Untuk meloloskan sebuah perintah mulai sekarang, [tambahkan aturan `allow`](#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry).

377 

378Jika Anda tidak ingin Claude langsung mencoba ulang, Anda dapat menyetujui tindakan untuk nanti, menarik kembali persetujuan, atau menutup dialog dan membuang persetujuan Anda:

379 

380* **Setujui untuk nanti**: tekan `Enter` pada baris tersebut, lalu `Esc`. Baris tersebut keluar dari tab, dan Claude mungkin mencoba ulang tindakan tersebut setelah pesan berikutnya dari Anda begitu Claude selesai. Jika Anda juga menekan `r` pada baris lain, baris tempat Anda menekan `Enter` tetap berada di tab dan Claude tidak diberi tahu tentang tindakan tersebut. Setujui baris tersebut pada kunjungan berikutnya, atau tekan `r` pada keduanya

381* **Tarik kembali persetujuan**: sebelum Anda menekan `Esc`, tekan `Enter` pada baris tersebut, baik Anda menyetujuinya dengan `Enter` maupun `r`

382* **Tutup dialog dan buang persetujuan Anda**: tekan `Ctrl+C` dua kali

383 

384Anda tidak dapat menyetujui tindakan dari tab ketika barisnya tidak dapat menampilkan seluruh perintah atau inputnya, atau ketika tindakan tersebut tidak memiliki baris:

385 

386* **Baris berbunyi `This row can't be approved here`**: jika Anda memang bermaksud melakukan tindakan tersebut, beri tahu Claude dalam pesan berikutnya dan Claude mungkin mencobanya lagi

387* **Tidak ada baris, dan `Not run` atau kesalahan pengklasifikasi dalam percakapan**: pengklasifikasi auto mode tidak memberikan putusan. Untuk mengetahui cara menjalankan tindakan tersebut, baca [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)

361 388 

362### Perbaiki penolakan dengan aturan izin, entri lingkungan, atau percobaan ulang389### Perbaiki penolakan dengan aturan izin, entri lingkungan, atau percobaan ulang

363 390 

364Untuk membaca perintah atau URL di balik pemberitahuan seperti `bash denied by auto mode · [Data Exfiltration] · /permissions`, gunakan tab **Recently denied**, hook, atau percakapan:391Pemberitahuan berbunyi seperti `bash blocked by auto mode · /permissions · Auto mode: [Data Exfiltration]`. Untuk membaca perintah atau URL di balik pemberitahuan tersebut, gunakan tab **Recently blocked**, hook, atau percakapan:

365 392 

366* **Tab Recently denied**: di dialog `/permissions`, sorot tindakan Bash atau PowerShell yang ditolak untuk membaca perintahnya di bawah daftar. Dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md), semua perintah muncul sebelum daftar.393* **Tab Recently blocked**: sorot baris tindakan tersebut. Dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md), setiap perintah dan input muncul sebelum daftar.

367* **Hook**: untuk menangkap input yang tepat dari penolakan secara terprogram, tambahkan [hook `PermissionDenied`](https://code.claude.com/docs/id/hooks#permissiondenied), yang menerimanya sebagai `tool_input`.394* **Hook**: untuk menangkap input yang tepat dari penolakan secara terprogram, tambahkan [hook `PermissionDenied`](https://code.claude.com/docs/id/hooks#permissiondenied), yang menerimanya sebagai `tool_input`. Jika hook Anda membaca `reason`, jangan harapkan adanya awalan `Auto mode:`, dan harapkan teks seperti `Blocked by classifier` alih-alih `No reason provided`.

368* **Percakapan**: temukan panggilan tool. Jika panggilan muncul diperpendek atau dilipat ke dalam baris ringkasan seperti `Ran 3 shell commands`, tekan `Ctrl+O` untuk membuka [penampil transkrip](https://code.claude.com/docs/id/interactive-mode.md#transcript-viewer), yang memperluas panggilan tersebut.395* **Percakapan**: temukan panggilan tool. Jika panggilan muncul diperpendek atau dilipat ke dalam baris ringkasan seperti `Ran 3 shell commands`, tekan `Ctrl+O` untuk membuka [penampil transkrip](https://code.claude.com/docs/id/interactive-mode.md#transcript-viewer), yang memperluas panggilan tersebut.

369 396 

370Teks di bawah panggilan memberi tahu Anda apakah ada yang perlu diperbaiki. Baris redup `Not run · auto mode's check had no usable answer`, atau teks yang melaporkan masalah dengan pengklasifikasi itu sendiri, seperti `Auto mode could not evaluate this action`, berarti Claude Code memblokir panggilan tanpa putusan dari pengklasifikasi. Untuk baris `Not run`, tekan `Ctrl+O` untuk membaca pesan lengkapnya, lalu lihat [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) atau [The server returned no safety verdict](https://code.claude.com/docs/id/errors.md#the-server-returned-no-safety-verdict) untuk mengetahui apa yang harus dilakukan.397Teks di bawah panggilan memberi tahu Anda apakah ada yang perlu diperbaiki. Baris redup `Not run · auto mode's check had no usable answer`, atau teks yang melaporkan masalah dengan pengklasifikasi itu sendiri, seperti `Auto mode could not evaluate this action`, berarti Claude Code memblokir panggilan tanpa putusan dari pengklasifikasi. Untuk baris `Not run`, tekan `Ctrl+O` untuk membaca pesan lengkapnya, lalu lihat [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) atau [The server returned no safety verdict](https://code.claude.com/docs/id/errors.md#the-server-returned-no-safety-verdict) untuk mengetahui apa yang harus dilakukan.

371 398 

372Jika tidak, baris yang berbunyi `Denied by auto mode classifier` dengan alasan seperti `[Production Deploy]` atau `Blocked by classifier` berarti pengklasifikasi menilai panggilan tidak aman, jadi pilih perbaikan dari apa yang dicoba oleh panggilan untuk dicapai atau lakukan:399Jika tidak, baris `Blocked by auto mode` berarti pengklasifikasi menilai panggilan tersebut tidak aman. Untuk meloloskan panggilan tersebut, ambil langkah yang sesuai dengan apa yang sedang dicoba dicapai atau dilakukan oleh Claude:

373 400 

374* Tujuan yang Claude butuhkan sepanjang tugas, seperti registri paket, domain internal, atau host repositori: tambahkan ke `autoMode.environment`.401* Tujuan yang Claude butuhkan sepanjang tugas, seperti registri paket, domain internal, atau host repositori: tambahkan ke `autoMode.environment`.

375* Perintah yang ingin Anda jalankan tanpa tinjauan dari sekarang: tambahkan aturan `allow`.402* Perintah yang ingin Anda jalankan tanpa tinjauan dari sekarang: tambahkan aturan `allow`.

Details

397* Data sensitif yang dikirim ke endpoint eksternal397* Data sensitif yang dikirim ke endpoint eksternal

398* Tindakan yang tampak didorong oleh konten yang dibaca Claude, bukan oleh Anda398* Tindakan yang tampak didorong oleh konten yang dibaca Claude, bukan oleh Anda

399 399 

400Ketika pengklasifikasi memblokir sesuatu, Anda mendapat notifikasi dan tindakan tersebut muncul di bawah **Recently denied** di `/permissions`, di mana Anda dapat mencobanya ulang dengan persetujuan manual. Setelah [tiga blok berturut-turut](https://code.claude.com/docs/id/permission-modes.md#when-auto-mode-falls-back) (atau dua puluh secara total), auto mode berhenti sejenak dan kembali meminta persetujuan Anda.400Ketika auto mode memblokir suatu tindakan, Anda mendapat notifikasi dan tindakan tersebut muncul di bawah **Recently blocked** di `/permissions`, di mana Anda dapat [menyetujui tindakan tersebut agar Claude dapat mencobanya ulang](https://code.claude.com/docs/id/auto-mode-config.md#review-denials). Setelah [tiga blok berturut-turut](https://code.claude.com/docs/id/permission-modes.md#when-auto-mode-falls-back) (atau dua puluh secara total), auto mode berhenti sejenak dan kembali meminta persetujuan Anda.

401 401 

402Semua ini tidak menggantikan kontrol deterministik Anda, karena berjalan *setelah* kontrol tersebut. Aturan deny dan ask serta hook `PreToolUse` berlaku sebelum pengklasifikasi melihat apa pun, sehingga aturan deny memblokir dalam auto mode persis seperti di tempat lain. Sandbox tetap membatasi [perintah shell yang dibungkusnya](https://code.claude.com/docs/id/sandboxing.md#what-runs-outside-the-sandbox).402Semua ini tidak menggantikan kontrol deterministik Anda, karena berjalan *setelah* kontrol tersebut. Aturan deny dan ask serta hook `PreToolUse` berlaku sebelum pengklasifikasi melihat apa pun, sehingga aturan deny memblokir dalam auto mode persis seperti di tempat lain. Sandbox tetap membatasi [perintah shell yang dibungkusnya](https://code.claude.com/docs/id/sandboxing.md#what-runs-outside-the-sandbox).

403 403 

Details

30[Gambaran umum gateway](https://code.claude.com/docs/id/gateways.md) mencakup apa yang dilakukan gateway dan mengapa Anda akan menjalankannya. Claude apps gateway adalah gateway Anthropic sendiri, dibangun ke dalam biner `claude` dan diuji bersama setiap rilis Claude Code, sehingga ia meneruskan nilai `anthropic-beta` dan bidang permintaan yang dikirim Claude Code tanpa operator perlu memelihara allowlist terpisah. Setelah di-deploy, ia memberi Anda:30[Gambaran umum gateway](https://code.claude.com/docs/id/gateways.md) mencakup apa yang dilakukan gateway dan mengapa Anda akan menjalankannya. Claude apps gateway adalah gateway Anthropic sendiri, dibangun ke dalam biner `claude` dan diuji bersama setiap rilis Claude Code, sehingga ia meneruskan nilai `anthropic-beta` dan bidang permintaan yang dikirim Claude Code tanpa operator perlu memelihara allowlist terpisah. Setelah di-deploy, ia memberi Anda:

31 31 

32* **Kredensial**: kunci API upstream atau kredensial cloud hanya ada di infrastruktur Anda. Pengembang melakukan autentikasi dengan SSO perusahaan dan menerima token bearer berumur pendek, jadi offboarding terjadi di IdP Anda. Hapus penyediaan pengguna dan akses gateway mereka kedaluwarsa dalam masa pakai sesi, satu jam secara default.32* **Kredensial**: kunci API upstream atau kredensial cloud hanya ada di infrastruktur Anda. Pengembang melakukan autentikasi dengan SSO perusahaan dan menerima token bearer berumur pendek, jadi offboarding terjadi di IdP Anda. Hapus penyediaan pengguna dan akses gateway mereka kedaluwarsa dalam masa pakai sesi, satu jam secara default.

33* **Kontrol akses**: grup IdP Anda dipetakan ke allowlist model dan kebijakan [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md). Gateway memberlakukan akses model di sisi server, menolak permintaan untuk model yang tidak diberikan, dan memilih kebijakan pengaturan terkelola setiap grup, yang diterapkan CLI di [tingkat pengaturan terkelola](https://code.claude.com/docs/id/settings.md#settings-precedence). Tim yang berbeda mendapatkan model, tool, dan izin yang berbeda, dan pengembang tidak dapat menimpa apa yang dikunci kebijakan mereka.33* **Kontrol akses**: grup IdP Anda dipetakan ke allowlist model, kebijakan [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), dan [upstream](https://code.claude.com/docs/id/claude-apps-gateway-config.md#send-each-team-to-its-own-upstream). Gateway memberlakukan akses model di sisi server, menolak permintaan untuk model yang tidak diberikan, dan memilih kebijakan pengaturan terkelola setiap grup, yang diterapkan CLI di [tingkat pengaturan terkelola](https://code.claude.com/docs/id/settings.md#settings-precedence). Tim yang berbeda mendapatkan model, tool, dan izin yang berbeda, dan pengembang tidak dapat menimpa apa yang dikunci kebijakan mereka.

34* **Pengiriman pengaturan**: gateway sendiri mengirimkan pengaturan terkelola ke klien yang sudah masuk, menggantikan [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) dari konsol admin claude.ai.34* **Pengiriman pengaturan**: gateway sendiri mengirimkan pengaturan terkelola ke klien yang sudah masuk, menggantikan [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) dari konsol admin claude.ai.

35* **Telemetri**: setiap tujuan yang dikonfigurasi menerima [metrik OpenTelemetry Protocol (OTLP)](https://code.claude.com/docs/id/monitoring-usage.md) dengan hitungan token, model, identitas pengguna, dan latensi secara default, dengan log dan jejak sebagai opt-in per-tujuan.35* **Telemetri**: setiap tujuan yang dikonfigurasi menerima [metrik OpenTelemetry Protocol (OTLP)](https://code.claude.com/docs/id/monitoring-usage.md) dengan hitungan token, model, identitas pengguna, dan latensi secara default, dengan log dan jejak sebagai opt-in per-tujuan.

36* **Perutean upstream**: klien berbicara API Pesan Anthropic ke gateway, dan gateway menerjemahkan untuk setiap upstream, baik Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), Agent Platform Google Cloud, Microsoft Foundry, atau API Anthropic, dengan failover di antara mereka. Anda dapat mengubah wilayah, penyedia, atau urutan failover tanpa pengembang menyadari atau mengonfigurasi ulang.36* **Perutean upstream**: klien berbicara API Pesan Anthropic ke gateway, dan gateway menerjemahkan untuk setiap upstream, baik Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), Agent Platform Google Cloud, Microsoft Foundry, atau API Anthropic, dengan failover di antara mereka. Anda dapat mengubah wilayah, penyedia, atau urutan failover tanpa pengembang menyadari atau mengonfigurasi ulang.

Details

214 214 

215### `upstreams`215### `upstreams`

216 216 

217`upstreams` adalah daftar berurutan. Gateway meneruskan inferensi ke upstream pertama yang dapat me-resolve model yang diminta.217`upstreams` adalah daftar berurutan. Gateway meneruskan inferensi ke upstream pertama yang me-resolve model yang diminta, melewati upstream mana pun yang [daftar `groups`](#send-each-team-to-its-own-upstream)-nya tidak menyertakan developer tersebut.

218 218 

219Pada `5xx`, `429`, `401`, `403`, `404`, atau timeout, gateway melakukan failover ke upstream berikutnya; `4xx` lainnya tidak, karena error tersebut disebabkan oleh permintaan, bukan oleh upstream. `401` atau `403` berarti upstream menolak kredensial yang digunakan gateway, atau menolak aksesnya, misalnya ke model yang diminta. `404` berarti upstream tersebut tidak melayani model yang diminta, sehingga upstream berikutnya dalam daftar masih dapat melayaninya.219Pada `5xx`, `429`, `401`, `403`, `404`, atau timeout, gateway melakukan failover ke upstream berikutnya; `4xx` lainnya tidak, karena error tersebut disebabkan oleh permintaan, bukan oleh upstream. `401` atau `403` berarti upstream menolak kredensial yang digunakan gateway, atau menolak aksesnya, misalnya ke model yang diminta. `404` berarti upstream tersebut tidak melayani model yang diminta, sehingga upstream berikutnya dalam daftar masih dapat melayaninya.

220 220 


231Gateway mengembalikan respons error dari satu upstream, atau `502` miliknya sendiri, bergantung pada bagaimana upstream menjawab:231Gateway mengembalikan respons error dari satu upstream, atau `502` miliknya sendiri, bergantung pada bagaimana upstream menjawab:

232 232 

233* **Sebuah upstream mengembalikan status yang tidak memicu [failover](#multiple-upstreams) oleh gateway**: respons upstream tersebut. Gateway tidak mencoba upstream lain.233* **Sebuah upstream mengembalikan status yang tidak memicu [failover](#multiple-upstreams) oleh gateway**: respons upstream tersebut. Gateway tidak mencoba upstream lain.

234* **Setiap upstream yang dicoba gateway gagal dengan cara yang [memicu failover](#multiple-upstreams)**: `429` terakhir. Ketika tidak ada yang mengembalikan `429`, gateway mengutamakan, secara berurutan, `401` atau `403` terakhir, `404` terakhir, dan `501` terakhir. Ketika tidak ada yang mengembalikan salah satu dari itu, `502` milik gateway sendiri, `all upstreams failed (N attempted)`, di mana N menghitung setiap entri di [`upstreams`](#upstreams), termasuk entri yang dilewati gateway karena tidak melayani model yang diminta.234* **Setiap upstream yang dicoba gateway gagal dengan cara yang [memicu failover](#multiple-upstreams)**: `429` terakhir. Jika tidak ada yang mengembalikan `429`, gateway memprioritaskan, secara berurutan, `401` atau `403` terakhir, `404` terakhir, dan `501` terakhir. Jika tidak ada yang mengembalikan salah satu dari itu, `502` milik gateway sendiri, `all upstreams failed (N attempted)`. N menghitung entri [`upstreams`](#upstreams) Anda, termasuk yang dilewati, dikurangi entri mana pun yang daftar [`groups`](#send-each-team-to-its-own-upstream)-nya tidak menyertakan developer tersebut.

235 235 

236Ketika gateway mengembalikan respons upstream, gateway mempertahankan kode status upstream. Apakah pesan upstream dipertahankan bergantung pada penyedia. Body error dari upstream Anthropic API sampai ke developer tanpa perubahan.236Ketika gateway mengembalikan respons upstream, gateway mempertahankan kode status upstream. Apakah pesan upstream dipertahankan bergantung pada penyedia. Body error dari upstream Anthropic API sampai ke developer tanpa perubahan.

237 237 


361 # keep the quotes: a bare 1 fails at boot361 # keep the quotes: a bare 1 fails at boot

362```362```

363 363 

364> [!WARNING]

365>

366> Gateway tidak mendukung input tag guardrail. Gateway tidak menambahkan guard content tag ke prompt, sehingga filter guardrail yang diterapkan Amazon Bedrock hanya pada input yang diberi tag tidak berjalan pada lalu lintas melalui gateway. Untuk filter mana yang bergantung pada input tag, lihat [input tags](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) dalam dokumentasi Amazon Bedrock.

367 

368Berikan juga `bedrock:ApplyGuardrail` pada guardrail kepada principal yang menandatangani permintaan upstream ini: principal AWS milik gateway, atau dengan [`assume_role`](#bedrock-in-another-aws-account) role yang disebutkan di `role_arn`.364Berikan juga `bedrock:ApplyGuardrail` pada guardrail kepada principal yang menandatangani permintaan upstream ini: principal AWS milik gateway, atau dengan [`assume_role`](#bedrock-in-another-aws-account) role yang disebutkan di `role_arn`.

369 365 

370Atur `guardrail` pada setiap upstream `bedrock` atau tidak sama sekali. Gateway menolak untuk dimulai jika ada campuran, karena [failover](#multiple-upstreams) dapat mengirim permintaan ke upstream Bedrock yang tidak memiliki guardrail.366Atur `guardrail` pada setiap upstream `bedrock` atau tidak sama sekali. Gateway menolak untuk dimulai jika ada campuran, karena [failover](#multiple-upstreams) dapat mengirim permintaan ke upstream Bedrock yang tidak memiliki guardrail.


373 369 

374Ketika permintaan `/v1/messages` yang body-nya membawa field `amazon-bedrock-*`, seperti `amazon-bedrock-guardrailConfig`, mencapai upstream Bedrock yang memiliki `guardrail`, gateway menjawab 400 alih-alih meneruskannya.370Ketika permintaan `/v1/messages` yang body-nya membawa field `amazon-bedrock-*`, seperti `amazon-bedrock-guardrailConfig`, mencapai upstream Bedrock yang memiliki `guardrail`, gateway menjawab 400 alih-alih meneruskannya.

375 371 

372> [!WARNING]

373>

374> Secara default gateway tidak menambahkan tag input ke prompt, sehingga filter guardrail yang diterapkan Amazon Bedrock hanya pada input bertag tidak berjalan pada lalu lintas melalui gateway. Untuk menambahkan tag, atur [`input_tagging`](#add-guardrail-input-tags). Untuk filter mana yang bergantung pada tag input, lihat [input tags](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) di dokumentasi Amazon Bedrock.

375 

376##### Menambahkan tag input guardrail

377 

378Agar gateway menambahkan tag input yang dibutuhkan [filter prompt attacks](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-prompt-attack.html) pada guardrail Amazon Bedrock, atur `input_tagging` di blok `guardrail` dan mulai ulang gateway. Atur nilai yang sama pada setiap upstream `bedrock`, atau gateway menolak untuk dimulai. Memerlukan Claude Code v2.1.316 atau yang lebih baru di server gateway. Gateway pada versi yang tidak memiliki key ini keluar saat startup dengan `Unrecognized key(s) in object: 'input_tagging'`.

379 

380> [!WARNING]

381>

382> Menurut [dokumentasi Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html), setiap filter dalam guardrail berhenti mengevaluasi konten tanpa tag begitu permintaan membawa tag input. Coba `input_tagging` pada gateway uji sebelum Anda mengaturnya pada gateway yang digunakan developer.

383 

384`input_tagging` menerima salah satu nilai berikut:

385 

386| `input_tagging` | Tempat gateway menandai teks | Setelah guardrail memblokir prompt |

387| :- | :- | :- |

388| `last_message` | Pesan `user` sejak balasan terakhir Claude | Di Claude Code, prompt berikutnya dapat lolos, dan Claude kemudian menerima prompt yang diblokir sebagai bagian dari percakapan |

389| `user_messages` | Pesan `user` | Prompt berikutnya dalam sesi juga dapat diblokir, hingga developer menghapus prompt yang diblokir |

390| `all_messages` | Pesan `user` dan `assistant` | Sama seperti `user_messages` |

391| `all_messages_and_system` | System prompt dan setiap pesan, termasuk [pesan sistem di tengah percakapan](https://code.claude.com/docs/id/llm-gateway-protocol.md#feature-pass-through) | Sama seperti `user_messages` |

392 

393Dengan `last_message`, jika pesan `user` sejak balasan terakhir Claude tidak berisi teks untuk ditandai, gateway menandai pesan sistem di tengah percakapan sejak balasan tersebut. Panggilan tool dihitung sebagai balasan.

394 

395Panduan Amazon Bedrock untuk filter prompt attacks adalah [menandai input pengguna sehingga system prompt dikecualikan](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-prompt-attack.html). Jika Anda mengatur `all_messages_and_system`, filter yang menandai system prompt Claude Code sendiri dapat memblokir permintaan.

396 

397Contoh di bawah menandai teks di setiap pesan `user`:

398 

399```yaml theme={null}

400upstreams:

401 - provider: bedrock

402 region: us-east-1

403 auth: {}

404 guardrail:

405 id: gr-abc123

406 version: "1"

407 input_tagging: user_messages

408```

409 

410Pesan `user` juga dapat berisi teks yang ditambahkan Claude Code, seperti [system reminder](https://code.claude.com/docs/id/glossary.md#system-reminder), jadi periksa di gateway uji bahwa permintaan biasa tidak diblokir.

411 

412Dalam pengujian Anthropic, sesi yang ditandai mempertahankan pembacaan [prompt cache](https://code.claude.com/docs/id/prompt-caching.md) dari satu prompt ke prompt berikutnya, dan tag tidak menambahkan token input.

413 

414##### Yang tidak dicakup tag input

415 

416Tidak ada nilai `input_tagging` yang menghentikan developer yang dengan sengaja menempatkan teks di tempat yang tidak diberi tag. Jangan mengandalkan guardrail untuk mengevaluasi bagian-bagian permintaan berikut:

417 

418* **Konten yang tidak ditandai gateway**: pesan yang tidak dicakup nilai `input_tagging` Anda, definisi tool, input panggilan tool, gambar, dan PDF, di antaranya. Kecuali Anda mengatur `all_messages_and_system`, system prompt juga tidak ditandai.

419* **Hasil tool**: berisi apa yang dikembalikan tool Claude, seperti isi file dan halaman web. Dalam pengujian Anthropic, filter kata tidak mengevaluasinya, dengan atau tanpa tag.

420 

421Jika akun atau organisasi AWS Anda memberlakukan guardrail, lihat [dokumentasi Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-enforcements.html) untuk cara guardrail tersebut memperlakukan tag input.

422 

423##### Mencatat filter guardrail mana yang terpicu

424 

425Untuk mengetahui filter guardrail Amazon Bedrock mana yang memblokir permintaan developer, atur `guardrail_trace: true` pada upstream Bedrock, restart gateway, dan minta developer mengirim permintaan lagi. Kemudian temukan event `guardrail.trace` permintaan tersebut di [log audit](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#logs). Memerlukan Claude Code v2.1.314 atau yang lebih baru di server gateway. Gateway yang lebih lama menolak untuk mulai saat menemukan `guardrail_trace`.

426 

427```yaml theme={null}

428upstreams:

429 - provider: bedrock

430 region: us-east-1

431 auth: {}

432 guardrail:

433 id: gr-abc123

434 version: "1"

435 guardrail_trace: true # default false; beside guardrail, not inside it

436```

437 

438Gateway menulis event `guardrail.trace`, tanpa teks yang cocok, saat filter terpicu atau tindakan guardrail adalah `INTERVENED`. Temukan event developer berdasarkan `email` atau `sub`. Satu permintaan streaming dapat menghasilkan beberapa event, dan salah satunya dapat memiliki daftar `filters` kosong, jadi baca setiap event yang memiliki `request_id` yang sama:

439 

440| Field | Isinya |

441| - | - |

442| `request_id` | ID permintaan |

443| `sub`, `email` | ID pengguna dan email developer |

444| `upstream` | Upstream asal balasan |

445| `action` | Tindakan guardrail, seperti `INTERVENED` |

446| `filters` | Filter yang terpicu. Daftar kosong jika AWS tidak mengirimkan detail filter |

447| `filters[].side` | `input` atau `output` |

448| `filters[].guardrail` | ID guardrail |

449| `filters[].policy` | Kebijakan dan daftar Bedrock, seperti `contentPolicy.filters` atau `sensitiveInformationPolicy.piiEntities` |

450| Field `filters[]` lainnya | Entri juga dapat membawa field seperti `action`, `name`, `type`, `confidence`, `filterStrength`, `score`, dan `threshold` |

451 

452Event tidak menyertakan teks yang dicocokkan filter, termasuk field `match` dari trace Bedrock. Developer tidak menerima data trace Bedrock, karena gateway menghapusnya dari setiap balasan, baik streaming maupun tidak.

453 

454Jika klien mengirim field `amazon-bedrock-*` dalam body permintaan `/v1/messages`, gateway menjawab 400 pada upstream yang mengatur `guardrail_trace`.

455 

376##### Bedrock di akun AWS lain456##### Bedrock di akun AWS lain

377 457 

378Atur `assume_role` pada upstream Bedrock dan gateway menggunakan identitas AWS-nya sendiri hanya untuk memanggil `sts:AssumeRole` pada role yang Anda sebutkan, yang dapat berada di akun AWS yang berbeda dari gateway. Setiap permintaan Bedrock dari upstream tersebut ditandatangani dengan kredensial satu jam yang dikembalikan STS, sehingga tidak ada access key berumur panjang yang melintasi akun.458Atur `assume_role` pada upstream Bedrock dan gateway menggunakan identitas AWS-nya sendiri hanya untuk memanggil `sts:AssumeRole` pada role yang Anda sebutkan, yang dapat berada di akun AWS yang berbeda dari gateway. Setiap permintaan Bedrock dari upstream tersebut ditandatangani dengan kredensial satu jam yang dikembalikan STS, sehingga tidak ada access key berumur panjang yang melintasi akun.


415* Jika STS menolak atau tidak dapat dijangkau, gateway tidak mengirim permintaan dengan kredensial milik upstream sendiri. Gateway mencatat error STS beserta apa yang perlu diperiksa, lalu mencoba upstream berikutnya yang Anda cantumkan. [Pesan error upstream](#upstream-error-messages) menjelaskan apa yang diterima klien ketika tidak ada upstream yang berhasil. Upstream berikutnya tanpa `assume_role` akan melayani permintaan dengan kredensialnya sendiri, jadi cantumkan upstream seperti itu hanya jika memang itu yang Anda inginkan.495* Jika STS menolak atau tidak dapat dijangkau, gateway tidak mengirim permintaan dengan kredensial milik upstream sendiri. Gateway mencatat error STS beserta apa yang perlu diperiksa, lalu mencoba upstream berikutnya yang Anda cantumkan. [Pesan error upstream](#upstream-error-messages) menjelaskan apa yang diterima klien ketika tidak ada upstream yang berhasil. Upstream berikutnya tanpa `assume_role` akan melayani permintaan dengan kredensialnya sendiri, jadi cantumkan upstream seperti itu hanya jika memang itu yang Anda inginkan.

416* Gateway memanggil endpoint STS regional `sts.<region>.amazonaws.com`, yang harus dapat dijangkau jaringannya. Untuk endpoint FIPS, atur `AWS_USE_FIPS_ENDPOINT=true` di lingkungan gateway alih-alih `use_fips_endpoint` di file konfigurasi AWS.496* Gateway memanggil endpoint STS regional `sts.<region>.amazonaws.com`, yang harus dapat dijangkau jaringannya. Untuk endpoint FIPS, atur `AWS_USE_FIPS_ENDPOINT=true` di lingkungan gateway alih-alih `use_fips_endpoint` di file konfigurasi AWS.

417* `assume_role` hanya berlaku untuk `provider: bedrock` dan memerlukan kredensial sumber SigV4: gateway menolak untuk dimulai ketika diatur bersama `aws_bearer_token`.497* `assume_role` hanya berlaku untuk `provider: bedrock` dan memerlukan kredensial sumber SigV4: gateway menolak untuk dimulai ketika diatur bersama `aws_bearer_token`.

418* Setiap developer yang diterima gateway dapat menggunakan upstream ini; [`managed`](#managed) mengatur developer mana yang boleh menggunakan model mana. Agar model yang dilayani melalui role ini tidak juga dilayani dari akun lain, berikan model tersebut id kustom yang map `upstream_model`-nya hanya berisi nama upstream ini. Untuk id seperti itu gateway melewati setiap upstream lain, sehingga baik permintaan maupun penghitungan token untuk permintaan yang dibatalkan tidak dapat failover ke akun lain. Permintaan untuk nama model bawaan masih dapat [mencapai upstream ini](#multiple-upstreams), dan gateway menandatanganinya dengan role yang sama. Cantumkan upstream ini paling akhir kecuali akunnya juga harus melayani model-model tersebut.498* Tanpa [daftar `groups`](#send-each-team-to-its-own-upstream), setiap developer yang diizinkan gateway dapat menggunakan upstream ini. Untuk membatasi model mana yang dapat digunakan developer, atur `availableModels` dalam kebijakan [`managed`](#managed).

499* Agar model yang dilayani melalui role tersebut tidak juga dilayani dari akun lain, berikan id kustom yang peta `upstream_model`-nya hanya berisi nama upstream ini. Untuk id seperti itu, gateway melewati setiap upstream lain, sehingga baik permintaan maupun penghitungan token untuk permintaan yang dibatalkan tidak dapat melakukan failover ke akun lain.

500* Permintaan untuk nama model bawaan masih dapat [mencapai upstream ini](#multiple-upstreams), dan gateway menandatanganinya dengan role yang sama. Cantumkan upstream ini paling akhir kecuali akunnya juga harus melayani model-model tersebut.

419 501 

420Contoh ini memberi satu model id kustom yang hanya dilayani oleh upstream terisolasi:502Contoh ini memberi satu model id kustom yang hanya dilayani oleh upstream terisolasi:

421 503 


627 709 

628`429` adalah kapasitas per upstream, sehingga habisnya provisioned-throughput (PT) memicu failover ke on-demand. Jika Anda mengatur [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run) pada sebuah upstream, `429` untuk permintaan yang membawa email developer justru merupakan penolakan per pengguna dan tidak memicu failover.710`429` adalah kapasitas per upstream, sehingga habisnya provisioned-throughput (PT) memicu failover ke on-demand. Jika Anda mengatur [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run) pada sebuah upstream, `429` untuk permintaan yang membawa email developer justru merupakan penolakan per pengguna dan tidak memicu failover.

629 711 

630Setiap permintaan dimulai dari upstream pertama. Sebuah permintaan mencapai upstream berikutnya hanya ketika setiap upstream sebelumnya telah gagal atau tidak melayani model yang diminta.712Sebuah permintaan melewati suatu upstream hanya dalam kasus-kasus berikut:

713 

714* Upstream tersebut gagal

715* Upstream tersebut tidak melayani model yang diminta

716* Upstream tersebut memiliki [daftar `groups`](#send-each-team-to-its-own-upstream) yang tidak mencakup developer tersebut

631 717 

632Gateway tidak menyimpan catatan upstream yang gagal, sehingga selama sebuah upstream mati, setiap permintaan yang mencapainya tetap mencobanya dan menunggu hingga gagal sebelum melanjutkan.718Gateway tidak menyimpan catatan upstream yang gagal, sehingga selama sebuah upstream mati, setiap permintaan yang mencapainya tetap mencobanya dan menunggu hingga gagal sebelum melanjutkan.

633 719 


680| - | - |766| - | - |

681| Region berbeda | Satu upstream Amazon Bedrock per region, masing-masing dengan `region:` sendiri. Dengan [`auto_include_builtin_models: true`](#models) inference profile lintas region dirutekan secara otomatis; untuk deployment yang disematkan ke region gunakan blok `models:`. |767| Region berbeda | Satu upstream Amazon Bedrock per region, masing-masing dengan `region:` sendiri. Dengan [`auto_include_builtin_models: true`](#models) inference profile lintas region dirutekan secara otomatis; untuk deployment yang disematkan ke region gunakan blok `models:`. |

682| Akun berbeda | Satu upstream Amazon Bedrock per akun. Rantai default (`auth: {}`) menggunakan identitas pod; untuk akun kedua, tambahkan [`assume_role`](#bedrock-in-another-aws-account) untuk menjangkaunya dengan kredensial berumur pendek, atau atur kredensial eksplisit atau bearer token di `auth:`. |768| Akun berbeda | Satu upstream Amazon Bedrock per akun. Rantai default (`auth: {}`) menggunakan identitas pod; untuk akun kedua, tambahkan [`assume_role`](#bedrock-in-another-aws-account) untuk menjangkaunya dengan kredensial berumur pendek, atau atur kredensial eksplisit atau bearer token di `auth:`. |

769| Tim berbeda | Berikan daftar `groups` pada upstream setiap tim, sehingga hanya developer dalam grup IdP tersebut yang dapat menjangkaunya. Lihat [Kirim setiap tim ke upstream-nya sendiri](#send-each-team-to-its-own-upstream). |

683| Provisioned throughput | Petakan model ke ARN provisioned-throughput di `models:` untuk nama upstream tersebut. Upstream lain tetap menggunakan ID on-demand, sehingga kapasitas PT habis sebelum failover. |770| Provisioned throughput | Petakan model ke ARN provisioned-throughput di `models:` untuk nama upstream tersebut. Upstream lain tetap menggunakan ID on-demand, sehingga kapasitas PT habis sebelum failover. |

684| Endpoint VPC / FIPS | Atur `base_url:` pada upstream ke URL endpoint VPC atau endpoint FIPS Anda |771| Endpoint VPC / FIPS | Atur `base_url:` pada upstream ke URL endpoint VPC atau endpoint FIPS Anda |

685| Perutean yang dibatasi per model | Hanya `id` model kustom, yaitu yang bukan model Claude bawaan, yang melewati upstream yang tidak ada di map `upstream_model:`-nya. Upstream `mantle` hanya dicoba untuk model yang tercantum di [field `models`](#amazon-bedrock-mantle-endpoint)-nya. Pada setiap upstream lainnya gateway mencoba model bawaan secara berurutan dan menggunakan ID default penyedia ketika map tidak memiliki entri, sehingga untuk model bawaan map mengubah ID mana yang diterima upstream alih-alih apakah upstream dicoba; upstream yang menolak ID tersebut mengikuti [aturan failover](#upstreams) yang sama seperti error upstream lainnya. |772| Perutean berbasis model | `id` model kustom, yaitu yang bukan model Claude bawaan, melewati upstream yang tidak ada dalam peta `upstream_model:`-nya. Upstream dengan daftar `models`, yang wajib dimiliki oleh [upstream `mantle`](#amazon-bedrock-mantle-endpoint), hanya dicoba untuk model-model tersebut. |

773| Perutean model bawaan | Pada upstream tanpa daftar `models` atau `groups`, gateway mencoba model bawaan secara berurutan dan menggunakan ID default penyedia jika peta `upstream_model:` tidak memiliki entri. Untuk model bawaan yang memiliki ID default dari penyedia, peta tersebut mengubah ID mana yang diterima upstream, bukan apakah upstream tersebut dicoba. Upstream yang menolak ID tersebut mengikuti [aturan failover](#upstreams) yang sama seperti error upstream lainnya. |

686 774 

687Failover antar penyedia cloud, atau ke Anthropic API langsung, mengubah perjanjian, wilayah geografis, dan ketentuan lain yang mengatur permintaan tersebut.775Failover antar penyedia cloud, atau ke Anthropic API langsung, mengubah perjanjian, wilayah geografis, dan ketentuan lain yang mengatur permintaan tersebut.

688 776 

689CLI menerapkan pembatasan fitur yang sama pada gateway terlepas dari upstream mana yang melayani permintaan tertentu, sehingga secara default failover tidak mengirim field body yang akan ditolak oleh upstream. Jika Anda mengatur [TTL cache satu jam](#one-hour-prompt-cache) dalam sebuah kebijakan, pengaturan tersebut dikirim ke setiap upstream dalam daftar, jadi atur hanya jika semua upstream menerimanya.777CLI menerapkan pembatasan fitur yang sama pada gateway terlepas dari upstream mana yang melayani permintaan tertentu, sehingga secara default failover tidak mengirim field body yang akan ditolak oleh upstream. Jika Anda mengatur [TTL cache satu jam](#one-hour-prompt-cache) dalam sebuah kebijakan, pengaturan tersebut dikirim ke setiap upstream dalam daftar, jadi atur hanya jika semua upstream menerimanya.

690 778 

779#### Kirim setiap tim ke upstream-nya sendiri

780 

781Untuk mengirim permintaan setiap tim ke akun AWS atau proyek Google Cloud-nya sendiri, cantumkan satu upstream per tim dan berikan masing-masing daftar `groups`. Hanya developer dalam grup IdP yang tercantum yang dapat menjangkau upstream tersebut, baik pada percobaan pertama maupun saat [failover](#multiple-upstreams). Setiap penyedia menerima `groups`. Memerlukan Claude Code v2.1.314 atau yang lebih baru pada server gateway.

782 

783Contoh ini memberikan masing-masing satu akun AWS kepada grup `payments-eng` dan `search-eng`, serta menambahkan upstream tanpa daftar `groups` yang dapat digunakan oleh setiap developer:

784 

785```yaml theme={null}

786upstreams:

787 - name: bedrock-payments

788 provider: bedrock

789 region: us-east-1

790 auth: {}

791 assume_role:

792 role_arn: arn:aws:iam::111111111111:role/claude-gateway-bedrock

793 groups: [payments-eng]

794 - name: bedrock-search

795 provider: bedrock

796 region: us-east-1

797 auth: {}

798 assume_role:

799 role_arn: arn:aws:iam::222222222222:role/claude-gateway-bedrock

800 groups: [search-eng]

801 - name: bedrock-shared # no groups: open to everyone, so listed last

802 provider: bedrock

803 region: us-east-1

804 auth: {}

805```

806 

807Dengan konfigurasi contoh tersebut, permintaan setiap developer dimulai dari upstream pertama pada barisnya dan berpindah ke upstream berikutnya saat failover:

808 

809| Grup developer | Upstream, secara berurutan |

810| - | - |

811| `payments-eng` | `bedrock-payments`, lalu `bedrock-shared` |

812| `search-eng` | `bedrock-search`, lalu `bedrock-shared` |

813| `payments-eng` dan `search-eng` | `bedrock-payments`, lalu `bedrock-search`, lalu `bedrock-shared` |

814| Tidak keduanya | `bedrock-shared` |

815 

816Ketika upstream suatu tim menolak model yang diminta dengan `403`, gateway mencoba upstream berikutnya pada baris tim tersebut yang melayani model itu. Untuk mempertahankan tim pada satu upstream, berikan daftar `groups` pada setiap upstream, dan pastikan tidak ada upstream lain yang mencantumkan grup tempat developer tim tersebut berada. Tim tersebut kemudian tidak memiliki failover, dan permintaan dari developer yang tidak berada dalam grup mana pun yang tercantum akan [gagal dengan `400`](#what-happens-when-a-developer-is-in-no-listed-group).

817 

818Agar setiap developer mencapai upstream yang Anda maksud, tulis entri yang cocok secara persis dan letakkan upstream terbuka di posisi terakhir:

819 

820* **Entri**: tulis setiap grup persis seperti yang dikirim IdP Anda dalam [klaim groups](#oidc), yang juga dibaca oleh [`match.groups`](#managed). Gateway menolak untuk dimulai ketika menemukan daftar kosong atau entri kosong. Gateway tidak memeriksa entri terhadap IdP Anda, sehingga entri yang tidak cocok dengan siapa pun tidak memunculkan peringatan.

821* **Urutan**: letakkan upstream yang tidak memiliki daftar `groups` di posisi terakhir. Upstream tersebut melayani semua orang, sehingga jika dicantumkan lebih awal, upstream itu akan mengambil permintaan suatu tim sebelum upstream milik tim tersebut.

822 

823> [!WARNING]

824>

825> Gateway yang lebih lama dari v2.1.314 menolak untuk dimulai ketika menemukan `groups`, jadi tingkatkan versi setiap replika sebelum Anda menambahkannya.

826>

827> Sebelum Anda melakukan rollback, hapus setiap upstream yang memiliki daftar `groups` beserta setiap kunci `upstream_model` atau override harga yang menyebutnya, dan pertahankan setidaknya satu upstream. Jika hanya kunci `groups` yang dihapus, upstream tersebut terbuka bagi setiap developer. Kunci atau override yang masih menyebut upstream yang telah dihapus akan mencegah gateway dimulai, dengan `references unknown upstream`.

828 

829##### Apa yang terjadi ketika developer tidak berada dalam grup mana pun yang tercantum

830 

831Jika setiap upstream memiliki daftar `groups`, developer yang tidak berada dalam grup mana pun tersebut akan melihat error ini, dan gateway tidak menghubungi penyedia mana pun:

832 

833```text theme={null}

834API Error: 400 you aren't in a group that can use this gateway. Ask your administrator to add you to one

835```

836 

837Tambahkan developer tersebut ke grup yang tercantum di IdP Anda, atau tambahkan upstream tanpa daftar `groups`.

838 

839Gateway membaca ulang grup developer pada setiap refresh token. Jika IdP Anda tidak menyertakan grup dalam refresh, developer tersebut kemudian tidak memiliki grup:

840 

841* **[`oidc.allowed_groups`](#oidc) diatur**: gateway menolak refresh, dan sesi berakhir

842* **Jika tidak, dan ada upstream tanpa daftar `groups`**: permintaan developer berpindah ke upstream tersebut

843* **Jika tidak, dan setiap upstream memiliki daftar `groups`**: permintaan developer gagal dengan error tersebut

844 

845Jika endpoint userinfo IdP Anda mengembalikan klaim groups dan `oidc.google_groups` tidak diatur, atur [`oidc.userinfo_fallback`](#oidc) ke `true` untuk mengisi grup dari sana.

846 

691## Bagian opsional847## Bagian opsional

692 848 

693### `admin`849### `admin`


782 938 

783#### Mengirim tarif ke klien yang sudah masuk939#### Mengirim tarif ke klien yang sudah masuk

784 940 

785Dengan v2.1.268 atau yang lebih baru di server gateway, gateway juga memasukkan tarif dari `pricing` ke dalam kebijakan [`managed`](#managed) yang dilayaninya, sebagai pengaturan terkelola [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing). Developer yang cocok dengan suatu kebijakan kemudian melihat tarif `pricing` untuk upstream pertama yang melayani setiap ID model di `/usage`, baris status, dan OpenTelemetry. Developer yang tidak cocok dengan kebijakan apa pun tidak menerima pengaturan terkelola, sehingga angka mereka tetap pada harga daftar. Klien menerapkan pengaturan ini di Claude Code v2.1.242 atau yang lebih baru.941Dengan v2.1.268 atau yang lebih baru di server gateway, gateway juga memasukkan tarif dari `pricing` ke dalam kebijakan [`managed`](#managed) yang dilayaninya, sebagai pengaturan terkelola [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing).

942 

943Pengembang yang cocok dengan suatu kebijakan kemudian melihat tarif `pricing` di `/usage`, baris status, dan OpenTelemetry. Pengembang yang tidak cocok dengan kebijakan mana pun tidak menerima pengaturan terkelola, sehingga angka mereka tetap pada harga daftar. Klien menerapkan pengaturan ini di Claude Code v2.1.242 atau yang lebih baru.

786 944 

787* Apa yang ditambahkan gateway: kecuali blok `cli` suatu kebijakan sudah menyetel `modelPricing`, gateway menambahkan `multiplier` dan, untuk setiap ID model yang dapat diminta klien, baris override dari upstream pertama yang melayani ID tersebut. Tarif yang hanya dikenakan oleh upstream failover tetap di gateway.945* Apa yang ditambahkan gateway: kecuali blok `cli` suatu kebijakan sudah menyetel `modelPricing`, gateway menambahkan `multiplier` dan, untuk setiap ID model yang dapat diminta klien, baris override dari upstream pertama yang melayani ID tersebut. Tarif yang hanya dikenakan oleh upstream failover tetap di gateway.

946* Upstream dengan [daftar `groups`](#send-each-team-to-its-own-upstream): ketika salah satunya merupakan upstream pertama yang melayani suatu ID model, gateway tidak menambahkan baris untuk ID tersebut. Pengembang kemudian melihat tarif Claude Code sendiri untuk ID tersebut, yaitu tarif standar model ketika Claude Code mengenali ID tersebut, dikalikan `multiplier`.

788* Mengecualikan satu kebijakan: setel `modelPricing` ke `{}` di blok `cli` kebijakan tersebut, dan developer-nya tetap pada harga daftar.947* Mengecualikan satu kebijakan: setel `modelPricing` ke `{}` di blok `cli` kebijakan tersebut, dan developer-nya tetap pada harga daftar.

789* Mempertahankan tarif milik kebijakan: kebijakan yang blok `cli`-nya menyetel `modelPricing` dengan `multiplier` atau `overrides` sendiri mempertahankan `modelPricing` tersebut secara utuh, dan gateway tidak menambahkan tarifnya sendiri ke dalamnya.948* Mempertahankan tarif milik kebijakan: kebijakan yang blok `cli`-nya menyetel `modelPricing` dengan `multiplier` atau `overrides` sendiri mempertahankan `modelPricing` tersebut secara utuh, dan gateway tidak menambahkan tarifnya sendiri ke dalamnya.

790 949 


808 967 

809### `managed`968### `managed`

810 969 

811Blok `managed` mendefinisikan kebijakan akses berbasis peran yang didasarkan pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; kecocokan pertama dipilih, lalu digabungkan ke dasar catch-all `match: {}`. Kebijakan dilayani per pengguna di `GET /managed/settings` dengan caching ETag/304.970Blok `managed` mendefinisikan kebijakan akses berbasis peran yang dikunci pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; secara default kecocokan pertama yang dipilih, lalu digabungkan ke basis catch-all `match: {}`. Pengguna yang cocok dengan dua kebijakan peran hanya mendapatkan yang pertama, sehingga aturan deny dari kebijakan kedua tidak berlaku kecuali Anda [menerapkan setiap kebijakan yang cocok](#apply-every-matching-policy). Kebijakan dilayani per pengguna di `GET /managed/settings` dengan caching ETag/304.

812 971 

813```yaml theme={null}972```yaml theme={null}

814managed:973managed:


849 1008 

850Pengguna terautentikasi yang tidak cocok dengan kebijakan apa pun mendapatkan default gateway, yang berarti setiap model dalam katalog dan tanpa pengaturan terkelola. Tambahkan catch-all `match: {}` di akhir jika Anda menginginkan kebijakan default yang terjamin.1009Pengguna terautentikasi yang tidak cocok dengan kebijakan apa pun mendapatkan default gateway, yang berarti setiap model dalam katalog dan tanpa pengaturan terkelola. Tambahkan catch-all `match: {}` di akhir jika Anda menginginkan kebijakan default yang terjamin.

851 1010 

1011Letakkan aturan deny di seluruh organisasi dalam kebijakan `match: {}`, karena aturan kebijakan grup hanya berlaku selama token pengguna membawa grup tersebut.

1012 

852> [!NOTE]1013> [!NOTE]

853>1014>

854> Gateway tidak menyimpan direktori pengguna sendiri. Gateway mengotorisasi setiap permintaan dari token IdP pengguna, membaca keanggotaan grup dari klaim `groups` token dan mengevaluasi kebijakan terhadapnya. Tidak ada daftar pengguna untuk dienumerasi dan tidak ada akun untuk dibuat sebelumnya, dan karena itu tidak ada endpoint SCIM, karena tidak ada yang perlu disinkronkan oleh SCIM.1015> Gateway tidak menyimpan direktori pengguna sendiri. Gateway mengotorisasi setiap permintaan dari token IdP pengguna, membaca keanggotaan grup dari klaim `groups` token dan mengevaluasi kebijakan terhadapnya. Tidak ada daftar pengguna untuk dienumerasi dan tidak ada akun untuk dibuat sebelumnya, dan karena itu tidak ada endpoint SCIM, karena tidak ada yang perlu disinkronkan oleh SCIM.


862>1023>

863> Claude Desktop mengikuti [jadwalnya sendiri](#when-a-policy-change-reaches-claude-desktop).1024> Claude Desktop mengikuti [jadwalnya sendiri](#when-a-policy-change-reaches-claude-desktop).

864 1025 

1026#### Menerapkan setiap kebijakan yang cocok

1027 

1028Pengguna yang cocok dengan beberapa kebijakan peran hanya mendapatkan yang pertama kecuali Anda mengatur `policy_mode: layered` di samping `policies`. Dengan `layered`, setiap kebijakan yang cocok dengan pengguna berlaku, hingga kebijakan `match: {}` pertama.

1029 

1030`policy_mode` memerlukan Claude Code v2.1.316 atau yang lebih baru di server gateway. Gateway pada versi yang tidak memilikinya menolak untuk mulai saat menemukan kunci tersebut. Tingkatkan setiap replika sebelum Anda menambahkan kunci, dan hapus kunci sebelum Anda melakukan rollback ke versi sebelumnya. Contoh ini memiliki satu grup yang kehilangan `WebFetch` dan satu grup yang mendapatkan Opus:

1031 

1032```yaml theme={null}

1033managed:

1034 policy_mode: layered

1035 policies:

1036 - match: { groups: [no-web] }

1037 cli:

1038 permissions: { deny: ["WebFetch"] }

1039 - match: { groups: [opus-users] }

1040 cli:

1041 availableModels: [opus, sonnet]

1042 - match: {}

1043 cli:

1044 availableModels: [sonnet]

1045 enforceAvailableModels: true

1046```

1047 

1048Tabel ini menunjukkan apa yang diterima pengguna yang berada di `no-web` dan `opus-users` dalam mode default, `first_match`, dan dalam `layered`.

1049 

1050| Pengaturan | `first_match` | `layered` |

1051| - | - | - |

1052| `availableModels` | `sonnet` | `opus`, `sonnet` |

1053| `enforceAvailableModels` | `true` | `true` |

1054| `permissions.deny` | `WebFetch` | `WebFetch` |

1055 

1056Gateway menggabungkan setiap kebijakan yang cocok ke kebijakan yang tercantum di bawahnya, dengan [aturan penggabungan](#managed) yang sama seperti lapisan basis:

1057 

1058* **Allowlist, nilai tunggal, dan blok seperti `sandbox`**: masing-masing diambil secara utuh dari kebijakan cocok yang tercantum pertama yang mengaturnya, sehingga daftar `availableModels` dari dua grup tidak dijumlahkan.

1059* **Daftar deny dan array hook**: ini dijumlahkan di seluruh kebijakan yang cocok, sehingga pengguna di dua grup mendapatkan aturan deny dari kedua grup.

1060* **`env`, `modelOverrides`, dan `skillOverrides`**: entri digabungkan berdasarkan nama, dan kebijakan cocok yang tercantum pertama yang mengatur suatu nama memberikan nilainya.

1061* **Kunci `desktop`**: ini digabungkan berdasarkan [aturan untuk blok `desktop` basis](#how-a-role-policy-inherits-the-base-desktop-block).

1062 

1063> [!WARNING]

1064>

1065> Kebijakan dapat dijumlahkan menjadi aturan yang lebih longgar daripada yang diberikan salah satunya saja. Misalnya, kebijakan `match: {}` mengatur `sandbox.enabled: true`, kebijakan satu grup mengatur `permissions.allow: ["Bash"]`, dan kebijakan grup lain mengatur `sandbox.enabled: false`. Pengguna di kedua grup menerima `Bash` yang diizinkan dengan sandbox nonaktif. Dalam kasus ini, cantumkan kebijakan yang mengizinkan `Bash` terlebih dahulu, dan salin seluruh blok `sandbox` dari kebijakan `match: {}` ke dalamnya.

1066 

1067Dengan `layered`, gateway menolak untuk mulai pada beberapa pengaturan, termasuk yang berikut:

1068 

1069* **Pola `!`**: [negasi `!`](https://code.claude.com/docs/id/permissions#special-characters-and-negation) dalam aturan `Read` atau `Edit` di daftar `permissions.deny` atau `permissions.ask` kebijakan mana pun, termasuk milik kebijakan `match: {}`

1070* **Batasan pada hook di luar catch-all**: `disableAllHooks`, `allowedHttpHookUrls`, atau `httpHookAllowedEnvVars` di kebijakan mana pun selain `match: {}`

1071 

865#### Memulai sesi pada model yang diizinkan kebijakan1072#### Memulai sesi pada model yang diizinkan kebijakan

866 1073 

867Jika `availableModels` tidak menyertakan model default Claude Code, sesi mendapatkan respons `400` hingga developer memilih model yang tercantum, misalnya dengan `/model`. Dalam sesi gateway, default-nya adalah model Opus yang dituju alias `opus`, dan `availableModels` saja tidak mengubahnya.1074Jika `availableModels` tidak menyertakan model default Claude Code, sesi mendapatkan respons `400` hingga developer memilih model yang tercantum, misalnya dengan `/model`. Dalam sesi gateway, default-nya adalah model Opus yang dituju alias `opus`, dan `availableModels` saja tidak mengubahnya.

Details

169 * `access.public_client` membawa IP klien dari permintaan pertama per proses yang tiba dari alamat publik sementara `access_control.allow_cidrs` kosong. Gateway melayani permintaan seperti biasa; acara menandakan bahwa gateway mungkin dapat dijangkau dari internet publik. Lihat [referensi `access_control`](https://code.claude.com/docs/id/claude-apps-gateway-config#http-tuning) untuk apa yang dihitung sebagai publik dan untuk daftar izin yang direkomendasikan.169 * `access.public_client` membawa IP klien dari permintaan pertama per proses yang tiba dari alamat publik sementara `access_control.allow_cidrs` kosong. Gateway melayani permintaan seperti biasa; acara menandakan bahwa gateway mungkin dapat dijangkau dari internet publik. Lihat [referensi `access_control`](https://code.claude.com/docs/id/claude-apps-gateway-config#http-tuning) untuk apa yang dihitung sebagai publik dan untuk daftar izin yang direkomendasikan.

170 * `inference` mencatat upstream mana yang melayani permintaan dan status respons170 * `inference` mencatat upstream mana yang melayani permintaan dan status respons

171 * `desktop_bootstrap.denied` mencatat pengambilan bootstrap Claude Desktop yang ditolak dengan alasan (`not_configured`, `policy_not_opted_in`, atau `no_policy_matched`) dan identitas pengguna171 * `desktop_bootstrap.denied` mencatat pengambilan bootstrap Claude Desktop yang ditolak dengan alasan (`not_configured`, `policy_not_opted_in`, atau `no_policy_matched`) dan identitas pengguna

172 * `guardrail.trace` mencatat [filter mana yang terpicu](https://code.claude.com/docs/id/claude-apps-gateway-config.md#log-which-guardrail-filter-fired), tanpa teks yang cocok

172 * `admin.denied` mencatat upaya autentikasi admin-API yang ditolak dengan IP klien, metode, jalur, dan alasan, tanpa materi kunci yang disajikan: `invalid_key` ketika `x-api-key` disajikan tetapi tidak cocok dengan kunci yang dikonfigurasi, `bearer_rejected` ketika hanya header `Authorization` yang disajikan dan tidak memverifikasi sebagai sesi gateway di `admin.admin_groups`, atau `no_credentials` ketika tidak ada header yang disajikan173 * `admin.denied` mencatat upaya autentikasi admin-API yang ditolak dengan IP klien, metode, jalur, dan alasan, tanpa materi kunci yang disajikan: `invalid_key` ketika `x-api-key` disajikan tetapi tidak cocok dengan kunci yang dikonfigurasi, `bearer_rejected` ketika hanya header `Authorization` yang disajikan dan tidak memverifikasi sebagai sesi gateway di `admin.admin_groups`, atau `no_credentials` ketika tidak ada header yang disajikan

173* **Log operasional**: baris yang dapat dibaca manusia dengan awalan `[gateway]` untuk boot, peringatan, dan kesalahan upstream. Variabel lingkungan `CLAUDE_GATEWAY_LOG_LEVEL` mengontrol verbositas dan menerima `debug`, `info`, `warn`, atau `error`, dengan `info` sebagai default. Pada `debug`, setiap sign-in dan refresh juga mencatat nama, bukan nilai, dari klaim dalam id\_token, ditambah nama klaim userinfo ketika `userinfo_fallback` menyediakan apa pun, sehingga Anda dapat mendiagnosis pengaturan `email_claim` dan `groups_claim` tanpa mencatat PII. Ini tidak mempengaruhi acara audit, yang selalu dipancarkan.174* **Log operasional**: baris yang dapat dibaca manusia dengan awalan `[gateway]` untuk boot, peringatan, dan kesalahan upstream. Variabel lingkungan `CLAUDE_GATEWAY_LOG_LEVEL` mengontrol verbositas dan menerima `debug`, `info`, `warn`, atau `error`, dengan `info` sebagai default. Pada `debug`, setiap sign-in dan refresh juga mencatat nama, bukan nilai, dari klaim dalam id\_token, ditambah nama klaim userinfo ketika `userinfo_fallback` menyediakan apa pun, sehingga Anda dapat mendiagnosis pengaturan `email_claim` dan `groups_claim` tanpa mencatat PII. Ini tidak mempengaruhi acara audit, yang selalu dipancarkan.

174 175 


311 312 

312Migrasi adalah append-only, jadi rollback ke biner sebelumnya yang mengetahui lebih sedikit migrasi aman; itu mengabaikan baris ekstra. Rollback juga memvalidasi ulang YAML terhadap skema biner yang lebih lama, jadi konfigurasi yang mengadopsi kunci yang diperkenalkan oleh rilis yang lebih baru gagal boot pada yang lebih lama. Hapus kunci baru sebelum rollback.313Migrasi adalah append-only, jadi rollback ke biner sebelumnya yang mengetahui lebih sedikit migrasi aman; itu mengabaikan baris ekstra. Rollback juga memvalidasi ulang YAML terhadap skema biner yang lebih lama, jadi konfigurasi yang mengadopsi kunci yang diperkenalkan oleh rilis yang lebih baru gagal boot pada yang lebih lama. Hapus kunci baru sebelum rollback.

313 314 

315> [!WARNING]

316>

317> Menghapus hanya kunci `groups` dari sebuah upstream membuatnya terbuka bagi setiap pengembang. Lihat [apa yang perlu dihapus sebelum Anda melakukan rollback](https://code.claude.com/docs/id/claude-apps-gateway-config.md#roll-back-a-gateway-that-uses-groups).

318 

314Karena Anda menyematkan versi gateway dalam gambar Anda sendiri, perbaikan dalam rilis Claude Code baru, termasuk perbaikan keamanan, mencapai penyebaran Anda hanya ketika Anda memperbarui pin dan menyebarkan ulang. Sertakan gateway dalam kadence patching yang sama yang Anda gunakan untuk layanan lain yang menyimpan kredensial produksi.319Karena Anda menyematkan versi gateway dalam gambar Anda sendiri, perbaikan dalam rilis Claude Code baru, termasuk perbaikan keamanan, mencapai penyebaran Anda hanya ketika Anda memperbarui pin dan menyebarkan ulang. Sertakan gateway dalam kadence patching yang sama yang Anda gunakan untuk layanan lain yang menyimpan kredensial produksi.

315 320 

316## Keamanan321## Keamanan


422| Pada beban puncak, respons lambat dimulai atau tampak hang, atau gagal dengan 502 `all upstreams failed` sementara upstream sehat | Replika memiliki lebih banyak permintaan terbuka daripada yang dikirimnya upstream sekaligus, jadi permintaan ekstra menunggu di dalam gateway. Pada upstream `provider: anthropic`, permintaan yang menunggu lebih lama dari `timeouts.upstream_ttfb_ms` menyerah pada upstream itu, yang menghasilkan 502 ketika tidak ada upstream yang melayaninya kemudian. Log menampilkan peringatan yang berisi `client requests are open`. | Tambahkan replika, atau naikkan batas pada setiap replika. Lihat [Permintaan upstream bersamaan](#concurrent-upstream-requests). |427| Pada beban puncak, respons lambat dimulai atau tampak hang, atau gagal dengan 502 `all upstreams failed` sementara upstream sehat | Replika memiliki lebih banyak permintaan terbuka daripada yang dikirimnya upstream sekaligus, jadi permintaan ekstra menunggu di dalam gateway. Pada upstream `provider: anthropic`, permintaan yang menunggu lebih lama dari `timeouts.upstream_ttfb_ms` menyerah pada upstream itu, yang menghasilkan 502 ketika tidak ada upstream yang melayaninya kemudian. Log menampilkan peringatan yang berisi `client requests are open`. | Tambahkan replika, atau naikkan batas pada setiap replika. Lihat [Permintaan upstream bersamaan](#concurrent-upstream-requests). |

423| Pada upstream selain `provider: anthropic`, giliran dengan jeda thinking yang panjang gagal. Proxy di depan gateway mencatat satu permintaan yang tetap terbuka sekitar 12,5 menit, lalu serangkaian kesalahan `504` | Claude Code mengakhiri stream yang telah mengirimkan peristiwa respons pertamanya lalu hanya membawa ping keepalive. Claude Code mengirim ulang permintaan tanpa streaming, dan setiap balasan memakan waktu lebih lama daripada timeout proxy. | Naikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk pengembang Anda. Lihat [Thinking panjang berakhir dengan timeout proxy](#long-thinking-ends-in-proxy-timeouts). |428| Pada upstream selain `provider: anthropic`, giliran dengan jeda thinking yang panjang gagal. Proxy di depan gateway mencatat satu permintaan yang tetap terbuka sekitar 12,5 menit, lalu serangkaian kesalahan `504` | Claude Code mengakhiri stream yang telah mengirimkan peristiwa respons pertamanya lalu hanya membawa ping keepalive. Claude Code mengirim ulang permintaan tanpa streaming, dan setiap balasan memakan waktu lebih lama daripada timeout proxy. | Naikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk pengembang Anda. Lihat [Thinking panjang berakhir dengan timeout proxy](#long-thinking-ends-in-proxy-timeouts). |

424| Pada `provider: anthropic`, giliran dengan jeda thinking yang panjang gagal. Proxy mencatat satu permintaan terbuka sekitar 20 menit, lalu kesalahan `502` atau `504` | Claude Code mengakhiri stream yang telah mengirimkan peristiwa respons pertamanya lalu hanya membawa ping keepalive. Claude Code mengirim ulang permintaan tanpa streaming, dan setiap balasan memakan waktu lebih lama daripada waktu tunggu gateway pada upstream, `timeouts.upstream_ttfb_ms`, atau timeout proxy. | Naikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk pengembang Anda. Lihat [Thinking panjang pada upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |429| Pada `provider: anthropic`, giliran dengan jeda thinking yang panjang gagal. Proxy mencatat satu permintaan terbuka sekitar 20 menit, lalu kesalahan `502` atau `504` | Claude Code mengakhiri stream yang telah mengirimkan peristiwa respons pertamanya lalu hanya membawa ping keepalive. Claude Code mengirim ulang permintaan tanpa streaming, dan setiap balasan memakan waktu lebih lama daripada waktu tunggu gateway pada upstream, `timeouts.upstream_ttfb_ms`, atau timeout proxy. | Naikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk pengembang Anda. Lihat [Thinking panjang pada upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |

430| Permintaan pengembang gagal dengan `API Error: 400 you aren't in a group that can use this gateway. Ask your administrator to add you to one` | Setiap upstream memiliki [daftar `groups`](https://code.claude.com/docs/id/claude-apps-gateway-config#what-happens-when-a-developer-is-in-no-listed-group), dan sesi pengembang tidak membawa satu pun grup yang tercantum. | Tambahkan pengembang ke grup yang tercantum di IdP Anda, atau cantumkan upstream tanpa `groups` di urutan terakhir untuk melayani semua orang lainnya. Gateway membaca grup lagi pada refresh token pengembang berikutnya. Jika IdP tidak menyertakan grup dan endpoint userinfo-nya mengembalikannya, atur [`oidc.userinfo_fallback: true`](https://code.claude.com/docs/id/claude-apps-gateway-config#oidc). |

425| Kesalahan IdP: unknown or unsupported scope | IdP menolak scope yang tidak dikenalinya | Atur `oidc.scopes` ke tepat daftar yang diterima IdP Anda; itu harus menyertakan `openid`. Default adalah `openid profile email offline_access`. |431| Kesalahan IdP: unknown or unsupported scope | IdP menolak scope yang tidak dikenalinya | Atur `oidc.scopes` ke tepat daftar yang diterima IdP Anda; itu harus menyertakan `openid`. Default adalah `openid profile email offline_access`. |

426| Sesi tidak secara diam-diam memperbarui setelah menetapkan `oidc.scopes` | `offline_access` dijatuhkan dari override | Tambahkan `offline_access` kembali jika IdP Anda mendukungnya. Tanpa token refresh, pengembang menjalankan kembali login browser setiap `session.ttl_hours`. |432| Sesi tidak secara diam-diam memperbarui setelah menetapkan `oidc.scopes` | `offline_access` dijatuhkan dari override | Tambahkan `offline_access` kembali jika IdP Anda mendukungnya. Tanpa token refresh, pengembang menjalankan kembali login browser setiap `session.ttl_hours`. |

427| Browser menampilkan "This request came from another site and was blocked" | POST formulir lintas situs, diblokir sebagai perlindungan CSRF. Diharapkan untuk halaman tertanam atau diproksi | Buka tautan verifikasi secara langsung |433| Browser menampilkan "This request came from another site and was blocked" | POST formulir lintas situs, diblokir sebagai perlindungan CSRF. Diharapkan untuk halaman tertanam atau diproksi | Buka tautan verifikasi secara langsung |


449* **`limits.max_request_header_bytes` diatur**: naikkan nilainya atau hapus kuncinya455* **`limits.max_request_header_bytes` diatur**: naikkan nilainya atau hapus kuncinya

450* **Tidak ada yang berlaku, atau `431` berlanjut setelahnya**: minta IdP Anda memancarkan lebih sedikit grup. [Penyiapan penyedia identitas](#identity-provider-setup) menjelaskan cara Okta, Microsoft Entra ID, dan Google Workspace menyediakan grup456* **Tidak ada yang berlaku, atau `431` berlanjut setelahnya**: minta IdP Anda memancarkan lebih sedikit grup. [Penyiapan penyedia identitas](#identity-provider-setup) menjelaskan cara Okta, Microsoft Entra ID, dan Google Workspace menyediakan grup

451 457 

452Saat Anda memangkas klaim grup, pertahankan grup yang Anda sebutkan dalam pengaturan berikut, yang menentukan akses, kebijakan, dan batas pengeluaran pengembang:458Saat Anda memangkas klaim grup, pertahankan grup yang Anda sebutkan dalam pengaturan berikut, yang menentukan akses, kebijakan, upstream, dan batas pengeluaran pengembang:

453 459 

454* **[`oidc.allowed_groups`](https://code.claude.com/docs/id/claude-apps-gateway-config#oidc)**: menentukan siapa yang dapat masuk460* **[`oidc.allowed_groups`](https://code.claude.com/docs/id/claude-apps-gateway-config#oidc)**: menentukan siapa yang dapat masuk

455* **[`admin.admin_groups`](https://code.claude.com/docs/id/claude-apps-gateway-config#admin)**: menentukan siapa yang dapat memanggil API admin dengan sesi gateway mereka461* **[`admin.admin_groups`](https://code.claude.com/docs/id/claude-apps-gateway-config#admin)**: menentukan siapa yang dapat memanggil API admin dengan sesi gateway mereka

456* **`match.groups` dalam [`managed.policies`](https://code.claude.com/docs/id/claude-apps-gateway-config#managed)**: menentukan kebijakan mana yang berlaku untuk pengembang462* **`match.groups` dalam [`managed.policies`](https://code.claude.com/docs/id/claude-apps-gateway-config#managed)**: menentukan kebijakan mana yang berlaku untuk pengembang

463* **`groups` pada [upstream](https://code.claude.com/docs/id/claude-apps-gateway-config.md#send-each-team-to-its-own-upstream)**: menentukan upstream mana yang melayani pengembang

457* **[Batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) `rbac_group`**: menentukan batas grup mana yang berlaku untuk pengembang464* **[Batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) `rbac_group`**: menentukan batas grup mana yang berlaku untuk pengembang

458 465 

459### Thinking panjang berakhir dengan timeout proxy466### Thinking panjang berakhir dengan timeout proxy

Details

620 620 

621Minta pengembang memberikan id tim tempat pekerjaan tersebut dilakukan, seperti `claude --model data-claude-opus-4-8`.621Minta pengembang memberikan id tim tempat pekerjaan tersebut dilakukan, seperti `claude --model data-claude-opus-4-8`.

622 622 

623Gateway menerapkan [kebijakan pertama yang cocok](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed), jadi pengembang yang hanya berada di dua grup tim mendapatkan kebijakan `team-platform`. Sesi mereka dengan id tim data gagal dengan `is not in your role's availableModels allowlist`, yang menyebutkan model default Claude Code dan bukan id yang mereka ketik. Jika Anda justru mencantumkan kedua grup tim dalam `groups` satu kebijakan, semua orang di kedua tim dapat menagih profil tim mana pun.623Secara default, gateway menerapkan [kebijakan pertama yang cocok](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed), jadi pengembang yang hanya berada di dua grup tim mendapatkan kebijakan `team-platform`. Sesi mereka dengan id tim data gagal dengan `is not in your role's availableModels allowlist`, yang menyebutkan model default Claude Code dan bukan id yang mereka ketik. Jika Anda justru mencantumkan kedua grup tim dalam `groups` satu kebijakan, semua orang di kedua tim dapat menagih profil tim mana pun.

624 624 

625Dalam [batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md#set-a-cap) gateway sendiri, pengembang memiliki satu total dan satu batas per periode, secara default batas terendah dari grup-grup mereka, id mana pun yang digunakan sesi. Agar batas yang lebih rendah dari satu tim tidak menghentikan pekerjaan untuk tim lainnya, atur batas per pengguna untuk pengembang tersebut.625Dalam [batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md#set-a-cap) gateway sendiri, pengembang memiliki satu total dan satu batas per periode, secara default batas terendah dari grup-grup mereka, id mana pun yang digunakan sesi. Agar batas yang lebih rendah dari satu tim tidak menghentikan pekerjaan untuk tim lainnya, atur batas per pengguna untuk pengembang tersebut.

626 626 

Details

99| `--init-only` | Jalankan hook [Setup](https://code.claude.com/docs/id/hooks.md#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |99| `--init-only` | Jalankan hook [Setup](https://code.claude.com/docs/id/hooks.md#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |

100| `--include-hook-events` | Sertakan peristiwa siklus hidup hook dalam aliran output. Peristiwa hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan bendera ini. Beberapa peristiwa hook, seperti `Notification`, `SessionEnd`, `PreCompact`, dan `PostCompact`, tidak pernah menghasilkan peristiwa `hook_started`, bahkan dengan bendera ini. Untuk peristiwa tersebut, Claude Code masih memancarkan `hook_progress` saat hook perintah yang berjalan lebih dari satu detik menghasilkan output, dan memancarkan `hook_response` hanya ketika [hook yang berjalan di latar belakang](https://code.claude.com/docs/id/hooks.md#run-hooks-in-the-background) selesai. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |100| `--include-hook-events` | Sertakan peristiwa siklus hidup hook dalam aliran output. Peristiwa hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan bendera ini. Beberapa peristiwa hook, seperti `Notification`, `SessionEnd`, `PreCompact`, dan `PostCompact`, tidak pernah menghasilkan peristiwa `hook_started`, bahkan dengan bendera ini. Untuk peristiwa tersebut, Claude Code masih memancarkan `hook_progress` saat hook perintah yang berjalan lebih dari satu detik menghasilkan output, dan memancarkan `hook_response` hanya ketika [hook yang berjalan di latar belakang](https://code.claude.com/docs/id/hooks.md#run-hooks-in-the-background) selesai. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

101| `--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"` |101| `--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"` |

102| `--input-format` | Tentukan format input untuk mode cetak (opsi: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |102| `--input-format` | Tentukan format input untuk mode cetak (opsi: `text`, `stream-json`) | `claude -p --input-format stream-json --output-format stream-json --verbose` |

103| `--json-schema` | Dapatkan output JSON yang divalidasi yang cocok dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [output terstruktur](https://code.claude.com/docs/id/agent-sdk/structured-outputs.md). Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |103| `--json-schema` | Dapatkan output JSON yang divalidasi yang cocok dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [output terstruktur](https://code.claude.com/docs/id/agent-sdk/structured-outputs.md). Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

104| `--maintenance` | Jalankan [hook Setup](https://code.claude.com/docs/id/hooks.md#setup) dengan pencocokan `maintenance` sebelum sesi (mode cetak saja) | `claude -p --maintenance "query"` |104| `--maintenance` | Jalankan [hook Setup](https://code.claude.com/docs/id/hooks.md#setup) dengan pencocokan `maintenance` sebelum sesi (mode cetak saja) | `claude -p --maintenance "query"` |

105| `--max-budget-usd` | Hentikan eksekusi setelah estimasi pengeluaran untuk panggilan API mencapai jumlah ini (mode cetak saja). Claude Code memeriksa batas ini terhadap [estimasi biaya sisi klien](https://code.claude.com/docs/id/agent-sdk/cost-tracking.md#estimates-not-billing), yang dapat berbeda dari tagihan Anda. Pengeluaran dari [subagent](https://code.claude.com/docs/id/sub-agents.md) dihitung terhadap batas. Pengeluaran dapat melewati batas, jadi [sisakan ruang](https://code.claude.com/docs/id/agent-sdk/agent-loop.md#budget-headroom). Ketika Anda kembali ke percakapan dengan `--continue` atau `--resume`, total yang [dipulihkan dari eksekusi sebelumnya](https://code.claude.com/docs/id/agent-sdk/cost-tracking.md#accumulate-costs-across-multiple-calls) tidak dihitung terhadapnya. Setelah pengeluaran mencapai batas, memunculkan subagent lain gagal dengan `Budget limit reached`, dan Claude Code menghentikan subagent latar belakang yang masih berjalan; perilaku penegakan batas ini memerlukan Claude Code v2.1.217 atau lebih baru | `claude -p --max-budget-usd 5.00 "query"` |105| `--max-budget-usd` | Hentikan eksekusi setelah estimasi pengeluaran untuk panggilan API mencapai jumlah ini (mode cetak saja). Claude Code memeriksa batas ini terhadap [estimasi biaya sisi klien](https://code.claude.com/docs/id/agent-sdk/cost-tracking.md#estimates-not-billing), yang dapat berbeda dari tagihan Anda. Pengeluaran dari [subagent](https://code.claude.com/docs/id/sub-agents.md) dihitung terhadap batas. Pengeluaran dapat melewati batas, jadi [sisakan ruang](https://code.claude.com/docs/id/agent-sdk/agent-loop.md#budget-headroom). Ketika Anda kembali ke percakapan dengan `--continue` atau `--resume`, total yang [dipulihkan dari eksekusi sebelumnya](https://code.claude.com/docs/id/agent-sdk/cost-tracking.md#accumulate-costs-across-multiple-calls) tidak dihitung terhadapnya. Setelah pengeluaran mencapai batas, memunculkan subagent lain gagal dengan `Budget limit reached`, dan Claude Code menghentikan subagent latar belakang yang masih berjalan; perilaku penegakan batas ini memerlukan Claude Code v2.1.217 atau lebih baru | `claude -p --max-budget-usd 5.00 "query"` |

106| `--max-turns` | Batasi jumlah putaran agentic (mode cetak saja). Keluar dengan kesalahan ketika batas tercapai. Tidak ada batas secara default. Dengan `--input-format stream-json`, pesan yang masih antri ketika batas mengakhiri putaran tetap antri dan memulai putaran baru dengan batasnya sendiri | `claude -p --max-turns 3 "query"` |106| `--max-turns` | Batasi jumlah giliran agentic (mode cetak saja). Tidak ada batas secara default. Dengan `--input-format stream-json`, pesan yang masih dalam antrean ketika batas mengakhiri giliran tetap dalam antrean dan memulai giliran baru dengan batasnya sendiri | `claude -p --max-turns 3 "query"` |

107| `--mcp-config` | Muat server MCP dari file atau string JSON (dipisahkan spasi). Ketika Anda meneruskan flag ini dengan `-p`, Claude Code menunggu server yang masih tertunda untuk terhubung sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), 30 detik secara default; server dengan [daftar tool yang di-cache](https://code.claude.com/docs/id/mcp.md#managing-your-servers) melewati penantian dan terhubung saat penggunaan pertama. Di [lingkungan yang dihosting sendiri](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#connection-timing), penantian yang lebih singkat berlaku sebagai gantinya. Penantian ini memerlukan Claude Code v2.1.221 atau lebih baru | `claude --mcp-config ./mcp.json` |107| `--mcp-config` | Muat server MCP dari file atau string JSON (dipisahkan spasi). Ketika Anda meneruskan flag ini dengan `-p`, Claude Code menunggu server yang masih tertunda untuk terhubung sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), 30 detik secara default; server dengan [daftar tool yang di-cache](https://code.claude.com/docs/id/mcp.md#managing-your-servers) melewati penantian dan terhubung saat penggunaan pertama. Di [lingkungan yang dihosting sendiri](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#connection-timing), penantian yang lebih singkat berlaku sebagai gantinya. Penantian ini memerlukan Claude Code v2.1.221 atau lebih baru | `claude --mcp-config ./mcp.json` |

108| `--model` | Menetapkan model untuk sesi saat ini dengan [alias model](https://code.claude.com/docs/id/model-config.md#model-aliases) seperti `sonnet`, `opus`, `haiku`, atau `fable`, atau nama lengkap model. Menimpa pengaturan [`model`](https://code.claude.com/docs/id/settings-reference#model) dan [`ANTHROPIC_MODEL`](https://code.claude.com/docs/id/model-config#environment-variables) | `claude --model claude-sonnet-5` |108| `--model` | Menetapkan model untuk sesi saat ini dengan [alias model](https://code.claude.com/docs/id/model-config.md#model-aliases) seperti `sonnet`, `opus`, `haiku`, atau `fable`, atau nama lengkap model. Menimpa pengaturan [`model`](https://code.claude.com/docs/id/settings-reference#model) dan [`ANTHROPIC_MODEL`](https://code.claude.com/docs/id/model-config#environment-variables) | `claude --model claude-sonnet-5` |

109| `--name`, `-n` | Atur nama tampilan untuk sesi, ditampilkan di `/resume` dan judul terminal. Anda dapat melanjutkan sesi bernama dengan `claude --resume <name>`. [`/rename`](https://code.claude.com/docs/id/commands) mengubah nama di tengah sesi dan juga menampilkannya di bilah prompt | `claude -n "my-feature-work"` |109| `--name`, `-n` | Atur nama tampilan untuk sesi, ditampilkan di `/resume` dan judul terminal. Anda dapat melanjutkan sesi bernama dengan `claude --resume <name>`. [`/rename`](https://code.claude.com/docs/id/commands) mengubah nama di tengah sesi dan juga menampilkannya di bilah prompt | `claude -n "my-feature-work"` |

Details

335| **C/C++** | GCC, Clang, cmake, ninja, conan |335| **C/C++** | GCC, Clang, cmake, ninja, conan |

336| **Docker** | docker, dockerd, docker compose |336| **Docker** | docker, dockerd, docker compose |

337| **Databases** | PostgreSQL 16, Redis 7.0 |337| **Databases** | PostgreSQL 16, Redis 7.0 |

338| **Browser** | Chrome for Testing di `/usr/bin/google-chrome`, dengan environment variable `CHROME_PATH` yang ditetapkan ke path tersebut |

338| **Utilities** | git, gh, jq, yq, ripgrep, tmux, vim, nano |339| **Utilities** | git, gh, jq, yq, ripgrep, tmux, vim, nano |

339 340 

340¹ Bun diinstal tetapi memiliki [masalah kompatibilitas proxy](#install-dependencies-with-a-sessionstart-hook) yang diketahui untuk pengambilan paket.341¹ Bun diinstal tetapi memiliki [masalah kompatibilitas proxy](#install-dependencies-with-a-sessionstart-hook) yang diketahui untuk pengambilan paket.

commands.md +2 −2

Details

35Tabel 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:35Tabel 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:

36 36 

37* **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills)**: sebuah skill bawaan. Ini bekerja seperti skill yang Anda tulis sendiri: prompt yang diberikan kepada Claude.37* **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills)**: sebuah skill bawaan. Ini bekerja seperti skill yang Anda tulis sendiri: prompt yang diberikan kepada Claude.

38 * `/verify` berjalan hanya ketika Anda menjalankannya. Sebelum v2.1.215, Claude juga bisa menjalankan `/verify` dengan sendirinya.38 * `/verify` berjalan hanya ketika Anda menjalankannya.

39* **[Workflow](https://code.claude.com/docs/id/workflows.md#bundled-workflows)**: sebuah [dynamic workflow](https://code.claude.com/docs/id/workflows.md) bawaan yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.39* **[Workflow](https://code.claude.com/docs/id/workflows.md#bundled-workflows)**: sebuah [dynamic workflow](https://code.claude.com/docs/id/workflows.md) bawaan yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.

40 * `/deep-research` berjalan hanya ketika Anda menjalankannya.40 * `/deep-research` berjalan hanya ketika Anda menjalankannya.

41 41 


114| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Lihat [kapan model baru mulai berlaku](https://code.claude.com/docs/id/interactive-mode.md#when-claude-code-sends-what-you-queued). Sebelum v2.1.242, peralihan ini bisa menunggu. Dengan `-p`, berikan argumen model, yang tidak disimpan sebagai default Anda; memerlukan v2.1.205 atau lebih baru |114| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Lihat [kapan model baru mulai berlaku](https://code.claude.com/docs/id/interactive-mode.md#when-claude-code-sends-what-you-queued). Sebelum v2.1.242, peralihan ini bisa menunggu. Dengan `-p`, berikan argumen model, yang tidak disimpan sebagai default Anda; memerlukan v2.1.205 atau lebih baru |

115| `/output-style [style]` | Daftar [gaya output](https://code.claude.com/docs/id/output-styles.md) atau beralih ke satu, misalnya `/output-style concise`. Lihat [Ubah gaya output Anda](https://code.claude.com/docs/id/output-styles.md#change-your-output-style). Memerlukan Claude Code v2.1.269 atau lebih baru |115| `/output-style [style]` | Daftar [gaya output](https://code.claude.com/docs/id/output-styles.md) atau beralih ke satu, misalnya `/output-style concise`. Lihat [Ubah gaya output Anda](https://code.claude.com/docs/id/output-styles.md#change-your-output-style). Memerlukan Claude Code v2.1.269 atau lebih baru |

116| `/passes` | Bagikan minggu gratis Claude Code dengan teman. Hanya terlihat jika akun Anda memenuhi syarat |116| `/passes` | Bagikan minggu gratis Claude Code dengan teman. Hanya terlihat jika akun Anda memenuhi syarat |

117| `/permissions` | Kelola aturan allow, ask, dan deny untuk izin tool. Membuka dialog interaktif di mana Anda dapat melihat aturan berdasarkan cakupan, menambah atau menghapus aturan, mengelola direktori kerja, dan meninjau [penolakan auto mode terbaru](https://code.claude.com/docs/id/auto-mode-config.md#review-denials). Anda juga dapat melihat dan mengedit [aturan pengklasifikasi auto mode](https://code.claude.com/docs/id/auto-mode-config.md#edit-rules-from-permissions) dari tab **Auto mode** dialog. Ketika Anda menjalankannya saat Claude merespons, Claude Code membuka dialog segera dan menerapkan perubahan Anda mulai dengan panggilan tool berikutnya Claude dalam giliran yang sama. Sebelum v2.1.234, Claude Code mengantrikan perintah sampai giliran selesai. Alias: `/allowed-tools` |117| `/permissions` | Kelola aturan allow, ask, dan deny untuk izin tool. Membuka dialog interaktif di mana Anda dapat melihat aturan berdasarkan cakupan, menambah atau menghapus aturan, mengelola direktori kerja, dan meninjau [penolakan auto mode terbaru](https://code.claude.com/docs/id/auto-mode-config.md#review-denials). Anda juga dapat melihat dan mengedit [aturan pengklasifikasi auto mode](https://code.claude.com/docs/id/auto-mode-config.md#edit-rules-from-permissions) dari tab **Auto mode** dialog. Alias: `/allowed-tools` |

118| `/plan [description]` | Masuk ke plan mode langsung dari prompt. Berikan deskripsi opsional untuk masuk ke plan mode dan segera mulai dengan tugas itu, misalnya `/plan fix the auth bug` |118| `/plan [description]` | Masuk ke plan mode langsung dari prompt. Berikan deskripsi opsional untuk masuk ke plan mode dan segera mulai dengan tugas itu, misalnya `/plan fix the auth bug` |

119| `/plugin [subcommand]` | Kelola [plugin](https://code.claude.com/docs/id/plugins/overview.md) Claude Code. Jalankan tanpa argumen untuk membuka menu plugin, atau berikan subperintah seperti `list`, `install`, `enable`, atau `disable` untuk bertindak langsung. Claude Code dapat mengaktifkan plugin selama instalasi; [ringkasan instalasi](https://code.claude.com/docs/id/plugins/install.md#install-a-plugin) memberi tahu Anda apakah itu dilakukan atau apakah harus menjalankan `/reload-plugins` |119| `/plugin [subcommand]` | Kelola [plugin](https://code.claude.com/docs/id/plugins/overview.md) Claude Code. Jalankan tanpa argumen untuk membuka menu plugin, atau berikan subperintah seperti `list`, `install`, `enable`, atau `disable` untuk bertindak langsung. Claude Code dapat mengaktifkan plugin selama instalasi; [ringkasan instalasi](https://code.claude.com/docs/id/plugins/install.md#install-a-plugin) memberi tahu Anda apakah itu dilakukan atau apakah harus menjalankan `/reload-plugins` |

120| `/plugin-authoring` | Muat referensi yang digunakan Claude untuk [menulis mod](https://code.claude.com/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Claude dapat memuatnya dengan sendirinya ketika Anda meminta mod. Ini adalah skill dari [plugin bawaan](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code), yang dapat Anda matikan di `/plugin`. Memerlukan Claude Code v2.1.287 atau lebih baru |120| `/plugin-authoring` | Muat referensi yang digunakan Claude untuk [menulis mod](https://code.claude.com/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Claude dapat memuatnya dengan sendirinya ketika Anda meminta mod. Ini adalah skill dari [plugin bawaan](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code), yang dapat Anda matikan di `/plugin`. Memerlukan Claude Code v2.1.287 atau lebih baru |

costs.md +6 −4

Details

20>20>

21> Blok Session dalam `/usage` menampilkan penggunaan token API dan dimaksudkan untuk pengguna API. Pelanggan Claude Pro, Max, dan Ultra memiliki penggunaan yang disertakan dalam langganan mereka, jadi angka biaya sesi tidak relevan untuk tujuan penagihan. Pelanggan melihat bilah penggunaan paket, statistik aktivitas, dan rincian penggunaan di layar yang sama.21> Blok Session dalam `/usage` menampilkan penggunaan token API dan dimaksudkan untuk pengguna API. Pelanggan Claude Pro, Max, dan Ultra memiliki penggunaan yang disertakan dalam langganan mereka, jadi angka biaya sesi tidak relevan untuk tujuan penagihan. Pelanggan melihat bilah penggunaan paket, statistik aktivitas, dan rincian penggunaan di layar yang sama.

22 22 

23Blok Session di bagian atas `/usage` menampilkan statistik penggunaan token terperinci untuk sesi Anda saat ini. Claude Code menghitung angka dolar secara lokal dari jumlah token dengan harga daftar, kecuali tabel [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing) berlaku. Administrator menetapkan satu dalam pengaturan terkelola organisasi Anda sehingga angka menggunakan tarif kontrak Anda, dan sementara tabel berlaku, baris `Total cost` membawa catatan `at your organization's configured rates`. Angka ini adalah perkiraan, jadi untuk penagihan yang berwenang, lihat halaman Penggunaan di [Claude Console](https://platform.claude.com/usage).23Blok Session di bagian atas `/usage` menampilkan statistik penggunaan token terperinci untuk sesi Anda saat ini.

24 

25Claude Code menghitung angka dolar secara lokal dari jumlah token dengan harga daftar, kecuali tabel [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing) berlaku. Administrator menetapkan satu dalam pengaturan terkelola organisasi Anda sehingga angka menggunakan tarif kontrak Anda, dan sementara tabel berlaku, baris `Total cost` membawa catatan `at your organization's configured rates`. Angka ini adalah perkiraan, jadi untuk penagihan yang berwenang, lihat [Kelola biaya untuk organisasi Anda](#manage-costs-for-your-organization).

24 26 

25```text theme={null}27```text theme={null}

26Total cost: $0.5528Total cost: $0.55


138 140 

139Jika Anda menjalankan `/usage-credits` lagi sementara permintaan sebelumnya menunggu admin, Claude Code memberi tahu Anda bahwa permintaan sudah dikirim daripada mengirim duplikat. Setelah admin membatalkan permintaan Anda, menjalankan perintah lagi mengirim yang baru. Sebelum v2.1.222, permintaan yang dibatalkan juga memblokir permintaan baru.141Jika Anda menjalankan `/usage-credits` lagi sementara permintaan sebelumnya menunggu admin, Claude Code memberi tahu Anda bahwa permintaan sudah dikirim daripada mengirim duplikat. Setelah admin membatalkan permintaan Anda, menjalankan perintah lagi mengirim yang baru. Sebelum v2.1.222, permintaan yang dibatalkan juga memblokir permintaan baru.

140 142 

141Pada paket Pro dan Max, ketika Anda mencapai batas pengeluaran dengan kredit penggunaan masih tersedia, Claude Code meminta Anda untuk menaikkan atau menghapus batas tanpa meninggalkan CLI. Jika server menolak perubahan, lihat [Could not update your spend limit](https://code.claude.com/docs/id/errors.md#could-not-update-your-spend-limit).143Pada paket Pro, Max, dan Ultra, ketika Anda mencapai batas pengeluaran dengan kredit penggunaan masih tersedia, Claude Code meminta Anda untuk menaikkan atau menghapus batas tanpa meninggalkan CLI. Jika server menolak perubahan, lihat [Could not update your spend limit](https://code.claude.com/docs/id/errors.md#could-not-update-your-spend-limit).

142 144 

143## Mengelola biaya untuk organisasi Anda145## Mengelola biaya untuk organisasi Anda

144 146 


149| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |151| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |

150| :- | :- | :- | :- |152| :- | :- | :- | :- |

151| [Claude for Teams atau Enterprise](#claude-for-teams-and-enterprise) | [Laporan pengeluaran dalam analitik organisasi](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Batas pengeluaran dalam pengaturan admin | [CSV laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) di Enterprise |153| [Claude for Teams atau Enterprise](#claude-for-teams-and-enterprise) | [Laporan pengeluaran dalam analitik organisasi](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Batas pengeluaran dalam pengaturan admin | [CSV laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) di Enterprise |

152| [Claude Console (API)](#claude-console) | [Halaman penggunaan Console](https://platform.claude.com/usage) | Batas pengeluaran ruang kerja | [Dashboard Console](https://platform.claude.com/claude-code), [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |154| [Claude Console (API)](#claude-console) | [Halaman Cost Console](https://platform.claude.com/cost) | Batas pengeluaran workspace | [Dashboard Console](https://platform.claude.com/claude-code), [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |

153| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) atau [gateway LLM](https://code.claude.com/docs/id/llm-gateway) |155| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) atau [gateway LLM](https://code.claude.com/docs/id/llm-gateway) |

154 156 

155[Ekspor OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) bekerja pada setiap pengaturan dan merupakan satu-satunya opsi yang mengalirkan metrik token dan biaya per pengguna ke dalam tumpukan observabilitas Anda sendiri secara real-time.157[Ekspor OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) bekerja pada setiap pengaturan dan merupakan satu-satunya opsi yang mengalirkan metrik token dan biaya per pengguna ke dalam tumpukan observabilitas Anda sendiri secara real-time.


193>195>

194> Untuk organisasi dengan batas laju kustom, lalu lintas Claude Code di ruang kerja ini dihitung terhadap batas laju API keseluruhan organisasi Anda. Anda dapat menetapkan [batas laju ruang kerja](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces) di halaman Batas ruang kerja ini di Claude Console untuk membatasi bagian Claude Code dan melindungi beban kerja produksi lainnya.196> Untuk organisasi dengan batas laju kustom, lalu lintas Claude Code di ruang kerja ini dihitung terhadap batas laju API keseluruhan organisasi Anda. Anda dapat menetapkan [batas laju ruang kerja](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces) di halaman Batas ruang kerja ini di Claude Console untuk membatasi bagian Claude Code dan melindungi beban kerja produksi lainnya.

195 197 

196Untuk pelaporan per pengguna, [dashboard Console](https://platform.claude.com/claude-code) menunjukkan pengeluaran dan baris yang diterima per anggota, dan [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) mengembalikan metrik harian per pengguna yang sama secara terprogram dengan [kunci API Admin](https://platform.claude.com/settings/admin-keys). Lihat [analitik untuk pelanggan API](https://code.claude.com/docs/id/analytics.md#access-analytics-for-api-customers).198Untuk pelaporan per pengguna, [dashboard Console](https://platform.claude.com/claude-code) menunjukkan pengeluaran dan baris yang diterima per anggota, dan [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) mengembalikan metrik harian per pengguna secara terprogram dengan [kunci API Admin](https://platform.claude.com/settings/admin-keys). Lihat [analitik untuk pelanggan API](https://code.claude.com/docs/id/analytics.md#access-analytics-for-api-customers).

197 199 

198#### Rekomendasi batas laju200#### Rekomendasi batas laju

199 201 

desktop.md +23 −10

Details

131* Mulai atau hentikan server, atau hentikan semuanya sekaligus, dari menu **Dev servers** di header pane Browser131* Mulai atau hentikan server, atau hentikan semuanya sekaligus, dari menu **Dev servers** di header pane Browser

132* Pilih apakah Browser menyimpan cookie setelah Anda keluar dari aplikasi dengan **Keep cookies** di menu **⋮** pane Browser, sehingga Anda tidak perlu masuk kembali selama pengembangan132* Pilih apakah Browser menyimpan cookie setelah Anda keluar dari aplikasi dengan **Keep cookies** di menu **⋮** pane Browser, sehingga Anda tidak perlu masuk kembali selama pengembangan

133 133 

134Dalam sesi SSH, Anda kehilangan cookie pane tersebut saat Anda keluar dari Desktop. Anda tidak dapat mengubahnya dengan **Keep cookies**.

135 

134Claude membuat konfigurasi server awal berdasarkan proyek Anda. Jika aplikasi Anda menggunakan perintah dev kustom, edit `.claude/launch.json` agar sesuai dengan setup Anda. Lihat [Configure preview servers](#configure-preview-servers) untuk referensi lengkap.136Claude membuat konfigurasi server awal berdasarkan proyek Anda. Jika aplikasi Anda menggunakan perintah dev kustom, edit `.claude/launch.json` agar sesuai dengan setup Anda. Lihat [Configure preview servers](#configure-preview-servers) untuk referensi lengkap.

135 137 

136Untuk menghapus data yang disimpan Browser, pilih **Clear browsing data** di menu **⋮** pane Browser. Untuk menonaktifkan Browser sepenuhnya, matikan **Browser tools** di **Settings > Code** atau **Settings > Claude Code**.138Untuk menghapus data yang disimpan Browser, pilih **Clear browsing data** di menu **⋮** pane Browser. Untuk menonaktifkan Browser sepenuhnya, matikan **Browser tools** di **Settings > Code** atau **Settings > Claude Code**.


312 314 

313Di tata letak mana pun, ketik `/context` di kotak prompt untuk mencetak rincian per kategori dari context window sesi ini di chat.315Di tata letak mana pun, ketik `/context` di kotak prompt untuk mencetak rincian per kategori dari context window sesi ini di chat.

314 316 

315Kedua tata letak memiliki cincin penggunaan di sebelah pemilih model. Klik cincin tersebut untuk melihat penggunaan paket Anda, yang dibagikan di semua surface Claude Code Anda.317Di kedua tata letak, cincin penggunaan berada di baris di bawah kotak prompt. Klik cincin tersebut untuk melihat penggunaan paket Anda, yang dibagikan di semua surface Claude Code Anda.

316 318 

317## Biarkan Claude menggunakan komputer Anda319## Biarkan Claude menggunakan komputer Anda

318 320 


409 411 

410#### Jalankan sesi di worktree-nya sendiri412#### Jalankan sesi di worktree-nya sendiri

411 413 

412Dalam proyek yang merupakan repositori Git, aktifkan **Worktree** sebelum Anda memulai sesi untuk menjalankannya di [Git worktree](https://code.claude.com/docs/id/worktrees.md)-nya sendiri, yaitu salinan proyek yang terisolasi. Secara default, **Worktree** nonaktif dan Claude bekerja langsung di folder proyek. Pada [tata letak saat ini](#check-which-layout-you-have), aktifkan tombol **Worktree** di [baris di bawah kotak prompt](#start-a-session).414Dalam proyek yang merupakan repositori Git, aktifkan **Worktree** sebelum Anda memulai sesi untuk menjalankannya di [Git worktree](https://code.claude.com/docs/id/worktrees.md)-nya sendiri, yaitu salinan proyek yang terisolasi. Secara default, **Worktree** nonaktif dan Claude bekerja langsung di folder proyek. Pada [tata letak saat ini](#check-which-layout-you-have), aktifkan **Worktree** di [baris di bawah kotak prompt](#start-a-session).

413 415 

414* **Dengan [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md)**: jika baris di bawah kotak prompt menampilkan kontrol folder proyek tetapi tidak ada tombol **Worktree**, klik kontrol tersebut dan aktifkan **Worktree**416* **Dengan [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md)**: jika baris di bawah kotak prompt menampilkan kontrol folder proyek tetapi tidak ada **Worktree**, klik kontrol folder proyek tersebut dan aktifkan **Worktree**

415* **Sebagai default untuk [lingkungan lokal atau SSH tersimpan](#create-a-saved-environment)**: atur **Worktree** saat Anda membuat atau mengedit lingkungan tersebut417* **Sebagai default untuk [lingkungan lokal atau SSH tersimpan](#create-a-saved-environment)**: atur **Worktree** saat Anda membuat atau mengedit lingkungan tersebut

416* **[Tata letak sebelumnya](#check-which-layout-you-have)**: pilih kotak centang **worktree** di sebelah nama branch, di atas kotak prompt418* **[Tata letak sebelumnya](#check-which-layout-you-have)**: pilih kotak centang **worktree** di sebelah nama branch, di atas kotak prompt

417 419 


1094 1096 

1095##### Terhubung di Windows tanpa klien OpenSSH1097##### Terhubung di Windows tanpa klien OpenSSH

1096 1098 

1097Di Windows, Anda terhubung melalui klien SSH bawaan Desktop jika komputer Anda tidak memenuhi [persyaratan untuk klien OpenSSH](#use-your-ssh-configuration). Dengan penyedia pihak ketiga, Anda terhubung melalui klien bawaan secara default, dan administrator Anda dapat mengubahnya. Untuk pengaturannya, lihat [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1099Di Windows, Anda terhubung melalui klien SSH bawaan Desktop jika komputer Anda tidak memenuhi [persyaratan untuk klien OpenSSH](#use-your-ssh-configuration). Dengan penyedia pihak ketiga, klien mana yang Anda gunakan untuk terhubung juga bergantung pada versi Desktop Anda dan pengaturan administrator Anda. Lihat [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1098 1100 

1099Dengan klien bawaan, Anda tetap dapat memasukkan nama `Host` dari konfigurasi SSH Anda di kolom **SSH host** jika `PATH` Anda memiliki perintah `ssh`, dengan batasan berikut:1101Dengan klien bawaan, Anda tetap dapat memasukkan nama `Host` dari konfigurasi SSH Anda di kolom **SSH host** jika `PATH` Anda memiliki perintah `ssh`, dengan batasan berikut:

1100 1102 

1101* **Pengaturan dari entri**: Desktop mengambil `HostName`, `User`, `Port`, dan `IdentityFile`. Desktop juga mengambil `ProxyCommand` jika shell `sh` ada di `PATH` Anda.1103* **Pengaturan dari entri**: Desktop mengambil `HostName`, `User`, `Port`, `IdentityFile`, dan `ConnectTimeout`. Desktop juga mengambil `ProxyCommand` jika shell `sh` ada di `PATH` Anda.

1102* **SSH key (optional)**: kosongkan kolom ini untuk mempertahankan `IdentityFile` entri, karena file kunci yang Anda pilih di sini menggantikan `IdentityFile`1104* **SSH key (optional)**: kosongkan kolom ini untuk mempertahankan `IdentityFile` entri, karena file kunci yang Anda pilih di sini menggantikan `IdentityFile`

1103* **`CertificateFile` dan `ProxyJump`**: Desktop mengabaikan `CertificateFile`, dan koneksi gagal jika entri menetapkan `ProxyJump`. Untuk menggunakan salah satu pengaturan tersebut, [terhubunglah melalui klien OpenSSH](#use-your-ssh-configuration).1105* **`CertificateFile` dan `ProxyJump`**: Desktop mengabaikan `CertificateFile`, dan koneksi gagal jika entri menetapkan `ProxyJump`. Untuk menggunakan salah satu pengaturan tersebut, [terhubunglah melalui klien OpenSSH](#use-your-ssh-configuration).

1104 1106 


1198 1200 

1199##### Menaikkan timeout koneksi SSH1201##### Menaikkan timeout koneksi SSH

1200 1202 

1201Jika konfigurasi SSH Anda tidak mengatur `ConnectTimeout` untuk host tersebut, Desktop memberi `ssh` waktu 30 detik untuk terhubung. Melalui jump host atau `ProxyCommand`, waktu tersebut mencakup waktu yang dibutuhkan rute untuk terhubung. Jika rute Anda membutuhkan waktu lebih lama, tambahkan nilai yang lebih tinggi ke entri tersebut:1203Jika sesi Anda mengalami timeout saat terhubung melalui jump host atau `ProxyCommand`, naikkan `ConnectTimeout` di entri mesin jarak jauh di `~/.ssh/config` Anda. Gunakan lebih dari 90 detik. Tambahkan waktu apa pun yang dihabiskan jump host atau `ProxyCommand` untuk menunggu Anda, misalnya di prompt login atau untuk push ke ponsel:

1202 1204 

1203```text ~/.ssh/config theme={null}1205```text ~/.ssh/config theme={null}

1204Host devbox1206Host devbox


1210 1212 

1211`ssh` menggunakan nilai pertama yang ditemukannya untuk sebuah host, jadi letakkan entri tersebut di atas entri `Host *` mana pun yang mengatur `ConnectTimeout`. Untuk memastikannya, jalankan `ssh -G devbox` di terminal pada komputer Anda. Output-nya mencakup `connecttimeout 120`. Setelah Anda mengubah nilainya, keluar dari Desktop dan buka kembali.1213`ssh` menggunakan nilai pertama yang ditemukannya untuk sebuah host, jadi letakkan entri tersebut di atas entri `Host *` mana pun yang mengatur `ConnectTimeout`. Untuk memastikannya, jalankan `ssh -G devbox` di terminal pada komputer Anda. Output-nya mencakup `connecttimeout 120`. Setelah Anda mengubah nilainya, keluar dari Desktop dan buka kembali.

1212 1214 

1213Jika mesin jarak jauh itu sendiri menunggu persetujuan di ponsel Anda, setujui dalam 45 detik, berapa pun `ConnectTimeout` yang Anda atur. Anda tidak dapat menaikkan batas ini, karena Desktop mengatur `ServerAliveInterval` dan `ServerAliveCountMax` sendiri, dan `ssh` kemudian menutup login yang di dalamnya mesin jarak jauh tidak mengirim apa pun selama itu. Jika yang menunggu Anda adalah jump host atau `ProxyCommand`, naikkan `ConnectTimeout` di entri mesin jarak jauh untuk mencakup waktu tersebut.1215Jika konfigurasi SSH Anda tidak mengatur `ConnectTimeout` untuk host tersebut, Desktop memberi `ssh` waktu 30 detik untuk terhubung. Melalui jump host atau `ProxyCommand`, waktu tersebut mencakup waktu yang dibutuhkan rute untuk terhubung.

1216 

1217| `ConnectTimeout` | Koneksi | Waktu yang Anda miliki |

1218| - | - | - |

1219| Tidak diatur | Anda memulai sesi melalui jump host atau `ProxyCommand`, dengan Claude Desktop v4.4212.0 atau yang lebih baru di macOS atau Linux | 30 detik, lalu percobaan kedua dengan 90 detik. Jika Desktop menampilkan prompt kepada Anda selama percobaan pertama, Anda tidak mendapatkan percobaan kedua. Waktu di prompt login yang ditampilkan Desktop untuk host `ProxyJump` tidak dihitung. Waktu tunggu lain di rute tersebut dihitung. |

1220| Tidak diatur | Desktop di Windows atau versi sebelumnya, mesin jarak jauh yang mengatur `MaxSessions 1`, atau koneksi ulang yang dimulai Desktop sendiri | 30 detik. Setiap waktu tunggu di rute dihitung. |

1221| Diatur | Setiap koneksi dan koneksi ulang | Nilai yang Anda atur. Setiap waktu tunggu di rute dihitung. |

1222 

1223Jika mesin jarak jauh itu sendiri menunggu persetujuan di ponsel Anda, setujui dalam 45 detik, berapa pun `ConnectTimeout` yang Anda atur. Anda tidak dapat menaikkan batas ini, karena Desktop mengatur `ServerAliveInterval` dan `ServerAliveCountMax` sendiri, dan `ssh` kemudian menutup login ketika mesin jarak jauh tidak mengirimkan apa pun selama itu.

1214 1224 

1215##### Memperbaiki blok `Match host` yang hanya diterapkan oleh Desktop1225##### Memperbaiki blok `Match host` yang hanya diterapkan oleh Desktop

1216 1226 


1334>1344>

1335> Pengeditan tetap gagal dalam beberapa kasus, termasuk kasus-kasus berikut:1345> Pengeditan tetap gagal dalam beberapa kasus, termasuk kasus-kasus berikut:

1336>1346>

1337> * **Klien SSH bawaan**: Desktop menggunakannya, misalnya pada instalasi dari Microsoft Store, pada komputer Windows tanpa OpenSSH 9.4 atau yang lebih baru dari Microsoft, atau secara default di Windows dengan penyedia pihak ketiga1347> * **Klien SSH bawaan**: Desktop menggunakannya, misalnya pada instalasi Microsoft Store, atau pada komputer Windows tanpa OpenSSH 9.4 atau yang lebih baru dari Microsoft

1338> * **Lokasi repositori**: repositori adalah direktori home Anda, folder di atasnya, atau `~/.claude`1348> * **Lokasi repositori**: repositori adalah direktori home Anda, folder di atasnya, atau `~/.claude`

1339> * **Path macOS**: pada mesin jarak jauh macOS, repositori berada di bawah `/Volumes`, atau nama folder dalam path repositori atau worktree mengandung `~` atau karakter non-ASCII1349> * **Path macOS**: pada mesin jarak jauh macOS, repositori berada di bawah `/Volumes`, atau nama folder dalam path repositori atau worktree mengandung `~` atau karakter non-ASCII

1340> * **Pembatasan folder**: organisasi Anda membatasi folder mana yang boleh digunakan sesi1350> * **Pembatasan folder**: organisasi Anda membatasi folder mana yang boleh digunakan sesi


1369* **Kata sandi yang diingat**: kata sandi yang Anda izinkan untuk diingat oleh Desktop juga berfungsi tanpa prompt, tetapi untuk ketidakhadiran yang lama, lebih baik gunakan kunci yang disimpan oleh SSH agent Anda. Jika proses masuk dengan kata sandi tersebut terputus atau macet, Desktop dapat berhenti mencoba terhubung kembali dan menunggu Anda.1379* **Kata sandi yang diingat**: kata sandi yang Anda izinkan untuk diingat oleh Desktop juga berfungsi tanpa prompt, tetapi untuk ketidakhadiran yang lama, lebih baik gunakan kunci yang disimpan oleh SSH agent Anda. Jika proses masuk dengan kata sandi tersebut terputus atau macet, Desktop dapat berhenti mencoba terhubung kembali dan menunggu Anda.

1370* **Prompt lainnya**: jika mesin jarak jauh meminta hal lain, seperti kode sekali pakai, Anda dapat menerima notifikasi di komputer Anda. Klik notifikasi tersebut, atau kirim pesan di sesi, dan Desktop akan menampilkan prompt-nya.1380* **Prompt lainnya**: jika mesin jarak jauh meminta hal lain, seperti kode sekali pakai, Anda dapat menerima notifikasi di komputer Anda. Klik notifikasi tersebut, atau kirim pesan di sesi, dan Desktop akan menampilkan prompt-nya.

1371 1381 

1372> [accordion] Jika jump host meminta proses masuk, gangguan berlangsung lama, output hilang, atau proses sudah tidak ada1382> [accordion] Jika jump host meminta Anda masuk, gangguan berlangsung lama, pesan tidak terkirim, output hilang, atau proses tidak ada lagi

1373>1383>

1374> * **Jump host, push berhenti saat Anda tidak ada**: hal ini dapat terjadi dengan Desktop di macOS atau Linux ketika tidak ada yang menjawab permintaan masuk dari jump host, misalnya push ke ponsel. Desktop kemudian berhenti mencoba terhubung kembali selama tidak ada orang di komputer Anda. Saat Anda membuka kunci atau menggunakan komputer, Anda dapat menerima push lain, karena Desktop dapat mencoba lagi. Setelah tiga upaya yang tidak dijawab, Desktop menunggu hingga Anda melakukan retry atau mengirim pesan.1384> * **Jump host, push berhenti saat Anda tidak ada**: hal ini dapat terjadi dengan Desktop di macOS atau Linux ketika tidak ada yang menjawab permintaan masuk dari jump host, misalnya push ke ponsel. Desktop kemudian berhenti mencoba terhubung kembali selama tidak ada orang di komputer Anda. Saat Anda membuka kunci atau menggunakan komputer, Anda dapat menerima push lain, karena Desktop dapat mencoba lagi. Setelah tiga upaya yang tidak dijawab, Desktop menunggu hingga Anda melakukan retry atau mengirim pesan.

1375> * **Jump host, push terus berdatangan**: jika Desktop tidak dapat mengetahui bahwa tidak ada yang menjawab, seperti pada Desktop di Windows, Desktop terus mencoba selama masih ada proses untuk digabungi kembali, baik proses tersebut masih berjalan maupun tidak. Anda dapat menerima push lain pada setiap upaya. Untuk menghentikan upaya tersebut, keluar dari Desktop, yang [dapat membuat Anda kehilangan tugas yang sedang berjalan](#reopen-a-session-after-you-quit-desktop).1385> * **Jump host, push terus berdatangan**: jika Desktop tidak dapat mengetahui bahwa tidak ada yang menjawab, seperti pada Desktop di Windows, Desktop terus mencoba selama masih ada proses untuk digabungi kembali, baik proses tersebut masih berjalan maupun tidak. Anda dapat menerima push lain pada setiap upaya. Untuk menghentikan upaya tersebut, keluar dari Desktop, yang [dapat membuat Anda kehilangan tugas yang sedang berjalan](#reopen-a-session-after-you-quit-desktop).

1376> * **Gangguan yang lama**: Desktop melambat menjadi sekitar satu upaya setiap lima menit. Untuk terhubung kembali lebih cepat, coba lagi di sesi atau kirim pesan, yang akan dikirimkan Desktop setelah terhubung.1386> * **Gangguan yang lama**: Desktop melambat menjadi sekitar satu percobaan setiap lima menit. Untuk terhubung kembali lebih cepat, lakukan retry di sesi atau kirim pesan. Desktop mencoba mengirimkan pesan tersebut setelah terhubung.

1387> * **Pesan tidak terkirim**: baris `Your organization's settings haven't loaded, so your message to <host> wasn't sent. Retry to send it.` di bawah pesan Anda berarti Desktop telah terhubung kembali dan menahan pesan Anda, karena pengaturan organisasi Anda belum dimuat. Pilih **Retry** untuk mengirim pesan sekarang. Jika Anda tidak melakukan apa-apa, Desktop mencoba lagi setelah pengaturan dimuat.

1377> * **Output yang hilang**: saat Desktop terputus, program pembantu menyimpan output Claude Code terbaru dari setiap sesi dalam buffer 16 MiB dan membuang output yang lebih lama. Setelah Desktop terhubung kembali, sesi dapat menampilkan `Loading recent output from <host>…`. Jika Desktop tidak dapat memuat seluruh output, Anda akan melihat baris `Some output produced while you were disconnected may be missing here.` Baris tersebut tidak berarti bahwa tugas berhenti.1388> * **Output yang hilang**: saat Desktop terputus, program pembantu menyimpan output Claude Code terbaru dari setiap sesi dalam buffer 16 MiB dan membuang output yang lebih lama. Setelah Desktop terhubung kembali, sesi dapat menampilkan `Loading recent output from <host>…`. Jika Desktop tidak dapat memuat seluruh output, Anda akan melihat baris `Some output produced while you were disconnected may be missing here.` Baris tersebut tidak berarti bahwa tugas berhenti.

1378> * **Proses sudah tidak ada**: proses berakhir saat Desktop terputus, seperti ketika mesin jarak jauh restart. Desktop kemudian dapat memulai proses baru dari riwayat percakapan yang tersimpan dan memberi tahu Claude untuk melanjutkan tugas. Jika tugas tetap berhenti, kirim pesan. Dengan penyedia pihak ketiga, perbarui ke Claude Desktop v2.42304.0 atau yang lebih baru, karena versi sebelumnya tidak pernah melanjutkan tugas dengan sendirinya.1389> * **Proses sudah tidak ada**: proses berakhir saat Desktop terputus, seperti ketika mesin jarak jauh restart. Desktop kemudian dapat memulai proses baru dari riwayat percakapan yang tersimpan dan memberi tahu Claude untuk melanjutkan tugas. Jika tugas tetap berhenti, kirim pesan. Dengan penyedia pihak ketiga, perbarui ke Claude Desktop v2.42304.0 atau yang lebih baru, karena versi sebelumnya tidak pernah melanjutkan tugas dengan sendirinya.

1379 1390 


2290| `<host> is out of disk space` | `[ENOSPC]` atau `[EDQUOT]` | Kosongkan ruang atau kuota di mesin remote, di direktori home Anda atau `/tmp` |2301| `<host> is out of disk space` | `[ENOSPC]` atau `[EDQUOT]` | Kosongkan ruang atau kuota di mesin remote, di direktori home Anda atau `/tmp` |

2291| `Free up disk space on this computer` | `[ENOSPC]` atau `[EDQUOT]`, dalam pesan yang diawali dengan `Couldn't prepare the deploy locally` | Kosongkan ruang di komputer Anda |2302| `Free up disk space on this computer` | `[ENOSPC]` atau `[EDQUOT]`, dalam pesan yang diawali dengan `Couldn't prepare the deploy locally` | Kosongkan ruang di komputer Anda |

2292| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | Tunggu sebentar, lalu coba lagi. Jika terus gagal, jalankan perintah yang disebutkan dalam pesan di mesin remote untuk melihat apakah Claude Code merespons di sana. |2303| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | Tunggu sebentar, lalu coba lagi. Jika terus gagal, jalankan perintah yang disebutkan dalam pesan di mesin remote untuk melihat apakah Claude Code merespons di sana. |

2304| `Ask <host>'s administrator to let Claude's server run` | `[SERVER_NOT_RUNNABLE]` atau `[SETUP_DIR_NOEXEC]` | Minta administrator mesin remote untuk mengizinkan program berjalan dari `~/.claude/remote/` di mesin tersebut, seperti yang disebutkan dalam [persyaratan](#remote-machine-requirements-for-ssh-sessions) |

2305| `Try again in a few minutes` | `[DOWNLOAD_BUSY]` | Tunggu beberapa menit, lalu coba lagi. Server unduhan Anthropic atau proxy di jaringan komputer Anda melaporkan bahwa server tersebut sedang sibuk. Jika kartu ini terus muncul kembali, tanyakan kepada administrator jaringan tersebut apakah ada proxy yang membatasi unduhan. |

2293 2306 

2294Untuk pesan lainnya, periksa [remote machine requirements](#remote-machine-requirements-for-ssh-sessions).2307Untuk pesan lainnya, periksa [remote machine requirements](#remote-machine-requirements-for-ssh-sessions).

2295 2308 

env-vars.md +4 −5

Details

126> * `CLAUDE_CODE_TMUX_TRUECOLOR`126> * `CLAUDE_CODE_TMUX_TRUECOLOR`

127> * `IS_DEMO`127> * `IS_DEMO`

128>128>

129> Satu variabel lain memiliki aturannya sendiri: `FORCE_HYPERLINK` membaca angka, sehingga hanya `0` yang menonaktifkannya. Baris setiap variabel juga menyatakan aturannya sendiri.129> Baris setiap variabel juga menyatakan aturannya sendiri.

130 130 

131| Variabel | Tujuan |131| Variabel | Tujuan |

132| :- | :- |132| :- | :- |


239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Tetapkan ke `1` untuk menghentikan pekerjaan yang sedang berlangsung dari [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) ketika [supervisor](https://code.claude.com/docs/id/agent-view.md#the-supervisor-process) menghentikan, memulai ulang, atau memperbarui proses sesi tersebut, alih-alih menyerahkannya ke proses berikutnya dari sesi tersebut. Pekerjaan tersebut adalah perintah shell latar belakang yang sedang berjalan dari sesi, ditambah subagent latar belakang mulai v2.1.198. Hanya memengaruhi penyerahan tersebut: memindahkan sesi ke latar belakang dengan `←` atau [`/background`](https://code.claude.com/docs/id/agent-view#from-inside-a-session) tetap membawa pekerjaan latar belakang yang sedang berlangsung. Memerlukan Claude Code v2.1.196 atau lebih baru |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Tetapkan ke `1` untuk menghentikan pekerjaan yang sedang berlangsung dari [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) ketika [supervisor](https://code.claude.com/docs/id/agent-view.md#the-supervisor-process) menghentikan, memulai ulang, atau memperbarui proses sesi tersebut, alih-alih menyerahkannya ke proses berikutnya dari sesi tersebut. Pekerjaan tersebut adalah perintah shell latar belakang yang sedang berjalan dari sesi, ditambah subagent latar belakang mulai v2.1.198. Hanya memengaruhi penyerahan tersebut: memindahkan sesi ke latar belakang dengan `←` atau [`/background`](https://code.claude.com/docs/id/agent-view#from-inside-a-session) tetap membawa pekerjaan latar belakang yang sedang berlangsung. Memerlukan Claude Code v2.1.196 atau lebih baru |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Tetapkan ke `1` untuk menghentikan Claude Code mengakhiri [perintah shell latar belakang](https://code.claude.com/docs/id/interactive-mode.md#background-bash-commands) saat tekanan memori. Secara default, di macOS dan Linux, Claude Code mengakhiri shell latar belakang ketika sistem operasi melaporkan tekanan memori kritis dan sesi telah idle selama 30 menit tanpa giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, sehingga variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau yang lebih baru |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Tetapkan ke `1` untuk menghentikan Claude Code mengakhiri [perintah shell latar belakang](https://code.claude.com/docs/id/interactive-mode.md#background-bash-commands) saat tekanan memori. Secara default, di macOS dan Linux, Claude Code mengakhiri shell latar belakang ketika sistem operasi melaporkan tekanan memori kritis dan sesi telah idle selama 30 menit tanpa giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, sehingga variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau yang lebih baru |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Tetapkan ke `1` untuk menonaktifkan [skill](https://code.claude.com/docs/id/skills.md) dan workflow yang disertakan dengan Claude Code: skill bawaan dan workflow dihapus seluruhnya, sementara perintah bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skill dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](https://code.claude.com/docs/id/settings-reference#disablebundledskills) |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Tetapkan ke `1` untuk menonaktifkan [skill](https://code.claude.com/docs/id/skills.md) dan workflow yang disertakan dengan Claude Code: skill bawaan dan workflow dihapus seluruhnya, sementara perintah bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skill dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](https://code.claude.com/docs/id/settings-reference#disablebundledskills) |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Tetapkan ke `1` agar tool browser [Claude in Chrome](https://code.claude.com/docs/id/chrome.md) tetap tersedia sambil menghilangkan bagian Chrome dari system prompt dan [skill bawaan](https://code.claude.com/docs/id/skills.md#bundled-skills) `/claude-in-chrome`. Untuk host yang menyematkan Claude Code dan menyediakan panduan browser mereka sendiri. Memerlukan Claude Code v2.1.257 atau yang lebih baru |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Untuk host yang menyematkan Claude Code dan menyediakan panduan browser mereka sendiri. Tetapkan ke `1` agar tool browser [Claude in Chrome](https://code.claude.com/docs/id/chrome.md) tetap tersedia sambil menghilangkan bagian Chrome dari system prompt dan [skill bawaan](https://code.claude.com/docs/id/skills.md#bundled-skills) `/claude-in-chrome`. Di VS Code, ekstensi pada v2.1.314 atau yang lebih baru juga tidak menyertakan instruksi Claude in Chrome dalam pesan sesi. Memerlukan Claude Code v2.1.257 atau yang lebih baru |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Tetapkan ke `1` untuk mencegah pemuatan file memori CLAUDE.md apa pun ke dalam konteks, termasuk file memori pengguna, proyek, dan auto memory |243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Tetapkan ke `1` untuk mencegah pemuatan file memori CLAUDE.md apa pun ke dalam konteks, termasuk file memori pengguna, proyek, dan auto memory |

244| `CLAUDE_CODE_DISABLE_CRON` | Tetapkan ke `1` untuk menonaktifkan [tugas terjadwal yang dicakupkan ke sesi](https://code.claude.com/docs/id/scheduled-tasks.md). Skill `/loop` dan tool cron menjadi tidak tersedia dan tugas apa pun yang sudah dijadwalkan berhenti dipicu, termasuk tugas yang sudah berjalan di tengah sesi |244| `CLAUDE_CODE_DISABLE_CRON` | Tetapkan ke `1` untuk menonaktifkan [tugas terjadwal yang dicakupkan ke sesi](https://code.claude.com/docs/id/scheduled-tasks.md). Skill `/loop` dan tool cron menjadi tidak tersedia dan tugas apa pun yang sudah dijadwalkan berhenti dipicu, termasuk tugas yang sudah berjalan di tengah sesi |

245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Tetapkan ke `1` untuk mematikan [batas waktu dan penolakan](https://code.claude.com/docs/id/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes) `auto` dan `bypassPermissions` pada penghapusan path kritis. Penghapusan ini kemudian dikirim ke pengklasifikasi dalam mode `auto`, dan mendapatkan permintaan izin tanpa batas waktu dalam mode `bypassPermissions` di mana pun Claude Code dapat menampilkannya. Tetapkan di lingkungan yang menjalankan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.281 atau yang lebih baru |245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Tetapkan ke `1` untuk mematikan [batas waktu dan penolakan](https://code.claude.com/docs/id/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes) `auto` dan `bypassPermissions` pada penghapusan path kritis. Penghapusan ini kemudian dikirim ke pengklasifikasi dalam mode `auto`, dan mendapatkan permintaan izin tanpa batas waktu dalam mode `bypassPermissions` di mana pun Claude Code dapat menampilkannya. Tetapkan di lingkungan yang menjalankan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.281 atau yang lebih baru |


307| `CLAUDE_CODE_GIT_BASH_PATH` | Khusus Windows: path ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash terinstal tetapi tidak ada di PATH Anda. Jika path tidak ada atau file tidak bernama `bash.exe`, `sh.exe`, `bash`, atau `sh`, Claude Code mengabaikan variabel ini dan mendeteksi Git Bash secara otomatis seolah-olah tidak diatur, sambil mencatat peringatan yang terlihat dengan `--debug`. Sebelum v2.1.219, Claude Code keluar saat startup jika path tidak ada, dan menggunakan file apa pun yang ada sebagai shell tanpa memeriksa apakah itu bash atau sh. Lihat [Penyiapan Windows](https://code.claude.com/docs/id/setup.md#set-up-on-windows) |307| `CLAUDE_CODE_GIT_BASH_PATH` | Khusus Windows: path ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash terinstal tetapi tidak ada di PATH Anda. Jika path tidak ada atau file tidak bernama `bash.exe`, `sh.exe`, `bash`, atau `sh`, Claude Code mengabaikan variabel ini dan mendeteksi Git Bash secara otomatis seolah-olah tidak diatur, sambil mencatat peringatan yang terlihat dengan `--debug`. Sebelum v2.1.219, Claude Code keluar saat startup jika path tidak ada, dan menggunakan file apa pun yang ada sebagai shell tanpa memeriksa apakah itu bash atau sh. Lihat [Penyiapan Windows](https://code.claude.com/docs/id/setup.md#set-up-on-windows) |

308| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [tool Glob](https://code.claude.com/docs/id/tools-reference.md#glob-tool-behavior). Disertakan secara default. Tidak memengaruhi pelengkapan otomatis file `@`, `ls`, Grep, atau Read |308| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [tool Glob](https://code.claude.com/docs/id/tools-reference.md#glob-tool-behavior). Disertakan secara default. Tidak memengaruhi pelengkapan otomatis file `@`, `ls`, Grep, atau Read |

309| `CLAUDE_CODE_GLOB_NO_IGNORE` | Atur ke `false` agar [tool Glob](https://code.claude.com/docs/id/tools-reference.md#glob-tool-behavior) mematuhi pola `.gitignore`. Secara default, Glob mengembalikan semua file yang cocok termasuk yang di-gitignore. Tidak memengaruhi pelengkapan otomatis file `@`, yang memiliki [pengaturan `respectGitignore`](https://code.claude.com/docs/id/settings-reference#respectgitignore) sendiri |309| `CLAUDE_CODE_GLOB_NO_IGNORE` | Atur ke `false` agar [tool Glob](https://code.claude.com/docs/id/tools-reference.md#glob-tool-behavior) mematuhi pola `.gitignore`. Secara default, Glob mengembalikan semua file yang cocok termasuk yang di-gitignore. Tidak memengaruhi pelengkapan otomatis file `@`, yang memiliki [pengaturan `respectGitignore`](https://code.claude.com/docs/id/settings-reference#respectgitignore) sendiri |

310| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout dalam detik untuk penemuan file oleh tool Glob. Default 20 detik di sebagian besar platform dan 60 detik di WSL |310| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout dalam detik untuk pencarian tool [Glob](https://code.claude.com/docs/id/tools-reference.md#glob-tool-behavior) dan Grep. Default-nya 20 detik di sebagian besar platform dan 60 detik di WSL |

311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Berapa menit pekerjaan latar belakang dapat membuat goal aktif menunggu sebelum Claude Code [meminta Claude untuk memeriksanya](https://code.claude.com/docs/id/goal.md#background-work-defers-evaluation). Default `30`. Atur `0` untuk mematikan pemeriksaan. Berikan menit bulat dalam digit biasa, paling banyak `10080`, yaitu satu minggu. Claude Code memperlakukan nilai lain sebagai tidak diatur dan menggunakan default. Memerlukan Claude Code v2.1.234 atau yang lebih baru |311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Berapa menit pekerjaan latar belakang dapat membuat goal aktif menunggu sebelum Claude Code [meminta Claude untuk memeriksanya](https://code.claude.com/docs/id/goal.md#background-work-defers-evaluation). Default `30`. Atur `0` untuk mematikan pemeriksaan. Berikan menit bulat dalam digit biasa, paling banyak `10080`, yaitu satu minggu. Claude Code memperlakukan nilai lain sebagai tidak diatur dan menggunakan default. Memerlukan Claude Code v2.1.234 atau yang lebih baru |

312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Atur ke `0` untuk mematikan kompresi gzip pada body permintaan Claude API, telemetri, dan publikasi [artifact](https://code.claude.com/docs/id/artifacts.md) yang dikirim ke `api.anthropic.com`. Secara default, Claude Code mengompresi body permintaan yang besar pada koneksi langsung dan melewati kompresi saat Anda mengirim permintaan melalui proxy, mengonfigurasi sertifikat klien, atau mengatur `NODE_EXTRA_CA_CERTS`. Gunakan `0` jika [proxy yang menginspeksi TLS](https://code.claude.com/docs/id/network-config.md#ca-certificate-store) yang tidak dapat dideteksi Claude Code salah menangani permintaan terkompresi |312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Atur ke `0` untuk mematikan kompresi gzip pada body permintaan Claude API, telemetri, dan publikasi [artifact](https://code.claude.com/docs/id/artifacts.md) yang dikirim ke `api.anthropic.com`. Secara default, Claude Code mengompresi body permintaan yang besar pada koneksi langsung dan melewati kompresi saat Anda mengirim permintaan melalui proxy, mengonfigurasi sertifikat klien, atau mengatur `NODE_EXTRA_CA_CERTS`. Gunakan `0` jika [proxy yang menginspeksi TLS](https://code.claude.com/docs/id/network-config.md#ca-certificate-store) yang tidak dapat dideteksi Claude Code salah menangani permintaan terkompresi |

313| `CLAUDE_CODE_HIDE_CWD` | Atur ke `1` untuk menyembunyikan direktori kerja di logo startup. Berguna untuk berbagi layar atau rekaman di mana path mengekspos nama pengguna OS Anda |313| `CLAUDE_CODE_HIDE_CWD` | Atur ke `1` untuk menyembunyikan direktori kerja di logo startup. Berguna untuk berbagi layar atau rekaman di mana path mengekspos nama pengguna OS Anda |


469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya. Tidak berpengaruh pada sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), bahkan ketika gateway merutekan ke Amazon Bedrock |469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya. Tidak berpengaruh pada sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), bahkan ketika gateway merutekan ke Amazon Bedrock |

470| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian tool MCP](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search). Tidak diatur atau `true` menunda tool MCP, kecuali dalam [kasus yang membuat pencarian tool tetap nonaktif](https://code.claude.com/docs/id/mcp.md#configure-tool-search). `auto` menyalakan pencarian tool begitu definisi mencapai 10% dari context window. `auto:N` mengatur ambang kustom, seperti `auto:5` untuk 5%. `false` memuat semua tool di awal. Jika gateway menolak pencarian tool, lihat [Pencarian tool melalui LLM gateway](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway) |470| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian tool MCP](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search). Tidak diatur atau `true` menunda tool MCP, kecuali dalam [kasus yang membuat pencarian tool tetap nonaktif](https://code.claude.com/docs/id/mcp.md#configure-tool-search). `auto` menyalakan pencarian tool begitu definisi mencapai 10% dari context window. `auto:N` mengatur ambang kustom, seperti `auto:5` untuk 5%. `false` memuat semua tool di awal. Jika gateway menolak pencarian tool, lihat [Pencarian tool melalui LLM gateway](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway) |

471| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan ketika auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |471| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan ketika auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |

472| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik ketika terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya. Ketika tidak diatur, Claude Code mengaktifkan hyperlink hanya ketika mendeteksi dukungan terminal. Claude Code mem-parsing nilai ini sebagai angka, bukan Boolean, sehingga nilai seperti `false`, `no`, atau `off` justru mengaktifkan hyperlink alih-alih menonaktifkannya. [Badge PR atau merge request](https://code.claude.com/docs/id/interactive-mode.md#pr-review-status) di footer dirender sebagai hyperlink bahkan ketika Claude Code tidak dapat mendeteksi dukungan terminal, seperti melalui SSH. Atur `0` untuk merender badge sebagai teks biasa |472| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik ketika terminal Anda mendukungnya tetapi tidak terdeteksi secara otomatis. Ketika tidak diatur, Claude Code mengaktifkan sebagian besar hyperlink hanya ketika mendeteksi dukungan terminal. [Lencana PR atau merge request](https://code.claude.com/docs/id/interactive-mode.md#pr-review-status) di footer dan URL masuk yang panjang tetap berupa tautan dalam kedua kasus. Atur `0`, `false`, `no`, atau `off` untuk menampilkan semuanya sebagai teks biasa. Sebelum v2.1.314, `false`, `no`, dan `off` justru mengaktifkan hyperlink |

473| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL prompt cache 5 menit bahkan ketika TTL 1 jam seharusnya berlaku. Menimpa `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, serta pengaturan `promptCacheTtl` dan `subagentPromptCacheTtl` |473| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL prompt cache 5 menit bahkan ketika TTL 1 jam seharusnya berlaku. Menimpa `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, serta pengaturan `promptCacheTtl` dan `subagentPromptCacheTtl` |

474| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |474| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |

475| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |475| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |


586* Mendapatkan [umpan balik yang disusun Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), yang diaktifkan Claude Code melalui flag yang diambil586* Mendapatkan [umpan balik yang disusun Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), yang diaktifkan Claude Code melalui flag yang diambil

587* Meminta Claude [memperlakukan tempelan besar sebagai teks yang ditempel, bukan diketik](https://code.claude.com/docs/id/terminal-config.md#how-claude-treats-pasted-text); konten di balik placeholder `[Pasted text #N]` sampai ke Claude tanpa penanda587* Meminta Claude [memperlakukan tempelan besar sebagai teks yang ditempel, bukan diketik](https://code.claude.com/docs/id/terminal-config.md#how-claude-treats-pasted-text); konten di balik placeholder `[Pasted text #N]` sampai ke Claude tanpa penanda

588* Meminta Claude Code [mengecualikan tool MCP yang skema inputnya akan ditolak oleh API](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas)588* Meminta Claude Code [mengecualikan tool MCP yang skema inputnya akan ditolak oleh API](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas)

589* Meminta Claude Code [memadatkan percakapan panjang saat sesi terminal Anda sedang idle](https://code.claude.com/docs/id/settings-reference.md#idlecompaction), sesaat sebelum cache prompt satu jam kedaluwarsa

590 589 

591### Sesi pertama setelah instalasi atau upgrade590### Sesi pertama setelah instalasi atau upgrade

592 591 

errors.md +66 −11

Details

59| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |59| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [Authentication](#invalid-api-key) |60| `Invalid API key` | [Authentication](#invalid-api-key) |

61| `Your apiKeyHelper script is failing` | [Authentication](#your-apikeyhelper-script-is-failing) |61| `Your apiKeyHelper script is failing` | [Authentication](#your-apikeyhelper-script-is-failing) |

62| `Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect` | [Autentikasi](#claude-code-didnt-send-your-claude-ai-login) |

62| `Invalid auth token · Fix external auth token` | [Authentication](#invalid-request-header-value) |63| `Invalid auth token · Fix external auth token` | [Authentication](#invalid-request-header-value) |

63| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [Authentication](#invalid-request-header-value) |64| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [Authentication](#invalid-request-header-value) |

64| `Invalid request header from the environment · Fix the environment variable` | [Authentication](#invalid-request-header-value) |65| `Invalid request header from the environment · Fix the environment variable` | [Authentication](#invalid-request-header-value) |


326| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |327| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |

327| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |328| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |

328| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |329| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |

330| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [Error tool](#setting-blocks-writes-outside-the-working-directories) |

331| `<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories)` | [Error tool](#setting-blocks-writes-outside-the-working-directories) |

332| `Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on` | [Error tool](#writes-to-claude-code-settings-files-are-blocked) |

329| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |333| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |

330| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |334| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |

331| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Kesalahan tool](#command-contains-an-invisible-character) |335| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Kesalahan tool](#command-contains-an-invisible-character) |


548 552 

549* Periksa [status.claude.com](https://status.claude.com), atau halaman status penyedia yang disebutkan dalam pesan, untuk insiden aktif553* Periksa [status.claude.com](https://status.claude.com), atau halaman status penyedia yang disebutkan dalam pesan, untuk insiden aktif

550* Tunggu satu menit, kemudian kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt yang panjang Anda dapat mengetik `try again` alih-alih menempel seluruh hal.554* Tunggu satu menit, kemudian kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt yang panjang Anda dapat mengetik `try again` alih-alih menempel seluruh hal.

551* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway) dan setiap permintaan gagal dengan cara ini, periksa apakah gateway Anda menolak bidang pencarian tool yang dikirim Claude Code secara default. Untuk memeriksanya, tetapkan `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan dalam [Pencarian tool melalui LLM gateway](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, pencarian tool dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.555* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway) dan setiap permintaan gagal dengan cara ini, periksa apakah gateway Anda dan upstream-nya menerima bidang [pencarian tool](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway). Secara default, Claude Code mengirim bidang tool `defer_loading` dan blok `tool_reference`, bersama header `anthropic-beta` yang mengaktifkannya. Sebelum v2.1.304, pencarian tool dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

552* Jika kesalahan berlanjut tanpa insiden yang diposting, jalankan `/feedback` sehingga Anthropic dapat menyelidiki dengan detail permintaan Anda. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.556* Jika kesalahan berlanjut tanpa insiden yang diposting, jalankan `/feedback` sehingga Anthropic dapat menyelidiki dengan detail permintaan Anda. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.

553 557 

554### API Error: Repeated 529 Overloaded errors558### API Error: Repeated 529 Overloaded errors


672<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.676<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

673```677```

674 678 

675Dalam sesi interaktif, baris redup `Not run · auto mode's check had no usable answer` muncul di bawah panggilan tool alih-alih pesan ini. Tekan `Ctrl+O` untuk membaca pesan di [penampil transkrip](https://code.claude.com/docs/id/interactive-mode.md#transcript-viewer). Penolakan `gave no verdict` di bawah [The server returned no safety verdict](#the-server-returned-no-safety-verdict) menampilkan baris yang sama. Sebelum v2.1.296, pesan muncul di bawah panggilan sebagai kesalahan merah.679Dalam sesi interaktif, baris redup `Not run · auto mode's check had no usable answer` muncul di bawah panggilan tool alih-alih pesan ini. Baris tersebut juga dapat menggantikan pesan yang menyatakan [server tidak memberikan putusan](#the-server-returned-no-safety-verdict) atau, di luar sesi jarak jauh, pesan yang diawali `Auto mode could not evaluate`. Tekan `Ctrl+O` untuk membaca pesannya di [penampil transkrip](https://code.claude.com/docs/id/interactive-mode.md#transcript-viewer). Sebelum v2.1.296, pesan muncul sebagai kesalahan merah.

676 680 

677Ketika Claude Code dapat menentukan kategori kegagalan, ia menyebutkan kategori dalam tanda kurung setelah `temporarily unavailable`, misalnya `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Kategorinya adalah `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)`, dan `(connection failed)`. Jika `(timed out)` atau `(connection failed)` terulang, periksa koneksi Anda; lihat [Unable to connect to API](#unable-to-connect-to-api). Sebelum v2.1.229, pesan tidak pernah menyebutkan kategori dan berbunyi `Wait briefly and then try this action again`.681Ketika Claude Code dapat menentukan kategori kegagalan, ia menyebutkan kategori dalam tanda kurung setelah `temporarily unavailable`, misalnya `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Kategorinya adalah `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)`, dan `(connection failed)`. Jika `(timed out)` atau `(connection failed)` terulang, periksa koneksi Anda; lihat [Unable to connect to API](#unable-to-connect-to-api). Sebelum v2.1.229, pesan tidak pernah menyebutkan kategori dan berbunyi `Wait briefly and then try this action again`.

678 682 


833* Jalankan `/usage-credits` untuk membeli penggunaan tambahan di Pro, Max, dan Ultra, atau memintanya dari admin Anda di Team dan Enterprise. Lihat [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara ini ditagih.837* Jalankan `/usage-credits` untuk membeli penggunaan tambahan di Pro, Max, dan Ultra, atau memintanya dari admin Anda di Team dan Enterprise. Lihat [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara ini ditagih.

834* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)838* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)

835 839 

836Sebelum jendela habis, Claude Code dapat memperingatkan Anda bahwa Anda telah menggunakan sebagian besar, dengan pesan seperti `You've used 85% of your session limit · resets 3:45pm`. Untuk memantau tunjangan sisa Anda secara terus-menerus, tambahkan bidang `rate_limits` ke [custom status line](https://code.claude.com/docs/id/statusline.md#rate-limit-usage), atau di aplikasi Desktop klik [usage ring](https://code.claude.com/docs/id/desktop.md#check-usage) di sebelah pemilih model.840Sebelum jendela habis, Claude Code dapat memperingatkan Anda bahwa Anda telah menggunakan sebagian besar, dengan pesan seperti `You've used 85% of your session limit · resets 3:45pm`. Untuk memantau tunjangan sisa Anda, tambahkan bidang `rate_limits` ke [custom status line](https://code.claude.com/docs/id/statusline.md#rate-limit-usage), atau di aplikasi Desktop klik [usage ring](https://code.claude.com/docs/id/desktop.md#check-usage).

837 841 

838### Usage credits required for 1M context842### Usage credits required for 1M context

839 843 


1074* Jalankan `/status` untuk melihat kegagalan dan memastikan `apiKeyHelper` adalah sumber kredensial yang aktif. Baris `apiKeyHelper` menampilkan `Failing` beserta detail kegagalan terakhir, seperti exit code dan output error perintah, dan menghilang setelah eksekusi berikutnya berhasil. Sebelum v2.1.274, `/status` hanya menampilkan sumber kredensial, bukan kegagalannya.1078* Jalankan `/status` untuk melihat kegagalan dan memastikan `apiKeyHelper` adalah sumber kredensial yang aktif. Baris `apiKeyHelper` menampilkan `Failing` beserta detail kegagalan terakhir, seperti exit code dan output error perintah, dan menghilang setelah eksekusi berikutnya berhasil. Sebelum v2.1.274, `/status` hanya menampilkan sumber kredensial, bukan kegagalannya.

1075* Setiap kali perintah gagal, exit code dan output error-nya juga muncul di panel `Authentication` di terminal. Sebelum v2.1.212, panel tersebut berjudul `Cloud authentication`.1079* Setiap kali perintah gagal, exit code dan output error-nya juga muncul di panel `Authentication` di terminal. Sebelum v2.1.212, panel tersebut berjudul `Cloud authentication`.

1076 1080 

1081### Claude Code didn't send your claude.ai login

1082 

1083Kirimkan pesan lengkap ini kepada administrator Anda. Pesan ini mencantumkan perubahan yang dapat mereka lakukan. Pesan ini berarti Claude Code menolak prompt Anda. Selama Anda menggunakan login claude.ai Anda, Claude Code terus menolak prompt, bahkan setelah dimulai ulang:

1084 

1085```text theme={null}

1086Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect. Your organization's managed settings may be overriding it. Ask your administrator to keep the key helper and its API address in effect, to name Anthropic's API address in those managed settings, or to remove the key helper. Run /status to see your setting sources.

1087```

1088 

1089**Yang harus dilakukan:**

1090 

1091* Untuk memberi tahu administrator Anda sumber terkelola mana yang dimiliki mesin Anda, jalankan `/status` di prompt Claude Code dan salin [baris `Setting sources`](https://code.claude.com/docs/id/managed-settings#read-the-source-in-/status). Jika baris `Skipped sources` muncul, salin juga baris tersebut

1092* Jika Anda mengelola pengaturan tersebut, lihat [mengapa key helper mesin tidak berlaku](https://code.claude.com/docs/id/server-managed-settings.md#machine-apikeyhelper-not-in-effect)

1093 

1077### Invalid request header value1094### Invalid request header value

1078 1095 

1079Nilai yang akan dikirim Claude Code sebagai header permintaan mengandung karakter yang tidak dapat dibawa oleh header HTTP: pemisah baris, byte NUL, atau karakter di atas `U+00FF`, seperti tanda kutip melengkung atau spasi lebar-nol. Claude Code menghentikan permintaan sebelum apa pun dikirim dan menyebutkan variabel atau pengaturan yang perlu diperbaiki. Penyebab umumnya adalah kredensial yang ditempel dari dokumen atau obrolan yang membawa karakter tak terlihat atau pemisah baris yang tidak disengaja.1096Nilai yang akan dikirim Claude Code sebagai header permintaan mengandung karakter yang tidak dapat dibawa oleh header HTTP: pemisah baris, byte NUL, atau karakter di atas `U+00FF`, seperti tanda kutip melengkung atau spasi lebar-nol. Claude Code menghentikan permintaan sebelum apa pun dikirim dan menyebutkan variabel atau pengaturan yang perlu diperbaiki. Penyebab umumnya adalah kredensial yang ditempel dari dokumen atau obrolan yang membawa karakter tak terlihat atau pemisah baris yang tidak disengaja.


1333* Jika `/status` hanya menampilkan login Anda, jalankan `/login` sekali. Jika kredensial telah dicabut, login baru akan menggantikannya.1350* Jika `/status` hanya menampilkan login Anda, jalankan `/login` sekali. Jika kredensial telah dicabut, login baru akan menggantikannya.

1334* Jika pesan yang sama muncul kembali untuk akun login yang sama, akun atau organisasi tersebut tidak lagi aktif. Periksa akun dan organisasi yang dilaporkan `/status`, dan minta admin organisasi Anda untuk memulihkan akses.1351* Jika pesan yang sama muncul kembali untuk akun login yang sama, akun atau organisasi tersebut tidak lagi aktif. Periksa akun dan organisasi yang dilaporkan `/status`, dan minta admin organisasi Anda untuk memulihkan akses.

1335* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway), teks setelah `401` adalah pesan dari gateway Anda, bukan dari Anthropic, dan `/login` tidak mengubahnya. Perbaiki kredensial yang diharapkan gateway Anda sebagai gantinya.1352* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway), teks setelah `401` adalah pesan dari gateway Anda, bukan dari Anthropic, dan `/login` tidak mengubahnya. Perbaiki kredensial yang diharapkan gateway Anda sebagai gantinya.

1336* Jika setiap permintaan gagal dengan `401` setelah gateway Anda memiliki kredensial yang diharapkannya, periksa apakah gateway menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan di [Tool search melalui LLM gateway](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search nonaktif di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.1353* Jika setiap permintaan gagal dengan `401` setelah gateway Anda memiliki kredensial yang diharapkannya, periksa bahwa gateway dan upstream-nya menerima field [tool search](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway). Secara default, Claude Code mengirim field tool `defer_loading` dan blok `tool_reference`, dengan header `anthropic-beta` yang mengaktifkannya. Sebelum v2.1.304, tool search dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

1337 1354 

1338### Login expired1355### Login expired

1339 1356 


1936* 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.1953* 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.

1937* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md)1954* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md)

1938* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](https://code.claude.com/docs/id/llm-gateway-connect.md) untuk pengaturan.1955* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](https://code.claude.com/docs/id/llm-gateway-connect.md) untuk pengaturan.

1939* Jika `ANTHROPIC_BASE_URL` sudah menunjuk ke gateway Anda dan setiap permintaan berakhir dengan `Connection dropped`, periksa apakah gateway Anda menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan [Tool search melalui gateway LLM](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search dinonaktifkan di belakang gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.1956* Jika `ANTHROPIC_BASE_URL` sudah menunjuk ke gateway Anda dan setiap permintaan berakhir dengan `Connection dropped`, periksa apakah gateway Anda dan upstream-nya menerima field [tool search](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway). Secara default, Claude Code mengirim field tool `defer_loading` dan blok `tool_reference`, beserta header `anthropic-beta` yang mengaktifkannya. Sebelum v2.1.304, tool search dinonaktifkan di belakang gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

1940* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](https://code.claude.com/docs/id/network-config.md#network-access-requirements)1957* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](https://code.claude.com/docs/id/network-config.md#network-access-requirements)

1941* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries)1958* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries)

1942 1959 


2471**Yang harus dilakukan:**2488**Yang harus dilakukan:**

2472 2489 

2473* Jika pesan berisi `context_management: Extra inputs are not permitted`, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code) ke v2.1.304 atau yang lebih baru. Setelah Anda memperbarui, Claude Code menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tersebut. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini.2490* Jika pesan berisi `context_management: Extra inputs are not permitted`, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code) ke v2.1.304 atau yang lebih baru. Setelah Anda memperbarui, Claude Code menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tersebut. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini.

2474* Jika pesan menyebut `defer_loading` atau `tool_reference`, perbarui Claude Code atau matikan [tool search](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway):2491* Jika pesan menyebut `defer_loading` atau `tool_reference`, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code) ke v2.1.305 atau yang lebih baru. Claude Code kemudian menanggapi penolakan ini dengan [mengirim permintaan sekali lagi](https://code.claude.com/docs/id/llm-gateway-protocol.md#retry-without-tool-search) tanpa field tool search.

2475 * [Perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code) ke v2.1.305 atau yang lebih baru. Claude Code kemudian menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tool search.

2476 * Jika Anda tidak dapat memperbarui, atau pesan masih muncul setelah Anda memperbarui, atur `ENABLE_TOOL_SEARCH=false` di shell Anda atau di [pengaturan `env`](https://code.claude.com/docs/id/settings-reference#env) Anda. Jika file pengaturan sudah mengatur variabel tersebut, ubah di sana, karena nilai tersebut [dapat menimpa export shell](https://code.claude.com/docs/id/settings-reference.md#how-env-values-interact-with-your-shell). Claude Code kemudian memuat tool MCP di awal.

2477* Jika gateway Anda membuang header, konfigurasikan gateway untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](https://code.claude.com/docs/id/llm-gateway-protocol.md#feature-pass-through) untuk apa yang harus diteruskan gateway.2492* Jika gateway Anda membuang header, konfigurasikan gateway untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](https://code.claude.com/docs/id/llm-gateway-protocol.md#feature-pass-through) untuk apa yang harus diteruskan gateway.

2478* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](https://code.claude.com/docs/id/env-vars) sebelum meluncurkan. [Nonaktifkan kemampuan pra-rilis](https://code.claude.com/docs/id/llm-gateway-protocol.md#disable-pre-release-capabilities) mencakup cakupan yang tepat.2493* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](https://code.claude.com/docs/id/env-vars) sebelum meluncurkan. [Nonaktifkan kemampuan pra-rilis](https://code.claude.com/docs/id/llm-gateway-protocol.md#disable-pre-release-capabilities) mencakup cakupan yang tepat.

2479 2494 


2552* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md).2567* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md).

2553* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](https://code.claude.com/docs/id/model-config.md#setting-your-model) dan hapus nilai usang.2568* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](https://code.claude.com/docs/id/model-config.md#setting-your-model) dan hapus nilai usang.

2554* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#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 pada versi yang lebih lama.2569* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#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 pada versi yang lebih lama.

2555* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway) dan setiap model gagal dengan cara ini, periksa apakah gateway Anda menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan di [Tool search melalui LLM gateway](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search dimatikan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.2570* Jika [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/id/env-vars) mengarah ke [LLM gateway](https://code.claude.com/docs/id/llm-gateway) dan setiap model gagal dengan cara ini, periksa apakah gateway Anda dan upstream-nya menerima field [tool search](https://code.claude.com/docs/id/mcp.md#tool-search-through-a-gateway). Secara default, Claude Code mengirim field tool `defer_loading` dan blok `tool_reference`, dengan header `anthropic-beta` yang mengaktifkannya. Sebelum v2.1.304, tool search dimatikan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

2556* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md#troubleshooting).2571* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md#troubleshooting).

2557 2572 

2558### Model bukan ID model yang dikenali2573### Model bukan ID model yang dikenali


4563* Jika Claude harus dapat mengubah file, hapus atau persempit aturan penolakan `Read` di `/permissions` atau di [settings](https://code.claude.com/docs/id/settings-reference.md#permission-settings)4578* Jika Claude harus dapat mengubah file, hapus atau persempit aturan penolakan `Read` di `/permissions` atau di [settings](https://code.claude.com/docs/id/settings-reference.md#permission-settings)

4564* Jika file harus tetap tidak tersentuh, pertahankan aturan tersebut dan tambahkan aturan penolakan `Edit` untuk jalur yang sama agar tool NotebookEdit juga terblokir4579* Jika file harus tetap tidak tersentuh, pertahankan aturan tersebut dan tambahkan aturan penolakan `Edit` untuk jalur yang sama agar tool NotebookEdit juga terblokir

4565 4580 

4581### Setting blocks writes outside the working directories

4582 

4583Ketika Claude mencoba menulis file dan panggilan tool gagal dengan pesan ini, jalurnya berada di luar [direktori kerja](https://code.claude.com/docs/id/permissions.md#working-directories) sesi dan [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) aktif:

4584 

4585```text wrap theme={null}

4586<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories. Ask the user to add the directory with /add-dir, or to remove that setting.

4587```

4588 

4589Claude Code menolak penulisan tersebut di setiap mode izin. Penolakan juga dapat berbunyi:

4590 

4591```text wrap theme={null}

4592<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories). Add the directory with /add-dir, or remove that setting.

4593```

4594 

4595**What to do:**

4596 

4597* Jika Claude tidak seharusnya menulis di sana, tidak perlu melakukan apa pun

4598* Agar Claude dapat menulis ke direktori yang sudah ada yang berisi jalur tersebut, jalankan `/add-dir <directory>` di prompt Claude Code, atau berikan `--add-dir <directory>` saat Anda memulai Claude Code

4599* Jika jalur tersebut adalah file pengaturan Claude Code, seperti `~/.claude/settings.json`, edit sendiri file tersebut. Menambahkan direktorinya dengan `/add-dir` tidak membantu, karena Claude Code kemudian menolak penulisan tersebut [sebagai file pengaturan](#writes-to-claude-code-settings-files-are-blocked).

4600* Agar sebuah direktori tetap dapat ditulis di setiap sesi, cantumkan direktori tersebut di bawah [`permissions.additionalDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-additionaldirectories) dalam pengaturan pengguna atau pengaturan terkelola Anda

4601* Untuk mematikan `permissions.blockWritesOutsideWorkingDirectories`, hapus pengaturan tersebut dari setiap file pengaturan yang mengaturnya, lalu mulai ulang Claude Code

4602* Jika tidak ada file pengaturan Anda yang memiliki `permissions.blockWritesOutsideWorkingDirectories`, pengaturan tersebut dapat berasal dari `--settings` atau dari aplikasi host. Claude Code juga menolak penulisan ini selama tidak dapat membaca `permissions` dalam [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md#keys-that-fail-closed) Anda. Tanyakan kepada pihak yang meluncurkan atau mengelola sesi tersebut.

4603 

4604### Writes to Claude Code settings files are blocked

4605 

4606Ketika Claude mencoba menulis file dan panggilan tool gagal dengan pesan ini, Claude Code memperlakukan file tersebut sebagai salah satu file pengaturannya dan [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) aktif:

4607 

4608```text wrap theme={null}

4609<path>: Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on, because a settings file can lift that block. While a managed settings folder cannot be resolved, any .json file counts as one.

4610```

4611 

4612**What to do:**

4613 

4614* Untuk mengubah pengaturan, edit sendiri file pengaturan tersebut

4615* Agar Claude dapat mengedit file pengaturan lagi, hapus `permissions.blockWritesOutsideWorkingDirectories` dari setiap file pengaturan yang mengaturnya, lalu mulai ulang Claude Code

4616* Jika file tersebut bukan salah satu file pengaturan Anda, temukan file tersebut di antara file lain yang diperlakukan Claude Code sebagai file pengaturan:

4617 * **File yang Anda berikan ke `--agents` atau `--mcp-config`**: edit sendiri file tersebut

4618 * **Salinan tersimpan dari [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md#security-considerations) dan file yang disimpan bersamanya**: minta seorang [Owner](https://code.claude.com/docs/id/server-managed-settings.md#access-control) untuk mengubah pengaturan tersebut di pengaturan yang dikelola server.

4619 * **File `.json` apa pun, selama Claude Code tidak dapat mengetahui ke mana folder [`managed-settings.d/`](https://code.claude.com/docs/id/managed-settings#split-a-file-based-policy-across-teams) mengarah**: minta administrator Anda memeriksa folder tersebut

4620 

4566### Path cannot contain null bytes4621### Path cannot contain null bytes

4567 4622 

4568Argumen path atau pattern dalam panggilan tool file mengandung null byte, yang tidak dapat diterima oleh sistem file dan tool pencarian. Read, Write, Edit, NotebookEdit, Glob, dan Grep memeriksa hal ini, dan pesan menyebutkan tool dan argumennya:4623Argumen path atau pattern dalam panggilan tool file mengandung null byte, yang tidak dapat diterima oleh sistem file dan tool pencarian. Read, Write, Edit, NotebookEdit, Glob, dan Grep memeriksa hal ini, dan pesan menyebutkan tool dan argumennya:


6147Dalam skrip atau harness yang membaca stderr, cocokkan pada awalan `[claude-code:unrecognized_model]`. Setelah awalan dan satu spasi, Claude Code menulis objek JSON satu baris. Claude Code dapat menambahkan bidang ke dalamnya dalam versi yang lebih baru, jadi abaikan bidang apa pun yang tidak Anda harapkan. Itu menulis setidaknya dua ini:6202Dalam skrip atau harness yang membaca stderr, cocokkan pada awalan `[claude-code:unrecognized_model]`. Setelah awalan dan satu spasi, Claude Code menulis objek JSON satu baris. Claude Code dapat menambahkan bidang ke dalamnya dalam versi yang lebih baru, jadi abaikan bidang apa pun yang tidak Anda harapkan. Itu menulis setidaknya dua ini:

6148 6203 

6149* `model`: string model seperti yang Anda konfigurasi6204* `model`: string model seperti yang Anda konfigurasi

6150* `query_source`: jalur permintaan yang menggunakan model. Claude Code melaporkan `sdk` untuk jalankan `-p` dan nilai yang dimulai dengan `agent:` untuk subagent.6205* `query_source`: jalur permintaan yang menggunakan model. Misalnya, nilainya adalah `sdk` untuk percakapan utama dari proses `-p` dan dimulai dengan `agent:` untuk subagent.

6151 6206 

6152Claude Code menulis baris ke salah satu dari dua tempat, tergantung pada cara Anda menjalankannya:6207Claude Code menulis baris ke salah satu dari dua tempat, tergantung pada cara Anda menjalankannya:

6153 6208 

6154* Dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan `-p`, Claude Code menulis ke stderr di bawah setiap `--output-format`, jadi Anda dapat menguraikan stdout tanpa memfilter baris keluar6209* Dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan `-p`, Claude Code menulis ke stderr di bawah setiap `--output-format`, jadi Anda dapat menguraikan stdout tanpa memfilter baris keluar

6155* Dalam sesi interaktif atau [background session](https://code.claude.com/docs/id/agent-view.md), Claude Code menulis ke log debug sebagai gantinya; jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`6210* Dalam sesi interaktif atau [background session](https://code.claude.com/docs/id/agent-view.md), Claude Code menulis ke log debug sebagai gantinya; jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`

6156 6211 

6157Claude Code menulis baris sekali per string model per proses. Itu menulis baris terpisah untuk setiap ID yang tidak dikenali lebih lanjut, seperti yang digunakan [subagent](https://code.claude.com/docs/id/sub-agents.md#choose-a-model) atau [background functionality](https://code.claude.com/docs/id/costs.md#background-token-usage).6212Claude Code menulis baris sekali per ID model per proses. Itu menulis baris terpisah untuk setiap ID yang tidak dikenali lebih lanjut, seperti yang digunakan [subagent](https://code.claude.com/docs/id/sub-agents.md#choose-a-model) atau [background functionality](https://code.claude.com/docs/id/model-config.md#environment-variables).

6158 6213 

6159Claude Code tidak menulis baris untuk ID penyedia yang diselesaikannya ke model yang dikenalinya, seperti Amazon Bedrock `us.anthropic.claude-...` ID, ID Agent Platform Google Cloud dengan akhiran versi `@`, dan nama deployment Microsoft Foundry yang berisi ID model Claude. Claude Code memeriksa model di balik [application inference profile ARN](https://code.claude.com/docs/id/amazon-bedrock.md#map-each-model-version-to-an-inference-profile) Amazon Bedrock daripada ARN itu sendiri. Itu tidak menulis baris untuk ARN yang tidak dapat diselesaikannya, seperti yang salah ketik.6214Claude Code tidak menulis baris untuk ID penyedia yang diselesaikannya ke model yang dikenalinya, seperti Amazon Bedrock `us.anthropic.claude-...` ID, ID Agent Platform Google Cloud dengan akhiran versi `@`, dan nama deployment Microsoft Foundry yang berisi ID model Claude. Claude Code memeriksa model di balik [application inference profile ARN](https://code.claude.com/docs/id/amazon-bedrock.md#map-each-model-version-to-an-inference-profile) Amazon Bedrock daripada ARN itu sendiri. Itu tidak menulis baris untuk ARN yang tidak dapat diselesaikannya, seperti yang salah ketik.

6160 6215 

fast-mode.md +8 −1

Details

14 14 

15Mode cepat bukan model yang berbeda. Mode ini menggunakan Claude Opus dengan konfigurasi API berbeda yang memprioritaskan kecepatan daripada efisiensi biaya. Anda mendapatkan kualitas dan kemampuan yang identik dengan respons yang lebih cepat. Mode cepat didukung pada Opus 5.5, Opus 5, dan Opus 4.8. Mode ini tidak tersedia pada Sonnet, Haiku, atau model lainnya.15Mode cepat bukan model yang berbeda. Mode ini menggunakan Claude Opus dengan konfigurasi API berbeda yang memprioritaskan kecepatan daripada efisiensi biaya. Anda mendapatkan kualitas dan kemampuan yang identik dengan respons yang lebih cepat. Mode cepat didukung pada Opus 5.5, Opus 5, dan Opus 4.8. Mode ini tidak tersedia pada Sonnet, Haiku, atau model lainnya.

16 16 

17> [!WARNING]

18>

19> Fast mode untuk Opus 4.8 sudah deprecated pada 30 Oktober 2026, dan akan dihapus pada 30 November 2026. Jika Opus 4.8 masih menjadi model Anda dengan fast mode aktif setelah tanggal tersebut, API akan menolak permintaan Anda. Sebelum tanggal tersebut, beralihlah ke Opus 5.5 atau matikan fast mode di sesi Anda:

20>

21> * **Untuk mempertahankan fast mode**: gunakan [`/model`](https://code.claude.com/docs/id/model-config#setting-your-model) untuk beralih ke [Opus 5.5](https://code.claude.com/docs/id/model-config.md#model-aliases), yang memerlukan Claude Code v2.1.280 atau yang lebih baru. Fast mode tetap aktif setelah peralihan. Jika sesi baru masih dimulai pada Opus 4.8, lihat [Sesi baru dimulai pada model yang berbeda dari yang Anda pilih](https://code.claude.com/docs/id/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked).

22> * **Untuk tetap menggunakan Opus 4.8 pada kecepatan standar**: jalankan [`/fast off`](https://code.claude.com/docs/id/commands)

23 

17Opus 4.7 tidak mendukung mode cepat, jadi beralih ke model tersebut mematikan mode cepat. Mode cepat untuk Opus 4.7 sudah usang pada 25 Juni 2026, dan dihapus pada 24 Juli 2026.24Opus 4.7 tidak mendukung mode cepat, jadi beralih ke model tersebut mematikan mode cepat. Mode cepat untuk Opus 4.7 sudah usang pada 25 Juni 2026, dan dihapus pada 24 Juli 2026.

18 25 

19Yang perlu diketahui:26Yang perlu diketahui:


88 95 

89* **Pro, Max, dan Ultra**: Anda membayar fast mode dari kredit penggunaan Anda. Buka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, di mana bagian **Usage credits** menunjukkan berapa banyak yang telah Anda keluarkan dalam kredit penggunaan bulan ini. Angka tersebut mencakup fast mode tetapi tidak memisahkannya secara terpisah.96* **Pro, Max, dan Ultra**: Anda membayar fast mode dari kredit penggunaan Anda. Buka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, di mana bagian **Usage credits** menunjukkan berapa banyak yang telah Anda keluarkan dalam kredit penggunaan bulan ini. Angka tersebut mencakup fast mode tetapi tidak memisahkannya secara terpisah.

90* **Team dan Enterprise**: organisasi Anda membayar penggunaan mode cepat Anda dari kredit penggunaannya. Untuk melihat pengeluaran kredit penggunaan Anda sendiri, jalankan [`/usage`](https://code.claude.com/docs/id/costs#check-your-usage-credits-spend). Untuk tempat organisasi Anda melihat pengeluaran tersebut, lihat [Claude untuk Teams dan Enterprise](https://code.claude.com/docs/id/costs.md#claude-for-teams-and-enterprise).97* **Team dan Enterprise**: organisasi Anda membayar penggunaan mode cepat Anda dari kredit penggunaannya. Untuk melihat pengeluaran kredit penggunaan Anda sendiri, jalankan [`/usage`](https://code.claude.com/docs/id/costs#check-your-usage-credits-spend). Untuk tempat organisasi Anda melihat pengeluaran tersebut, lihat [Claude untuk Teams dan Enterprise](https://code.claude.com/docs/id/costs.md#claude-for-teams-and-enterprise).

91* **Claude Console**: organisasi Anda membayar mode cepat bersama dengan sisa penggunaan API-nya. Di halaman Console [Usage](https://platform.claude.com/usage) dan [Cost](https://platform.claude.com/cost), pilih **Speed (Research Preview)** di menu **Group by** untuk memisahkan mode cepat dari penggunaan kecepatan standar. Anda hanya melihat opsi tersebut ketika rentang tanggal yang dipilih mencakup penggunaan mode cepat.98* **Claude Console**: organisasi Anda membayar fast mode bersama dengan sisa penggunaan API-nya. Di halaman Console [Usage](https://platform.claude.com/usage) dan [Cost](https://platform.claude.com/cost), pilih **Speed (research preview)** di menu **Group by** untuk memisahkan fast mode dari penggunaan kecepatan standar. Anda hanya melihat opsi tersebut ketika rentang tanggal yang dipilih mencakup penggunaan fast mode.

92 99 

93## Tentukan kapan menggunakan mode cepat100## Tentukan kapan menggunakan mode cepat

94 101 

Details

192 192 

193Ketika Claude Code dimulai dengan Google Cloud's Agent Platform dikonfigurasi, ia memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di proyek Anda.193Ketika Claude Code dimulai dengan Google Cloud's Agent Platform dikonfigurasi, ia memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di proyek Anda.

194 194 

195Jika 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](https://code.claude.com/docs/id/settings.md) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya.195Anda mungkin telah mempinkan versi model yang lebih lama dari default Claude Code saat ini. Jika proyek Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin:

196 

197* **Jika Anda menerima**: Claude Code menulis ID model baru ke [file pengaturan pengguna Anda](https://code.claude.com/docs/id/settings.md) dan memulai ulang

198* **Jika Anda menolak**: Claude Code mengingat pilihan Anda sampai perubahan versi default berikutnya

199 

200Untuk pin di blok `env` dari [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), Claude Code tidak menjalankan pemeriksaan dan tidak menampilkan dialog apa pun.

196 201 

197Jika 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.202Jika 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.

198 203 

hooks.md +3 −3

Details

580| Bidang | Diperlukan | Deskripsi |580| Bidang | Diperlukan | Deskripsi |

581| :- | :- | :- |581| :- | :- | :- |

582| `prompt` | ya | Teks prompt untuk dikirim ke model. Gunakan `$ARGUMENTS` sebagai placeholder untuk JSON input hook. Escape dengan backslash untuk menyertakan teks literal: `\$1.00` dirender sebagai `$1.00` |582| `prompt` | ya | Teks prompt untuk dikirim ke model. Gunakan `$ARGUMENTS` sebagai placeholder untuk JSON input hook. Escape dengan backslash untuk menyertakan teks literal: `\$1.00` dirender sebagai `$1.00` |

583| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/costs.md#background-token-usage) |583| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/model-config.md#environment-variables) |

584 584 

585### Referensi skrip berdasarkan path585### Referensi skrip berdasarkan path

586 586 


3914 3914 

3915Alih-alih menjalankan perintah Bash, prompt-based hooks:3915Alih-alih menjalankan perintah Bash, prompt-based hooks:

3916 3916 

39171. Mengirimkan input hook dan prompt Anda ke model Claude, secara default model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/costs.md#background-token-usage)39171. Mengirimkan input hook dan prompt Anda ke model Claude, secara default model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/model-config.md#environment-variables)

39182. LLM merespons dengan JSON terstruktur yang berisi keputusan39182. LLM merespons dengan JSON terstruktur yang berisi keputusan

39193. Claude Code memproses keputusan secara otomatis39193. Claude Code memproses keputusan secara otomatis

3920 3920 


3947| :- | :- | :- |3947| :- | :- | :- |

3948| `type` | ya | Harus `"prompt"` |3948| `type` | ya | Harus `"prompt"` |

3949| `prompt` | ya | Teks prompt untuk dikirim ke LLM. Gunakan `$ARGUMENTS` sebagai placeholder untuk JSON input hook. Jika `$ARGUMENTS` tidak ada, JSON input ditambahkan ke prompt |3949| `prompt` | ya | Teks prompt untuk dikirim ke LLM. Gunakan `$ARGUMENTS` sebagai placeholder untuk JSON input hook. Jika `$ARGUMENTS` tidak ada, JSON input ditambahkan ke prompt |

3950| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/costs.md#background-token-usage) |3950| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model yang digunakan Claude Code untuk [fungsionalitas latar belakang](https://code.claude.com/docs/id/model-config.md#environment-variables) |

3951| `timeout` | tidak | Timeout dalam detik. Default: 30 |3951| `timeout` | tidak | Timeout dalam detik. Default: 30 |

3952| `continueOnBlock` | tidak | Pada events yang berlaku, `true` mengirimkan alasan `ok: false` kembali ke Claude dan melanjutkan alih-alih mengakhiri giliran. Default: `false`. Lihat [Response schema](#response-schema) untuk perilaku per-event |3952| `continueOnBlock` | tidak | Pada events yang berlaku, `true` mengirimkan alasan `ok: false` kembali ke Claude dan melanjutkan alih-alih mengakhiri giliran. Default: `false`. Lihat [Response schema](#response-schema) untuk perilaku per-event |

3953 3953 

Details

708 708 

709Dalam [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#attach-to-a-session) yang terpasang, `Left` melepaskan dan mengembalikan Anda ke tampilan agen, bahkan saat jawaban masih tiba. Pertanyaan sampingan terus berjalan saat Anda pergi. Lain kali Anda melampirkan ke sesi, overlay dibuka kembali dengan pertanyaan sampingan, atau dengan jawabannya. Sebelum v2.1.257, `Left` tidak melepaskan di sana.709Dalam [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#attach-to-a-session) yang terpasang, `Left` melepaskan dan mengembalikan Anda ke tampilan agen, bahkan saat jawaban masih tiba. Pertanyaan sampingan terus berjalan saat Anda pergi. Lain kali Anda melampirkan ke sesi, overlay dibuka kembali dengan pertanyaan sampingan, atau dengan jawabannya. Sebelum v2.1.257, `Left` tidak melepaskan di sana.

710 710 

711`/btw` melihat percakapan lengkap Anda tetapi tidak memiliki alat. [Subagent](https://code.claude.com/docs/id/sub-agents.md) memiliki alat dan dimulai dari prompt yang diterimanya, atau, untuk [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), dari salinan percakapan ini. Gunakan `/btw` untuk bertanya tentang apa yang sudah diketahui Claude dari sesi ini; gunakan subagent untuk menemukan sesuatu yang baru.711`/btw` melihat percakapan lengkap Anda, atau [transkrip subagent yang sedang Anda buka](#ask-btw-about-a-subagent), tetapi tidak memiliki tool. [Subagent](https://code.claude.com/docs/id/sub-agents.md) memiliki tool dan dimulai dari prompt yang diterimanya. [Fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation) dimulai dari salinan percakapan ini. Gunakan `/btw` untuk bertanya tentang apa yang sudah diketahui Claude dari sesi ini; gunakan subagent untuk menemukan sesuatu yang baru.

712 

713### Tanyakan /btw tentang subagent

714 

715Dengan [transkrip subagent yang terbuka](https://code.claude.com/docs/id/sub-agents.md#observe-and-steer-running-forks), Claude menjawab `/btw` dari transkrip tersebut alih-alih dari percakapan utama, sehingga Anda dapat menanyakan apa yang dilakukan subagent. `/btw` berikutnya dari transkrip tersebut hanya melihat pertanyaan sampingan yang Anda ajukan dari transkrip itu. Memerlukan Claude Code v2.1.314 atau lebih baru.

716 

717Dari transkrip rekan tim dalam [tim agent](https://code.claude.com/docs/id/agent-teams.md), Claude menjawab dari percakapan utama.

712 718 

713## Daftar tugas719## Daftar tugas

714 720 


749* **Setelah komputer Anda tidur**: jika tidur lebih dari sekitar 30 menit dan batas direset saat tidur, baris pertama membaca `Your usage limit has reset` dan baris kedua membaca `Press enter to continue`. Tekan `Enter` untuk melanjutkan. Setelah tidur yang lebih singkat, atau tidur yang berakhir sebelum reset, Claude Code melanjutkan dengan sendirinya.755* **Setelah komputer Anda tidur**: jika tidur lebih dari sekitar 30 menit dan batas direset saat tidur, baris pertama membaca `Your usage limit has reset` dan baris kedua membaca `Press enter to continue`. Tekan `Enter` untuk melanjutkan. Setelah tidur yang lebih singkat, atau tidur yang berakhir sebelum reset, Claude Code melanjutkan dengan sendirinya.

750* **Lebih awal**: ketika Anda selesai menambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) dengan `/usage-credits`, masuk kembali setelah `/upgrade`, atau beralih model dengan `/model` selama penantian, Claude Code memeriksa apakah penggunaan tersedia lagi dan melanjutkan segera jika tersedia. Ini tidak memeriksa setelah upgrade atau pembelian yang Anda lakukan di browser sendiri. Di bawah [`opusplan`](https://code.claude.com/docs/id/model-config#opusplan-model-setting) dan pengaturan model lainnya yang menjalankan plan mode pada model yang berbeda, Claude Code menunggu reset sebagai gantinya.756* **Lebih awal**: ketika Anda selesai menambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) dengan `/usage-credits`, masuk kembali setelah `/upgrade`, atau beralih model dengan `/model` selama penantian, Claude Code memeriksa apakah penggunaan tersedia lagi dan melanjutkan segera jika tersedia. Ini tidak memeriksa setelah upgrade atau pembelian yang Anda lakukan di browser sendiri. Di bawah [`opusplan`](https://code.claude.com/docs/id/model-config#opusplan-model-setting) dan pengaturan model lainnya yang menjalankan plan mode pada model yang berbeda, Claude Code menunggu reset sebagai gantinya.

751 757 

752Tugas yang dilanjutkan berjalan seperti putaran lainnya. Claude Code masih meminta [izin](https://code.claude.com/docs/id/permissions.md) seperti biasa, sehingga tugas dapat berhenti pada prompt saat Anda pergi. Jika mencapai batas lagi, Claude Code mengaktifkan kembali penantian dengan sendirinya paling banyak dua kali berturut-turut, kemudian berhenti dan menampilkan `Automatic continue stopped after repeated usage-limit hits · /rate-limit-options to try again`.758Dalam tugas yang dilanjutkan, Claude Code masih meminta [izin](https://code.claude.com/docs/id/permissions.md) seperti biasa, sehingga tugas dapat berhenti pada dialog izin saat Anda pergi. Jika tugas mencapai batas lagi, penantian dimulai lagi.

759 

760Setelah tiga kali lanjutan otomatis, lanjutan otomatis berhenti dan notifikasi `Automatic continue stopped after repeated usage-limit hits` muncul. Jalankan `/rate-limit-options` untuk memilih apa yang akan dilakukan selanjutnya. Ketika Anda mengirim prompt lain, atau memilih penantian dari menu tersebut, hitungan dimulai dari awal. Lanjutan otomatis juga berhenti setelah tiga kali lanjutan untuk [`/goal`](https://code.claude.com/docs/id/goal) atau [tugas terjadwal dengan cakupan sesi](https://code.claude.com/docs/id/scheduled-tasks.md) yang berjalan melewati beberapa jendela reset.

753 761 

754### Batalkan penantian762### Batalkan penantian

755 763 

Details

237* Ketika upstream menolak entri `role: "system"` di dalam `messages`, Claude Code mencoba ulang sekali tanpa pesan sistem mid-conversation tersebut dan membawa teksnya dalam pesan pengguna sebagai gantinya. Permintaan berikutnya dalam percakapan tetap menggunakan bentuk tersebut sampai pengembang menjalankan `/clear` atau percakapan dipadatkan237* Ketika upstream menolak entri `role: "system"` di dalam `messages`, Claude Code mencoba ulang sekali tanpa pesan sistem mid-conversation tersebut dan membawa teksnya dalam pesan pengguna sebagai gantinya. Permintaan berikutnya dalam percakapan tetap menggunakan bentuk tersebut sampai pengembang menjalankan `/clear` atau percakapan dipadatkan

238* Ketika upstream hanya menolak penanda `cache_control` pada pesan sistem mid-conversation, Claude Code mempertahankan pesan sistem dan mencoba ulang sekali dengan penanda dipindahkan. Penanda ditempatkan pada entri terakhir dalam `messages` yang bukan pesan sistem, dalam retry tersebut dan dalam permintaan berikutnya sampai Claude Code keluar238* Ketika upstream hanya menolak penanda `cache_control` pada pesan sistem mid-conversation, Claude Code mempertahankan pesan sistem dan mencoba ulang sekali dengan penanda dipindahkan. Penanda ditempatkan pada entri terakhir dalam `messages` yang bukan pesan sistem, dalam retry tersebut dan dalam permintaan berikutnya sampai Claude Code keluar

239* Ketika upstream menolak [tanda tangan pemikiran](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), termasuk dengan `400` yang pesannya mengatakan blok `bound to a different conversation`, Claude Code menghapus blok pemikiran sebelumnya dari permintaan, mengulangi, dan menjaganya keluar dari setiap permintaan kemudian. Respons baru masih menyertakan pemikiran239* Ketika upstream menolak [tanda tangan pemikiran](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), termasuk dengan `400` yang pesannya mengatakan blok `bound to a different conversation`, Claude Code menghapus blok pemikiran sebelumnya dari permintaan, mengulangi, dan menjaganya keluar dari setiap permintaan kemudian. Respons baru masih menyertakan pemikiran

240* Ketika gateway atau upstream-nya menolak entri [alat advisor](https://code.claude.com/docs/id/advisor.md) dalam `tools` sebagai tipe alat yang tidak dikenali, Claude Code mengulangi permintaan sekali tanpa entri tersebut dan nilai `anthropic-beta`-nya. Permintaan kemudian ke URL dasar tersebut meninggalkan advisor keluar sampai Claude Code keluar, dan `/advisor` tidak tersedia untuk pengembang untuk waktu itu. Claude Code mengenali penolakan ini dengan respons `400` atau `422` yang pesannya menyebutkan tipe alat setelah `Input tag`, seperti `Input tag 'advisor_20260301'`. Sebelum v2.1.280, Claude Code tidak mengulangi penolakan ini240* Ketika gateway atau upstream-nya menolak entri [tool advisor](https://code.claude.com/docs/id/advisor.md) dalam `tools` sebagai tipe tool yang tidak dikenali, Claude Code mencoba ulang sekali tanpa entri tersebut dan nilai `anthropic-beta`-nya. [Permintaan berikutnya](#how-long-a-rejected-beta-value-stays-out) tidak menyertakan keduanya. Claude Code mengenali penolakan ini dengan respons `400` atau `422` yang pesannya menyebutkan tipe tool setelah `Input tag`, seperti `Input tag 'advisor_20260301'`. Sebelum v2.1.280, Claude Code tidak mencoba ulang penolakan ini

241* Ketika upstream menolak `output_config.effort` atau nilai `anthropic-beta`-nya, Claude Code mencoba ulang dan tidak menambahkan keduanya ke permintaan untuk model tersebut sampai Claude Code keluar. Gateway Anda tidak memerlukan perubahan jika meneruskan `400` dari upstream tanpa modifikasi dan pesannya:241* Ketika upstream menolak `output_config.effort` atau nilai `anthropic-beta`-nya, gateway melihat permintaan tersebut sekali lagi tanpa keduanya. [Permintaan berikutnya](#how-long-a-rejected-beta-value-stays-out) tidak menyertakan keduanya. Gateway Anda tidak memerlukan perubahan jika meneruskan `400` dari upstream tanpa modifikasi dan pesannya:

242 * Menyebutkan `output_config.effort` bersama dengan `Extra inputs are not permitted`242 * Menyebutkan `output_config.effort` bersama dengan `Extra inputs are not permitted`

243 * Menyatakan bahwa model tidak mendukung parameter effort243 * Menyatakan bahwa model tidak mendukung parameter effort

244 * Diawali dengan `Unexpected value(s)` dan mencantumkan `effort-2025-11-24` untuk header `anthropic-beta`. Memerlukan v2.1.310 atau lebih baru. Pengembang yang [`ANTHROPIC_BETAS`](https://code.claude.com/docs/id/env-vars)-nya mencantumkan nilai tersebut tetap mengirimkannya dan mendapatkan `400`, jadi minta mereka menghapus entri tersebut244 * Diawali dengan `Unexpected value(s)` dan mencantumkan `effort-2025-11-24` untuk header `anthropic-beta`. Memerlukan v2.1.310 atau lebih baru. Pengembang yang [`ANTHROPIC_BETAS`](https://code.claude.com/docs/id/env-vars)-nya mencantumkan nilai tersebut tetap mengirimkannya dan mendapatkan `400`, jadi minta mereka menghapus entri tersebut

245* Ketika upstream menolak field `context_management` atau nilai `anthropic-beta`-nya, gateway melihat permintaan tersebut sekali lagi tanpa keduanya. Jika gateway melihatnya lagi dalam permintaan berikutnya dan upstream menolaknya lagi, retry yang sama terjadi. Claude Code mengenali penolakan ini dari pesannya, misalnya pesan yang berisi `context_management: Extra inputs are not permitted`. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini245* Ketika upstream menolak field `context_management` atau nilai `anthropic-beta`-nya, gateway melihat permintaan tersebut sekali lagi tanpa keduanya. [Permintaan berikutnya](#how-long-a-rejected-beta-value-stays-out) tidak menyertakan keduanya. Claude Code mengenali penolakan ini dari pesannya, misalnya pesan yang berisi `context_management: Extra inputs are not permitted`. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini

246* Ketika `400` menolak nilai `anthropic-beta` lain dengan menyebutkan namanya, gateway melihat permintaan tersebut sekali lagi tanpa nilai itu jika [retry mencakup nilai tersebut](#retry-without-a-rejected-beta-value)

246* Ketika upstream menolak field tool beta selain `defer_loading`, seperti `strict`, kesalahan `400` mencapai pengembang. Sebelum itu terjadi, gateway dapat melihat permintaan tersebut lagi [tanpa field pencarian tool](#retry-without-tool-search). Untuk berhenti mengirim field semacam itu, minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)247* Ketika upstream menolak field tool beta selain `defer_loading`, seperti `strict`, kesalahan `400` mencapai pengembang. Sebelum itu terjadi, gateway dapat melihat permintaan tersebut lagi [tanpa field pencarian tool](#retry-without-tool-search). Untuk berhenti mengirim field semacam itu, minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)

247 248 

248Penolakan `bound to a different conversation` berasal dari pemeriksaan [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) API, yang gagal ketika konten `system`, `tools`, atau `messages` sebelumnya berbeda dari permintaan yang menghasilkan pemikiran. Gateway yang menulis ulang konten apa pun dari itu dapat menyebabkan penolakan itu sendiri; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) mencakup apa yang harus dilewatkan tanpa perubahan.249Penolakan `bound to a different conversation` berasal dari pemeriksaan [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) API, yang gagal ketika konten `system`, `tools`, atau `messages` sebelumnya berbeda dari permintaan yang menghasilkan pemikiran. Gateway yang menulis ulang konten apa pun dari itu dapat menyebabkan penolakan itu sendiri; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) mencakup apa yang harus dilewatkan tanpa perubahan.

249 250 

250Sebagian besar logika retry ini cocok dengan kata-kata kesalahan upstream, jadi teruskan body respons kesalahan tanpa modifikasi. Gateway yang membungkus kesalahan upstream dalam amplop miliknya sendiri memecah jalur pemulihan, bahkan ketika mempertahankan kode status, kecuali pesan amplop membawa token `capability_rejected:` yang stabil. [Gateway aplikasi Claude mengganti kata-kata kesalahan penyedia cloud dengan token tersebut](https://code.claude.com/docs/id/claude-apps-gateway-config.md#upstream-error-messages), misalnya `capability_rejected: prompt_too_long`.251Sebagian besar logika retry ini cocok dengan kata-kata kesalahan upstream, jadi teruskan body respons kesalahan tanpa modifikasi. Gateway yang membungkus kesalahan upstream dalam amplop miliknya sendiri memecah jalur pemulihan, bahkan ketika mempertahankan kode status, kecuali pesan amplop membawa token `capability_rejected:` yang stabil. [Gateway aplikasi Claude mengganti kata-kata kesalahan penyedia cloud dengan token tersebut](https://code.claude.com/docs/id/claude-apps-gateway-config.md#upstream-error-messages), misalnya `capability_rejected: prompt_too_long`.

251 252 

253#### Retry tanpa nilai beta yang ditolak

254 

255Ketika `400` menolak, dengan menyebutkan namanya, nilai `anthropic-beta` yang dicakup retry ini, gateway melihat permintaan tersebut sekali lagi tanpa nilai itu. [Permintaan berikutnya](#how-long-a-rejected-beta-value-stays-out) tidak menyertakan nilai tersebut. Sebagian besar nilai yang dicakupnya memerlukan v2.1.314 atau lebih baru.

256 

257Gateway Anda tidak memerlukan perubahan jika pesan `400` yang dikembalikannya membawa nilai tersebut dalam salah satu bentuk berikut:

258 

259* **Kalimat API**: kalimat `Unexpected value(s)` yang mencantumkan nilai tersebut untuk header `anthropic-beta`

260* **Token `beta_header:`**: `capability_rejected: beta_header:` diikuti oleh nilai tersebut, sebuah [token `capability_rejected:`](#automatic-retry-and-error-forwarding)

261 

262Retry ini tidak mencakup kasus seperti nilai yang memiliki retry sendiri, nilai yang tidak dikenali Claude Code, atau pesan yang tidak menyebutkan nilai apa pun:

263 

264* **Nilai yang memiliki retry sendiri, seperti advisor atau pencarian tool**: gateway melihat [retry milik kemampuan tersebut](#automatic-retry-and-error-forwarding) sebagai gantinya

265* **Nilai yang tidak dikenali Claude Code**: nilai yang diatur pengembang melalui `ANTHROPIC_BETAS` tetap ada pada setiap permintaan, sehingga permintaan pengembang terus gagal dengan `400`. Minta pengembang menghapus entri tersebut

266* **`invalid beta flag` tanpa keterangan lain**: Claude Code menebak nilai mana yang ditolak upstream. Jika permintaan membawa nilai yang ditebaknya, gateway melihat permintaan tersebut lagi tanpa nilai itu. Jika `400` tetap mencapai pengembang, minta gateway Anda menyebutkan nilai yang ditolak dalam salah satu bentuk tersebut

267 

268#### Berapa lama nilai beta yang ditolak tetap dikecualikan

269 

270| Yang ditolak upstream | Permintaan yang tidak menyertakannya | Sampai |

271| :- | :- | :- |

272| Tipe tool advisor, atau nilai `anthropic-beta` milik advisor | Permintaan ke URL dasar yang sama. `/advisor` tidak tersedia | Claude Code keluar |

273| `output_config.effort` atau nilai `anthropic-beta`-nya | Permintaan untuk model yang sama | Claude Code keluar |

274| `context_management` atau nilai `anthropic-beta` lain yang dicakup [retry berdasarkan nama](#retry-without-a-rejected-beta-value) | Permintaan dalam percakapan yang sama | Percakapan berakhir atau Claude Code membangun ulang prompt-nya, seperti saat percakapan utama dipadatkan |

275| `context_management` atau nilai lain yang dicakup retry tersebut, ketika pesan kesalahan diawali dengan kalimat API sendiri untuk penolakan tersebut, seperti `Unexpected value(s)`, atau membawa token `beta_header:` | Juga percakapan baru pada model yang disebutkan dalam permintaan yang ditolak, termasuk setelah `/clear` | Claude Code keluar |

276 

252#### Retry tanpa pencarian tool277#### Retry tanpa pencarian tool

253 278 

254Pada v2.1.305 atau lebih baru, permintaan yang membawa [field `defer_loading` dan blok `tool_reference`](https://code.claude.com/docs/id/mcp#tool-search-through-a-gateway) dapat tiba lagi tanpa keduanya setelah `400` atau `422` yang penyebabnya tidak dikenali Claude Code. Setelah retry berhasil, permintaan berikutnya juga tidak menyertakannya.279Pada v2.1.305 atau lebih baru, Claude Code mengirim ulang permintaan tanpa [field `defer_loading` dan blok `tool_reference`](https://code.claude.com/docs/id/mcp#tool-search-through-a-gateway) setelah `400` atau `422` yang menyebutkan pencarian tool atau yang penyebabnya tidak dikenalinya. Setelah retry berhasil, permintaan berikutnya dalam percakapan tersebut juga tidak menyertakannya.

255 280 

256Permintaan pengembang tetap berfungsi tanpa perubahan apa pun pada gateway, dengan tool MCP mereka dimuat di awal. Claude Code mencoba pencarian tool lagi nanti, sehingga gateway dapat melihat permintaan lain yang ditolak diikuti dengan retry-nya. Untuk menjaga field tersebut keluar dari setiap permintaan, minta pengembang mengatur `ENABLE_TOOL_SEARCH=false`. Untuk pencarian tool itu sendiri, Claude Code mengharapkan gateway meneruskan field `defer_loading` dan blok `tool_reference` beserta nilai `anthropic-beta`-nya.281Permintaan pengembang tetap berfungsi tanpa perubahan apa pun pada gateway, dengan tool MCP mereka dimuat di awal. Ketika Claude Code mencoba pencarian tool lagi, gateway melihat permintaan lain yang ditolak diikuti dengan retry-nya. Untuk pencarian tool itu sendiri, Claude Code mengharapkan gateway meneruskan field `defer_loading` dan blok `tool_reference` beserta nilai `anthropic-beta`-nya.

257 282 

258### Nonaktifkan kemampuan pra-rilis283### Nonaktifkan kemampuan pra-rilis

259 284 

Details

166| `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 |166| `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 |

167| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Menghentikan Claude Code mengirim header dan bidang badan kemampuan pra-rilis. [Nonaktifkan kemampuan pra-rilis](https://code.claude.com/docs/id/llm-gateway-protocol.md#disable-pre-release-capabilities) mencakup cakupan yang tepat | Gateway Anda meneruskan ke upstream Amazon Bedrock atau Agent Platform Google Cloud yang menolak bidang beta. Lihat [Persyaratan gateway](#gateway-requirements) |167| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Menghentikan Claude Code mengirim header dan bidang badan kemampuan pra-rilis. [Nonaktifkan kemampuan pra-rilis](https://code.claude.com/docs/id/llm-gateway-protocol.md#disable-pre-release-capabilities) mencakup cakupan yang tepat | Gateway Anda meneruskan ke upstream Amazon Bedrock atau Agent Platform Google Cloud yang menolak bidang beta. Lihat [Persyaratan gateway](#gateway-requirements) |

168| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` atau `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Mengembalikan [fast mode](https://code.claude.com/docs/id/fast-mode.md) ketika pemeriksaan ketersediaannya, yang memanggil `api.anthropic.com` secara langsung daripada mengikuti `ANTHROPIC_BASE_URL`, gagal, dicegat, atau dilewati karena kurangnya kredensial Anthropic | Organisasi Anda menggunakan fast mode, dan pengembang mengautentikasi dengan `ANTHROPIC_AUTH_TOKEN` saja, dengan kunci yang dikeluarkan gateway di `ANTHROPIC_API_KEY` atau dari `apiKeyHelper`, atau jaringan Anda memblokir atau mencegat permintaan langsung ke `api.anthropic.com`; [gunakan fast mode di belakang proxy dan gateway LLM](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) mencakup variabel mana dari dua yang cocok dengan konfigurasi Anda |168| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` atau `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Mengembalikan [fast mode](https://code.claude.com/docs/id/fast-mode.md) ketika pemeriksaan ketersediaannya, yang memanggil `api.anthropic.com` secara langsung daripada mengikuti `ANTHROPIC_BASE_URL`, gagal, dicegat, atau dilewati karena kurangnya kredensial Anthropic | Organisasi Anda menggunakan fast mode, dan pengembang mengautentikasi dengan `ANTHROPIC_AUTH_TOKEN` saja, dengan kunci yang dikeluarkan gateway di `ANTHROPIC_API_KEY` atau dari `apiKeyHelper`, atau jaringan Anda memblokir atau mencegat permintaan langsung ke `api.anthropic.com`; [gunakan fast mode di belakang proxy dan gateway LLM](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) mencakup variabel mana dari dua yang cocok dengan konfigurasi Anda |

169| `ANTHROPIC_MODEL` atau [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https://code.claude.com/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](https://code.claude.com/docs/id/costs.md#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](https://code.claude.com/docs/id/model-config.md) mencakup model mana yang digunakan setiap bagian dari sesi |169| `ANTHROPIC_MODEL` atau [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https://code.claude.com/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](https://code.claude.com/docs/id/model-config.md#environment-variables) ke model berbeda. Rutekan nama override dan ID model bawaan yang diminta Claude Code ketika tidak ada override yang ditetapkan, karena beberapa sub-panggilan latar belakang meminta ID bawaan terlepas dari override |

170| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, atau `ANTHROPIC_AWS_BASE_URL` dengan [variabel untuk penyedia itu](https://code.claude.com/docs/id/llm-gateway-connect.md#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](https://code.claude.com/docs/id/llm-gateway-protocol.md#api-formats) |170| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, atau `ANTHROPIC_AWS_BASE_URL` dengan [variabel untuk penyedia itu](https://code.claude.com/docs/id/llm-gateway-connect.md#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](https://code.claude.com/docs/id/llm-gateway-protocol.md#api-formats) |

171 171 

172#### Distribusikan melalui pengaturan terkelola172#### Distribusikan melalui pengaturan terkelola

mcp.md +20 −4

Details

952* Untuk server yang header `Authorization` Anda konfigurasi, di `headers` atau melalui [`headersHelper`](#use-dynamic-headers-for-custom-authentication), `401` atau `403` saat menghubungkan tidak menandai server, karena kredensial untuk diperbaiki adalah yang Anda konfigurasi. Claude Code melaporkan koneksi sebagai gagal sebagai gantinya. Jika Anda menetapkan header itu dari referensi `${VAR}`, periksa apakah variabel itu adalah salah satu yang Claude Code [baca sebagai kosong](#credential-variables-that-read-as-empty).952* Untuk server yang header `Authorization` Anda konfigurasi, di `headers` atau melalui [`headersHelper`](#use-dynamic-headers-for-custom-authentication), `401` atau `403` saat menghubungkan tidak menandai server, karena kredensial untuk diperbaiki adalah yang Anda konfigurasi. Claude Code melaporkan koneksi sebagai gagal sebagai gantinya. Jika Anda menetapkan header itu dari referensi `${VAR}`, periksa apakah variabel itu adalah salah satu yang Claude Code [baca sebagai kosong](#credential-variables-that-read-as-empty).

953* Untuk konektor [dikirimkan ke sesi cloud](#how-connectors-reach-claude-code), Claude Code tidak menjalankan alur masuk, karena proxy sesi mengautentikasi ke konektor dengan otorisasi yang Anda berikan di claude.ai. Ketika konektor di sana perlu diotorisasi lagi, sambungkan kembali di [claude.ai/customize/connectors](https://claude.ai/customize/connectors) daripada dari sesi.953* Untuk konektor [dikirimkan ke sesi cloud](#how-connectors-reach-claude-code), Claude Code tidak menjalankan alur masuk, karena proxy sesi mengautentikasi ke konektor dengan otorisasi yang Anda berikan di claude.ai. Ketika konektor di sana perlu diotorisasi lagi, sambungkan kembali di [claude.ai/customize/connectors](https://claude.ai/customize/connectors) daripada dari sesi.

954 954 

955Ketika server OAuth yang sudah Anda masuki menolak token yang disimpan dengan `401 Unauthorized`, Claude Code menyegarkan token, menghubungkan kembali, dan mencoba ulang permintaan sekali. Ini menandai server di `/mcp` hanya jika retry itu juga gagal. Dalam proses `claude -p` atau Agent SDK di macOS, permintaan yang dikirim Claude Code saat tidak dapat membaca token yang disimpan akan gagal dengan [kesalahan kredensial tersimpan](https://code.claude.com/docs/id/errors.md#couldnt-read-the-stored-credentials-for-mcp-server) sebagai gantinya.955Ketika server OAuth yang sudah Anda masuki menolak token yang disimpan dengan `401 Unauthorized`, Claude Code menghubungkan kembali dengan atau tanpa token baru:

956 

957* **Login tersimpan Anda memiliki token penyegaran**: Claude Code menyegarkan token, menghubungkan kembali, dan mencoba ulang permintaan sekali. Server ditandai di `/mcp` hanya jika retry itu juga gagal.

958* **Login tersimpan Anda tidak memiliki token penyegaran**: Claude Code terhubung sekali tanpa token. Jika server merespons, tool-nya berfungsi selama Anda dalam keadaan keluar, dan token yang ditolak dihapus. Jika server juga menolak koneksi itu, `/mcp` menunjukkan bahwa server memerlukan autentikasi.

959 

960Dalam proses `claude -p` atau Agent SDK di macOS, permintaan yang dikirim Claude Code saat tidak dapat membaca token yang disimpan akan gagal dengan [kesalahan kredensial tersimpan](https://code.claude.com/docs/id/errors.md#couldnt-read-the-stored-credentials-for-mcp-server).

956 961 

957Ketika server menolak token penyegaran yang disimpan, Claude Code segera menampilkan pemberitahuan yang menunjuk ke `/mcp`. Buka `/mcp` dan pilih **Re-authenticate** pada server untuk masuk lagi sebelum panggilan tool berikutnya gagal.962Ketika server menolak token penyegaran yang disimpan, Claude Code segera menampilkan pemberitahuan yang menunjuk ke `/mcp`. Buka `/mcp` dan pilih **Re-authenticate** pada server untuk masuk lagi sebelum panggilan tool berikutnya gagal.

958 963 


1640 1645 

1641## Merespons permintaan elicitation MCP1646## Merespons permintaan elicitation MCP

1642 1647 

1643Server MCP dapat meminta input terstruktur dari Anda di tengah tugas menggunakan elicitation. Ketika server membutuhkan informasi yang tidak dapat diperolehnya sendiri, Claude Code menampilkan dialog interaktif dan meneruskan respons Anda kembali ke server. Tidak ada konfigurasi yang diperlukan di pihak Anda: dialog elicitation muncul secara otomatis ketika server memintanya.1648Server MCP dapat meminta input terstruktur dari Anda di tengah tugas menggunakan elicitation. Ketika server membutuhkan informasi yang tidak dapat diperolehnya sendiri, Claude Code menampilkan dialog interaktif di terminal dan meneruskan respons Anda kembali ke server. Tidak ada konfigurasi yang diperlukan di pihak Anda: dialog elicitation muncul secara otomatis ketika server memintanya.

1644 1649 

1645Server dapat meminta input dengan dua cara:1650Server dapat meminta input dengan dua cara:

1646 1651 


1653 1658 

1654Jika Anda membangun server MCP yang menggunakan elicitation, lihat [spesifikasi elicitation MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) untuk detail protokol dan contoh skema.1659Jika Anda membangun server MCP yang menggunakan elicitation, lihat [spesifikasi elicitation MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) untuk detail protokol dan contoh skema.

1655 1660 

1661### Menjawab permintaan elicitation dalam sesi cloud

1662 

1663Ketika tugas Claude dalam sesi cloud Anda menunggu permintaan dari server MCP, server tersebut membutuhkan sesuatu dari Anda, seperti sebuah nilai atau sign-in. Jika permintaan muncul sebagai kartu di claude.ai/code atau di tab **Code** aplikasi Desktop, jawab pada kartu tersebut:

1664 

1665* **Form mode**: isi bidang, lalu klik **Submit**

1666* **URL mode**: klik **Open link**, selesaikan alur yang dibukanya, lalu klik **I’m done, continue** pada kartu

1667 

1668Untuk menolak permintaan, klik **Decline**. Claude melanjutkan setelah server merespons.

1669 

1670Jika Anda tidak melihat kartu di kedua tempat tersebut, Anda tidak dapat menjawab permintaan di sana. Dalam sesi Anda sendiri, klik tombol stop di sana untuk mengakhiri giliran.

1671 

1656### Mode elicitation yang dideklarasikan Claude Code1672### Mode elicitation yang dideklarasikan Claude Code

1657 1673 

1658Jika Anda membangun server MCP, kemampuan klien yang dikirim Claude Code saat terhubung memberi tahu server Anda mode elicitation mana yang dapat dimintanya. Claude Code mendeklarasikan `elicitation: {form: {}, url: {}}` pada koneksi berikut, sehingga server di koneksi mana pun dari koneksi tersebut dapat meminta kedua mode:1674Jika Anda membangun server MCP, kemampuan klien yang dikirim Claude Code saat terhubung memberi tahu server Anda mode elicitation mana yang dapat dimintanya. Claude Code mendeklarasikan `elicitation: {form: {}, url: {}}` pada koneksi berikut, sehingga server di koneksi mana pun dari koneksi tersebut dapat meminta kedua mode:


1815> * **Anda telah mengatur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`**: lihat [bagaimana pengaruhnya terhadap pencarian tool](#configure-tool-search)1831> * **Anda telah mengatur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`**: lihat [bagaimana pengaruhnya terhadap pencarian tool](#configure-tool-search)

1816> * **Permintaan gagal dengan error yang menyebut `defer_loading` atau `tool_reference`**: lihat [Extra inputs are not permitted](https://code.claude.com/docs/id/errors.md#extra-inputs-are-not-permitted)1832> * **Permintaan gagal dengan error yang menyebut `defer_loading` atau `tool_reference`**: lihat [Extra inputs are not permitted](https://code.claude.com/docs/id/errors.md#extra-inputs-are-not-permitted)

1817 1833 

1818Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway, pencarian tool aktif secara default, sehingga permintaan menyertakan bidang tool `defer_loading` dan blok `tool_reference` untuk diteruskan oleh gateway. Selama pencarian tool aktif, tool MCP [ditunda](#scale-with-mcp-tool-search). Untuk memuat setiap tool di awal, atur `ENABLE_TOOL_SEARCH=false` di shell Anda atau di [`env` pengaturan](https://code.claude.com/docs/id/settings-reference#env) Anda. Sebelum v2.1.304, pencarian tool dimatikan di belakang gateway kecuali `ENABLE_TOOL_SEARCH` bernilai `true`, `auto`, atau `auto:N`.1834Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway, Claude Code mengharapkan gateway meneruskan bidang tool `defer_loading` dan blok `tool_reference` [bersama dengan header `anthropic-beta`](https://code.claude.com/docs/id/llm-gateway-protocol#beta-header-and-body-field-pairs). Pencarian tool aktif secara default di belakang gateway, sehingga tool MCP [ditunda](#scale-with-mcp-tool-search) dan permintaan menyertakan bidang dan blok tersebut. Sebelum v2.1.304, pencarian tool dimatikan di belakang gateway kecuali `ENABLE_TOOL_SEARCH` bernilai `true`, `auto`, atau `auto:N`.

1819 1835 

1820Pada v2.1.305 atau lebih baru, Claude Code dapat [mencoba ulang permintaan tanpa pencarian tool](https://code.claude.com/docs/id/llm-gateway-protocol.md#retry-without-tool-search) setelah `400` atau `422` yang penyebabnya tidak dikenalinya. Ketika retry berhasil, tidak ada yang ditampilkan di layar dan Anda tidak perlu melakukan apa pun: tool MCP dimuat di awal sebagai gantinya. Claude Code mencoba pencarian tool lagi nanti, dengan konsekuensi satu permintaan lain yang ditolak. Untuk melewati permintaan tersebut, atur `ENABLE_TOOL_SEARCH=false`.1836Pada v2.1.305 atau lebih baru, Claude Code dapat [mencoba ulang permintaan tanpa pencarian tool](https://code.claude.com/docs/id/llm-gateway-protocol.md#retry-without-tool-search) setelah `400` atau `422`. Ketika retry berhasil, tidak ada yang ditampilkan di layar dan Anda tidak perlu melakukan apa pun: tool MCP dimuat di awal sebagai gantinya. Claude Code mencoba pencarian tool lagi nanti, dengan konsekuensi satu permintaan lain yang ditolak.

1821 1837 

1822#### Tool yang tetap ditunda di bawah ambang `ENABLE_TOOL_SEARCH=auto`1838#### Tool yang tetap ditunda di bawah ambang `ENABLE_TOOL_SEARCH=auto`

1823 1839 

memory.md +6 −5

Details

206- Sertakan komentar dokumentasi OpenAPI206- Sertakan komentar dokumentasi OpenAPI

207```207```

208 208 

209Aturan tanpa bidang `paths` dimuat tanpa syarat dan berlaku untuk semua file. Aturan dengan cakupan path dimuat ketika Claude menggunakan tool Read, Write, atau Edit pada file yang cocok. Aturan tersebut juga dimuat ketika Claude melihat file yang cocok dengan perintah Bash yang [dihitung sebagai pembacaan](https://code.claude.com/docs/id/tools-reference.md#edit-tool-behavior), seperti `cat` atau `head` pada satu file. Pencocokan juga berfungsi ketika Claude mencapai file melalui jalur symlink ke direktori proyek, misalnya dalam checkout yang disymlink.209Aturan dengan cakupan path dimuat ketika Claude menggunakan tool Read, Write, atau Edit pada file yang cocok. Aturan tersebut juga dimuat ketika Claude melihat file yang cocok dengan perintah Bash yang [dihitung sebagai pembacaan](https://code.claude.com/docs/id/tools-reference.md#edit-tool-behavior), seperti `cat` atau `head` pada satu file. Pencocokan juga berfungsi ketika Claude mencapai file melalui jalur symlink ke direktori proyek, misalnya dalam checkout yang disymlink.

210 210 

211Setiap pola bersifat relatif terhadap direktori dasar aturan:211Setiap pola bersifat relatif terhadap direktori dasar aturan:

212 212 


219 219 

220| Pola | Cocok dengan |220| Pola | Cocok dengan |

221| - | - |221| - | - |

222| `**/*.ts` | Semua file TypeScript di direktori apa pun |222| `**/*.ts` | File `.ts` di mana saja di bawah direktori dasar |

223| `src/**/*` | Semua file di bawah direktori `src/` |223| `src/**/*` | Semua file di bawah `src/` milik direktori dasar |

224| `*.md` | File Markdown di akar proyek |224| `*.md` | File `.md` di mana saja di bawah direktori dasar |

225| `src/components/*.tsx` | Komponen React di direktori tertentu |225| `/*.md` | File `.md` yang langsung berada di direktori dasar, bukan di subfolder |

226| `src/components/*.tsx` | File `.tsx` yang langsung berada di `src/components/` milik direktori dasar, bukan di subfolder |

226 227 

227Anda dapat menentukan beberapa pola dan menggunakan ekspansi brace untuk mencocokkan beberapa ekstensi dalam satu pola:228Anda dapat menentukan beberapa pola dan menggunakan ekspansi brace untuk mencocokkan beberapa ekstensi dalam satu pola:

228 229 

model-config.md +1 −1

Details

933| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Model yang digunakan untuk `fable`, dan ID model yang dikenali Claude Code sebagai model Fable untuk [fallback model otomatis](#automatic-model-fallback) pada penyedia pihak ketiga |933| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Model yang digunakan untuk `fable`, dan ID model yang dikenali Claude Code sebagai model Fable untuk [fallback model otomatis](#automatic-model-fallback) pada penyedia pihak ketiga |

934| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Model yang digunakan untuk `opus`, atau untuk `opusplan` ketika Plan Mode aktif. |934| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Model yang digunakan untuk `opus`, atau untuk `opusplan` ketika Plan Mode aktif. |

935| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Model yang digunakan untuk `sonnet`, atau untuk `opusplan` ketika Plan Mode tidak aktif. |935| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Model yang digunakan untuk `sonnet`, atau untuk `opusplan` ketika Plan Mode tidak aktif. |

936| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](https://code.claude.com/docs/id/costs.md#background-token-usage) |936| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau fungsionalitas latar belakang |

937| `CLAUDE_CODE_SUBAGENT_MODEL` | Model default untuk [subagent](https://code.claude.com/docs/id/sub-agents.md#choose-a-model), rekan [tim agent](https://code.claude.com/docs/id/agent-teams.md#specify-teammates-and-models), dan agent [workflow](https://code.claude.com/docs/id/workflows.md) yang tidak ditugaskan model dengan cara lain. Menerima alias seperti `haiku` atau nama model lengkap. Model per-invocation atau bidang `model` definisi, termasuk `inherit`, diutamakan. Untuk mengubah itu, atur [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](https://code.claude.com/docs/id/sub-agents#run-every-subagent-on-one-model) |937| `CLAUDE_CODE_SUBAGENT_MODEL` | Model default untuk [subagent](https://code.claude.com/docs/id/sub-agents.md#choose-a-model), rekan [tim agent](https://code.claude.com/docs/id/agent-teams.md#specify-teammates-and-models), dan agent [workflow](https://code.claude.com/docs/id/workflows.md) yang tidak ditugaskan model dengan cara lain. Menerima alias seperti `haiku` atau nama model lengkap. Model per-invocation atau bidang `model` definisi, termasuk `inherit`, diutamakan. Untuk mengubah itu, atur [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](https://code.claude.com/docs/id/sub-agents#run-every-subagent-on-one-model) |

938 938 

939Pada penyedia pihak ketiga, [Sesuaikan tampilan dan kemampuan model yang ditetapkan](#customize-pinned-model-display-and-capabilities) menjelaskan apa yang ditampilkan baris model yang ditetapkan di pemilih `/model`.939Pada penyedia pihak ketiga, [Sesuaikan tampilan dan kemampuan model yang ditetapkan](#customize-pinned-model-display-and-capabilities) menjelaskan apa yang ditampilkan baris model yang ditetapkan di pemilih `/model`.

Details

1559 1559 

1560> [!NOTE]1560> [!NOTE]

1561>1561>

1562> Metrik biaya adalah perkiraan. Untuk data penagihan resmi, lihat penyedia API Anda (Claude Console, Amazon Bedrock, atau Google Cloud's Agent Platform).1562> Metrik biaya adalah perkiraan. Untuk data penagihan resmi, lihat [Mengelola biaya untuk organisasi Anda](https://code.claude.com/docs/id/costs.md#manage-costs-for-your-organization).

1563 1563 

1564Claude Code menghitung setiap respons streaming terhadap metrik biaya dan token tepat sekali, termasuk ketika gateway atau proxy di belakang `ANTHROPIC_BASE_URL` melakukan streaming penggunaan secara progresif di beberapa frame.1564Claude Code menghitung setiap respons streaming terhadap metrik biaya dan token tepat sekali, termasuk ketika gateway atau proxy di belakang `ANTHROPIC_BASE_URL` melakukan streaming penggunaan secara progresif di beberapa frame.

1565 1565 

Details

41* Membaca di luar direktori kerja sementara [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktif: perintah Bash pembaca file yang dikenali meminta bahkan dalam mode auto dan mode `bypassPermissions`, dan begitu juga dengan [retry tanpa sandbox](https://code.claude.com/docs/id/sandboxing.md#the-unsandboxed-retry-escape-hatch) apa pun yang memerlukan persetujuan untuk berjalan di luar sandbox. Memerlukan Claude Code v2.1.257 atau lebih baru.41* Membaca di luar direktori kerja sementara [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktif: perintah Bash pembaca file yang dikenali meminta bahkan dalam mode auto dan mode `bypassPermissions`, dan begitu juga dengan [retry tanpa sandbox](https://code.claude.com/docs/id/sandboxing.md#the-unsandboxed-retry-escape-hatch) apa pun yang memerlukan persetujuan untuk berjalan di luar sandbox. Memerlukan Claude Code v2.1.257 atau lebih baru.

42 42 

43 Perintah yang parser shell tidak dapat lacak, seperti yang mengubah direktori lebih dari sekali atau menjalankan subshell, meminta dengan cara yang sama bahkan ketika tidak menamai jalur luar apa pun. Permintaan ini tidak berlaku ketika perintah berjalan di [sandbox](https://code.claude.com/docs/id/sandboxing.md) dan sandbox memberlakukan blokir.43 Perintah yang parser shell tidak dapat lacak, seperti yang mengubah direktori lebih dari sekali atau menjalankan subshell, meminta dengan cara yang sama bahkan ketika tidak menamai jalur luar apa pun. Permintaan ini tidak berlaku ketika perintah berjalan di [sandbox](https://code.claude.com/docs/id/sandboxing.md) dan sandbox memberlakukan blokir.

44* Menulis di luar direktori kerja sementara [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) aktif: Claude Code menolak panggilan `Write`, `Edit`, dan `NotebookEdit` di sana, kecuali untuk [beberapa file miliknya sendiri](https://code.claude.com/docs/id/settings-reference.md#what-the-write-block-refuses-and-what-stays-writable). Kunci ini tidak membatasi perintah shell, tool MCP, atau program yang dijalankan hook, jadi gunakan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) untuk membatasi lokasi penulisan perintah shell. Memerlukan Claude Code v2.1.314 atau lebih baru.

44 45 

45## Pengaturan umum46## Pengaturan umum

46 47 


531Apa pun jawaban Anda, Claude terus bekerja:532Apa pun jawaban Anda, Claude terus bekerja:

532 533 

533* **Ya, dan terus izinkan pembacaan apa pun di luar direktori kerja**: pembacaan berjalan, pembacaan berikutnya di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan izin tidak muncul lagi534* **Ya, dan terus izinkan pembacaan apa pun di luar direktori kerja**: pembacaan berjalan, pembacaan berikutnya di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan izin tidak muncul lagi

534* **Tidak, dan blokir pembacaan di luar direktori kerja mulai sekarang**: pembacaan ditolak, dan Claude Code menetapkan [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) ke `true` dalam pengaturan pengguna Anda, yang membuat tool file menolak pembacaan semacam itu di setiap sesi berikutnya dan setiap mode izin. Untuk mengizinkan Claude membaca jalur tersebut nanti, tambahkan direktorinya dengan `/add-dir` atau hapus pengaturan tersebut.535* **Tidak, dan blokir pembacaan di luar direktori kerja mulai sekarang**: pembacaan ditolak, dan Claude Code menetapkan [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) ke `true` dalam pengaturan pengguna Anda, yang membuat tool file menolak pembacaan semacam itu di sesi ini dan setiap sesi berikutnya serta di setiap mode izin. Untuk mencabut blok tersebut, hapus pengaturan itu dari setiap [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) yang menetapkannya, lalu mulai ulang setiap sesi yang sedang berjalan. Untuk satu direktori dalam sesi ini, gunakan `/add-dir`.

535* **Tidak, dan tanyakan lagi lain kali**: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja akan memunculkan permintaan izin lagi536* **Tidak, dan tanyakan lagi lain kali**: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja akan memunculkan permintaan izin lagi

536* **Ya, tetapi tanyakan lagi lain kali**: pembacaan berjalan, tidak ada yang disimpan, dan pembacaan berikutnya di luar direktori kerja akan memunculkan permintaan izin lagi537* **Ya, tetapi tanyakan lagi lain kali**: pembacaan berjalan, tidak ada yang disimpan, dan pembacaan berikutnya di luar direktori kerja akan memunculkan permintaan izin lagi

537 538 


553 554 

554Ketika auto mode tidak dapat menyetujui tindakan sesi Anda, apa yang terjadi bergantung pada kasusnya:555Ketika auto mode tidak dapat menyetujui tindakan sesi Anda, apa yang terjadi bergantung pada kasusnya:

555 556 

556* **Tindakan yang diblokir**: Claude Code menampilkan pemberitahuan dan mencantumkan tindakan tersebut dalam `/permissions` di bawah tab **Recently denied**, di mana Anda dapat menekan `r` untuk mencobanya ulang dengan persetujuan manual.557* **Tindakan yang diblokir**: Claude Code menampilkan pemberitahuan dan mencantumkan tindakan tersebut dalam `/permissions` di bawah tab **Recently blocked**, di mana Anda dapat [menyetujui tindakan tersebut agar Claude dapat mencobanya ulang](https://code.claude.com/docs/id/auto-mode-config.md#review-denials).

557* **Blok berulang**: jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau total 20 kali, auto mode dijeda dan Claude Code kembali menampilkan permintaan izin. Menyetujui tindakan yang diminta akan melanjutkan auto mode. Lihat [Ambang blok berulang](#repeated-block-thresholds) untuk cara blok dihitung.558* **Blok berulang**: jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau total 20 kali, auto mode dijeda dan Claude Code kembali menampilkan permintaan izin. Menyetujui tindakan yang diminta akan melanjutkan auto mode. Lihat [Ambang blok berulang](#repeated-block-thresholds) untuk cara blok dihitung.

558* **Tidak ada vonis dari pengklasifikasi**: ketika pemeriksaan keamanan yang terpisah dari auto mode menolak permintaan milik pengklasifikasi sendiri, atau respons pengklasifikasi tidak dapat diurai, Claude Code menolak tindakan tanpa pemberitahuan atau entri **Recently denied**. Lihat [Auto mode tidak dapat menentukan keamanan suatu tindakan](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) untuk pesan yang ditampilkan setiap kasus dan apa yang harus dilakukan.559* **Tidak ada vonis dari pengklasifikasi**: ketika pemeriksaan keamanan yang terpisah dari auto mode menolak permintaan milik pengklasifikasi sendiri, atau respons pengklasifikasi tidak dapat diurai, Claude Code memblokir tindakan tanpa pemberitahuan atau entri **Recently blocked**. Lihat [Auto mode tidak dapat menentukan keamanan suatu tindakan](https://code.claude.com/docs/id/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) untuk pesan yang ditampilkan setiap kasus dan apa yang harus dilakukan.

559* **Tidak ada vonis dari server**: dalam [tinjauan pengklasifikasi di sisi server](#server-side-classifier-review), Claude Code menolak tindakan yang tidak diberi vonis oleh server, dan menghentikan giliran setelah sepuluh respons berturut-turut tanpa vonis. Lihat [Server tidak mengembalikan vonis keamanan](https://code.claude.com/docs/id/errors.md#the-server-returned-no-safety-verdict).560* **Tidak ada vonis dari server**: dalam [tinjauan pengklasifikasi di sisi server](#server-side-classifier-review), Claude Code menolak tindakan yang tidak diberi vonis oleh server, dan menghentikan giliran setelah sepuluh respons berturut-turut tanpa vonis. Lihat [Server tidak mengembalikan vonis keamanan](https://code.claude.com/docs/id/errors.md#the-server-returned-no-safety-verdict).

560* **Beralih mode selama pemeriksaan**: jika Anda beralih mode izin saat pemeriksaan pengklasifikasi sedang tertunda, Claude Code membuang vonis yang tidak akan diminta oleh mode baru. Anda akan diminta memberikan persetujuan sebagai gantinya, atau tindakan ditolak otomatis dalam [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).561* **Beralih mode selama pemeriksaan**: jika Anda beralih mode izin saat pemeriksaan pengklasifikasi sedang tertunda, Claude Code membuang vonis yang tidak akan diminta oleh mode baru. Anda akan diminta memberikan persetujuan sebagai gantinya, atau tindakan ditolak otomatis dalam [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).

561 562 


738 739 

739Dalam sesi yang dimulai dengan [`--restricted`](https://code.claude.com/docs/id/cli-reference#cli-flags), yang memerlukan Claude Code v2.1.248 atau lebih baru, pengklasifikasi tidak dapat menyetujui penulisan jalur yang dilindungi.740Dalam sesi yang dimulai dengan [`--restricted`](https://code.claude.com/docs/id/cli-reference#cli-flags), yang memerlukan Claude Code v2.1.248 atau lebih baru, pengklasifikasi tidak dapat menyetujui penulisan jalur yang dilindungi.

740 741 

742Selama [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) aktif, Claude Code menolak penulisan `Write`, `Edit`, dan `NotebookEdit` ke file pengaturan di setiap mode izin.

743 

741Dalam mode yang merutekan penulisan jalur yang dilindungi ke pengklasifikasi, penulisan yang [pemeriksaan symlink](https://code.claude.com/docs/id/permissions.md#symlinks) selesaikan ke jalur yang dilindungi meminta Anda sebagai gantinya ketika jalur yang diminta Claude bukan sendiri dilindungi.744Dalam mode yang merutekan penulisan jalur yang dilindungi ke pengklasifikasi, penulisan yang [pemeriksaan symlink](https://code.claude.com/docs/id/permissions.md#symlinks) selesaikan ke jalur yang dilindungi meminta Anda sebagai gantinya ketika jalur yang diminta Claude bukan sendiri dilindungi.

742 745 

743Aturan [`permissions.allow`](https://code.claude.com/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 permisi yang meminta, prompt untuk penulisan ke folder `.claude/` proyek atau ke `~/.claude/` dapat menawarkan salah satu opsi yang dibatasi sesi ini:746Aturan [`permissions.allow`](https://code.claude.com/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 permisi yang meminta, prompt untuk penulisan ke folder `.claude/` proyek atau ke `~/.claude/` dapat menawarkan salah satu opsi yang dibatasi sesi ini:


776* `.devcontainer.json`779* `.devcontainer.json`

777* `.ripgreprc`, `pyrightconfig.json`780* `.ripgreprc`, `pyrightconfig.json`

778* `.mcp.json`, `.claude.json`781* `.mcp.json`, `.claude.json`

782* `remote-settings.json`, salinan tersimpan dari [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) organisasi Anda, serta file tanda tangan, sinkronisasi, dan persetujuan yang disimpan Claude Code bersamanya, di `~/.claude` atau di direktori yang ditunjuk oleh [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/id/env-vars)

779* File yang Anda berikan ke [`--settings`](https://code.claude.com/docs/id/cli-reference#cli-flags), `--mcp-config`, atau `--agents` saat Anda memulai sesi783* File yang Anda berikan ke [`--settings`](https://code.claude.com/docs/id/cli-reference#cli-flags), `--mcp-config`, atau `--agents` saat Anda memulai sesi

780* File yang ditunjuk oleh [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) pengguna, proyek, atau lokal Anda ketika file pengaturan itu sendiri merupakan tautan simbolis, misalnya ke repositori dotfiles. Dalam mode yang merutekan penulisan jalur yang dilindungi ke pengklasifikasi, penulisan ke file ini meminta Anda sebagai gantinya, bahkan ketika aturan allow cocok. Jika jalur file itu sendiri juga merupakan jalur file pengaturan, seperti `.claude/settings.json` di folder lain, penulisan tersebut dirutekan ke pengklasifikasi seperti penulisan jalur yang dilindungi lainnya784* File yang ditunjuk oleh [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) pengguna, proyek, atau lokal Anda ketika file pengaturan itu sendiri merupakan tautan simbolis, misalnya ke repositori dotfiles. Dalam mode yang merutekan penulisan jalur yang dilindungi ke pengklasifikasi, penulisan ke file ini meminta Anda sebagai gantinya, bahkan ketika aturan allow cocok. Jika jalur file itu sendiri juga merupakan jalur file pengaturan, seperti `.claude/settings.json` di folder lain, penulisan tersebut dirutekan ke pengklasifikasi seperti penulisan jalur yang dilindungi lainnya

781 785 

permissions.md +9 −2

Details

668 668 

669Anda tidak dapat menambahkan sebagian besar [jalur jaringan](https://code.claude.com/docs/id/errors.md#working-directory-is-a-network-path), seperti berbagi UNC `\\server\share`, sebagai direktori kerja, karena pencarian dapat menghubungi host yang dinamainya. Di Windows, petakan berbagi ke huruf drive sebagai gantinya dan teruskan drive dengan `--add-dir` saat peluncuran.669Anda tidak dapat menambahkan sebagian besar [jalur jaringan](https://code.claude.com/docs/id/errors.md#working-directory-is-a-network-path), seperti berbagi UNC `\\server\share`, sebagai direktori kerja, karena pencarian dapat menghubungi host yang dinamainya. Di Windows, petakan berbagi ke huruf drive sebagai gantinya dan teruskan drive dengan `--add-dir` saat peluncuran.

670 670 

671Atur [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) untuk membuat alat file menolak jalur yang dibatasi dalam setiap mode izin. Dalam mode otomatis, Claude Code menawarkan untuk mengaktifkannya pertama kali Claude [membaca di luar direktori kerja](https://code.claude.com/docs/id/permission-modes.md#first-read-outside-the-working-directories).

672 

673Dalam 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](https://code.claude.com/docs/id/agent-view.md#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos).671Dalam 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](https://code.claude.com/docs/id/agent-view.md#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos).

674 672 

673### Memblokir pembacaan dan penulisan tool file di luar direktori kerja

674 

675Untuk membuat tool file Claude menolak jalur di luar direktori kerja dalam setiap mode izin, termasuk `bypassPermissions`, atur salah satu atau kedua kunci berikut ke `true`:

676 

677* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: tool file menolak pembacaan di sana, kecuali file yang dibutuhkan Claude Code sendiri. Dalam auto mode, Claude Code menawarkan untuk mengaktifkannya pertama kali Claude [membaca di luar direktori kerja](https://code.claude.com/docs/id/permission-modes.md#first-read-outside-the-working-directories).

678* **[`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories)**: tool `Write`, `Edit`, dan `NotebookEdit` menolak penulisan di sana, kecuali beberapa file milik Claude Code sendiri seperti file rencana. Kunci ini tidak membatasi perintah shell, tool MCP, atau program yang dijalankan hook, jadi gunakan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) untuk membatasi tempat perintah shell menulis. Memerlukan Claude Code v2.1.314 atau lebih baru.

679 

680Untuk menjaga satu direktori di luar tetap dapat dijangkau saat salah satu kunci bernilai `true`, [tambahkan direktori tersebut sebagai direktori kerja](https://code.claude.com/docs/id/settings-reference.md#let-one-directory-through-the-read-or-write-block).

681 

675### Memindahkan sesi ke direktori lain682### Memindahkan sesi ke direktori lain

676 683 

677Untuk memindahkan sesi ke direktori kerja utama yang berbeda, daripada [menambahkan direktori](#working-directories) bersama yang saat ini, jalankan `/cd <path>`. Claude Code menyimpan percakapan, memuat `CLAUDE.md` direktori baru, dan meminta Anda untuk [mempercayai workspace](#project-allow-rules-and-workspace-trust) jika Anda belum pernah bekerja di dalamnya sebelumnya. Setelahnya, Claude Code [menemukan sesi yang dipindahkan](https://code.claude.com/docs/id/sessions.md#where-the-session-picker-looks) ketika Anda menjalankan `--resume` dari direktori baru.684Untuk memindahkan sesi ke direktori kerja utama yang berbeda, daripada [menambahkan direktori](#working-directories) bersama yang saat ini, jalankan `/cd <path>`. Claude Code menyimpan percakapan, memuat `CLAUDE.md` direktori baru, dan meminta Anda untuk [mempercayai workspace](#project-allow-rules-and-workspace-trust) jika Anda belum pernah bekerja di dalamnya sebelumnya. Setelahnya, Claude Code [menemukan sesi yang dipindahkan](https://code.claude.com/docs/id/sessions.md#where-the-session-picker-looks) ketika Anda menjalankan `--resume` dari direktori baru.

Details

256 256 

257### Hentikan pekerjaan latar belakang257### Hentikan pekerjaan latar belakang

258 258 

259Timer berhenti saat modul dimuat ulang. Untuk pekerjaan jangka panjang dalam hook, [`next.signal`](https://code.claude.com/docs/id/plugins/mods/reference#the-hook-function) adalah `AbortSignal` yang membatalkan saat peristiwa yang ditangani hook Anda ditinggalkan, misalnya saat pengguna mengganggu, jadi teruskan ke apa pun yang berjalan lama.259Timer berhenti saat modul dimuat ulang. Untuk pekerjaan jangka panjang dalam hook, [`next.signal`](https://code.claude.com/docs/id/plugins/mods/reference#the-hook-function) adalah `AbortSignal` yang membatalkan saat peristiwa yang ditangani hook Anda ditinggalkan, misalnya saat pengguna menginterupsi. Teruskan ke apa pun yang berjalan lama.

260 260 

261### Panggilan dan pekerjaan latar belakang setelah pengguna menginterupsi giliran261### Panggilan dan pekerjaan latar belakang setelah pengguna menginterupsi giliran

262 262 

Details

738})738})

739```739```

740 740 

741Claude Code sekarang menjalankan hook `ui.render` Anda sekali per detik. Timer berhenti saat modul dimuat ulang, dan instans baru modul memulai miliknya sendiri.741Claude Code kini menjalankan hook `ui.render` Anda sekali setiap detik. Timer berhenti setelah modul dimuat ulang, dan instance baru dari modul tersebut memulai timer-nya sendiri.

742 742 

743### Seberapa sering situs dapat digambar ulang743### Seberapa sering situs dapat digambar ulang

744 744 

plugins/org.md +1 −1

Details

339Untuk menjalankan saluran stabil dan akses awal, host dua marketplace yang menunjuk ke ref berbeda dari plugin yang sama. Kemudian berikan setiap grup pengguna marketplace-nya sendiri melalui pengaturan terkelola endpoint terpisah atau kebijakan gateway. Pengaturan terkelola server dari konsol admin [berlaku untuk setiap pengguna dalam organisasi Anda](https://code.claude.com/docs/id/server-managed-settings.md#current-limitations), jadi mereka tidak dapat menetapkan pengaturan berbeda untuk grup berbeda.339Untuk menjalankan saluran stabil dan akses awal, host dua marketplace yang menunjuk ke ref berbeda dari plugin yang sama. Kemudian berikan setiap grup pengguna marketplace-nya sendiri melalui pengaturan terkelola endpoint terpisah atau kebijakan gateway. Pengaturan terkelola server dari konsol admin [berlaku untuk setiap pengguna dalam organisasi Anda](https://code.claude.com/docs/id/server-managed-settings.md#current-limitations), jadi mereka tidak dapat menetapkan pengaturan berbeda untuk grup berbeda.

340 340 

341* Terapkan [pengaturan terkelola endpoint](https://code.claude.com/docs/id/managed-settings.md#delivery-mechanisms) terpisah, seperti file pengaturan terkelola atau profil MDM, ke perangkat setiap grup. Untuk memeriksa apakah file per-grup atau profil berlaku pada perangkat yang juga memiliki sumber organisasi-lebar, lihat [Bagaimana Claude Code menggabungkan sumber terkelola](https://code.claude.com/docs/id/managed-settings.md#precedence-within-the-managed-tier).341* Terapkan [pengaturan terkelola endpoint](https://code.claude.com/docs/id/managed-settings.md#delivery-mechanisms) terpisah, seperti file pengaturan terkelola atau profil MDM, ke perangkat setiap grup. Untuk memeriksa apakah file per-grup atau profil berlaku pada perangkat yang juga memiliki sumber organisasi-lebar, lihat [Bagaimana Claude Code menggabungkan sumber terkelola](https://code.claude.com/docs/id/managed-settings.md#precedence-within-the-managed-tier).

342* Tentukan satu [kebijakan gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed) per grup. Gateway menerapkan kebijakan pertama yang aturan kecocokannya sesuai dengan pengguna, jadi urutkan kebijakan sehingga setiap pengguna mencapai kebijakan grup mereka. Peta `extraKnownMarketplaces` kebijakan itu tidak digabungkan dengan peta kebijakan lain, jadi cantumkan setiap marketplace yang dibutuhkan grup di dalamnya, bukan hanya marketplace saluran-nya.342* Tentukan satu [kebijakan gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed) per grup. Secara default, gateway menerapkan kebijakan pertama yang aturan kecocokannya sesuai dengan pengguna, jadi urutkan kebijakan sehingga setiap pengguna mencapai kebijakan grup mereka. Peta `extraKnownMarketplaces` kebijakan itu tidak digabungkan dengan peta kebijakan lain, jadi cantumkan setiap marketplace yang dibutuhkan grup di dalamnya, bukan hanya marketplace saluran-nya.

343 343 

344Dengan mekanisme apa pun, grup stabil menerima konfigurasi ini:344Dengan mekanisme apa pun, grup stabil menerima konfigurasi ini:

345 345 

Details

51>51>

52> Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.52> Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.

53>53>

54> Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL sesi yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device), dan Anda dapat menekan spacebar untuk menampilkan kode QR untuk akses cepat dari ponsel Anda. Saat sesi jarak jauh aktif, terminal menampilkan status koneksi dan aktivitas alat.54> Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device), dan Anda dapat menekan spacebar untuk menampilkan kode QR untuk akses cepat dari ponsel Anda. Saat sesi jarak jauh aktif, terminal menampilkan status koneksi dan aktivitas tool.

55>55>

56> Lewatkan salah satu flag ini setelah `remote-control`:56> Lewatkan salah satu flag ini setelah `remote-control`:

57>57>


151 151 

152Setelah sesi Remote Control aktif, Anda memiliki beberapa cara untuk terhubung dari perangkat lain:152Setelah sesi Remote Control aktif, Anda memiliki beberapa cara untuk terhubung dari perangkat lain:

153 153 

154* **Buka URL sesi** di browser apa pun untuk langsung ke sesi di [claude.ai/code](https://claude.ai/code).154* **Buka URL yang ditampilkan Claude Code** di browser apa pun untuk membuka [claude.ai/code](https://claude.ai/code).

155* **Pindai kode QR** yang ditampilkan bersama URL sesi untuk membukanya langsung di aplikasi Claude. Dengan `claude remote-control`, tekan spacebar untuk mengalihkan tampilan kode QR.155* **Pindai kode QR** yang ditampilkan bersama URL untuk membukanya di aplikasi Claude. Dengan `claude remote-control`, tekan spacebar untuk mengalihkan tampilan kode QR.

156* **Buka [claude.ai/code](https://claude.ai/code) atau aplikasi Claude** dan temukan sesi berdasarkan nama dalam daftar sesi. Di aplikasi Claude mobile, ketuk **Code** dalam navigasi untuk mencapai daftar sesi. Sesi Remote Control menampilkan ikon komputer dengan titik status hijau saat online.156* **Buka [claude.ai/code](https://claude.ai/code) atau aplikasi Claude** dan temukan sesi berdasarkan nama dalam daftar sesi. Di aplikasi Claude mobile, ketuk **Code** dalam navigasi untuk mencapai daftar sesi. Sesi Remote Control menampilkan ikon komputer dengan titik status hijau saat online.

157 157 

158Saat Anda terhubung, perangkat menampilkan subagen dan alur kerja apa pun yang sudah dijalankan sesi di latar belakang. Hentikan salah satunya dari perangkat, dan Claude Code menghentikan tugas itu di mesin Anda.158Saat Anda terhubung, perangkat menampilkan subagen dan alur kerja apa pun yang sudah dijalankan sesi di latar belakang. Hentikan salah satunya dari perangkat, dan Claude Code menghentikan tugas itu di mesin Anda.

routines.md +1 −1

Details

105 105 

106**5. Pilih lingkungan**106**5. Pilih lingkungan**

107 107 

108Setelah Anda memilih repositori, **Cloud environment** muncul di bawahnya. Pilih [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md) untuk tugas. Lingkungan mengontrol apa yang dapat diakses oleh sesi cloud:108Setelah Anda memilih repositori, **Cloud environment** muncul di bawahnya. Pilih [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md) untuk tugas. Jika lingkungan sudah dipilih, Anda dapat mempertahankannya atau memilih yang lain. Lingkungan mengontrol apa yang dapat diakses oleh sesi cloud:

109 109 

110* **Network access**: atur tingkat akses internet yang tersedia selama setiap eksekusi110* **Network access**: atur tingkat akses internet yang tersedia selama setiap eksekusi

111* **Environment variables**: sediakan nilai yang dapat digunakan Claude selama setiap eksekusi. Nilai tersebut [terlihat oleh siapa pun yang menggunakan lingkungan](https://code.claude.com/docs/id/cloud-environments.md#what-carries-over-from-your-setup), jadi di lingkungan yang di-host Anthropic, simpan kunci untuk API yang dipanggil Claude selama eksekusi sebagai [network secrets](https://code.claude.com/docs/id/cloud-environments.md#add-network-secrets). Bagian tersebut juga mencantumkan permintaan yang tidak pernah mendapatkan secret111* **Environment variables**: sediakan nilai yang dapat digunakan Claude selama setiap eksekusi. Nilai tersebut [terlihat oleh siapa pun yang menggunakan lingkungan](https://code.claude.com/docs/id/cloud-environments.md#what-carries-over-from-your-setup), jadi di lingkungan yang di-host Anthropic, simpan kunci untuk API yang dipanggil Claude selama eksekusi sebagai [network secrets](https://code.claude.com/docs/id/cloud-environments.md#add-network-secrets). Bagian tersebut juga mencantumkan permintaan yang tidak pernah mendapatkan secret

Details

157* **Key masuk first-party**: [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) serta nilai `"claudeai"` dan `"console"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod). Jika Anda juga men-deploy kebijakan MDM atau file pengaturan terkelola, tetapkan key tersebut di sana dan di pengaturan yang dikelola server dari claude.ai hingga setiap klien menjalankan v2.1.299 atau yang lebih baru. Untuk mengetahui tempat menetapkan key tersebut setelahnya, dan nilai dari sumber mana yang berlaku, lihat [Sumber terkelola mana yang menyediakan key login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys).157* **Key masuk first-party**: [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) serta nilai `"claudeai"` dan `"console"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod). Jika Anda juga men-deploy kebijakan MDM atau file pengaturan terkelola, tetapkan key tersebut di sana dan di pengaturan yang dikelola server dari claude.ai hingga setiap klien menjalankan v2.1.299 atau yang lebih baru. Untuk mengetahui tempat menetapkan key tersebut setelahnya, dan nilai dari sumber mana yang berlaku, lihat [Sumber terkelola mana yang menyediakan key login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys).

158* **Key masuk gateway**: Claude Code tidak pernah membaca [`forceLoginGatewayUrl`](https://code.claude.com/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/id/settings-reference#gatewayinternalnetworks), atau nilai `"gateway"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod) dari pengaturan yang dikelola server, sehingga nilai di sana tidak berlaku maupun menyembunyikan nilai yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. [Entri `managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) menjelaskan sumber admin mana di mesin yang menyediakannya.158* **Key masuk gateway**: Claude Code tidak pernah membaca [`forceLoginGatewayUrl`](https://code.claude.com/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/id/settings-reference#gatewayinternalnetworks), atau nilai `"gateway"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod) dari pengaturan yang dikelola server, sehingga nilai di sana tidak berlaku maupun menyembunyikan nilai yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. [Entri `managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) menjelaskan sumber admin mana di mesin yang menyediakannya.

159 159 

160#### Ketika `apiKeyHelper` milik mesin tidak berlaku

161 

162Ketika pengaturan yang dikelola server Anda adalah sumber yang dipilih, `apiKeyHelper` dalam file pengaturan terkelola atau kebijakan MDM milik sebuah mesin tidak berlaku. Claude Code kemudian [menolak prompt](https://code.claude.com/docs/id/errors.md#claude-code-didnt-send-your-claude-ai-login) dalam sesi yang akan menggunakan login claude.ai yang tersimpan, asalkan kedua kondisi berikut terpenuhi:

163 

164* File atau kebijakan tersebut mengaktifkan penyedia cloud, atau sumber mana pun menetapkan alamat API selain milik Anthropic

165* Pengaturan yang dikelola server tidak menetapkan helper dan tidak menyebutkan alamat API Anthropic

166 

167Untuk menghilangkan penolakan tersebut, pertahankan helper dan alamat API-nya tetap berlaku, sebutkan alamat API Anthropic dalam pengaturan yang dikelola server, atau hapus helper dari kebijakan mesin. Penolakan ini memerlukan Claude Code v2.1.314 atau yang lebih baru.

168 

160### Perilaku pengambilan dan caching169### Perilaku pengambilan dan caching

161 170 

162Claude Code mengambil pengaturan dari server Anthropic saat startup dan melakukan polling untuk pembaruan setiap jam selama sesi aktif.171Claude Code mengambil pengaturan dari server Anthropic saat startup dan melakukan polling untuk pembaruan setiap jam selama sesi aktif.

settings.md +3 −0

Details

184* [`model`](https://code.claude.com/docs/id/settings-reference#model): gunakan [`/model`](https://code.claude.com/docs/id/model-config#setting-your-model) untuk beralih di tengah sesi. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan pertama setelah switch membaca ulang seluruh percakapan tanpa cache; lihat [Beralih model](https://code.claude.com/docs/id/prompt-caching.md#switching-models)184* [`model`](https://code.claude.com/docs/id/settings-reference#model): gunakan [`/model`](https://code.claude.com/docs/id/model-config#setting-your-model) untuk beralih di tengah sesi. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan pertama setelah switch membaca ulang seluruh percakapan tanpa cache; lihat [Beralih model](https://code.claude.com/docs/id/prompt-caching.md#switching-models)

185* [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel) dan [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings): gunakan [`/effort`](https://code.claude.com/docs/id/model-config#adjust-effort-level) untuk mengubah usaha di tengah sesi185* [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel) dan [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings): gunakan [`/effort`](https://code.claude.com/docs/id/model-config#adjust-effort-level) untuk mengubah usaha di tengah sesi

186 186 

187Jika Anda menghapus [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) di tengah sesi, tool file tetap mempertahankan pemblokiran tersebut di sesi yang sedang berjalan. Untuk mencabutnya, hapus kunci tersebut dari setiap file pengaturan yang menetapkannya, lalu restart setiap sesi yang sedang berjalan.

188 

187### Konfirmasi apa yang dimuat189### Konfirmasi apa yang dimuat

188 190 

189Jalankan `/status` di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Tab **Status** mencakup baris `Setting sources` yang mencantumkan setiap file pengaturan yang Claude Code muat untuk sesi saat ini, seperti `User settings` atau `Project local settings`. Saat [pengaturan yang dikelola](https://code.claude.com/docs/id/admin-setup.md#decide-how-settings-reach-devices) berlaku, entri yang dikelola menunjukkan dalam tanda kurung bagaimana mereka mencapai mesin Anda.191Jalankan `/status` di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Tab **Status** mencakup baris `Setting sources` yang mencantumkan setiap file pengaturan yang Claude Code muat untuk sesi saat ini, seperti `User settings` atau `Project local settings`. Saat [pengaturan yang dikelola](https://code.claude.com/docs/id/admin-setup.md#decide-how-settings-reach-devices) berlaku, entri yang dikelola menunjukkan dalam tanda kurung bagaimana mereka mencapai mesin Anda.


307| [`enableArtifact`](https://code.claude.com/docs/id/settings-reference#enableartifact) | `false` dari cakupan apa pun, dan `disableArtifact: true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `true`; tidak ada yang menghidupkan [tool Artifact](https://code.claude.com/docs/id/artifacts.md#disable-artifacts) kembali. Memerlukan Claude Code v2.1.242 atau lebih baru |309| [`enableArtifact`](https://code.claude.com/docs/id/settings-reference#enableartifact) | `false` dari cakupan apa pun, dan `disableArtifact: true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `true`; tidak ada yang menghidupkan [tool Artifact](https://code.claude.com/docs/id/artifacts.md#disable-artifacts) kembali. Memerlukan Claude Code v2.1.242 atau lebih baru |

308| [`isolatePeerMachines`](https://code.claude.com/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false` |310| [`isolatePeerMachines`](https://code.claude.com/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false` |

309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.257 atau lebih baru |311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.257 atau lebih baru |

312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.314 atau lebih baru |

310| [`autoMode.classifyAllShell`](https://code.claude.com/docs/id/settings-reference#automode-classifyallshell) | `true` dari `~/.claude/settings.json` atau `--settings` | Dihormati bahkan saat sumber terkelola menetapkan `false` |313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/id/settings-reference#automode-classifyallshell) | `true` dari `~/.claude/settings.json` atau `--settings` | Dihormati bahkan saat sumber terkelola menetapkan `false` |

311| [`remoteControlAtStartup`](https://code.claude.com/docs/id/settings-reference#remotecontrolatstartup) | `false` dari `.claude/settings.json` atau `.claude/settings.local.json` | Dihormati bahkan saat sumber terkelola menetapkan `true`; `true` proyek atau lokal diabaikan |314| [`remoteControlAtStartup`](https://code.claude.com/docs/id/settings-reference#remotecontrolatstartup) | `false` dari `.claude/settings.json` atau `.claude/settings.local.json` | Dihormati bahkan saat sumber terkelola menetapkan `true`; `true` proyek atau lokal diabaikan |

312| [`crossSessionInbound`](https://code.claude.com/docs/id/settings-reference#crosssessioninbound) | Nilai yang lebih ketat dari `.claude/settings.json` atau `.claude/settings.local.json`, pada tangga `accept` \< `hold` \< `refuse` | Dihormati di atas nilai terkelola, `--settings`, dan pengguna; nilai proyek atau lokal yang tidak lebih ketat diabaikan |315| [`crossSessionInbound`](https://code.claude.com/docs/id/settings-reference#crosssessioninbound) | Nilai yang lebih ketat dari `.claude/settings.json` atau `.claude/settings.local.json`, pada tangga `accept` \< `hold` \< `refuse` | Dihormati di atas nilai terkelola, `--settings`, dan pengguna; nilai proyek atau lokal yang tidak lebih ketat diabaikan |

Details

144| [`permissions.allow`](#permissions-allow) | Setujui [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum tanpa prompt | Permission settings | Any file |144| [`permissions.allow`](#permissions-allow) | Setujui [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum tanpa prompt | Permission settings | Any file |

145| [`permissions.ask`](#permissions-ask) | Selalu minta konfirmasi sebelum [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum | Permission settings | Any file |145| [`permissions.ask`](#permissions-ask) | Selalu minta konfirmasi sebelum [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum | Permission settings | Any file |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Buat tool file menolak pembacaan di luar [direktori kerja](https://code.claude.com/docs/id/permissions.md#working-directories) dalam setiap mode izin | Permission settings | Any file |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Buat tool file menolak pembacaan di luar [direktori kerja](https://code.claude.com/docs/id/permissions.md#working-directories) dalam setiap mode izin | Permission settings | Any file |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Buat tool `Write`, `Edit`, dan `NotebookEdit` menolak jalur di luar [direktori kerja](https://code.claude.com/docs/id/permissions.md#working-directories) dalam setiap mode izin, kecuali [beberapa file milik Claude Code sendiri](#what-the-write-block-refuses-and-what-stays-writable) | Permission settings | Any file |

147| [`permissions.defaultMode`](#permissions-defaultmode) | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) yang digunakan sesi baru saat dimulai | Permission settings | Any file |148| [`permissions.defaultMode`](#permissions-defaultmode) | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) yang digunakan sesi baru saat dimulai | Permission settings | Any file |

148| [`permissions.deny`](#permissions-deny) | Blokir [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum, termasuk pembacaan file yang menyimpan rahasia | Permission settings | Any file |149| [`permissions.deny`](#permissions-deny) | Blokir [penggunaan tool](https://code.claude.com/docs/id/permissions.md#permission-rule-syntax) yang tercantum, termasuk pembacaan file yang menyimpan rahasia | Permission settings | Any file |

149| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Cegah siapa pun memasuki [mode bypassPermissions](https://code.claude.com/docs/id/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Cegah siapa pun memasuki [mode bypassPermissions](https://code.claude.com/docs/id/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |


663Untuk membatasi effort satu model alih-alih mengatur tingkatnya, tambahkan field [`maxEffortLevel`](#maxeffortlevel) ke entri model tersebut. Field ini memerlukan Claude Code v2.1.267 atau yang lebih baru.664Untuk membatasi effort satu model alih-alih mengatur tingkatnya, tambahkan field [`maxEffortLevel`](#maxeffortlevel) ke entri model tersebut. Field ini memerlukan Claude Code v2.1.267 atau yang lebih baru.

664 665 

665* **Cakupan**: [`Any file`](#scopes)666* **Cakupan**: [`Any file`](#scopes)

666* **Tipe**: objek yang memetakan nama model ke objek dengan salah satu field berikut:667* **Tipe**: objek yang memetakan nama model ke objek dengan satu atau beberapa field berikut:

667 * `effortLevel`: salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`668 * `effortLevel`: salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`

668 * [`maxEffortLevel`](#maxeffortlevel): tingkat effort tertinggi yang dapat digunakan model669 * [`maxEffortLevel`](#maxeffortlevel): tingkat effort tertinggi yang dapat digunakan model

669 * `autoCompactWindow`: jumlah token dari `100000` hingga `1000000`, atau `"auto"` untuk window yang disesuaikan untuk model tersebut. [`/autocompact`](https://code.claude.com/docs/id/model-config#set-the-auto-compact-window) menyimpan di sini. Untuk model tersebut, nilai ini diutamakan daripada [`autoCompactWindow`](#autocompactwindow) tingkat atas di file pengaturan yang sama. Memerlukan Claude Code v2.1.288 atau yang lebih baru670 * `autoCompactWindow`: jumlah token dari `100000` hingga `1000000`, atau `"auto"` untuk window yang disesuaikan untuk model tersebut. [`/autocompact`](https://code.claude.com/docs/id/model-config#set-the-auto-compact-window) menyimpan di sini. Untuk model tersebut, nilai ini diutamakan daripada [`autoCompactWindow`](#autocompactwindow) tingkat atas di file pengaturan yang sama. Memerlukan Claude Code v2.1.288 atau yang lebih baru


901Kontrol tool mana yang dapat digunakan Claude tanpa bertanya, tool mana yang selalu meminta konfirmasi, dan tool mana yang diblokir, serta atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang digunakan saat sesi dimulai. Setiap kunci `permissions.*` di bawah bersarang di bawah objek ini.902Kontrol tool mana yang dapat digunakan Claude tanpa bertanya, tool mana yang selalu meminta konfirmasi, dan tool mana yang diblokir, serta atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang digunakan saat sesi dimulai. Setiap kunci `permissions.*` di bawah bersarang di bawah objek ini.

902 903 

903* **Scope**: [`Any file`](#scopes)904* **Scope**: [`Any file`](#scopes)

904* **Type**: objek dengan `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, dan `disableAutoMode`905* **Type**: objek dengan `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, dan `disableAutoMode`

905* **Default**: tidak diatur906* **Default**: tidak diatur

906 907 

907Contoh ini menyetujui perintah `npm run` tanpa bertanya, meminta konfirmasi sebelum `git push`, memblokir pembacaan `.env`, dan memulai sesi dalam `acceptEdits`:908Contoh ini menyetujui perintah `npm run` tanpa bertanya, meminta konfirmasi sebelum `git push`, memblokir pembacaan `.env`, dan memulai sesi dalam `acceptEdits`:


1062}1063}

1063```1064```

1064 1065 

1066Untuk mengangkat blokir, hapus kunci dari setiap file pengaturan yang menetapkannya, kemudian mulai ulang setiap sesi yang sedang berjalan.

1067 

1065Direktori yang Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `additionalDirectories` dalam pengaturan pengguna atau terkelola Anda dihitung sebagai direktori kerja untuk blokir. Direktori yang ditambahkan hanya dalam pengaturan repositori tidak dihitung: yang ada di `.claude/settings.json`, dan yang ada di `.claude/settings.local.json` kecuali git melaporkan file itu sebagai tidak dilacak. Dalam direktori yang bukan repositori git, atau ketika git melacak file tersebut, Claude Code memperlakukan `.claude/settings.local.json` sebagai pengaturan repositori, jadi letakkan direktori yang ingin tetap dapat dibaca dalam pengaturan pengguna Anda sebagai gantinya.1068Direktori yang Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `additionalDirectories` dalam pengaturan pengguna atau terkelola Anda dihitung sebagai direktori kerja untuk blokir. Direktori yang ditambahkan hanya dalam pengaturan repositori tidak dihitung: yang ada di `.claude/settings.json`, dan yang ada di `.claude/settings.local.json` kecuali git melaporkan file itu sebagai tidak dilacak. Dalam direktori yang bukan repositori git, atau ketika git melacak file tersebut, Claude Code memperlakukan `.claude/settings.local.json` sebagai pengaturan repositori, jadi letakkan direktori yang ingin tetap dapat dibaca dalam pengaturan pengguna Anda sebagai gantinya.

1066 1069 

1067Ketika [`autoMemoryDirectory`](#automemorydirectory) berasal dari `.claude/settings.json` proyek, atau dari `.claude/settings.local.json` yang [diperlakukan sebagai disediakan repositori](https://code.claude.com/docs/id/permissions.md#when-your-local-settings-file-needs-trust), Claude Code tidak memuat [auto memory](https://code.claude.com/docs/id/memory.md#storage-location) apa pun dari direktori itu dan tidak menyimpan apa pun ke dalamnya.1070Ketika [`autoMemoryDirectory`](#automemorydirectory) berasal dari `.claude/settings.json` proyek, atau dari `.claude/settings.local.json` yang [diperlakukan sebagai disediakan repositori](https://code.claude.com/docs/id/permissions.md#when-your-local-settings-file-needs-trust), Claude Code tidak memuat [auto memory](https://code.claude.com/docs/id/memory.md#storage-location) apa pun dari direktori itu dan tidak menyimpan apa pun ke dalamnya.

1068 1071 

1069Untuk mengangkat blokir, hapus kunci dari setiap file pengaturan yang menetapkannya, kemudian mulai sesi baru.

1070 

1071#### Perintah sandboxed di bawah blokir1072#### Perintah sandboxed di bawah blokir

1072 1073 

1073Ketika [sandboxing](https://code.claude.com/docs/id/sandboxing.md) aktif, blokir juga mencakup perintah sandboxed. Claude Code menolak akses baca perintah tersebut ke direktori home Anda dan ke akar lain yang menyimpan file pengguna: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media`, dan `/srv`. Kemudian Claude Code membuka kembali direktori kerja, [worktree](https://code.claude.com/docs/id/worktrees.md) yang dibuat Claude Code dalam sesi, direktori temp sesi, dan bagian dari `~/.claude` yang dibutuhkan perintah, seperti skill dan plugin. Saat blokir berlaku, entri `allowRead` dan `allowWrite` dari pengaturan repositori tidak dihitung.1074Ketika [sandboxing](https://code.claude.com/docs/id/sandboxing.md) aktif, blokir juga mencakup perintah sandboxed. Claude Code menolak akses baca perintah tersebut ke direktori home Anda dan ke akar lain yang menyimpan file pengguna: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media`, dan `/srv`. Kemudian Claude Code membuka kembali direktori kerja, [worktree](https://code.claude.com/docs/id/worktrees.md) yang dibuat Claude Code dalam sesi, direktori temp sesi, dan bagian dari `~/.claude` yang dibutuhkan perintah, seperti skill dan plugin. Saat blokir berlaku, entri `allowRead` dan `allowWrite` dari pengaturan repositori tidak dihitung.


1092 1093 

1093Jika file yang dibuka kembali menyimpan rahasia, seperti token `http.extraHeader`, tambahkan jalurnya ke [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Entri `denyRead` yang mencakup file selalu diutamakan daripada pembukaan kembali ini.1094Jika file yang dibuka kembali menyimpan rahasia, seperti token `http.extraHeader`, tambahkan jalurnya ke [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Entri `denyRead` yang mencakup file selalu diutamakan daripada pembukaan kembali ini.

1094 1095 

1096### `permissions.blockWritesOutsideWorkingDirectories`

1097 

1098Buat tool `Write`, `Edit`, dan `NotebookEdit` menolak jalur di luar [direktori kerja](https://code.claude.com/docs/id/permissions.md#working-directories) Anda dalam setiap mode izin, termasuk `bypassPermissions`, kecuali [beberapa file milik Claude Code sendiri](#what-the-write-block-refuses-and-what-stays-writable). Kunci ini tidak membatasi perintah shell, tool MCP, atau program yang dijalankan hook. Untuk membatasi tempat perintah shell menulis, aktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md). Memerlukan Claude Code v2.1.314 atau lebih baru.

1099 

1100Setelah kunci ini aktif, Claude Code juga menghapus tool `EnterWorktree` dan `ExitWorktree` atau menolak panggilan ke tool tersebut. Untuk tetap bekerja di worktree, ikuti [Claude tidak memiliki tool `EnterWorktree`](https://code.claude.com/docs/id/worktrees#claude-has-no-enterworktree-tool).

1101 

1102* **Scope**: [`Any file`](#scopes). `true` di file apa pun yang dimuat sesi berlaku, jadi repositori dapat mengaktifkan blokir untuk dirinya sendiri tetapi tidak dapat mengangkat blokir Anda. Dalam [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md), Claude Code mungkin tidak menerapkan kunci ini, karena tool file berjalan dalam kontainer yang merupakan batas itu sendiri.

1103* **Type**: Boolean

1104 * `true`: mengaktifkan blokir

1105 * `false`: sama dengan tidak diatur; blokir masih berlaku jika file lain menetapkan `true`

1106* **Default**: tidak diatur, jadi penulisan di luar direktori kerja mengikuti [mode izin](https://code.claude.com/docs/id/permission-modes.md) Anda. Blokir juga aktif selama Claude Code tidak dapat membaca objek `permissions` dalam [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md#keys-that-fail-closed) Anda.

1107 

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

1109{

1110 "permissions": {

1111 "blockWritesOutsideWorkingDirectories": true

1112 }

1113}

1114```

1115 

1116Untuk menguji blokir, minta Claude menggunakan tool Write untuk membuat file di luar direktori kerja Anda, seperti `~/block-test.txt` jika direktori home Anda bukan salah satunya. Claude Code menolak panggilan tersebut, dan penolakannya menyatakan bahwa [pengaturan memblokir penulisan di luar direktori kerja](https://code.claude.com/docs/id/errors.md#setting-blocks-writes-outside-the-working-directories).

1117 

1118Untuk mengangkat blokir, hapus kunci dari setiap file pengaturan yang menetapkannya, kemudian mulai ulang Claude Code.

1119 

1120#### Apa yang ditolak blokir penulisan dan apa yang tetap dapat ditulis

1121 

1122Beberapa file milik Claude Code sendiri tetap dapat ditulis, seperti file rencana, [scratchpad](https://code.claude.com/docs/id/claude-directory.md#session-scratchpad-directory), direktori `tmp` milik [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md), dan file `.md` dalam [auto memory](https://code.claude.com/docs/id/memory.md#storage-location) proyek ini.

1123 

1124Selain file Anda sendiri di luar direktori kerja, blokir menolak penulisan ke:

1125 

1126* **File pengaturan Claude Code**: Claude Code [menolak penulisan ini](https://code.claude.com/docs/id/errors.md#writes-to-claude-code-settings-files-are-blocked) di dalam direktori kerja juga, karena file pengaturan dapat mengangkat blokir. Edit file pengaturan sendiri.

1127* **Direktori yang hanya ditambahkan oleh pengaturan repositori**: direktori yang dicantumkan [`additionalDirectories`](#permissions-additionaldirectories) hanya di `.claude/settings.json`, atau di `.claude/settings.local.json` kecuali git melaporkan file itu sebagai tidak dilacak

1128* **Worktree milik subagent**: pengeditan file oleh subagent [`isolation: worktree`](https://code.claude.com/docs/id/worktrees#isolate-subagents-with-worktrees) ditolak ketika worktree-nya berada di luar direktori kerja

1129* **Auto memory di direktori yang dipilih repositori**: direktori yang dinamai [`autoMemoryDirectory`](#automemorydirectory) dalam pengaturan repositori

1130 

1131File pengaturan tetap ditolak apa pun yang Anda tambahkan. Untuk meloloskan penulisan dalam kasus-kasus lainnya, [tambahkan direktori kerja](#let-one-directory-through-the-read-or-write-block). `/add-dir` memerlukan direktori yang sudah ada, jadi sebutkan direktori `.claude/worktrees` di root repositori untuk worktree subagent.

1132 

1133#### Loloskan satu direktori melalui blokir baca atau tulis

1134 

1135Untuk memungkinkan Claude menjangkau satu direktori di luar proyek saat `blockReadsOutsideWorkingDirectories` atau `blockWritesOutsideWorkingDirectories` bernilai `true`, tambahkan direktori tersebut sebagai direktori kerja. Jalankan `/add-dir <directory>` dalam sesi, berikan `--add-dir <directory>` saat Anda memulai Claude Code, atau cantumkan di bawah `additionalDirectories` dalam pengaturan pengguna atau terkelola Anda. Tidak ada [aturan allow](https://code.claude.com/docs/id/permissions.md#read-and-edit) yang dapat meloloskan tool file Claude melalui kedua blokir tersebut.

1136 

1095### `permissions.defaultMode`1137### `permissions.defaultMode`

1096 1138 

1097Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang digunakan saat sesi baru dimulai. Ketika Anda membiarkannya tidak diatur, sesi dimulai dalam [default bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk surface Anda.1139Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang digunakan saat sesi baru dimulai. Ketika Anda membiarkannya tidak diatur, sesi dimulai dalam [default bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk surface Anda.


2427* **Sesi**: Anda berada dalam sesi terminal interaktif, di panel chat ekstensi VS Code, atau di tab Code aplikasi desktop saat sesi berjalan di mesin Anda atau melalui SSH2469* **Sesi**: Anda berada dalam sesi terminal interaktif, di panel chat ekstensi VS Code, atau di tab Code aplikasi desktop saat sesi berjalan di mesin Anda atau melalui SSH

2428* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) menyala2470* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) menyala

2429* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)2471* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)

2430* **Feature flag**: Claude Code dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)

2431* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default-nya sebesar 200.0002472* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default-nya sebesar 200.000

2432* **Waktu idle**: sekitar satu jam telah berlalu sejak permintaan terakhir, dan komputer Anda tetap menyala hingga saat itu2473* **Waktu idle**: sekitar satu jam telah berlalu sejak permintaan terakhir, dan komputer Anda tetap menyala hingga saat itu

2433 2474 


2449Untuk mematikan atau menyalakan idle compaction dari dalam sesi terminal, jalankan `/config` dan ubah baris **Idle compaction**. Pilihan Anda disimpan ke pengaturan pengguna Anda dan langsung berlaku. Baris ini memerlukan Claude Code v2.1.302 atau yang lebih baru. Jika Anda menjalankan salah satu versi tersebut dan `/config` tidak menampilkan baris tersebut, periksa penyebab berikut:2490Untuk mematikan atau menyalakan idle compaction dari dalam sesi terminal, jalankan `/config` dan ubah baris **Idle compaction**. Pilihan Anda disimpan ke pengaturan pengguna Anda dan langsung berlaku. Baris ini memerlukan Claude Code v2.1.302 atau yang lebih baru. Jika Anda menjalankan salah satu versi tersebut dan `/config` tidak menampilkan baris tersebut, periksa penyebab berikut:

2450 2491 

2451* **Sumber pengaturan lain mengatur kunci ini**: nilai di pengaturan terkelola, flag `--settings`, atau file pengaturan proyek atau lokal menimpa pengaturan pengguna Anda. Ubah kunci di sumber tersebut2492* **Sumber pengaturan lain mengatur kunci ini**: nilai di pengaturan terkelola, flag `--settings`, atau file pengaturan proyek atau lokal menimpa pengaturan pengguna Anda. Ubah kunci di sumber tersebut

2452* **Feature flag tidak tersedia**: jika Claude Code tidak dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), idle compaction tidak berjalan, sehingga tidak ada yang perlu dimatikan2493* **Feature flag tidak tersedia pada versi sebelum v2.1.314**: jika Claude Code tidak dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), idle compaction tidak berjalan, sehingga tidak ada yang perlu dimatikan

2453 2494 

2454Kunci ini memerlukan Claude Code v2.1.290 atau yang lebih baru. Pada versi sebelumnya, yang mengabaikan kunci ini, matikan [`autoCompactEnabled`](#autocompactenabled) untuk menghentikan idle compaction.2495Kunci ini memerlukan Claude Code v2.1.290 atau yang lebih baru. Pada versi sebelumnya, yang mengabaikan kunci ini, matikan [`autoCompactEnabled`](#autocompactenabled) untuk menghentikan idle compaction.

2455 2496 

slack.md +9 −11

Details

49 49 

501. Buka aplikasi Claude di Slack dengan mengklik "Claude" di bagian Apps Anda501. Buka aplikasi Claude di Slack dengan mengklik "Claude" di bagian Apps Anda

512. Buka tab App Home512. Buka tab App Home

523. Klik "Connect" untuk menghubungkan akun Slack Anda dengan akun Claude Anda523. Klik **Connect Claude account** untuk menghubungkan akun Slack Anda dengan akun Claude Anda

534. Selesaikan alur autentikasi di browser Anda534. Selesaikan alur autentikasi di browser Anda

54 54 

55**3. Konfigurasi cloud sessions**55**3. Konfigurasi cloud sessions**


71 71 

72> [!NOTE]72> [!NOTE]

73>73>

74> Dalam mode Code + Chat, jika Claude merutkan pesan ke Chat tetapi Anda menginginkan sesi coding, Anda dapat mengklik "Retry as Code" untuk membuat sesi Claude Code sebagai gantinya. Demikian pula, jika itu dirutkan ke Code tetapi Anda menginginkan sesi Chat, Anda dapat memilih opsi itu di thread tersebut.74> Dalam mode Code + Chat, jika Claude menjawab di Chat tetapi Anda menginginkan sesi coding, klik **Switch to code repo...** pada balasan tersebut dan pilih sebuah repositori. Claude kemudian memulai sesi Claude Code dengan pesan Anda sebagai gantinya.

75 75 

76**5. Tambahkan Claude ke saluran**76**5. Tambahkan Claude ke saluran**

77 77 


1072. **Deteksi**: Claude menganalisis pesan Anda dan mendeteksi niat coding1072. **Deteksi**: Claude menganalisis pesan Anda dan mendeteksi niat coding

1083. **Pembuatan sesi**: Sesi Claude Code baru dibuat di claude.ai/code1083. **Pembuatan sesi**: Sesi Claude Code baru dibuat di claude.ai/code

1094. **Pembaruan kemajuan**: Claude memposting pembaruan status ke thread Slack Anda saat pekerjaan berlangsung1094. **Pembaruan kemajuan**: Claude memposting pembaruan status ke thread Slack Anda saat pekerjaan berlangsung

1105. **Penyelesaian**: Saat selesai, Claude @mention Anda dengan ringkasan dan tombol tindakan1105. **Penyelesaian**: Saat selesai, Claude memperbarui pesannya di thread dengan respons akhirnya dan tombol tindakan, serta mengirimi Anda pesan langsung yang menautkan ke pesan tersebut

1116. **Tinjauan**: Klik "View Session" untuk melihat transkrip lengkap, atau "Create PR" untuk membuka pull request1116. **Tinjauan**: Klik **View session** untuk melihat transkrip lengkap, atau **Create PR** untuk membuka pull request

112 112 

113## Elemen antarmuka pengguna113## Elemen antarmuka pengguna

114 114 

115### Tindakan pesan115### Tindakan pesan

116 116 

117* **View Session**: Membuka sesi Claude Code lengkap di browser Anda di mana Anda dapat melihat semua pekerjaan yang dilakukan, melanjutkan sesi, atau membuat permintaan tambahan.117* **View session**: Membuka sesi Claude Code lengkap di browser Anda di mana Anda dapat melihat semua pekerjaan yang dilakukan, melanjutkan sesi, atau membuat permintaan tambahan.

118* **Create PR**: Membuat pull request langsung dari perubahan sesi.118* **Create PR**: Membuka halaman perbandingan GitHub untuk branch sesi, tempat Anda membuat pull request. Tombol ini muncul pada pesan status yang diposting Claude saat sesi dimulai, setelah sesi selesai.

119* **Retry as Code**: Jika Claude awalnya merespons sebagai asisten chat tetapi Anda menginginkan sesi coding, klik tombol ini untuk mencoba ulang permintaan sebagai tugas Claude Code.119* **Switch to code repo...**: Jika Claude merespons di Chat tetapi Anda menginginkan sesi coding, klik tombol ini dan pilih repositori, lalu Claude akan memulai sesi Claude Code dengan permintaan awal Anda.

120* **Change Repo**: Memungkinkan Anda untuk memilih repositori yang berbeda jika Claude memilih dengan tidak benar.

121 120 

122### Pemilihan repositori121### Pemilihan repositori

123 122 

124Claude secara otomatis memilih repositori berdasarkan konteks dari percakapan Slack Anda. Jika beberapa repositori dapat berlaku, Claude dapat menampilkan dropdown yang memungkinkan Anda memilih yang benar.123Claude secara otomatis memilih repositori berdasarkan konteks dari percakapan Slack Anda. Jika Claude tidak dapat mengetahui repositori mana yang Anda maksud, Claude akan meminta Anda untuk memilih: klik **Select repository** dan pilih salah satu dari daftar.

125 124 

126## Akses dan izin125## Akses dan izin

127 126 


219 218 

220### Repositori yang salah dipilih219### Repositori yang salah dipilih

221 220 

2221. Klik tombol "Change Repo" untuk memilih repositori yang berbeda221Sertakan nama repositori dalam permintaan Anda untuk pemilihan yang lebih akurat.

2232. Sertakan nama repositori dalam permintaan Anda untuk pemilihan yang lebih akurat

224 222 

225### Kesalahan autentikasi223### Kesalahan autentikasi

226 224 

sub-agents.md +2 −2

Details

1048 1048 

1049Pertimbangkan [Skills](https://code.claude.com/docs/id/skills.md) sebagai gantinya ketika Anda menginginkan prompt atau alur kerja yang dapat digunakan kembali yang berjalan dalam konteks percakapan utama daripada konteks subagent yang terisolasi.1049Pertimbangkan [Skills](https://code.claude.com/docs/id/skills.md) sebagai gantinya ketika Anda menginginkan prompt atau alur kerja yang dapat digunakan kembali yang berjalan dalam konteks percakapan utama daripada konteks subagent yang terisolasi.

1050 1050 

1051Untuk pertanyaan tentang sesuatu yang sudah ada dalam percakapan Anda, gunakan [`/btw`](https://code.claude.com/docs/id/interactive-mode#side-questions-with-%2Fbtw) sebagai gantinya dari subagent. Ini melihat konteks penuh Anda tetapi tidak memiliki akses tool, dan jawabannya tidak ditambahkan ke riwayat.1051Untuk pertanyaan tentang sesuatu yang sudah ada dalam percakapan Anda, gunakan [`/btw`](https://code.claude.com/docs/id/interactive-mode#side-questions-with-%2Fbtw) sebagai gantinya dari subagent. Ini tidak memiliki akses tool, dan jawabannya tidak ditambahkan ke riwayat.

1052 1052 

1053### Biarkan subagent menghasilkan subagent mereka sendiri1053### Biarkan subagent menghasilkan subagent mereka sendiri

1054 1054 


1242| `x` | Hentikan fork yang dipilih jika sedang berjalan, atau tutup barisnya jika tidak lagi berjalan. Pada baris sesi utama, atau pada baris fork yang transkrinya Anda buka dengan `Enter`, `x` mengetik ke dalam prompt sebagai gantinya |1242| `x` | Hentikan fork yang dipilih jika sedang berjalan, atau tutup barisnya jika tidak lagi berjalan. Pada baris sesi utama, atau pada baris fork yang transkrinya Anda buka dengan `Enter`, `x` mengetik ke dalam prompt sebagai gantinya |

1243| `Esc` | Kembalikan fokus ke input prompt |1243| `Esc` | Kembalikan fokus ke input prompt |

1244 1244 

1245Dengan transkrip fork atau subagent terbuka, pesan tindak lanjut dan [skills](https://code.claude.com/docs/id/skills.md) pergi ke agent tersebut, dan perintah bawaan pergi ke percakapan utama Anda, dengan pengaman berikut:1245Dengan transkrip fork atau subagent terbuka, pesan tindak lanjut dan [skills](https://code.claude.com/docs/id/skills.md) dikirim ke agent tersebut. Pada Claude Code v2.1.314 atau lebih baru, [`/btw`](https://code.claude.com/docs/id/interactive-mode#ask-btw-about-a-subagent) menjawab dari transkrip yang terbuka. Perintah bawaan lainnya dikirim ke percakapan utama Anda, dengan pengaman berikut:

1246 1246 

1247* `/compact`, `/clear`, dan `/rewind` bekerja pada percakapan utama, sehingga Claude Code meminta Anda untuk mengonfirmasi sebelum menjalankan salah satunya dari tampilan ini.1247* `/compact`, `/clear`, dan `/rewind` bekerja pada percakapan utama, sehingga Claude Code meminta Anda untuk mengonfirmasi sebelum menjalankan salah satunya dari tampilan ini.

1248* `/model` dan `/fast` mengatur model dan fast mode percakapan utama, bukan milik agent yang dilihat, sehingga keduanya tidak berjalan dari tampilan ini. Sebuah pemberitahuan menjelaskan alasannya.1248* `/model` dan `/fast` mengatur model dan fast mode percakapan utama, bukan milik agent yang dilihat, sehingga keduanya tidak berjalan dari tampilan ini. Sebuah pemberitahuan menjelaskan alasannya.

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 basis kode Anda. Nama tools adalah string yang tepat yang Anda gunakan dalam [aturan izin](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules), [daftar tools subagent](https://code.claude.com/docs/id/sub-agents.md), dan [pencocokan hooks](https://code.claude.com/docs/id/hooks.md).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](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules), [daftar tools subagent](https://code.claude.com/docs/id/sub-agents.md), dan [matcher hook](https://code.claude.com/docs/id/hooks.md).

10 10 

11Untuk mengontrol tools mana yang dapat digunakan Claude dan kapan diminta terlebih dahulu, konfigurasikan [aturan izin](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules) dalam pengaturan Anda, [hooks](https://code.claude.com/docs/id/hooks.md), atau [daftar tools subagent](https://code.claude.com/docs/id/sub-agents.md#supported-frontmatter-fields). Lihat [Konfigurasi tools dengan aturan izin dan hooks](#configure-tools-with-permission-rules-and-hooks) untuk setiap tempat yang menerima nama tool.11Untuk mengontrol tools mana yang dapat digunakan Claude dan kapan diminta terlebih dahulu, konfigurasikan [aturan izin](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules) dalam pengaturan Anda, [hooks](https://code.claude.com/docs/id/hooks.md), atau [daftar tools subagent](https://code.claude.com/docs/id/sub-agents.md#supported-frontmatter-fields). Lihat [Konfigurasi tools dengan aturan izin dan hooks](#configure-tools-with-permission-rules-and-hooks) untuk setiap tempat yang menerima nama tool.

12 12 


14 14 

15> [!NOTE]15> [!NOTE]

16>16>

17> Dalam [mode otomatis](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), pengklasifikasi memutuskan sebagian besar prompt izin alih-alih Anda. Kolom `Permission required` menunjukkan apakah prompt tool dalam [Mode Manual](https://code.claude.com/docs/id/permission-modes.md) untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta path di luar [direktori kerja dan direktori tambahan](https://code.claude.com/docs/id/permissions.md#working-directories). `Bash` ditandai Ya tetapi menjalankan set bawaan [perintah read-only](https://code.claude.com/docs/id/permissions.md#read-only-commands) tanpa meminta.17> Dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), pengklasifikasi memutuskan sebagian besar permintaan izin alih-alih Anda. Kolom `Permission required` menunjukkan apakah tool meminta izin dalam [Mode Manual](https://code.claude.com/docs/id/permission-modes.md) untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta izin untuk path di luar [direktori kerja dan direktori tambahan](https://code.claude.com/docs/id/permissions.md#working-directories). `Bash` ditandai Ya tetapi menjalankan set bawaan [perintah read-only](https://code.claude.com/docs/id/permissions.md#read-only-commands) tanpa meminta izin.

18 18 

19| Tool | Deskripsi | Izin diperlukan |19| Tool | Deskripsi | Izin diperlukan |

20| :- | :- | :- |20| :- | :- | :- |

21| `Agent` | Menjalankan [subagent](https://code.claude.com/docs/id/sub-agents.md) dengan jendela konteks sendiri untuk menangani tugas. Dengan [tim agent](https://code.claude.com/docs/id/agent-teams.md) diaktifkan, panggilan yang membawa `name` dapat meluncurkan [rekan tim](https://code.claude.com/docs/id/agent-teams.md#how-claude-starts-agent-teams) sebagai gantinya. Lihat [Perilaku tool Agent](#agent-tool-behavior) | Tidak |21| `Agent` | Menjalankan [subagent](https://code.claude.com/docs/id/sub-agents.md) dengan context window sendiri untuk menangani tugas. Dengan [tim agent](https://code.claude.com/docs/id/agent-teams.md) diaktifkan, panggilan yang membawa `name` dapat meluncurkan [rekan tim](https://code.claude.com/docs/id/agent-teams.md#how-claude-starts-agent-teams) sebagai gantinya. Lihat [Perilaku tool Agent](#agent-tool-behavior) | Tidak |

22| `Artifact` | Menerbitkan file HTML atau Markdown ke claude.ai sebagai [artifact](https://code.claude.com/docs/id/artifacts.md): halaman pribadi dan interaktif. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](https://code.claude.com/docs/id/artifacts.md#control-public-sharing). Memerlukan paket Pro, Max, Ultra, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](https://code.claude.com/docs/id/artifacts.md#availability) | Ya |22| `Artifact` | Menerbitkan file HTML atau Markdown ke claude.ai sebagai [artifact](https://code.claude.com/docs/id/artifacts.md): halaman pribadi dan interaktif. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](https://code.claude.com/docs/id/artifacts.md#control-public-sharing). Memerlukan paket Pro, Max, Ultra, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](https://code.claude.com/docs/id/artifacts.md#availability) | Ya |

23| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau mengklarifikasi ambiguitas. Pertanyaan tetap terbuka sampai Anda menjawabnya secara default. Lihat [Perilaku tool AskUserQuestion](#askuserquestion-tool-behavior) | Tidak |23| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau mengklarifikasi ambiguitas. Pertanyaan tetap terbuka sampai Anda menjawabnya secara default. Lihat [Perilaku tool AskUserQuestion](#askuserquestion-tool-behavior) | Tidak |

24| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [Perilaku tool Bash](#bash-tool-behavior) | Ya |24| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [Perilaku tool Bash](#bash-tool-behavior) | Ya |


27| `CronList` | Mencantumkan semua tugas terjadwal dalam lingkup sesi | Tidak |27| `CronList` | Mencantumkan semua tugas terjadwal dalam lingkup sesi | Tidak |

28| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [Perilaku tool Edit](#edit-tool-behavior) | Ya |28| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [Perilaku tool Edit](#edit-tool-behavior) | Ya |

29| `EndConversation` | Mengakhiri sesi, dalam kasus langka input penyalahgunaan berkelanjutan atau ketika Anda meminta Claude untuk mendemonstrasikan tool. Lihat [Perilaku tool EndConversation](#endconversation-tool-behavior) | Tidak |29| `EndConversation` | Mengakhiri sesi, dalam kasus langka input penyalahgunaan berkelanjutan atau ketika Anda meminta Claude untuk mendemonstrasikan tool. Lihat [Perilaku tool EndConversation](#endconversation-tool-behavior) | Tidak |

30| `EnterPlanMode` | Beralih ke Plan Mode untuk merancang pendekatan sebelum coding | Tidak |30| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |

31| `EnterWorktree` | Membuat [git worktree](https://code.claude.com/docs/id/worktrees.md) terisolasi dan beralih ke dalamnya. Berikan `path` untuk beralih ke worktree yang ada alih-alih membuat yang baru. Pada entri pertama target mungkin worktree dari repositori saat ini atau, dalam ruang kerja multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. A `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi tersebut. 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`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |31| `EnterWorktree` | Membuat [git worktree](https://code.claude.com/docs/id/worktrees.md) terisolasi dan beralih ke dalamnya, atau beralih ke worktree yang sudah ada. Lihat [Perilaku tool EnterWorktree](#enterworktree-tool-behavior) | Ya |

32| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari Plan Mode | Ya |32| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |

33| `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`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) | Tidak |33| `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`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields). Dihapus atau ditolak setelah [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) diaktifkan | Tidak |

34| `Glob` | Menemukan file berdasarkan pencocokan pola. Tidak ada secara default di macOS, Linux, dan WSL. Lihat [Perilaku tool Glob](#glob-tool-behavior) | Tidak |34| `Glob` | Menemukan file berdasarkan pencocokan pola. Tidak ada secara default di macOS, Linux, dan WSL. Lihat [Perilaku tool Glob](#glob-tool-behavior) | Tidak |

35| `Grep` | Mencari pola dalam konten file. Tidak ada secara default di macOS, Linux, dan WSL. Lihat [Perilaku tool Grep](#grep-tool-behavior) | Tidak |35| `Grep` | Mencari pola dalam konten file. Tidak ada secara default di macOS, Linux, dan WSL. Lihat [Perilaku tool Grep](#grep-tool-behavior) | Tidak |

36| `ListAgents` | Mencantumkan agent yang dapat dihubungi Claude dengan `SendMessage`: subagent dalam sesi, rekan tim [tim agent](https://code.claude.com/docs/id/agent-teams.md), sesi Claude Code lokal Anda yang lain, dan, saat sesi ini terhubung ke [Remote Control](https://code.claude.com/docs/id/remote-control.md), [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) Anda dan sesi Remote Control Anda di mesin lain. Mendukung perintah `/list-agents`. Lihat [pesan lintas-sesi](https://code.claude.com/docs/id/cross-session-messaging.md). Memerlukan Claude Code v2.1.224 atau lebih baru, dan muncul hanya dalam sesi di mana [pesan lintas-sesi diaktifkan](https://code.claude.com/docs/id/cross-session-messaging.md#availability). Baris rekan tim dan baris pertama yang menunjukkan nama sesi ini sendiri memerlukan v2.1.239 atau lebih baru | Tidak |36| `ListAgents` | Mencantumkan agent yang dapat dihubungi Claude dengan `SendMessage`: subagent dalam sesi, rekan tim [tim agent](https://code.claude.com/docs/id/agent-teams.md), sesi Claude Code lokal Anda yang lain, dan, saat sesi ini terhubung ke [Remote Control](https://code.claude.com/docs/id/remote-control.md), [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) Anda dan sesi Remote Control Anda di mesin lain. Mendukung perintah `/list-agents`. Lihat [pesan lintas-sesi](https://code.claude.com/docs/id/cross-session-messaging.md). Memerlukan Claude Code v2.1.224 atau lebih baru, dan muncul hanya dalam sesi di mana [pesan lintas-sesi diaktifkan](https://code.claude.com/docs/id/cross-session-messaging.md#availability). Baris rekan tim dan baris pertama yang menunjukkan nama sesi ini sendiri memerlukan v2.1.239 atau lebih baru | Tidak |


50| `SendUserFile` | Mengirim file dari sesi ke Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak build mencapai perangkat Anda alih-alih hanya disebutkan dalam transkrip. Input `display` opsional mengontrol presentasi: `render` membuka file inline dalam klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung atau dalam [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |50| `SendUserFile` | Mengirim file dari sesi ke Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak build mencapai perangkat Anda alih-alih hanya disebutkan dalam transkrip. Input `display` opsional mengontrol presentasi: `render` membuka file inline dalam klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung atau dalam [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |

51| `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 Team dan Enterprise | Ya |51| `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 Team dan Enterprise | Ya |

52| `Skill` | Menjalankan [skill](https://code.claude.com/docs/id/skills.md#control-who-invokes-a-skill) dalam percakapan utama | Ya |52| `Skill` | Menjalankan [skill](https://code.claude.com/docs/id/skills.md#control-who-invokes-a-skill) dalam percakapan utama | Ya |

53| `SubagentHandback` | Mengirimkan laporan akhir subagent ke percakapan mana pun yang menerima hasil subagent tersebut. Disediakan hanya dalam [mode otomatis](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), ke subagent yang dijalankan tool Agent secara lokal selain [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), dan tersedia di CLI terminal, ekstensi IDE, sesi cloud, dan Agent SDK; pengklasifikasi meninjau laporan sebelum dikirimkan. Memerlukan Claude Code v2.1.271 atau lebih baru | Tidak |53| `SubagentHandback` | Mengirimkan laporan akhir subagent ke percakapan mana pun yang menerima hasil subagent tersebut. Disediakan hanya dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), ke subagent yang dijalankan tool Agent secara lokal selain [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), dan tersedia di CLI terminal, ekstensi IDE, sesi cloud, dan Agent SDK; pengklasifikasi meninjau laporan sebelum dikirimkan. Memerlukan Claude Code v2.1.271 atau lebih baru | Tidak |

54| `TaskCreate` | Membuat tugas baru dalam daftar tugas. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |54| `TaskCreate` | Membuat tugas baru dalam daftar tugas. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |

55| `TaskGet` | Mengambil detail lengkap untuk tugas tertentu. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |55| `TaskGet` | Mengambil detail lengkap untuk tugas tertentu. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |

56| `TaskList` | Mencantumkan semua tugas dengan status saat ini mereka. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |56| `TaskList` | Mencantumkan semua tugas dengan status saat ini mereka. Disediakan secara default hanya pada model yang tercantum di bawah [Ketersediaan tool Task](#task-tool-availability), dan pada model lain ketika Anda memilih untuk ikut serta | Tidak |


299* **Startup mode**: bukan sesi [`--bare`](https://code.claude.com/docs/id/headless#start-faster-with-bare-mode). Mode bare hanya memuat shell dan file tools, jadi tool tidak pernah terdaftar di sana.299* **Startup mode**: bukan sesi [`--bare`](https://code.claude.com/docs/id/headless#start-faster-with-bare-mode). Mode bare hanya memuat shell dan file tools, jadi tool tidak pernah terdaftar di sana.

300* **Provider**: tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), atau di sesi yang masuk melalui [cloud gateway](https://code.claude.com/docs/id/claude-apps-gateway).300* **Provider**: tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), atau di sesi yang masuk melalui [cloud gateway](https://code.claude.com/docs/id/claude-apps-gateway).

301 301 

302## Perilaku tool EnterWorktree

303 

304Tool EnterWorktree membuat [git worktree](https://code.claude.com/docs/id/worktrees.md) yang terisolasi dan beralih ke dalamnya. Jika diberikan `path`, tool ini beralih ke worktree yang sudah ada alih-alih membuat worktree baru.

305 

306* **Worktree mana yang dapat dirujuk oleh `path`**: pada saat masuk pertama kali, target dapat berupa worktree dari repositori saat ini. Dalam repositori yang menampung repositori lain, target juga dapat berupa worktree dari repositori yang bersarang di dalamnya.

307* **Kapan Anda diminta persetujuan**: `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum masuk, karena hal ini memindahkan direktori kerja sesi dan akses tulis ke lokasi tersebut. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak memunculkan permintaan. Sebelum v2.1.206, Claude masuk ke path di luar `.claude/worktrees/` tanpa permintaan persetujuan.

308* **Dari dalam worktree**: dari dalam sesi worktree, hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi tersebut. Hal yang sama berlaku untuk subagent dengan direktori kerja yang disematkan, seperti [`isolation: worktree`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields).

309* **Saat tool tidak tersedia**: setelah [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) diaktifkan, Claude Code menghapus `EnterWorktree` dan `ExitWorktree` atau menolak panggilan ke keduanya. Untuk tetap bekerja di worktree, lihat [Claude tidak memiliki tool `EnterWorktree`](https://code.claude.com/docs/id/worktrees#claude-has-no-enterworktree-tool).

310 

302## Perilaku Glob tool311## Perilaku Glob tool

303 312 

304Glob tool menemukan file berdasarkan pola nama. Di Windows, ini adalah bagian dari set tool default. Di macOS, Linux, dan WSL, Claude Code mengeluarkan Glob dan [Grep](#grep-tool-behavior) dari set tool default, dan Claude mencari dengan `find` dan `grep` melalui Bash tool sebagai gantinya. Di shell Claude, kedua perintah tersebut menjalankan versi embedded dari `bfs` dan `ugrep`, dan pencarian mencapai hook dan aturan izin Anda sebagai panggilan `Bash`.313Glob tool menemukan file berdasarkan pola nama. Di Windows, ini adalah bagian dari set tool default. Di macOS, Linux, dan WSL, Claude Code mengeluarkan Glob dan [Grep](#grep-tool-behavior) dari set tool default, dan Claude mencari dengan `find` dan `grep` melalui Bash tool sebagai gantinya. Di shell Claude, kedua perintah tersebut menjalankan versi embedded dari `bfs` dan `ugrep`, dan pencarian mencapai hook dan aturan izin Anda sebagai panggilan `Bash`.

worktrees.md +17 −3

Details

41 41 

42### Minta Claude untuk membuat worktree42### Minta Claude untuk membuat worktree

43 43 

44Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu membuat satu dengan tool [`EnterWorktree`](https://code.claude.com/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.44Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu membuat satu dengan tool [`EnterWorktree`](https://code.claude.com/docs/id/tools-reference#enterworktree-tool-behavior). 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.

45 45 

46Saat Claude memasuki jalur di luar direktori `.claude/worktrees/` repositori, Claude Code meminta persetujuan Anda terlebih dahulu. Perpindahan tersebut membawa direktori kerja sesi, akses tulis, dan konfigurasi proyek seperti `CLAUDE.md` dan pengaturan ke lokasi tersebut. [Aturan izin](https://code.claude.com/docs/id/permissions.md) `EnterWorktree` atau memilih "jangan tanya lagi" tidak menekan dialog izin ini; hanya mode `bypassPermissions` yang melewatinya.46Saat Claude memasuki jalur di luar direktori `.claude/worktrees/` repositori, Claude Code meminta persetujuan Anda terlebih dahulu. Perpindahan tersebut membawa direktori kerja sesi, akses tulis, dan konfigurasi proyek seperti `CLAUDE.md` dan pengaturan ke lokasi tersebut. [Aturan izin](https://code.claude.com/docs/id/permissions.md) `EnterWorktree` atau memilih "jangan tanya lagi" tidak menekan dialog izin ini; hanya mode `bypassPermissions` yang melewatinya.

47 47 


52> * **`${CLAUDE_PROJECT_DIR}` tetap di tempat**: itu masih menunjuk ke root proyek di mana sesi dimulai, jadi perintah hook seperti `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` masih menjalankan skrip dalam checkout utama.52> * **`${CLAUDE_PROJECT_DIR}` tetap di tempat**: itu masih menunjuk ke root proyek di mana sesi dimulai, jadi perintah hook seperti `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` masih menjalankan skrip dalam checkout utama.

53> * **`cwd` mengikuti Claude**: field `cwd` dalam [input JSON](https://code.claude.com/docs/id/hooks.md#common-input-fields) hook adalah root worktree, dan itu bergerak lagi saat Claude menjalankan `cd`. Bacanya saat hook memerlukan jalur worktree.53> * **`cwd` mengikuti Claude**: field `cwd` dalam [input JSON](https://code.claude.com/docs/id/hooks.md#common-input-fields) hook adalah root worktree, dan itu bergerak lagi saat Claude menjalankan `cd`. Bacanya saat hook memerlukan jalur worktree.

54 54 

55#### Claude tidak memiliki tool `EnterWorktree`

56 

57Jika Anda meminta Claude untuk bekerja dalam worktree dan Claude tidak memiliki tool `EnterWorktree` atau `ExitWorktree`, periksa apakah [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) aktif. Setelah key tersebut aktif, Claude Code menghapus kedua tool worktree atau menolak panggilan ke tool tersebut.

58 

59Anda tetap dapat bekerja dalam worktree selama key tersebut aktif:

60 

61* **Sesi interaktif**: mulai sesi dalam worktree dengan `claude --worktree`.

62* **[Sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#how-file-edits-are-isolated)**: Claude Code menolak pengeditan sesi latar belakang di checkout utama Anda hingga sesi tersebut memanggil `EnterWorktree`, yang tidak dimilikinya. Salah satu dari cara berikut memungkinkan sesi untuk mengedit:

63 * Mulai sesi dengan `claude --bg --worktree`

64 * Atur [`worktree.bgIsolation`](https://code.claude.com/docs/id/settings-reference#worktree-bgisolation) ke `"none"`

65 * Minta Claude mengedit dalam worktree yang dibuat dengan `git worktree add` di bawah direktori tempat sesi dimulai

66 

67Untuk mendapatkan kembali tool tersebut, jalankan `/status` dalam sesi untuk menampilkan daftar [sumber pengaturan yang dimuatnya](https://code.claude.com/docs/id/settings.md#check-what-loaded), lalu hapus key tersebut dari setiap file yang mengaturnya. Kemudian mulai ulang Claude Code. Jika pengaturan terkelola mengatur key tersebut, tanyakan kepada administrator Anda apakah kebijakan tersebut perlu diubah.

68 

55## Bersihkan worktrees69## Bersihkan worktrees

56 70 

57Saat Anda keluar dari sesi worktree interaktif, Claude memeriksa worktree untuk pekerjaan yang akan dihapus oleh penghapusan: file yang diubah atau tidak dilacak, pekerjaan yang tidak dikomitkan di dalam submodul yang diperiksa, dan commit baru. Aturan ini berlaku untuk worktrees yang Claude buat dengan git. Untuk worktree yang dibuat oleh hook [WorktreeCreate](https://code.claude.com/docs/id/hooks.md#worktreecreate) Anda, lihat [WorktreeRemove](https://code.claude.com/docs/id/hooks.md#worktreeremove) sebagai gantinya.71Saat Anda keluar dari sesi worktree interaktif, Claude memeriksa worktree untuk pekerjaan yang akan dihapus oleh penghapusan: file yang diubah atau tidak dilacak, pekerjaan yang tidak dikomitkan di dalam submodul yang diperiksa, dan commit baru. Aturan ini berlaku untuk worktrees yang Claude buat dengan git. Untuk worktree yang dibuat oleh hook [WorktreeCreate](https://code.claude.com/docs/id/hooks.md#worktreecreate) Anda, lihat [WorktreeRemove](https://code.claude.com/docs/id/hooks.md#worktreeremove) sebagai gantinya.


67 81 

68## Lanjutkan sesi worktree82## Lanjutkan sesi worktree

69 83 

70Saat Anda melanjutkan sesi yang berakhir di dalam worktree tanpa [keluar darinya](#clean-up-worktrees), Claude Code mengembalikan sesi ke worktree itu. Ini berlaku untuk resume interaktif, untuk `--continue` dan `--resume` dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan `-p`, dan untuk Agent SDK. `--continue` memilih sesi paling baru yang tercatat di bawah direktori tempat Anda meluncurkan. Kembali di dalam worktree, Claude masih dapat keluar darinya dengan tool [`ExitWorktree`](https://code.claude.com/docs/id/tools-reference).84Saat Anda melanjutkan sesi yang berakhir di dalam worktree tanpa [keluar darinya](#clean-up-worktrees), Claude Code mengembalikan sesi ke worktree itu. Ini berlaku untuk resume interaktif, untuk `--continue` dan `--resume` dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan `-p`, dan untuk Agent SDK. `--continue` memilih sesi paling baru yang tercatat di bawah direktori tempat Anda meluncurkan. Kembali di dalam worktree, Claude dapat keluar dengan tool [`ExitWorktree`](https://code.claude.com/docs/id/tools-reference) [jika sesi memiliki tool tersebut](#claude-has-no-enterworktree-tool).

71 85 

72Sebelum mengembalikan sesi ke worktree-nya, Claude Code memverifikasi bahwa worktree masih merupakan checkout terpisah dari yang utama, dan menolak untuk memasuki kembali worktree yang gagal pemeriksaan. Untuk git worktree, pemeriksaan membaca metadata git-nya. Worktree tanpa metadata git, seperti yang dibuat hook [`WorktreeCreate`](#non-git-version-control), dapat lulus pemeriksaan; kasus yang Claude Code masih tolak tercantum dengan pemulihan mereka di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree). Untuk pesan dan cara memulihkan dari masing-masing, lihat [The session resumes outside its worktree](#the-session-resumes-outside-its-worktree).86Sebelum mengembalikan sesi ke worktree-nya, Claude Code memverifikasi bahwa worktree masih merupakan checkout terpisah dari yang utama, dan menolak untuk memasuki kembali worktree yang gagal pemeriksaan. Untuk git worktree, pemeriksaan membaca metadata git-nya. Worktree tanpa metadata git, seperti yang dibuat hook [`WorktreeCreate`](#non-git-version-control), dapat lulus pemeriksaan; kasus yang Claude Code masih tolak tercantum dengan pemulihan mereka di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree). Untuk pesan dan cara memulihkan dari masing-masing, lihat [The session resumes outside its worktree](#the-session-resumes-outside-its-worktree).

73 87 


91 105 

92Claude Code menerapkan empat pemeriksaan:106Claude Code menerapkan empat pemeriksaan:

93 107 

94* **Edit file**: Claude Code memblokir `Edit`, `Write`, atau `NotebookEdit` yang menargetkan jalur dalam checkout utama.108* **Edit file**: Claude Code memblokir `Edit`, `Write`, atau `NotebookEdit` yang menargetkan jalur dalam checkout utama. Untuk mengubah file dalam checkout utama, edit sendiri atau mulai sesi interaktif di sana.

95* **Direktori kerja perintah**: Claude Code memblokir perintah Bash, PowerShell, atau Monitor yang direktori kerjanya diselesaikan ke checkout utama, atau yang direktori kerjanya tidak dapat diverifikasi tetap di luar itu.109* **Direktori kerja perintah**: Claude Code memblokir perintah Bash, PowerShell, atau Monitor yang direktori kerjanya diselesaikan ke checkout utama, atau yang direktori kerjanya tidak dapat diverifikasi tetap di luar itu.

96* **Pengalihan git**: Claude Code memblokir perintah Bash atau Monitor yang mengalihkan git ke checkout utama. Pengalihan dapat datang melalui `git -C`, `--git-dir`, variabel `GIT_DIR` atau `GIT_WORK_TREE`, atau `cd` ke checkout utama sebelum menjalankan git.110* **Pengalihan git**: Claude Code memblokir perintah Bash atau Monitor yang mengalihkan git ke checkout utama. Pengalihan dapat datang melalui `git -C`, `--git-dir`, variabel `GIT_DIR` atau `GIT_WORK_TREE`, atau `cd` ke checkout utama sebelum menjalankan git.

97* **Bentuk perintah**: Claude Code memblokir perintah Bash atau Monitor saat tidak dapat memverifikasi dari teks perintah bahwa git apa pun yang dijalankan perintah tetap berada di dalam worktree. Itu terjadi, misalnya, saat nama perintah dihitung saat runtime, saat sintaks tidak dapat diuraikan, atau saat ekspansi seperti `${!name}` atau `${ command; }` dapat menjalankan perintah yang teks tidak jelaskan. Claude Code memberi tahu Claude cara menulis ulang perintah yang ditolak, seperti membaginya menjadi perintah biasa yang terpisah. Anda tidak dapat mematikan pemeriksaan ini.111* **Bentuk perintah**: Claude Code memblokir perintah Bash atau Monitor saat tidak dapat memverifikasi dari teks perintah bahwa git apa pun yang dijalankan perintah tetap berada di dalam worktree. Itu terjadi, misalnya, saat nama perintah dihitung saat runtime, saat sintaks tidak dapat diuraikan, atau saat ekspansi seperti `${!name}` atau `${ command; }` dapat menjalankan perintah yang teks tidak jelaskan. Claude Code memberi tahu Claude cara menulis ulang perintah yang ditolak, seperti membaginya menjadi perintah biasa yang terpisah. Anda tidak dapat mematikan pemeriksaan ini.