SpyBara
Go Premium

Documentation 2026-09-27 23:59 UTC to 2026-09-28 22:01 UTC

157 files changed +795 −795. View all changes and history on the product overview
2026
Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

39Tabel mencantumkan setiap opsi aksesibilitas, apakah Anda menetapkannya sebagai flag, variabel lingkungan, atau pengaturan, dan apa yang diubahnya.39Tabel mencantumkan setiap opsi aksesibilitas, apakah Anda menetapkannya sebagai flag, variabel lingkungan, atau pengaturan, dan apa yang diubahnya.

40 40 

41| Opsi | Tipe | Apa yang diubahnya |41| Opsi | Tipe | Apa yang diubahnya |

42| :---------------------------------------------------------------------- | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |42| :- | :- | :- |

43| [`--ax-screen-reader`](/docs/id/cli-reference#cli-flags) | Flag | Mode pembaca layar untuk satu sesi. |43| [`--ax-screen-reader`](/docs/id/cli-reference#cli-flags) | Flag | Mode pembaca layar untuk satu sesi. |

44| [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars#variables) | Variabel lingkungan | Mode pembaca layar untuk sesi yang dimulai dari shell tempat Anda menetapkannya. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars#variables) | Variabel lingkungan | Mode pembaca layar untuk sesi yang dimulai dari shell tempat Anda menetapkannya. |

45| [`axScreenReader`](/docs/id/settings-reference#axscreenreader) | Pengaturan | Mode pembaca layar untuk setiap sesi ketika `true`. |45| [`axScreenReader`](/docs/id/settings-reference#axscreenreader) | Pengaturan | Mode pembaca layar untuk setiap sesi ketika `true`. |


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

72 72 

73| Label | Arti |73| Label | Arti |

74| :--------------------- | :-------------------------------------------------------------------------------------------- |74| :- | :- |

75| `you:` | Pesan Anda |75| `you:` | Pesan Anda |

76| `claude:` | Balasan Claude |76| `claude:` | Balasan Claude |

77| `thinking:` | Pemikiran Claude |77| `thinking:` | Pemikiran Claude |

admin-setup.md +6 −6

Details

15</Note>15</Note>

16 16 

17| Keputusan | Yang Anda pilih | Referensi |17| Keputusan | Yang Anda pilih | Referensi |

18| :-------------------------------------------------------------------------------- | :---------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [Pilih penyedia API Anda](#choose-your-api-provider) | Tempat Claude Code melakukan autentikasi dan cara penagihan | [Authentication](/docs/id/authentication), [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry) |19| [Pilih penyedia API Anda](#choose-your-api-provider) | Tempat Claude Code melakukan autentikasi dan cara penagihan | [Authentication](/docs/id/authentication), [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry) |

20| [Tentukan cara pengaturan mencapai perangkat](#decide-how-settings-reach-devices) | Bagaimana kebijakan terkelola mencapai mesin pengembang | [Server-managed settings](/docs/id/server-managed-settings), [Delivery mechanisms](/docs/id/managed-settings#delivery-mechanisms) |20| [Tentukan cara pengaturan mencapai perangkat](#decide-how-settings-reach-devices) | Bagaimana kebijakan terkelola mencapai mesin pengembang | [Server-managed settings](/docs/id/server-managed-settings), [Delivery mechanisms](/docs/id/managed-settings#delivery-mechanisms) |

21| [Tentukan apa yang akan diberlakukan](#decide-what-to-enforce) | Alat, perintah, dan integrasi mana yang diizinkan | [Permissions](/docs/id/permissions), [Sandboxing](/docs/id/sandboxing) |21| [Tentukan apa yang akan diberlakukan](#decide-what-to-enforce) | Alat, perintah, dan integrasi mana yang diizinkan | [Permissions](/docs/id/permissions), [Sandboxing](/docs/id/sandboxing) |


29Claude Code terhubung ke Claude melalui salah satu dari beberapa penyedia API. Pilihan Anda mempengaruhi penagihan, autentikasi, postur kepatuhan mana yang Anda warisi, dan fitur Claude Code mana yang dapat digunakan pengembang Anda.29Claude Code terhubung ke Claude melalui salah satu dari beberapa penyedia API. Pilihan Anda mempengaruhi penagihan, autentikasi, postur kepatuhan mana yang Anda warisi, dan fitur Claude Code mana yang dapat digunakan pengembang Anda.

30 30 

31| Penyedia | Pilih ini ketika |31| Penyedia | Pilih ini ketika |

32| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- |

33| Claude for Teams / Enterprise | Anda menginginkan Claude Code dan claude.ai di bawah satu langganan per-kursi tanpa infrastruktur untuk dijalankan. Ini adalah rekomendasi default. |33| Claude for Teams / Enterprise | Anda menginginkan Claude Code dan claude.ai di bawah satu langganan per-kursi tanpa infrastruktur untuk dijalankan. Ini adalah rekomendasi default. |

34| Claude Console | Anda adalah API-first atau menginginkan penagihan pay-as-you-go |34| Claude Console | Anda adalah API-first atau menginginkan penagihan pay-as-you-go |

35| Amazon Bedrock | Anda ingin mewarisi kontrol kepatuhan dan penagihan AWS yang ada |35| Amazon Bedrock | Anda ingin mewarisi kontrol kepatuhan dan penagihan AWS yang ada |


49Pengaturan terkelola mendefinisikan kebijakan organisasi. Claude Code memeriksa empat sumber dalam tabel di bawah ini dalam urutan prioritas. [Bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#precedence-within-the-managed-tier) mengatakan yang mana dari mereka berlaku, apa yang diubah pembantu kebijakan, dan cara menyusun setiap sumber. Tabel adalah peta keputusan.49Pengaturan terkelola mendefinisikan kebijakan organisasi. Claude Code memeriksa empat sumber dalam tabel di bawah ini dalam urutan prioritas. [Bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#precedence-within-the-managed-tier) mengatakan yang mana dari mereka berlaku, apa yang diubah pembantu kebijakan, dan cara menyusun setiap sumber. Tabel adalah peta keputusan.

50 50 

51| Mekanisme | Pengiriman | Prioritas | Platform |51| Mekanisme | Pengiriman | Prioritas | Platform |

52| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------- | :------------- |52| :- | :- | :- | :- |

53| Server-managed | Konsol admin claude.ai, atau [Claude apps gateway](/docs/id/claude-apps-gateway) yang di-host sendiri untuk sign-in gateway | Tertinggi | Semua |53| Server-managed | Konsol admin claude.ai, atau [Claude apps gateway](/docs/id/claude-apps-gateway) yang di-host sendiri untuk sign-in gateway | Tertinggi | Semua |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Tinggi | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Tinggi | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux dan WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Sedang | Semua |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux dan WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Sedang | Semua |


94Pengaturan terkelola dapat mengunci alat, eksekusi sandbox, membatasi server MCP dan sumber plugin, dan mengontrol hook mana yang berjalan. Setiap baris adalah permukaan kontrol dengan kunci pengaturan yang mendorong.94Pengaturan terkelola dapat mengunci alat, eksekusi sandbox, membatasi server MCP dan sumber plugin, dan mengontrol hook mana yang berjalan. Setiap baris adalah permukaan kontrol dengan kunci pengaturan yang mendorong.

95 95 

96| Kontrol | Apa yang dilakukan | Pengaturan kunci |96| Kontrol | Apa yang dilakukan | Pengaturan kunci |

97| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |97| :- | :- | :- |

98| [Permission rules](/docs/id/permissions) | Izinkan, tanyakan, atau tolak alat dan perintah tertentu | `permissions.allow`, `permissions.deny` |98| [Permission rules](/docs/id/permissions) | Izinkan, tanyakan, atau tolak alat dan perintah tertentu | `permissions.allow`, `permissions.deny` |

99| [Permission lockdown](/docs/id/permissions#managed-only-settings) | Buat pengaturan terkelola menjadi [satu-satunya sumber pengaturan aturan izin](/docs/id/settings-reference#allowmanagedpermissionrulesonly). Nonaktifkan `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |99| [Permission lockdown](/docs/id/permissions#managed-only-settings) | Buat pengaturan terkelola menjadi [satu-satunya sumber pengaturan aturan izin](/docs/id/settings-reference#allowmanagedpermissionrulesonly). Nonaktifkan `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

100| [Starting permission mode](/docs/id/permission-modes#which-mode-a-session-starts-in) | Pilih mode izin yang dimulai sesi terminal pengembang Anda alih-alih mode izin awal bawaan, atau hapus mode otomatis. Ekstensi VS Code membaca `defaultMode` yang Anda atur hanya pada paket Pro, Max, dan Team; [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan apa yang dibaca ekstensi | `permissions.defaultMode`, `permissions.disableAutoMode` |100| [Starting permission mode](/docs/id/permission-modes#which-mode-a-session-starts-in) | Pilih mode izin yang dimulai sesi terminal pengembang Anda alih-alih mode izin awal bawaan, atau hapus mode otomatis. Ekstensi VS Code membaca `defaultMode` yang Anda atur hanya pada paket Pro, Max, dan Team; [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan apa yang dibaca ekstensi | `permissions.defaultMode`, `permissions.disableAutoMode` |


135Pilih pemantauan berdasarkan apa yang perlu Anda laporkan. Dasbor, API, dan kontrol pengeluaran berbeda antara Claude for Teams atau paket Enterprise dan organisasi Claude Console, jadi periksa kolom Ketersediaan sebelum Anda merencanakan pelaporan Anda di sekitar kemampuan.135Pilih pemantauan berdasarkan apa yang perlu Anda laporkan. Dasbor, API, dan kontrol pengeluaran berbeda antara Claude for Teams atau paket Enterprise dan organisasi Claude Console, jadi periksa kolom Ketersediaan sebelum Anda merencanakan pelaporan Anda di sekitar kemampuan.

136 136 

137| Kemampuan | Yang Anda dapatkan | Ketersediaan | Mulai dari mana |137| Kemampuan | Yang Anda dapatkan | Ketersediaan | Mulai dari mana |

138| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |138| :- | :- | :- | :- |

139| Usage monitoring | Ekspor OpenTelemetry sesi, alat, dan token | Semua penyedia | [Monitoring usage](/docs/id/monitoring-usage) |139| Usage monitoring | Ekspor OpenTelemetry sesi, alat, dan token | Semua penyedia | [Monitoring usage](/docs/id/monitoring-usage) |

140| Analytics dashboard | Metrik adopsi dan kontribusi dengan papan peringkat di Teams / Enterprise; metrik penggunaan dan pengeluaran per-pengguna di Console | Teams / Enterprise di [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console di [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/id/analytics) |140| Analytics dashboard | Metrik adopsi dan kontribusi dengan papan peringkat di Teams / Enterprise; metrik penggunaan dan pengeluaran per-pengguna di Console | Teams / Enterprise di [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console di [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/id/analytics) |

141| Programmatic reporting | Data penggunaan dan biaya per-pengguna melalui API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) untuk Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) untuk Console | [Costs](/docs/id/costs#manage-costs-for-your-organization) |141| Programmatic reporting | Data penggunaan dan biaya per-pengguna melalui API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) untuk Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) untuk Console | [Costs](/docs/id/costs#manage-costs-for-your-organization) |


150Pada rencana Team, Enterprise, Claude API, dan penyedia cloud, Anthropic tidak melatih model pada kode atau prompt Anda. Penyedia API Anda menentukan retensi dan postur kepatuhan.150Pada rencana Team, Enterprise, Claude API, dan penyedia cloud, Anthropic tidak melatih model pada kode atau prompt Anda. Penyedia API Anda menentukan retensi dan postur kepatuhan.

151 151 

152| Topik | Yang perlu diketahui | Mulai dari mana |152| Topik | Yang perlu diketahui | Mulai dari mana |

153| :------------------------ | :-------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- |153| :- | :- | :- |

154| Data usage policy | Apa yang dikumpulkan Anthropic, berapa lama disimpan, apa yang tidak pernah digunakan untuk pelatihan | [Data usage](/docs/id/data-usage) |154| Data usage policy | Apa yang dikumpulkan Anthropic, berapa lama disimpan, apa yang tidak pernah digunakan untuk pelatihan | [Data usage](/docs/id/data-usage) |

155| Zero Data Retention (ZDR) | Tidak ada yang disimpan setelah permintaan selesai. Tersedia untuk akun yang memenuhi syarat di Claude for Enterprise | [Zero data retention](/docs/id/zero-data-retention) |155| Zero Data Retention (ZDR) | Tidak ada yang disimpan setelah permintaan selesai. Tersedia untuk akun yang memenuhi syarat di Claude for Enterprise | [Zero data retention](/docs/id/zero-data-retention) |

156| Security architecture | Model jaringan, enkripsi, autentikasi, jejak audit | [Security](/docs/id/security) |156| Security architecture | Model jaringan, enkripsi, autentikasi, jejak audit | [Security](/docs/id/security) |

advisor.md +3 −3

Details

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

99 99 

100| Model utama | Advisor yang diterima | Catatan |100| Model utama | Advisor yang diterima | Catatan |

101| ---------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------ |101| - | - | - |

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

103| Sonnet 4.6 | Fable, Opus, Sonnet | |103| Sonnet 4.6 | Fable, Opus, Sonnet | |

104| Sonnet 5 | Fable, Opus 4.7 atau lebih baru, Sonnet 5 | Advisor Sonnet 4.6 ditolak, dan API menolak advisor Opus 4.6 |104| Sonnet 5 | Fable, Opus 4.7 atau lebih baru, Sonnet 5 | Advisor Sonnet 4.6 ditolak, dan API menolak advisor Opus 4.6 |


137Pasangan apa pun yang diterima berfungsi. Kombinasi ini menyeimbangkan biaya terhadap kemampuan dengan cara yang berbeda:137Pasangan apa pun yang diterima berfungsi. Kombinasi ini menyeimbangkan biaya terhadap kemampuan dengan cara yang berbeda:

138 138 

139| Pasangan | Kapan menggunakan |139| Pasangan | Kapan menggunakan |

140| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |140| - | - |

141| Sonnet utama + advisor Opus | Sonnet menangani pekerjaan rutin dan eskalasi perencanaan, kegagalan ambigu, dan pemeriksaan penyelesaian ke Opus |141| Sonnet utama + advisor Opus | Sonnet menangani pekerjaan rutin dan eskalasi perencanaan, kegagalan ambigu, dan pemeriksaan penyelesaian ke Opus |

142| Sonnet utama + advisor Fable | Panduan Fable pada titik keputusan tanpa menjalankan Fable di seluruh. Memerlukan akses Fable |142| Sonnet utama + advisor Fable | Panduan Fable pada titik keputusan tanpa menjalankan Fable di seluruh. Memerlukan akses Fable |

143| Haiku utama + advisor Opus | Model utama dengan biaya terendah dengan perencanaan yang kuat. Harapkan biaya lebih tinggi daripada Haiku saja tetapi lebih rendah daripada beralih model utama ke Sonnet atau Opus |143| Haiku utama + advisor Opus | Model utama dengan biaya terendah dengan perencanaan yang kuat. Harapkan biaya lebih tinggi daripada Haiku saja tetapi lebih rendah daripada beralih model utama ke Sonnet atau Opus |


218Advisor adalah salah satu dari beberapa cara untuk menggabungkan kekuatan model. Pilih berdasarkan kapan Anda ingin model kedua terlibat.218Advisor adalah salah satu dari beberapa cara untuk menggabungkan kekuatan model. Pilih berdasarkan kapan Anda ingin model kedua terlibat.

219 219 

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

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

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

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

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

Details

165SDK mencakup tools yang sama yang menggerakkan Claude Code:165SDK mencakup tools yang sama yang menggerakkan Claude Code:

166 166 

167| Kategori | Tools | Apa yang mereka lakukan |167| Kategori | Tools | Apa yang mereka lakukan |

168| :------------------ | :-------------------------------------------------------------- | :--------------------------------------------------------------------------- |168| :- | :- | :- |

169| **File operations** | `Read`, `Edit`, `Write` | Baca, modifikasi, dan buat file |169| **File operations** | `Read`, `Edit`, `Write` | Baca, modifikasi, dan buat file |

170| **Search** | `Glob`, `Grep` | Temukan file berdasarkan pola, cari konten dengan regex |170| **Search** | `Glob`, `Grep` | Temukan file berdasarkan pola, cari konten dengan regex |

171| **Execution** | `Bash` | Jalankan shell commands, scripts, git operations |171| **Execution** | `Bash` | Jalankan shell commands, scripts, git operations |


214</h3>214</h3>

215 215 

216| Opsi | Apa yang dikontrolnya | Default |216| Opsi | Apa yang dikontrolnya | Default |

217| :--------------------------------------------- | :---------------------------- | :-------------- |217| :- | :- | :- |

218| Max turns (`max_turns` / `maxTurns`) | Maximum tool-use round trips | Tidak ada batas |218| Max turns (`max_turns` / `maxTurns`) | Maximum tool-use round trips | Tidak ada batas |

219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Maximum cost sebelum berhenti | Tidak ada batas |219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Maximum cost sebelum berhenti | Tidak ada batas |

220 220 


231Opsi `effort` mengontrol berapa banyak reasoning yang diterapkan Claude. Lower effort levels menggunakan fewer tokens per turn dan mengurangi cost. Tidak semua models mendukung effort parameter. Lihat [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) untuk models mana yang mendukungnya.231Opsi `effort` mengontrol berapa banyak reasoning yang diterapkan Claude. Lower effort levels menggunakan fewer tokens per turn dan mengurangi cost. Tidak semua models mendukung effort parameter. Lihat [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) untuk models mana yang mendukungnya.

232 232 

233| Level | Behavior | Baik untuk |233| Level | Behavior | Baik untuk |

234| :--------- | :-------------------------------- | :--------------------------------------------------------------------------------------------- |234| :- | :- | :- |

235| `"low"` | Minimal reasoning, fast responses | File lookups, listing directories |235| `"low"` | Minimal reasoning, fast responses | File lookups, listing directories |

236| `"medium"` | Balanced reasoning | Routine edits, standard tasks |236| `"medium"` | Balanced reasoning | Routine edits, standard tasks |

237| `"high"` | Thorough analysis | Refactors, debugging |237| `"high"` | Thorough analysis | Refactors, debugging |


253Opsi permission mode (`permission_mode` di Python, `permissionMode` di TypeScript) mengontrol apakah agent meminta approval sebelum menggunakan tools:253Opsi permission mode (`permission_mode` di Python, `permissionMode` di TypeScript) mengontrol apakah agent meminta approval sebelum menggunakan tools:

254 254 

255| Mode | Behavior | Use case |255| Mode | Behavior | Use case |

256| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |256| :- | :- | :- |

257| `"default"` | Tool calls yang memerlukan approval dan tidak tercakup oleh allow rules memicu `canUseTool` callback Anda; tidak ada callback berarti deny | Interactive applications dengan custom approval callback |257| `"default"` | Tool calls yang memerlukan approval dan tidak tercakup oleh allow rules memicu `canUseTool` callback Anda; tidak ada callback berarti deny | Interactive applications dengan custom approval callback |

258| `"acceptEdits"` | Auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.); Bash commands lainnya mengikuti default rules | Anda mempercayai edits Claude dan menginginkan iterasi lebih cepat, seperti selama prototyping atau saat bekerja dalam isolated directory |258| `"acceptEdits"` | Auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.); Bash commands lainnya mengikuti default rules | Anda mempercayai edits Claude dan menginginkan iterasi lebih cepat, seperti selama prototyping atau saat bekerja dalam isolated directory |

259| `"plan"` | Claude mengeksplorasi dan merencanakan tanpa mengedit source files Anda; file edits tidak pernah auto-approved dan prompt melalui `canUseTool` callback Anda | Anda menginginkan Claude untuk mengusulkan changes tanpa mengeksekusinya, seperti selama code review atau ketika Anda perlu approve changes sebelum dibuat |259| `"plan"` | Claude mengeksplorasi dan merencanakan tanpa mengedit source files Anda; file edits tidak pernah auto-approved dan prompt melalui `canUseTool` callback Anda | Anda menginginkan Claude untuk mengusulkan changes tanpa mengeksekusinya, seperti selama code review atau ketika Anda perlu approve changes sebelum dibuat |


282Berikut adalah cara setiap komponen mempengaruhi konteks dalam SDK:282Berikut adalah cara setiap komponen mempengaruhi konteks dalam SDK:

283 283 

284| Sumber | Ketika dimuat | Dampak |284| Sumber | Ketika dimuat | Dampak |

285| :----------------------- | :---------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :- | :- | :- |

286| **System prompt** | Setiap request | Small fixed cost, selalu present |286| **System prompt** | Setiap request | Small fixed cost, selalu present |

287| **CLAUDE.md files** | Session start, melalui [`settingSources`](/docs/id/agent-sdk/claude-code-features) | Full content dalam setiap request (tetapi prompt-cached, jadi hanya request pertama yang membayar full cost) |287| **CLAUDE.md files** | Session start, melalui [`settingSources`](/docs/id/agent-sdk/claude-code-features) | Full content dalam setiap request (tetapi prompt-cached, jadi hanya request pertama yang membayar full cost) |

288| **Tool definitions** | Setiap request; MCP schemas deferred secara default | Built-in tool schemas dimuat setiap request. [Tool search](/docs/id/agent-sdk/mcp#mcp-tool-search) menunda MCP tool schemas secara default, kembali ke upfront loading pada model yang tidak didukung dan platform tertentu. Lihat [Configure tool search](/docs/id/agent-sdk/tool-search#configure-tool-search) untuk full matrix |288| **Tool definitions** | Setiap request; MCP schemas deferred secara default | Built-in tool schemas dimuat setiap request. [Tool search](/docs/id/agent-sdk/mcp#mcp-tool-search) menunda MCP tool schemas secara default, kembali ke upfront loading pada model yang tidak didukung dan platform tertentu. Lihat [Configure tool search](/docs/id/agent-sdk/tool-search#configure-tool-search) untuk full matrix |


353Ketika loop berakhir, `ResultMessage` memberi tahu Anda apa yang terjadi dan memberikan output. Field `subtype` (tersedia di kedua SDKs) adalah cara utama untuk memeriksa termination state.353Ketika loop berakhir, `ResultMessage` memberi tahu Anda apa yang terjadi dan memberikan output. Field `subtype` (tersedia di kedua SDKs) adalah cara utama untuk memeriksa termination state.

354 354 

355| Result subtype | Apa yang terjadi | Field `result` tersedia? |355| Result subtype | Apa yang terjadi | Field `result` tersedia? |

356| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------: |356| :- | :- | :-: |

357| `success` | Claude menyelesaikan tugas secara normal | Ya |357| `success` | Claude menyelesaikan tugas secara normal | Ya |

358| `error_max_turns` | Mencapai batas `maxTurns` sebelum selesai | Tidak |358| `error_max_turns` | Mencapai batas `maxTurns` sebelum selesai | Tidak |

359| `error_max_budget_usd` | Mencapai batas `maxBudgetUsd` sebelum selesai | Tidak |359| `error_max_budget_usd` | Mencapai batas `maxBudgetUsd` sebelum selesai | Tidak |


387[Hooks](/docs/id/agent-sdk/hooks) adalah callbacks yang menyala pada titik-titik spesifik dalam loop: sebelum tool berjalan, setelah dikembalikan, ketika agent selesai, dan sebagainya. Beberapa hooks yang umum digunakan adalah:387[Hooks](/docs/id/agent-sdk/hooks) adalah callbacks yang menyala pada titik-titik spesifik dalam loop: sebelum tool berjalan, setelah dikembalikan, ketika agent selesai, dan sebagainya. Beberapa hooks yang umum digunakan adalah:

388 388 

389| Hook | Ketika menyala | Penggunaan umum |389| Hook | Ketika menyala | Penggunaan umum |

390| :------------------------------- | :---------------------------------- | :------------------------------------------- |390| :- | :- | :- |

391| `PreToolUse` | Sebelum tool dieksekusi | Validasi input, blokir perintah berbahaya |391| `PreToolUse` | Sebelum tool dieksekusi | Validasi input, blokir perintah berbahaya |

392| `PostToolUse` | Setelah tool dikembalikan | Audit output, picu efek samping |392| `PostToolUse` | Setelah tool dikembalikan | Audit output, picu efek samping |

393| `UserPromptSubmit` | Ketika prompt dikirim | Injeksi konteks tambahan ke dalam prompt |393| `UserPromptSubmit` | Ketika prompt dikirim | Injeksi konteks tambahan ke dalam prompt |

Details

76Setiap sumber memuat pengaturan dari lokasi tertentu, di mana `<cwd>` adalah direktori kerja yang Anda teruskan melalui opsi `cwd`, atau direktori saat ini proses jika tidak diatur. Untuk definisi tipe lengkap, lihat [`SettingSource`](/docs/id/agent-sdk/typescript#settingsource) (TypeScript) atau [`SettingSource`](/docs/id/agent-sdk/python#settingsource) (Python).76Setiap sumber memuat pengaturan dari lokasi tertentu, di mana `<cwd>` adalah direktori kerja yang Anda teruskan melalui opsi `cwd`, atau direktori saat ini proses jika tidak diatur. Untuk definisi tipe lengkap, lihat [`SettingSource`](/docs/id/agent-sdk/typescript#settingsource) (TypeScript) atau [`SettingSource`](/docs/id/agent-sdk/python#settingsource) (Python).

77 77 

78| Sumber | Apa yang dimuat | Lokasi |78| Sumber | Apa yang dimuat | Lokasi |

79| :---------- | :------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :- | :- | :- |

80| `"project"` | `settings.json` proyek dan hooks; CLAUDE.md proyek dan `.claude/rules/*.md`; skills proyek, commands, dan subagents | `<cwd>/.claude/` untuk `settings.json` dan hooks; `<cwd>` dan setiap direktori induk untuk CLAUDE.md dan rules; `<cwd>` dan setiap direktori induk hingga akar repositori untuk skills, commands, dan subagents, ditambah folder `.claude/skills/`, `.claude/commands/`, dan `.claude/agents/` dari setiap direktori yang Anda teruskan melalui opsi `additionalDirectories` atau `add_dirs`, yang SDK teruskan ke Claude Code sebagai [`--add-dir`](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) |80| `"project"` | `settings.json` proyek dan hooks; CLAUDE.md proyek dan `.claude/rules/*.md`; skills proyek, commands, dan subagents | `<cwd>/.claude/` untuk `settings.json` dan hooks; `<cwd>` dan setiap direktori induk untuk CLAUDE.md dan rules; `<cwd>` dan setiap direktori induk hingga akar repositori untuk skills, commands, dan subagents, ditambah folder `.claude/skills/`, `.claude/commands/`, dan `.claude/agents/` dari setiap direktori yang Anda teruskan melalui opsi `additionalDirectories` atau `add_dirs`, yang SDK teruskan ke Claude Code sebagai [`--add-dir`](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) |

81| `"user"` | `settings.json` pengguna; CLAUDE.md pengguna dan `~/.claude/rules/*.md`; skills pengguna, commands, dan subagents | `~/.claude/` untuk `settings.json`, CLAUDE.md, dan rules; `~/.claude/skills/`, `~/.claude/commands/`, dan `~/.claude/agents/` untuk skills, commands, dan subagents |81| `"user"` | `settings.json` pengguna; CLAUDE.md pengguna dan `~/.claude/rules/*.md`; skills pengguna, commands, dan subagents | `~/.claude/` untuk `settings.json`, CLAUDE.md, dan rules; `~/.claude/skills/`, `~/.claude/commands/`, dan `~/.claude/agents/` untuk skills, commands, dan subagents |

82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` untuk `settings.local.json`; `<cwd>` dan setiap direktori induk untuk CLAUDE.local.md |82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` untuk `settings.local.json`; `<cwd>` dan setiap direktori induk untuk CLAUDE.local.md |


92`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:92`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:

93 93 

94| Input | Perilaku | Untuk menonaktifkan |94| Input | Perilaku | Untuk menonaktifkan |

95| :-------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |95| :- | :- | :- |

96| Pengaturan kebijakan terkelola | Kebijakan yang dikelola endpoint, baik plist MDM, kebijakan registri, atau file pengaturan terkelola, dimuat dari host. [Pengaturan yang dikelola server](/docs/id/server-managed-settings) diambil pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability) ketika sesi melakukan autentikasi dengan kredensial yang memenuhi syarat, seperti login OAuth organisasi, kunci API yang dikonfigurasi secara langsung, atau profil Anthropic [`user_oauth`](/docs/id/authentication#anthropic-profiles-and-federation-credentials) | Kebijakan endpoint: hapus file pengaturan terkelola, plist, atau kebijakan registri dari host. Pengaturan yang dikelola server: [Owner](/docs/id/server-managed-settings#access-control) di organisasi Claude Anda mengontrolnya; Anda tidak dapat menonaktifkannya dari SDK |96| Pengaturan kebijakan terkelola | Kebijakan yang dikelola endpoint, baik plist MDM, kebijakan registri, atau file pengaturan terkelola, dimuat dari host. [Pengaturan yang dikelola server](/docs/id/server-managed-settings) diambil pada [konfigurasi yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability) ketika sesi melakukan autentikasi dengan kredensial yang memenuhi syarat, seperti login OAuth organisasi, kunci API yang dikonfigurasi secara langsung, atau profil Anthropic [`user_oauth`](/docs/id/authentication#anthropic-profiles-and-federation-credentials) | Kebijakan endpoint: hapus file pengaturan terkelola, plist, atau kebijakan registri dari host. Pengaturan yang dikelola server: [Owner](/docs/id/server-managed-settings#access-control) di organisasi Claude Anda mengontrolnya; Anda tidak dapat menonaktifkannya dari SDK |

97| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |97| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |

98| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat ke dalam system prompt pada awal sesi. Agen menulis memori baru di sana dengan tools `Write` dan `Edit` standar daripada tool memori khusus, jadi tools tersebut harus diaktifkan agar agen dapat menyimpan memori | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |98| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat ke dalam system prompt pada awal sesi. Agen menulis memori baru di sana dengan tools `Write` dan `Edit` standar daripada tool memori khusus, jadi tools tersebut harus diaktifkan agar agen dapat menyimpan memori | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |


114</h3>114</h3>

115 115 

116| Level | Lokasi | Kapan dimuat |116| Level | Lokasi | Kapan dimuat |

117| :----------------------- | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |117| :- | :- | :- |

118| Proyek (root) | `<cwd>/CLAUDE.md` atau `<cwd>/.claude/CLAUDE.md` | `settingSources` mencakup `"project"` |118| Proyek (root) | `<cwd>/CLAUDE.md` atau `<cwd>/.claude/CLAUDE.md` | `settingSources` mencakup `"project"` |

119| Rules proyek | `<cwd>/.claude/rules/*.md` dan `.claude/rules/*.md` di setiap direktori induk | `settingSources` mencakup `"project"` |119| Rules proyek | `<cwd>/.claude/rules/*.md` dan `.claude/rules/*.md` di setiap direktori induk | `settingSources` mencakup `"project"` |

120| Proyek (direktori induk) | File `CLAUDE.md` di direktori di atas `cwd` | `settingSources` mencakup `"project"`, dimuat pada awal sesi |120| Proyek (direktori induk) | File `CLAUDE.md` di direktori di atas `cwd` | `settingSources` mencakup `"project"`, dimuat pada awal sesi |


286</h3>286</h3>

287 287 

288| Tipe hook | Terbaik untuk |288| Tipe hook | Terbaik untuk |

289| :---------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |289| :- | :- |

290| **Filesystem** (`settings.json`) | Berbagi hooks antara sesi CLI dan SDK. Mendukung `"command"` (skrip shell), `"http"` (POST ke endpoint), `"mcp_tool"` (panggil tool server MCP yang terhubung), `"prompt"` (LLM mengevaluasi prompt), dan `"agent"` (menghasilkan agen verifier). Ini dijalankan di agen utama dan subagen apa pun yang dihasilkannya. |290| **Filesystem** (`settings.json`) | Berbagi hooks antara sesi CLI dan SDK. Mendukung `"command"` (skrip shell), `"http"` (POST ke endpoint), `"mcp_tool"` (panggil tool server MCP yang terhubung), `"prompt"` (LLM mengevaluasi prompt), dan `"agent"` (menghasilkan agen verifier). Ini dijalankan di agen utama dan subagen apa pun yang dihasilkannya. |

291| **Programmatic** (callbacks di `query()`) | Logika khusus aplikasi, keputusan terstruktur, dan integrasi dalam proses. Ini juga dijalankan di dalam subagen. Input hook, argumen pertama callback, membawa bidang `agent_id` dan `agent_type` yang mengidentifikasi agen mana yang memicu hook. |291| **Programmatic** (callbacks di `query()`) | Logika khusus aplikasi, keputusan terstruktur, dan integrasi dalam proses. Ini juga dijalankan di dalam subagen. Input hook, argumen pertama callback, membawa bidang `agent_id` dan `agent_type` yang mengidentifikasi agen mana yang memicu hook. |

292 292 


303Agent SDK memberi Anda akses ke beberapa cara untuk memperluas perilaku agen Anda. Jika Anda tidak yakin mana yang digunakan, tabel ini memetakan tujuan umum ke pendekatan yang tepat.303Agent SDK memberi Anda akses ke beberapa cara untuk memperluas perilaku agen Anda. Jika Anda tidak yakin mana yang digunakan, tabel ini memetakan tujuan umum ke pendekatan yang tepat.

304 304 

305| Apa yang ingin Anda lakukan | Gunakan | Permukaan SDK |305| Apa yang ingin Anda lakukan | Gunakan | Permukaan SDK |

306| :--------------------------------------------------------------------------------------------------- | :-------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |306| :- | :- | :- |

307| Atur konvensi proyek yang selalu diikuti agen Anda | [CLAUDE.md](/docs/id/memory) | `settingSources: ["project"]` memuat secara otomatis |307| Atur konvensi proyek yang selalu diikuti agen Anda | [CLAUDE.md](/docs/id/memory) | `settingSources: ["project"]` memuat secara otomatis |

308| Berikan agen materi referensi yang dimuat ketika relevan | [Skills](/docs/id/agent-sdk/skills) | `settingSources` + `skills` option |308| Berikan agen materi referensi yang dimuat ketika relevan | [Skills](/docs/id/agent-sdk/skills) | `settingSources` + `skills` option |

309| Jalankan alur kerja yang dapat digunakan kembali (deploy, review, release) | [User-invocable skills](/docs/id/agent-sdk/skills) | `settingSources` + `skills` option |309| Jalankan alur kerja yang dapat digunakan kembali (deploy, review, release) | [User-invocable skills](/docs/id/agent-sdk/skills) | `settingSources` + `skills` option |

Details

287Tabel di bawah memetakan setiap opsi ke fitur yang dikonfigurasinya. Untuk opsi yang tidak dicakup halaman ini, lihat referensi [TypeScript](/docs/id/agent-sdk/typescript#options) dan [Python](/docs/id/agent-sdk/python#claudeagentoptions). Jika Anda tahu tujuan Anda tetapi tidak tahu opsi mana yang melayaninya, mulai dari [Pilih fitur yang tepat](/docs/id/agent-sdk/claude-code-features#choose-the-right-feature).287Tabel di bawah memetakan setiap opsi ke fitur yang dikonfigurasinya. Untuk opsi yang tidak dicakup halaman ini, lihat referensi [TypeScript](/docs/id/agent-sdk/typescript#options) dan [Python](/docs/id/agent-sdk/python#claudeagentoptions). Jika Anda tahu tujuan Anda tetapi tidak tahu opsi mana yang melayaninya, mulai dari [Pilih fitur yang tepat](/docs/id/agent-sdk/claude-code-features#choose-the-right-feature).

288 288 

289| TypeScript | Python | Mengontrol | Tercakup dalam |289| TypeScript | Python | Mengontrol | Tercakup dalam |

290| ------------------------- | --------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| - | - | - | - |

291| `permissionMode` | `permission_mode` | Apa yang dapat dilakukan agen tanpa persetujuan | [Konfigurasi izin](/docs/id/agent-sdk/permissions) |291| `permissionMode` | `permission_mode` | Apa yang dapat dilakukan agen tanpa persetujuan | [Konfigurasi izin](/docs/id/agent-sdk/permissions) |

292| `allowedTools` | `allowed_tools` | Panggilan alat mana yang pra-disetujui | [Konfigurasi izin](/docs/id/agent-sdk/permissions) |292| `allowedTools` | `allowed_tools` | Panggilan alat mana yang pra-disetujui | [Konfigurasi izin](/docs/id/agent-sdk/permissions) |

293| `canUseTool` | `can_use_tool` | Callback persetujuan Anda untuk panggilan alat | [Tangani permintaan persetujuan alat](/docs/id/agent-sdk/user-input#handle-tool-approval-requests) |293| `canUseTool` | `can_use_tool` | Callback persetujuan Anda untuk panggilan alat | [Tangani permintaan persetujuan alat](/docs/id/agent-sdk/user-input#handle-tool-approval-requests) |

Details

96Tiga bidang tingkat hasil berbeda dalam apa yang mereka hitung ketika agen menelurkan [subagen](/docs/id/agent-sdk/subagents). Gunakan `modelUsage`, atau `model_usage` di Python, untuk akuntansi token seluruh pohon; bidang `usage` kurang menghitung segera setelah nesting terjadi.96Tiga bidang tingkat hasil berbeda dalam apa yang mereka hitung ketika agen menelurkan [subagen](/docs/id/agent-sdk/subagents). Gunakan `modelUsage`, atau `model_usage` di Python, untuk akuntansi token seluruh pohon; bidang `usage` kurang menghitung segera setelah nesting terjadi.

97 97 

98| Bidang | Aktivitas Subagen |98| Bidang | Aktivitas Subagen |

99| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- |99| - | - |

100| `usage` | Dikecualikan. Menghitung hanya loop agen tingkat atas, jadi token yang dikonsumsi di dalam subagen tidak ditambahkan |100| `usage` | Dikecualikan. Menghitung hanya loop agen tingkat atas, jadi token yang dikonsumsi di dalam subagen tidak ditambahkan |

101| `total_cost_usd` | Disertakan. Menghitung permintaan subagen bersama loop tingkat atas |101| `total_cost_usd` | Disertakan. Menghitung permintaan subagen bersama loop tingkat atas |

102| `modelUsage` / `model_usage` | Disertakan. Menghitung permintaan subagen bersama loop tingkat atas, dipecah menurut model |102| `modelUsage` / `model_usage` | Disertakan. Menghitung permintaan subagen bersama loop tingkat atas, dipecah menurut model |

Details

13</h2>13</h2>

14 14 

15| Apa yang ingin Anda lakukan | Lakukan ini |15| Apa yang ingin Anda lakukan | Lakukan ini |

16| :-------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |16| :- | :- |

17| Menentukan alat | Gunakan [`@tool`](/docs/id/agent-sdk/python#tool) (Python) atau [`tool()`](/docs/id/agent-sdk/typescript#tool) (TypeScript) dengan nama, deskripsi, skema, dan penangan. Lihat [Buat alat kustom](#create-a-custom-tool). |17| Menentukan alat | Gunakan [`@tool`](/docs/id/agent-sdk/python#tool) (Python) atau [`tool()`](/docs/id/agent-sdk/typescript#tool) (TypeScript) dengan nama, deskripsi, skema, dan penangan. Lihat [Buat alat kustom](#create-a-custom-tool). |

18| Mendaftarkan alat dengan Claude | Bungkus dalam `create_sdk_mcp_server` / `createSdkMcpServer` dan teruskan ke `mcpServers` dalam `query()`. Lihat [Panggil alat kustom](#call-a-custom-tool). |18| Mendaftarkan alat dengan Claude | Bungkus dalam `create_sdk_mcp_server` / `createSdkMcpServer` dan teruskan ke `mcpServers` dalam `query()`. Lihat [Panggil alat kustom](#call-a-custom-tool). |

19| Pra-setujui alat | Tambahkan ke alat yang diizinkan Anda. Lihat [Konfigurasi alat yang diizinkan](#configure-allowed-tools). |19| Pra-setujui alat | Tambahkan ke alat yang diizinkan Anda. Lihat [Konfigurasi alat yang diizinkan](#configure-allowed-tools). |


282[Anotasi alat](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) adalah metadata opsional yang menjelaskan bagaimana alat berperilaku. Teruskan sebagai argumen kelima ke helper `tool()` di TypeScript atau melalui argumen kata kunci `annotations` untuk dekorator `@tool` di Python. Semua bidang petunjuk adalah Boolean.282[Anotasi alat](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) adalah metadata opsional yang menjelaskan bagaimana alat berperilaku. Teruskan sebagai argumen kelima ke helper `tool()` di TypeScript atau melalui argumen kata kunci `annotations` untuk dekorator `@tool` di Python. Semua bidang petunjuk adalah Boolean.

283 283 

284| Bidang | Default | Arti |284| Bidang | Default | Arti |

285| :---------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------- |285| :- | :- | :- |

286| `readOnlyHint` | `false` | Alat tidak memodifikasi lingkungannya. Mengontrol apakah alat dapat dipanggil secara paralel dengan alat baca-saja lainnya. |286| `readOnlyHint` | `false` | Alat tidak memodifikasi lingkungannya. Mengontrol apakah alat dapat dipanggil secara paralel dengan alat baca-saja lainnya. |

287| `destructiveHint` | `true` | Alat dapat melakukan pembaruan destruktif. Hanya informatif. |287| `destructiveHint` | `true` | Alat dapat melakukan pembaruan destruktif. Hanya informatif. |

288| `idempotentHint` | `false` | Panggilan berulang dengan argumen yang sama tidak memiliki efek tambahan. Hanya informatif. |288| `idempotentHint` | `false` | Panggilan berulang dengan argumen yang sama tidak memiliki efek tambahan. Hanya informatif. |


338Opsi `tools` dan daftar allowed/disallowed mempengaruhi dua lapisan: availability, yang mengontrol apakah tool muncul dalam konteks Claude, dan permission, yang mengontrol apakah panggilan disetujui setelah Claude mencobanya. `tools` dan entri `disallowedTools` dengan nama bare mengubah availability. `allowedTools` dan aturan `disallowedTools` yang scoped mengubah permission. Jika Anda menyebutkan salah satu dari [task-tracking tools](/docs/id/agent-sdk/todo-tracking#model-availability) dalam `allowedTools`, Claude Code juga memilih sesi masuk.338Opsi `tools` dan daftar allowed/disallowed mempengaruhi dua lapisan: availability, yang mengontrol apakah tool muncul dalam konteks Claude, dan permission, yang mengontrol apakah panggilan disetujui setelah Claude mencobanya. `tools` dan entri `disallowedTools` dengan nama bare mengubah availability. `allowedTools` dan aturan `disallowedTools` yang scoped mengubah permission. Jika Anda menyebutkan salah satu dari [task-tracking tools](/docs/id/agent-sdk/todo-tracking#model-availability) dalam `allowedTools`, Claude Code juga memilih sesi masuk.

339 339 

340| Opsi | Lapisan | Efek |340| Opsi | Lapisan | Efek |

341| :------------------------ | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |341| :- | :- | :- |

342| `tools: ["Read", "Grep"]` | Availability | Hanya built-ins yang tercantum berada dalam konteks Claude. Built-ins yang tidak tercantum dihapus. Tools MCP tidak terpengaruh. |342| `tools: ["Read", "Grep"]` | Availability | Hanya built-ins yang tercantum berada dalam konteks Claude. Built-ins yang tidak tercantum dihapus. Tools MCP tidak terpengaruh. |

343| `tools: []` | Availability | Semua built-ins dihapus. Claude hanya dapat menggunakan tools MCP Anda. |343| `tools: []` | Availability | Semua built-ins dihapus. Claude hanya dapat menggunakan tools MCP Anda. |

344| allowed tools | Permission | Tools yang tercantum berjalan tanpa prompt permission. Tools lain yang tidak tercantum tetap tersedia; panggilan melalui [permission flow](/docs/id/agent-sdk/permissions). |344| allowed tools | Permission | Tools yang tercantum berjalan tanpa prompt permission. Tools lain yang tidak tercantum tetap tersedia; panggilan melalui [permission flow](/docs/id/agent-sdk/permissions). |


353Kesalahan handler tidak menghentikan loop agen. Server MCP in-process SDK menangkap pengecualian yang tidak tertangani dan mengembalikannya sebagai hasil kesalahan, jadi cara Anda melaporkan kesalahan menentukan apa yang Claude baca, bukan apakah kueri gagal:353Kesalahan handler tidak menghentikan loop agen. Server MCP in-process SDK menangkap pengecualian yang tidak tertangani dan mengembalikannya sebagai hasil kesalahan, jadi cara Anda melaporkan kesalahan menentukan apa yang Claude baca, bukan apakah kueri gagal:

354 354 

355| Apa yang terjadi | Hasil |355| Apa yang terjadi | Hasil |

356| :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |356| :- | :- |

357| Handler melempar pengecualian yang tidak tertangani | Server MCP mengonversinya menjadi hasil kesalahan yang membawa pesan pengecualian mentah. Claude melihat pesan itu, dan loop agen berlanjut. |357| Handler melempar pengecualian yang tidak tertangani | Server MCP mengonversinya menjadi hasil kesalahan yang membawa pesan pengecualian mentah. Claude melihat pesan itu, dan loop agen berlanjut. |

358| Handler menangkap kesalahan dan mengembalikan `isError: true` (TS) / `"is_error": True` (Python) | Claude melihat pesan yang Anda susun. Anda dapat menambahkan konteks yang kurang dari pengecualian mentah, seperti permintaan mana yang gagal atau apa yang harus dicoba sebagai gantinya. |358| Handler menangkap kesalahan dan mengembalikan `isError: true` (TS) / `"is_error": True` (Python) | Claude melihat pesan yang Anda susun. Anda dapat menambahkan konteks yang kurang dari pengecualian mentah, seperti permintaan mana yang gagal atau apa yang harus dicoba sebagai gantinya. |

359 359 


472Blok gambar membawa byte gambar secara inline, dikodekan sebagai base64. Tidak ada bidang URL. Untuk mengembalikan gambar yang berada di URL, ambil dalam handler, baca byte respons, dan kodekan base64 sebelum mengembalikan. Hasilnya diproses sebagai input visual.472Blok gambar membawa byte gambar secara inline, dikodekan sebagai base64. Tidak ada bidang URL. Untuk mengembalikan gambar yang berada di URL, ambil dalam handler, baca byte respons, dan kodekan base64 sebelum mengembalikan. Hasilnya diproses sebagai input visual.

473 473 

474| Field | Type | Notes |474| Field | Type | Notes |

475| :--------- | :-------- | :------------------------------------------------------------------------------------ |475| :- | :- | :- |

476| `type` | `"image"` | |476| `type` | `"image"` | |

477| `data` | `string` | Byte yang dikodekan Base64. Base64 mentah saja, tanpa awalan `data:image/...;base64,` |477| `data` | `string` | Byte yang dikodekan Base64. Base64 mentah saja, tanpa awalan `data:image/...;base64,` |

478| `mimeType` | `string` | Diperlukan. Misalnya `image/png`, `image/jpeg`, `image/webp`, `image/gif` |478| `mimeType` | `string` | Diperlukan. Misalnya `image/png`, `image/jpeg`, `image/webp`, `image/gif` |


541Blok sumber daya menyematkan sepotong konten yang diidentifikasi oleh URI. URI adalah label untuk Claude untuk referensi; konten aktual berada di bidang `text` atau `blob` blok. Gunakan ini ketika tool Anda menghasilkan sesuatu yang masuk akal untuk ditangani berdasarkan nama nanti, seperti file yang dihasilkan atau catatan dari sistem eksternal.541Blok sumber daya menyematkan sepotong konten yang diidentifikasi oleh URI. URI adalah label untuk Claude untuk referensi; konten aktual berada di bidang `text` atau `blob` blok. Gunakan ini ketika tool Anda menghasilkan sesuatu yang masuk akal untuk ditangani berdasarkan nama nanti, seperti file yang dihasilkan atau catatan dari sistem eksternal.

542 542 

543| Field | Type | Notes |543| Field | Type | Notes |

544| :------------------ | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------- |544| :- | :- | :- |

545| `type` | `"resource"` | |545| `type` | `"resource"` | |

546| `resource.uri` | `string` | Pengenal untuk konten. Skema URI apa pun |546| `resource.uri` | `string` | Pengenal untuk konten. Skema URI apa pun |

547| `resource.text` | `string` | Konten, jika berupa teks. Berikan ini atau `blob`, bukan keduanya |547| `resource.text` | `string` | Konten, jika berupa teks. Berikan ini atau `blob`, bukan keduanya |

Details

149 Konfigurasi opsi SDK Anda untuk mengaktifkan checkpointing dan menerima UUID checkpoint:149 Konfigurasi opsi SDK Anda untuk mengaktifkan checkpointing dan menerima UUID checkpoint:

150 150 

151 | Opsi | Python | TypeScript | Deskripsi |151 | Opsi | Python | TypeScript | Deskripsi |

152 | ---------------------- | ------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------- |152 | - | - | - | - |

153 | Aktifkan checkpointing | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | Melacak perubahan file untuk pemulihan |153 | Aktifkan checkpointing | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | Melacak perubahan file untuk pemulihan |

154 | Terima UUID checkpoint | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | Diperlukan untuk mendapatkan UUID pesan pengguna dalam aliran |154 | Terima UUID checkpoint | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | Diperlukan untuk mendapatkan UUID pesan pengguna dalam aliran |

155 155 


718File checkpointing memiliki keterbatasan berikut:718File checkpointing memiliki keterbatasan berikut:

719 719 

720| Keterbatasan | Deskripsi |720| Keterbatasan | Deskripsi |

721| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |721| - | - |

722| Hanya alat Write/Edit/NotebookEdit | Perubahan yang dilakukan melalui perintah Bash tidak dilacak |722| Hanya alat Write/Edit/NotebookEdit | Perubahan yang dilakukan melalui perintah Bash tidak dilacak |

723| Suntingan subagent | Suntingan yang diterapkan [subagent](/docs/id/agent-sdk/subagents) tidak dilacak atau dipulihkan, kecuali skill dengan `context: fork` yang berjalan di foreground; gunakan git untuk mengembalikan suntingan yang tidak dilacak |723| Suntingan subagent | Suntingan yang diterapkan [subagent](/docs/id/agent-sdk/subagents) tidak dilacak atau dipulihkan, kecuali skill dengan `context: fork` yang berjalan di foreground; gunakan git untuk mengembalikan suntingan yang tidak dilacak |

724| Sesi yang sama | Checkpoint terikat pada sesi yang membuatnya |724| Sesi yang sama | Checkpoint terikat pada sesi yang membuatnya |

Details

149SDK menyediakan hooks untuk tahap berbeda dari eksekusi agent. Beberapa hooks tersedia di kedua SDK, sementara yang lain hanya TypeScript.149SDK menyediakan hooks untuk tahap berbeda dari eksekusi agent. Beberapa hooks tersedia di kedua SDK, sementara yang lain hanya TypeScript.

150 150 

151| Hook Event | Python SDK | TypeScript SDK | Apa yang memicunya | Contoh use case |151| Hook Event | Python SDK | TypeScript SDK | Apa yang memicunya | Contoh use case |

152| ------------------------------------------------------ | ---------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |152| - | - | - | - | - |

153| `PreToolUse` | Ya | Ya | Permintaan pemanggilan tool (dapat memblokir atau memodifikasi) | Blokir perintah shell berbahaya |153| `PreToolUse` | Ya | Ya | Permintaan pemanggilan tool (dapat memblokir atau memodifikasi) | Blokir perintah shell berbahaya |

154| `PostToolUse` | Ya | Ya | Hasil eksekusi tool | Log semua perubahan file ke audit trail |154| `PostToolUse` | Ya | Ya | Hasil eksekusi tool | Log semua perubahan file ke audit trail |

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


230SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/docs/id/hooks#matcher-patterns). Bagian tersebut mendokumentasikan jalur evaluasi string yang tepat dan regular expression, persyaratan versi mereka, dan nilai matcher untuk setiap tipe event.230SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/docs/id/hooks#matcher-patterns). Bagian tersebut mendokumentasikan jalur evaluasi string yang tepat dan regular expression, persyaratan versi mereka, dan nilai matcher untuk setiap tipe event.

231 231 

232| Option | Type | Default | Description |232| Option | Type | Default | Description |

233| --------- | ---------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |233| - | - | - | - |

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

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

236| `timeout` | `number` | `undefined` | Timeout dalam detik. Ketika dihilangkan, Claude Code menerapkan [timeout default event](#hook-timeout). SDK callbacks Anda mengikuti default hook `command` |236| `timeout` | `number` | `undefined` | Timeout dalam detik. Ketika dihilangkan, Claude Code menerapkan [timeout default event](#hook-timeout). SDK callbacks Anda mengikuti default hook `command` |


295</CodeGroup>295</CodeGroup>

296 296 

297| Field | Type | Description |297| Field | Type | Description |

298| -------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |298| - | - | - |

299| `async` | `true` | Sinyal mode async. Agent melanjutkan tanpa menunggu. Di Python, gunakan `async_` untuk menghindari reserved keyword. |299| `async` | `true` | Sinyal mode async. Agent melanjutkan tanpa menunggu. Di Python, gunakan `async_` untuk menghindari reserved keyword. |

300| `asyncTimeout` | `number` | Optional timeout dalam milliseconds untuk operasi background |300| `asyncTimeout` | `number` | Optional timeout dalam milliseconds untuk operasi background |

301 301 

Details

63Tiga jenis state agen hidup di sistem file kontainer secara default. Tidak satupun dari mereka yang bertahan dari restart kontainer, scale-down, atau perpindahan ke node yang berbeda.63Tiga jenis state agen hidup di sistem file kontainer secara default. Tidak satupun dari mereka yang bertahan dari restart kontainer, scale-down, atau perpindahan ke node yang berbeda.

64 64 

65| State | Lokasi Default |65| State | Lokasi Default |

66| ----------------------- | ------------------------------------------------------------------------------------------ |66| - | - |

67| Transkrip sesi | `~/.claude/projects/`, atau direktori `projects/` di bawah `CLAUDE_CONFIG_DIR` jika diatur |67| Transkrip sesi | `~/.claude/projects/`, atau direktori `projects/` di bawah `CLAUDE_CONFIG_DIR` jika diatur |

68| File memori `CLAUDE.md` | `~/.claude/CLAUDE.md` untuk tier pengguna dan direktori kerja sesi untuk tier proyek |68| File memori `CLAUDE.md` | `~/.claude/CLAUDE.md` untuk tier pengguna dan direktori kerja sesi untuk tier proyek |

69| Artefak direktori kerja | Direktori kerja sesi |69| Artefak direktori kerja | Direktori kerja sesi |


379Rencanakan hal-hal ini dalam desain penyebaran Anda.379Rencanakan hal-hal ini dalam desain penyebaran Anda.

380 380 

381| Keterbatasan | Apa yang harus dilakukan |381| Keterbatasan | Apa yang harus dilakukan |

382| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |382| - | - |

383| Tidak ada timeout sesi tingkat atas | Sesi tidak akan habis waktu dengan sendirinya. Atur `maxTurns` di TypeScript atau `max_turns` di Python untuk membatasi berapa banyak putaran penggunaan alat yang diambil agen sebelum berhenti. |383| Tidak ada timeout sesi tingkat atas | Sesi tidak akan habis waktu dengan sendirinya. Atur `maxTurns` di TypeScript atau `max_turns` di Python untuk membatasi berapa banyak putaran penggunaan alat yang diambil agen sebelum berhenti. |

384| Pertumbuhan memori selama sesi panjang | Batasi panjang sesi atau daur ulang subproses secara berkala. Lihat [Penskalaan dan konkurensi](#scaling-and-concurrency). |384| Pertumbuhan memori selama sesi panjang | Batasi panjang sesi atau daur ulang subproses secara berkala. Lihat [Penskalaan dan konkurensi](#scaling-and-concurrency). |

385| Fanout subagen paralel besar dapat mencapai batas laju | Pecah pekerjaan menjadi batch yang lebih kecil daripada mengeluarkan satu pengiriman yang luas. |385| Fanout subagen paralel besar dapat mencapai batas laju | Pecah pekerjaan menjadi batch yang lebih kecil daripada mengeluarkan satu pengiriman yang luas. |

Details

159Claude Code mendaftarkan server yang Anda berikan dalam `options.mcpServers` saat startup dan mengirimkan [pesan init](#error-handling) setelah penundaan putaran pertama, jika ada, terselesaikan. Apakah setiap server `options.mcpServers` menunda putaran pertama, dan kapan server tersebut terhubung, tergantung pada jenisnya:159Claude Code mendaftarkan server yang Anda berikan dalam `options.mcpServers` saat startup dan mengirimkan [pesan init](#error-handling) setelah penundaan putaran pertama, jika ada, terselesaikan. Apakah setiap server `options.mcpServers` menunda putaran pertama, dan kapan server tersebut terhubung, tergantung pada jenisnya:

160 160 

161| Jenis server | Menunda putaran pertama? | Batas waktu tunggu putaran pertama |161| Jenis server | Menunda putaran pertama? | Batas waktu tunggu putaran pertama |

162| :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------- |162| :- | :- | :- |

163| Server stdio, atau server HTTP/SSE tanpa daftar alat yang di-cache | Ya, sampai terhubung | [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default; koneksi gagal pada batas waktu tersebut |163| Server stdio, atau server HTTP/SSE tanpa daftar alat yang di-cache | Ya, sampai terhubung | [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default; koneksi gagal pada batas waktu tersebut |

164| Server jarak jauh dengan daftar alat yang di-cache, disimpan oleh Claude Code dari koneksi sebelumnya | Tidak; alat yang di-cache tersedia dari putaran pertama | Tidak ada; terhubung pada panggilan alat pertamanya, dan koneksi tertunda tersebut memiliki batas waktu sendiri |164| Server jarak jauh dengan daftar alat yang di-cache, disimpan oleh Claude Code dari koneksi sebelumnya | Tidak; alat yang di-cache tersedia dari putaran pertama | Tidak ada; terhubung pada panggilan alat pertamanya, dan koneksi tertunda tersebut memiliki batas waktu sendiri |

165| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | Tidak ada; permintaan koneksi dan pencantuman alat masing-masing memiliki batas waktu sendiri |165| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | Tidak ada; permintaan koneksi dan pencantuman alat masing-masing memiliki batas waktu sendiri |

Details

19</h2>19</h2>

20 20 

21| Aspek | Lama | Baru |21| Aspek | Lama | Baru |

22| :--------------------- | :-------------------------- | :------------------------------------------------------------------------------- |22| :- | :- | :- |

23| **Nama Paket (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |23| **Nama Paket (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |

24| **Paket Python** | `claude-code-sdk` | `claude-agent-sdk` |24| **Paket Python** | `claude-code-sdk` | `claude-agent-sdk` |

25| **Lokasi Dokumentasi** | Claude Code docs | Claude Code docs → bagian [Agent SDK](/docs/id/agent-sdk/overview) yang didedikasikan |25| **Lokasi Dokumentasi** | Claude Code docs | Claude Code docs → bagian [Agent SDK](/docs/id/agent-sdk/overview) yang didedikasikan |

Details

25Faktor penentu adalah seberapa dekat agen Anda menyerupai Claude Code: agen coding yang beroperasi di repositori, dengan manusia mengamati output streaming dan mengarahkan pekerjaan. Semakin jauh produk Anda dari itu, semakin banyak Anda akan ingin menulis prompt Anda sendiri.25Faktor penentu adalah seberapa dekat agen Anda menyerupai Claude Code: agen coding yang beroperasi di repositori, dengan manusia mengamati output streaming dan mengarahkan pekerjaan. Semakin jauh produk Anda dari itu, semakin banyak Anda akan ingin menulis prompt Anda sendiri.

26 26 

27| Anda membangun | Gunakan | Apa yang Anda dapatkan |27| Anda membangun | Gunakan | Apa yang Anda dapatkan |

28| :-------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |28| :- | :- | :- |

29| Alat coding seperti CLI atau IDE di mana manusia mengamati dan mengarahkan, dan default Claude Code adalah apa yang Anda inginkan | Preset `claude_code` | Prompt Claude Code, termasuk panduan tool, aturan keselamatan, dan konteks lingkungan |29| Alat coding seperti CLI atau IDE di mana manusia mengamati dan mengarahkan, dan default Claude Code adalah apa yang Anda inginkan | Preset `claude_code` | Prompt Claude Code, termasuk panduan tool, aturan keselamatan, dan konteks lingkungan |

30| Jenis alat yang sama, ditambah aturan khusus produk seperti standar coding, format output, atau konteks domain | Preset `claude_code` dengan `append` | Semuanya di atas, dengan instruksi Anda ditambahkan setelah preset. Tidak ada yang dihapus, jadi ini adalah kustomisasi risiko terendah |30| Jenis alat yang sama, ditambah aturan khusus produk seperti standar coding, format output, atau konteks domain | Preset `claude_code` dengan `append` | Semuanya di atas, dengan instruksi Anda ditambahkan setelah preset. Tidak ada yang dihapus, jadi ini adalah kustomisasi risiko terendah |

31| Agen dengan permukaan, identitas, atau model izin yang berbeda, atau agen non-coding | String prompt kustom | Hanya apa yang Anda tulis. Anda bertanggung jawab untuk mengganti panduan tool dan instruksi keselamatan yang masih dibutuhkan agen Anda |31| Agen dengan permukaan, identitas, atau model izin yang berbeda, atau agen non-coding | String prompt kustom | Hanya apa yang Anda tulis. Anda bertanggung jawab untuk mengganti panduan tool dan instruksi keselamatan yang masih dibutuhkan agen Anda |


425Keempat metode kustomisasi berbeda dalam hal di mana mereka berada, bagaimana mereka dibagikan, dan apa yang mereka pertahankan dari preset `claude_code`.425Keempat metode kustomisasi berbeda dalam hal di mana mereka berada, bagaimana mereka dibagikan, dan apa yang mereka pertahankan dari preset `claude_code`.

426 426 

427| Fitur | CLAUDE.md | Output Styles | `systemPrompt` dengan append | Custom `systemPrompt` |427| Fitur | CLAUDE.md | Output Styles | `systemPrompt` dengan append | Custom `systemPrompt` |

428| ----------------------- | ---------------- | -------------------------- | ---------------------------- | --------------------------- |428| - | - | - | - | - |

429| **Persistence** | File per-proyek | Disimpan sebagai file | Hanya sesi | Hanya sesi |429| **Persistence** | File per-proyek | Disimpan sebagai file | Hanya sesi | Hanya sesi |

430| **Reusability** | Per-proyek | Di berbagai proyek | Duplikasi kode | Duplikasi kode |430| **Reusability** | Per-proyek | Di berbagai proyek | Duplikasi kode | Duplikasi kode |

431| **Management** | Di filesystem | CLI + file | Dalam kode | Dalam kode |431| **Management** | Di filesystem | CLI + file | Dalam kode | Dalam kode |

Details

31CLI mengekspor tiga sinyal OpenTelemetry independen. Masing-masing memiliki switch enable sendiri dan exporter sendiri, jadi Anda dapat mengaktifkan hanya yang Anda butuhkan.31CLI mengekspor tiga sinyal OpenTelemetry independen. Masing-masing memiliki switch enable sendiri dan exporter sendiri, jadi Anda dapat mengaktifkan hanya yang Anda butuhkan.

32 32 

33| Signal | Apa yang dikandungnya | Aktifkan dengan |33| Signal | Apa yang dikandungnya | Aktifkan dengan |

34| ---------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------- |34| - | - | - |

35| Metrics | Counters untuk tokens, cost, sessions, lines of code, dan tool decisions | `OTEL_METRICS_EXPORTER` |35| Metrics | Counters untuk tokens, cost, sessions, lines of code, dan tool decisions | `OTEL_METRICS_EXPORTER` |

36| Log events | Structured records untuk setiap prompt, API request, API error, dan tool result | `OTEL_LOGS_EXPORTER` |36| Log events | Structured records untuk setiap prompt, API request, API error, dan tool result | `OTEL_LOGS_EXPORTER` |

37| Traces | Spans untuk setiap interaction, model request, tool call, dan hook (beta) | `OTEL_TRACES_EXPORTER` plus `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |37| Traces | Spans untuk setiap interaction, model request, tool call, dan hook (beta) | `OTEL_TRACES_EXPORTER` plus `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |


248Telemetry bersifat structural secara default. Durations, model names, dan tool names dicatat pada setiap span; token counts dicatat ketika underlying API request mengembalikan usage data, jadi spans untuk failed atau aborted requests dapat menghilangkannya. Konten yang dibaca dan ditulis agent Anda tidak dicatat secara default. Variables opt-in ini menambahkan konten ke exported data:248Telemetry bersifat structural secara default. Durations, model names, dan tool names dicatat pada setiap span; token counts dicatat ketika underlying API request mengembalikan usage data, jadi spans untuk failed atau aborted requests dapat menghilangkannya. Konten yang dibaca dan ditulis agent Anda tidak dicatat secara default. Variables opt-in ini menambahkan konten ke exported data:

249 249 

250| Variable | Menambahkan |250| Variable | Menambahkan |

251| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |251| - | - |

252| `OTEL_LOG_USER_PROMPTS=1` | Prompt text pada events `claude_code.user_prompt` dan pada span `claude_code.interaction` |252| `OTEL_LOG_USER_PROMPTS=1` | Prompt text pada events `claude_code.user_prompt` dan pada span `claude_code.interaction` |

253| `OTEL_LOG_TOOL_DETAILS=1` | Tool input arguments (file paths, shell commands, search patterns) pada events `claude_code.tool_result` |253| `OTEL_LOG_TOOL_DETAILS=1` | Tool input arguments (file paths, shell commands, search patterns) pada events `claude_code.tool_result` |

254| `OTEL_LOG_TOOL_CONTENT=1` | Sebuah [`tool.output` span event](/docs/id/monitoring-usage#tool-output-span-event) pada `claude_code.tool` dengan file contents dan Bash output, truncated pada 60 KB secara default, dapat dikonfigurasi melalui `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, yang memerlukan Claude Code v2.1.214 atau lebih baru. Memerlukan [tracing](#read-agent-traces) untuk diaktifkan. Span attributes membawa tool content di bawah [gates mereka sendiri](/docs/id/monitoring-usage#new-context-gates) |254| `OTEL_LOG_TOOL_CONTENT=1` | Sebuah [`tool.output` span event](/docs/id/monitoring-usage#tool-output-span-event) pada `claude_code.tool` dengan file contents dan Bash output, truncated pada 60 KB secara default, dapat dikonfigurasi melalui `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, yang memerlukan Claude Code v2.1.214 atau lebih baru. Memerlukan [tracing](#read-agent-traces) untuk diaktifkan. Span attributes membawa tool content di bawah [gates mereka sendiri](/docs/id/monitoring-usage#new-context-gates) |

Details

15Agent SDK, CLI, Client SDK, dan Managed Agents berbeda dalam hal siapa yang menjalankan agen, apa yang sudah tertanam, dan bagaimana Anda mengaksesnya. Temukan baris yang sesuai dengan cara Anda ingin membangun dan menjalankannya.15Agent SDK, CLI, Client SDK, dan Managed Agents berbeda dalam hal siapa yang menjalankan agen, apa yang sudah tertanam, dan bagaimana Anda mengaksesnya. Temukan baris yang sesuai dengan cara Anda ingin membangun dan menjalankannya.

16 16 

17| Anda ingin | Gunakan | Apa yang Anda dapatkan |17| Anda ingin | Gunakan | Apa yang Anda dapatkan |

18| ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| - | - | - |

19| Menyematkan agen Claude Code dalam aplikasi Python atau TypeScript Anda sendiri, dalam proses yang Anda operasikan | **Agent SDK** | Sebuah library yang menjalankan biner Claude Code, dengan [kemampuan](#capabilities) Claude Code, seperti alat bawaan, izin, sesi, dan hooks. |19| Menyematkan agen Claude Code dalam aplikasi Python atau TypeScript Anda sendiri, dalam proses yang Anda operasikan | **Agent SDK** | Sebuah library yang menjalankan biner Claude Code, dengan [kemampuan](#capabilities) Claude Code, seperti alat bawaan, izin, sesi, dan hooks. |

20| Melakukan pengembangan interaktif atau menjalankan tugas sekali jadi dari terminal | [**Claude Code CLI**](/docs/id/overview) | Antarmuka terminal, dibangun untuk penggunaan interaktif sehari-hari. |20| Melakukan pengembangan interaktif atau menjalankan tugas sekali jadi dari terminal | [**Claude Code CLI**](/docs/id/overview) | Antarmuka terminal, dibangun untuk penggunaan interaktif sehari-hari. |

21| Memanggil API Claude secara langsung dari kode Anda sendiri | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Akses langsung ke API Claude dari salah satu bahasa Client SDK. Anda menulis loop alat sendiri, atau biarkan [tool runner](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) beta Client SDK menjalankannya. |21| Memanggil API Claude secara langsung dari kode Anda sendiri | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Akses langsung ke API Claude dari salah satu bahasa Client SDK. Anda menulis loop alat sendiri, atau biarkan [tool runner](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) beta Client SDK menjalankannya. |


30Kemampuan Claude Code ini tersedia di SDK:30Kemampuan Claude Code ini tersedia di SDK:

31 31 

32| Kemampuan | Apa yang dilakukannya | Pelajari lebih lanjut |32| Kemampuan | Apa yang dilakukannya | Pelajari lebih lanjut |

33| ---------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| - | - | - |

34| Alat bawaan | Baca, tulis, edit file, jalankan perintah, dan cari web | [Referensi alat](/docs/id/tools-reference) |34| Alat bawaan | Baca, tulis, edit file, jalankan perintah, dan cari web | [Referensi alat](/docs/id/tools-reference) |

35| Hooks | Jalankan kode khusus pada titik-titik kunci dalam siklus hidup agen | [Hooks](/docs/id/agent-sdk/hooks) |35| Hooks | Jalankan kode khusus pada titik-titik kunci dalam siklus hidup agen | [Hooks](/docs/id/agent-sdk/hooks) |

36| Subagents | Spawn agen khusus untuk menangani subtask yang terfokus | [Subagents](/docs/id/agent-sdk/subagents) |36| Subagents | Spawn agen khusus untuk menangani subtask yang terfokus | [Subagents](/docs/id/agent-sdk/subagents) |

Details

76`allowed_tools` dan `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) menambahkan entri ke daftar aturan izin dan penolakan dalam alur evaluasi di atas. Jika Anda menyebutkan salah satu dari [alat pelacakan tugas](/docs/id/agent-sdk/todo-tracking#model-availability) dalam `allowed_tools`, Claude Code juga memilih sesi masuk. Alat lain apa pun yang tidak tercantum dalam `allowed_tools` masih tersedia untuk Claude, dan panggilan ke alat tersebut yang memerlukan persetujuan jatuh melalui mode izin. Aturan penolakan berperilaku berbeda tergantung pada apakah mereka menyebutkan alat atau membatasi pola dalam satu.76`allowed_tools` dan `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) menambahkan entri ke daftar aturan izin dan penolakan dalam alur evaluasi di atas. Jika Anda menyebutkan salah satu dari [alat pelacakan tugas](/docs/id/agent-sdk/todo-tracking#model-availability) dalam `allowed_tools`, Claude Code juga memilih sesi masuk. Alat lain apa pun yang tidak tercantum dalam `allowed_tools` masih tersedia untuk Claude, dan panggilan ke alat tersebut yang memerlukan persetujuan jatuh melalui mode izin. Aturan penolakan berperilaku berbeda tergantung pada apakah mereka menyebutkan alat atau membatasi pola dalam satu.

77 77 

78| Opsi | Efek |78| Opsi | Efek |

79| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |79| :- | :- |

80| `allowed_tools=["Read", "Grep"]` | `Read` dan `Grep` disetujui secara otomatis. Alat lain yang tidak tercantum di sini masih ada, dan panggilan ke alat tersebut yang memerlukan persetujuan jatuh melalui mode izin dan `canUseTool`. |80| `allowed_tools=["Read", "Grep"]` | `Read` dan `Grep` disetujui secara otomatis. Alat lain yang tidak tercantum di sini masih ada, dan panggilan ke alat tersebut yang memerlukan persetujuan jatuh melalui mode izin dan `canUseTool`. |

81| `disallowed_tools=["Bash"]` | Definisi alat `Bash` dihapus dari permintaan. Claude tidak melihat alat dan tidak dapat mencobanya. |81| `disallowed_tools=["Bash"]` | Definisi alat `Bash` dihapus dari permintaan. Claude tidak melihat alat dan tidak dapat mencobanya. |

82| `disallowed_tools=["Bash(rm *)"]` | `Bash` tetap tersedia. Panggilan yang cocok dengan `rm *` [seperti yang ditulis](/docs/id/permissions#bash-rule-limits) ditolak dalam setiap mode izin, termasuk `bypassPermissions`. Panggilan `Bash` lainnya, termasuk `/bin/rm`, jatuh melalui mode izin. |82| `disallowed_tools=["Bash(rm *)"]` | `Bash` tetap tersedia. Panggilan yang cocok dengan `rm *` [seperti yang ditulis](/docs/id/permissions#bash-rule-limits) ditolak dalam setiap mode izin, termasuk `bypassPermissions`. Panggilan `Bash` lainnya, termasuk `/bin/rm`, jatuh melalui mode izin. |


124SDK mendukung mode izin berikut:124SDK mendukung mode izin berikut:

125 125 

126| Mode | Deskripsi | Perilaku Tool |126| Mode | Deskripsi | Perilaku Tool |

127| :------------------ | :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :- | :- | :- |

128| `default` | Perilaku izin standar | Tidak ada persetujuan otomatis berbasis mode; panggilan yang memerlukan persetujuan dan tidak cocok dengan aturan izin memicu callback `canUseTool` Anda |128| `default` | Perilaku izin standar | Tidak ada persetujuan otomatis berbasis mode; panggilan yang memerlukan persetujuan dan tidak cocok dengan aturan izin memicu callback `canUseTool` Anda |

129| `dontAsk` | Tolak alih-alih meminta | Setiap panggilan yang sebaliknya akan meminta ditolak. Panggilan yang disetujui oleh `allowed_tools` atau aturan berjalan, begitu juga panggilan yang tidak memerlukan persetujuan dalam mode `default`, seperti pembacaan file di dalam direktori kerja Anda dan panggilan ke `Agent`. Connector tools [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan tools yang memerlukan interaksi pengguna ditolak bahkan jika Anda telah menyetujuinya sebelumnya, begitu juga penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths). `canUseTool` tidak pernah dipanggil |129| `dontAsk` | Tolak alih-alih meminta | Setiap panggilan yang sebaliknya akan meminta ditolak. Panggilan yang disetujui oleh `allowed_tools` atau aturan berjalan, begitu juga panggilan yang tidak memerlukan persetujuan dalam mode `default`, seperti pembacaan file di dalam direktori kerja Anda dan panggilan ke `Agent`. Connector tools [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dan tools yang memerlukan interaksi pengguna ditolak bahkan jika Anda telah menyetujuinya sebelumnya, begitu juga penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths). `canUseTool` tidak pernah dipanggil |

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

Details

27Python SDK menyediakan dua cara untuk berinteraksi dengan Claude Code:27Python SDK menyediakan dua cara untuk berinteraksi dengan Claude Code:

28 28 

29| Fitur | `query()` | `ClaudeSDKClient` |29| Fitur | `query()` | `ClaudeSDKClient` |

30| :------------------ | :--------------------------------------------------- | :------------------------------------------ |30| :- | :- | :- |

31| **Sesi** | Membuat sesi baru secara default | Menggunakan kembali sesi yang sama |31| **Sesi** | Membuat sesi baru secara default | Menggunakan kembali sesi yang sama |

32| **Percakapan** | Pertukaran tunggal | Beberapa pertukaran dalam konteks yang sama |32| **Percakapan** | Pertukaran tunggal | Beberapa pertukaran dalam konteks yang sama |

33| **Koneksi** | Dikelola secara otomatis | Kontrol manual |33| **Koneksi** | Dikelola secara otomatis | Kontrol manual |


66</h4>66</h4>

67 67 

68| Parameter | Tipe | Deskripsi |68| Parameter | Tipe | Deskripsi |

69| :---------- | :--------------------------- | :----------------------------------------------------------------------- |69| :- | :- | :- |

70| `prompt` | `str \| AsyncIterable[dict]` | Prompt input sebagai string atau async iterable untuk mode streaming |70| `prompt` | `str \| AsyncIterable[dict]` | Prompt input sebagai string atau async iterable untuk mode streaming |

71| `options` | `ClaudeAgentOptions \| None` | Objek konfigurasi opsional (default ke `ClaudeAgentOptions()` jika None) |71| `options` | `ClaudeAgentOptions \| None` | Objek konfigurasi opsional (default ke `ClaudeAgentOptions()` jika None) |

72| `transport` | `Transport \| None` | Transport kustom opsional untuk berkomunikasi dengan proses CLI |72| `transport` | `Transport \| None` | Transport kustom opsional untuk berkomunikasi dengan proses CLI |


119</h4>119</h4>

120 120 

121| Parameter | Tipe | Deskripsi |121| Parameter | Tipe | Deskripsi |

122| :------------- | :---------------------------------------------- | :---------------------------------------------------------------------------------------------- |122| :- | :- | :- |

123| `name` | `str` | Pengenal unik untuk tool |123| `name` | `str` | Pengenal unik untuk tool |

124| `description` | `str` | Deskripsi yang dapat dibaca manusia tentang apa yang dilakukan tool |124| `description` | `str` | Deskripsi yang dapat dibaca manusia tentang apa yang dilakukan tool |

125| `input_schema` | `type \| dict[str, Any]` | Skema yang mendefinisikan parameter input tool. Lihat [Opsi skema input](#input-schema-options) |125| `input_schema` | `type \| dict[str, Any]` | Skema yang mendefinisikan parameter input tool. Lihat [Opsi skema input](#input-schema-options) |


178Semua field bersifat opsional. Klien tidak boleh mengandalkan petunjuk untuk keputusan keamanan.178Semua field bersifat opsional. Klien tidak boleh mengandalkan petunjuk untuk keputusan keamanan.

179 179 

180| Field | Tipe | Default | Deskripsi |180| Field | Tipe | Default | Deskripsi |

181| :------------------- | :------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |181| :- | :- | :- | :- |

182| `title` | `str \| None` | `None` | Judul yang dapat dibaca manusia untuk tool |182| `title` | `str \| None` | `None` | Judul yang dapat dibaca manusia untuk tool |

183| `readOnlyHint` | `bool \| None` | `False` | Jika `True`, tool tidak memodifikasi lingkungannya |183| `readOnlyHint` | `bool \| None` | `False` | Jika `True`, tool tidak memodifikasi lingkungannya |

184| `destructiveHint` | `bool \| None` | `True` | Jika `True`, tool dapat melakukan pembaruan destruktif (hanya bermakna ketika `readOnlyHint` adalah `False`) |184| `destructiveHint` | `bool \| None` | `True` | Jika `True`, tool dapat melakukan pembaruan destruktif (hanya bermakna ketika `readOnlyHint` adalah `False`) |


220</h4>220</h4>

221 221 

222| Parameter | Tipe | Default | Deskripsi |222| Parameter | Tipe | Default | Deskripsi |

223| :-------- | :------------------------------ | :-------- | :------------------------------------------------------ |223| :- | :- | :- | :- |

224| `name` | `str` | - | Pengenal unik untuk server |224| `name` | `str` | - | Pengenal unik untuk server |

225| `version` | `str` | `"1.0.0"` | String versi server |225| `version` | `str` | `"1.0.0"` | String versi server |

226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Daftar fungsi tool yang dibuat dengan dekorator `@tool` |226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Daftar fungsi tool yang dibuat dengan dekorator `@tool` |


282</h4>282</h4>

283 283 

284| Parameter | Tipe | Default | Deskripsi |284| Parameter | Tipe | Default | Deskripsi |

285| :------------------ | :------------ | :------ | :--------------------------------------------------------------------------------------------------- |285| :- | :- | :- | :- |

286| `directory` | `str \| None` | `None` | Direktori untuk mencantumkan sesi. Ketika dihilangkan, mengembalikan sesi di semua proyek |286| `directory` | `str \| None` | `None` | Direktori untuk mencantumkan sesi. Ketika dihilangkan, mengembalikan sesi di semua proyek |

287| `limit` | `int \| None` | `None` | Jumlah maksimal sesi yang akan dikembalikan |287| `limit` | `int \| None` | `None` | Jumlah maksimal sesi yang akan dikembalikan |

288| `offset` | `int` | `0` | Jumlah sesi yang akan dilewati dari awal hasil yang diurutkan. Gunakan dengan `limit` untuk paginasi |288| `offset` | `int` | `0` | Jumlah sesi yang akan dilewati dari awal hasil yang diurutkan. Gunakan dengan `limit` untuk paginasi |


293</h4>293</h4>

294 294 

295| Properti | Tipe | Deskripsi |295| Properti | Tipe | Deskripsi |

296| :-------------- | :------------ | :------------------------------------------------------------------------------------ |296| :- | :- | :- |

297| `session_id` | `str` | Pengenal sesi unik |297| `session_id` | `str` | Pengenal sesi unik |

298| `summary` | `str` | Judul tampilan: judul kustom, ringkasan yang dihasilkan otomatis, atau prompt pertama |298| `summary` | `str` | Judul tampilan: judul kustom, ringkasan yang dihasilkan otomatis, atau prompt pertama |

299| `last_modified` | `int` | Waktu modifikasi terakhir dalam milidetik sejak epoch |299| `last_modified` | `int` | Waktu modifikasi terakhir dalam milidetik sejak epoch |


338</h4>338</h4>

339 339 

340| Parameter | Tipe | Default | Deskripsi |340| Parameter | Tipe | Default | Deskripsi |

341| :----------- | :------------ | :--------- | :-------------------------------------------------------------------------- |341| :- | :- | :- | :- |

342| `session_id` | `str` | diperlukan | ID sesi untuk mengambil pesan |342| `session_id` | `str` | diperlukan | ID sesi untuk mengambil pesan |

343| `directory` | `str \| None` | `None` | Direktori proyek untuk dilihat. Ketika dihilangkan, mencari di semua proyek |343| `directory` | `str \| None` | `None` | Direktori proyek untuk dilihat. Ketika dihilangkan, mencari di semua proyek |

344| `limit` | `int \| None` | `None` | Jumlah maksimal pesan yang akan dikembalikan |344| `limit` | `int \| None` | `None` | Jumlah maksimal pesan yang akan dikembalikan |


349</h4>349</h4>

350 350 

351| Properti | Tipe | Deskripsi |351| Properti | Tipe | Deskripsi |

352| :------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |352| :- | :- | :- |

353| `type` | `Literal["user", "assistant"]` | Peran pesan |353| `type` | `Literal["user", "assistant"]` | Peran pesan |

354| `uuid` | `str` | Pengenal pesan unik |354| `uuid` | `str` | Pengenal pesan unik |

355| `session_id` | `str` | Pengenal sesi |355| `session_id` | `str` | Pengenal sesi |


389</h4>389</h4>

390 390 

391| Parameter | Tipe | Default | Deskripsi |391| Parameter | Tipe | Default | Deskripsi |

392| :----------- | :------------ | :--------- | :---------------------------------------------------------------------------- |392| :- | :- | :- | :- |

393| `session_id` | `str` | diperlukan | UUID sesi untuk dicari |393| `session_id` | `str` | diperlukan | UUID sesi untuk dicari |

394| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |394| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |

395 395 


428</h4>428</h4>

429 429 

430| Parameter | Tipe | Default | Deskripsi |430| Parameter | Tipe | Default | Deskripsi |

431| :----------- | :------------ | :--------- | :---------------------------------------------------------------------------- |431| :- | :- | :- | :- |

432| `session_id` | `str` | diperlukan | UUID sesi untuk diganti nama |432| `session_id` | `str` | diperlukan | UUID sesi untuk diganti nama |

433| `title` | `str` | diperlukan | Judul baru. Harus tidak kosong setelah menghapus spasi putih |433| `title` | `str` | diperlukan | Judul baru. Harus tidak kosong setelah menghapus spasi putih |

434| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |434| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |


468</h4>468</h4>

469 469 

470| Parameter | Tipe | Default | Deskripsi |470| Parameter | Tipe | Default | Deskripsi |

471| :----------- | :------------ | :--------- | :---------------------------------------------------------------------------- |471| :- | :- | :- | :- |

472| `session_id` | `str` | diperlukan | UUID sesi untuk ditandai |472| `session_id` | `str` | diperlukan | UUID sesi untuk ditandai |

473| `tag` | `str \| None` | diperlukan | String tag, atau `None` untuk menghapus. Disanitasi Unicode sebelum disimpan |473| `tag` | `str \| None` | diperlukan | String tag, atau `None` untuk menghapus. Disanitasi Unicode sebelum disimpan |

474| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |474| `directory` | `str \| None` | `None` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |


529</h4>529</h4>

530 530 

531| Metode | Deskripsi |531| Metode | Deskripsi |

532| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |532| :- | :- |

533| `__init__(options)` | Inisialisasi klien dengan konfigurasi opsional |533| `__init__(options)` | Inisialisasi klien dengan konfigurasi opsional |

534| `connect(prompt)` | Hubungkan ke Claude dengan prompt awal opsional atau aliran pesan |534| `connect(prompt)` | Hubungkan ke Claude dengan prompt awal opsional atau aliran pesan |

535| `query(prompt, session_id)` | Kirim permintaan baru dalam mode streaming |535| `query(prompt, session_id)` | Kirim permintaan baru dalam mode streaming |


780```780```

781 781 

782| Properti | Tipe | Deskripsi |782| Properti | Tipe | Deskripsi |

783| :------------- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |783| :- | :- | :- |

784| `name` | `str` | Pengenal unik untuk tool |784| `name` | `str` | Pengenal unik untuk tool |

785| `description` | `str` | Deskripsi yang dapat dibaca manusia |785| `description` | `str` | Deskripsi yang dapat dibaca manusia |

786| `input_schema` | `type[T] \| dict[str, Any]` | Skema untuk validasi input |786| `input_schema` | `type[T] \| dict[str, Any]` | Skema untuk validasi input |


824```824```

825 825 

826| Metode | Deskripsi |826| Metode | Deskripsi |

827| :---------------- | :-------------------------------------------------------------------- |827| :- | :- |

828| `connect()` | Hubungkan transport dan siapkan untuk komunikasi |828| `connect()` | Hubungkan transport dan siapkan untuk komunikasi |

829| `write(data)` | Tulis data mentah (JSON + newline) ke transport |829| `write(data)` | Tulis data mentah (JSON + newline) ke transport |

830| `read_messages()` | Async iterator yang menghasilkan pesan JSON yang diuraikan |830| `read_messages()` | Async iterator yang menghasilkan pesan JSON yang diuraikan |


894```894```

895 895 

896| Properti | Tipe | Default | Deskripsi |896| Properti | Tipe | Default | Deskripsi |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :- | :- | :- | :- |

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

899| `allowed_tools` | `list[str]` | `[]` | Tools untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tools ini. Jika Anda menyebutkan salah satu dari [task-tracking tools](/docs/id/agent-sdk/todo-tracking#model-availability) di sini, Claude Code juga memilih sesi. Tools lainnya yang tidak terdaftar jatuh ke `permission_mode` dan `can_use_tool`. Gunakan `disallowed_tools` untuk memblokir tools. Lihat [Permissions](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | Tools untuk auto-approve tanpa prompt. Ini tidak membatasi Claude hanya pada tools ini. Jika Anda menyebutkan salah satu dari [task-tracking tools](/docs/id/agent-sdk/todo-tracking#model-availability) di sini, Claude Code juga memilih sesi. Tools lainnya yang tidak terdaftar jatuh ke `permission_mode` dan `can_use_tool`. Gunakan `disallowed_tools` untuk memblokir tools. Lihat [Permissions](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

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


986```986```

987 987 

988| Field | Diperlukan | Deskripsi |988| Field | Diperlukan | Deskripsi |

989| :------- | :--------- | :----------------------------------------------- |989| :- | :- | :- |

990| `type` | Ya | Harus `"json_schema"` untuk validasi JSON Schema |990| `type` | Ya | Harus `"json_schema"` untuk validasi JSON Schema |

991| `schema` | Ya | Definisi JSON Schema untuk validasi output |991| `schema` | Ya | Definisi JSON Schema untuk validasi output |

992 992 


1006```1006```

1007 1007 

1008| Field | Diperlukan | Deskripsi |1008| Field | Diperlukan | Deskripsi |

1009| :------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1009| :- | :- | :- |

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

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

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


1027```1027```

1028 1028 

1029| Field | Diperlukan | Deskripsi |1029| Field | Diperlukan | Deskripsi |

1030| :--------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------- |1030| :- | :- | :- |

1031| `type` | Ya | Harus `"custom"` |1031| `type` | Ya | Harus `"custom"` |

1032| `prompt` | Ya | Teks system prompt. Diteruskan ke CLI sebagai argumen command-line, jadi [batas panjang command-line](#systempromptfile) berlaku |1032| `prompt` | Ya | Teks system prompt. Diteruskan ke CLI sebagai argumen command-line, jadi [batas panjang command-line](#systempromptfile) berlaku |

1033| `snapshot` | Tidak | Sama seperti [`SystemPromptPreset.snapshot`](#systempromptpreset), diterapkan ke `prompt` |1033| `snapshot` | Tidak | Sama seperti [`SystemPromptPreset.snapshot`](#systempromptpreset), diterapkan ke `prompt` |


1045```1045```

1046 1046 

1047| Field | Diperlukan | Deskripsi |1047| Field | Diperlukan | Deskripsi |

1048| :----- | :--------- | :------------------------------------------- |1048| :- | :- | :- |

1049| `type` | Ya | Harus `"file"` untuk memuat prompt dari disk |1049| `type` | Ya | Harus `"file"` untuk memuat prompt dari disk |

1050| `path` | Ya | Jalur ke file yang berisi system prompt |1050| `path` | Ya | Jalur ke file yang berisi system prompt |

1051 1051 


1060```1060```

1061 1061 

1062| Nilai | Deskripsi | Lokasi |1062| Nilai | Deskripsi | Lokasi |

1063| :---------- | :-------------------------------------------------------------------------------------- | :---------------------------- |1063| :- | :- | :- |

1064| `"user"` | Pengaturan pengguna global | `~/.claude/settings.json` |1064| `"user"` | Pengaturan pengguna global | `~/.claude/settings.json` |

1065| `"project"` | Pengaturan proyek bersama (version controlled) | `.claude/settings.json` |1065| `"project"` | Pengaturan proyek bersama (version controlled) | `.claude/settings.json` |

1066| `"local"` | Pengaturan proyek lokal, gitignored ketika Claude Code menyimpan pengaturan ke dalamnya | `.claude/settings.local.json` |1066| `"local"` | Pengaturan proyek lokal, gitignored ketika Claude Code menyimpan pengaturan ke dalamnya | `.claude/settings.local.json` |


1189```1189```

1190 1190 

1191| Field | Diperlukan | Deskripsi |1191| Field | Diperlukan | Deskripsi |

1192| :---------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1192| :- | :- | :- |

1193| `description` | Ya | Deskripsi bahasa alami tentang kapan menggunakan agent ini |1193| `description` | Ya | Deskripsi bahasa alami tentang kapan menggunakan agent ini |

1194| `prompt` | Ya | System prompt agent |1194| `prompt` | Ya | System prompt agent |

1195| `tools` | Tidak | Array nama tool yang diizinkan. Jika dihilangkan, mewarisi setiap [tool yang tersedia untuk subagent](/docs/id/sub-agents#available-tools) |1195| `tools` | Tidak | Array nama tool yang diizinkan. Jika dihilangkan, mewarisi setiap [tool yang tersedia untuk subagent](/docs/id/sub-agents#available-tools) |


1286```1286```

1287 1287 

1288| Field | Tipe | Deskripsi |1288| Field | Tipe | Deskripsi |

1289| :---------------- | :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1289| :- | :- | :- |

1290| `signal` | `Any \| None` | Dicadangkan untuk dukungan sinyal abort di masa depan |1290| `signal` | `Any \| None` | Dicadangkan untuk dukungan sinyal abort di masa depan |

1291| `suggestions` | `list[PermissionUpdate]` | Saran pembaruan izin dari CLI. Prompt Bash menyertakan saran dengan destinasi `localSettings`, jadi mengembalikannya dalam `updated_permissions` menulis aturan ke `.claude/settings.local.json` dan bertahan di seluruh sesi. |1291| `suggestions` | `list[PermissionUpdate]` | Saran pembaruan izin dari CLI. Prompt Bash menyertakan saran dengan destinasi `localSettings`, jadi mengembalikannya dalam `updated_permissions` menulis aturan ke `.claude/settings.local.json` dan bertahan di seluruh sesi. |

1292| `tool_use_id` | `str \| None` | Pengenal panggilan tool tertentu yang prompt ini untuk. Selalu diisi ketika dikirim ke `can_use_tool` |1292| `tool_use_id` | `str \| None` | Pengenal panggilan tool tertentu yang prompt ini untuk. Selalu diisi ketika dikirim ke `can_use_tool` |


1322```1322```

1323 1323 

1324| Field | Tipe | Default | Deskripsi |1324| Field | Tipe | Default | Deskripsi |

1325| :-------------------- | :------------------------------- | :-------- | :----------------------------------------------------- |1325| :- | :- | :- | :- |

1326| `behavior` | `Literal["allow"]` | `"allow"` | Harus "allow" |1326| `behavior` | `Literal["allow"]` | `"allow"` | Harus "allow" |

1327| `updated_input` | `dict[str, Any] \| None` | `None` | Input yang dimodifikasi untuk digunakan alih-alih asli |1327| `updated_input` | `dict[str, Any] \| None` | `None` | Input yang dimodifikasi untuk digunakan alih-alih asli |

1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Pembaruan izin untuk diterapkan |1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Pembaruan izin untuk diterapkan |


1342```1342```

1343 1343 

1344| Field | Tipe | Default | Deskripsi |1344| Field | Tipe | Default | Deskripsi |

1345| :---------- | :---------------- | :------- | :------------------------------------------ |1345| :- | :- | :- | :- |

1346| `behavior` | `Literal["deny"]` | `"deny"` | Harus "deny" |1346| `behavior` | `Literal["deny"]` | `"deny"` | Harus "deny" |

1347| `message` | `str` | `""` | Pesan yang menjelaskan mengapa tool ditolak |1347| `message` | `str` | `""` | Pesan yang menjelaskan mengapa tool ditolak |

1348| `interrupt` | `bool` | `False` | Apakah akan mengganggu eksekusi saat ini |1348| `interrupt` | `bool` | `False` | Apakah akan mengganggu eksekusi saat ini |


1374```1374```

1375 1375 

1376| Field | Tipe | Deskripsi |1376| Field | Tipe | Deskripsi |

1377| :------------ | :---------------------------------------- | :------------------------------------------- |1377| :- | :- | :- |

1378| `type` | `Literal[...]` | Jenis operasi pembaruan izin |1378| `type` | `Literal[...]` | Jenis operasi pembaruan izin |

1379| `rules` | `list[PermissionRuleValue] \| None` | Aturan untuk operasi add/replace/remove |1379| `rules` | `list[PermissionRuleValue] \| None` | Aturan untuk operasi add/replace/remove |

1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Perilaku untuk operasi berbasis aturan |1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Perilaku untuk operasi berbasis aturan |


1436```1436```

1437 1437 

1438| Varian | Field | Deskripsi |1438| Varian | Field | Deskripsi |

1439| :--------- | :--------------------------------- | :---------------------------------------------------- |1439| :- | :- | :- |

1440| `adaptive` | `type`, `display` | Claude secara adaptif memutuskan kapan harus berpikir |1440| `adaptive` | `type`, `display` | Claude secara adaptif memutuskan kapan harus berpikir |

1441| `enabled` | `type`, `budget_tokens`, `display` | Aktifkan thinking dengan budget token tertentu |1441| `enabled` | `type`, `budget_tokens`, `display` | Aktifkan thinking dengan budget token tertentu |

1442| `disabled` | `type` | Nonaktifkan thinking |1442| `disabled` | `type` | Nonaktifkan thinking |


1469```1469```

1470 1470 

1471| Field | Tipe | Deskripsi |1471| Field | Tipe | Deskripsi |

1472| :------ | :---- | :----------------------------- |1472| :- | :- | :- |

1473| `total` | `int` | Total budget token untuk tugas |1473| `total` | `int` | Total budget token untuk tugas |

1474 1474 

1475Karena ini adalah `TypedDict`, teruskan sebagai dict biasa, seperti `ClaudeAgentOptions(task_budget={"total": 50000})`.1475Karena ini adalah `TypedDict`, teruskan sebagai dict biasa, seperti `ClaudeAgentOptions(task_budget={"total": 50000})`.


1596```1596```

1597 1597 

1598| Field | Tipe | Deskripsi |1598| Field | Tipe | Deskripsi |

1599| :----------- | :----------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1599| :- | :- | :- |

1600| `name` | `str` | Nama server |1600| `name` | `str` | Nama server |

1601| `status` | `str` | Salah satu dari `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, atau `"disabled"` |1601| `status` | `str` | Salah satu dari `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, atau `"disabled"` |

1602| `serverInfo` | `dict` (opsional) | Nama dan versi server (`{"name": str, "version": str}`) |1602| `serverInfo` | `dict` (opsional) | Nama dan versi server (`{"name": str, "version": str}`) |


1618```1618```

1619 1619 

1620| Field | Tipe | Deskripsi |1620| Field | Tipe | Deskripsi |

1621| :----- | :----------------- | :----------------------------------------------------------- |1621| :- | :- | :- |

1622| `type` | `Literal["local"]` | Harus `"local"` (hanya plugins lokal yang saat ini didukung) |1622| `type` | `Literal["local"]` | Harus `"local"` (hanya plugins lokal yang saat ini didukung) |

1623| `path` | `str` | Jalur absolut atau relatif ke direktori plugin |1623| `path` | `str` | Jalur absolut atau relatif ke direktori plugin |

1624 1624 


1672```1672```

1673 1673 

1674| Field | Type | Deskripsi |1674| Field | Type | Deskripsi |

1675| :------------------- | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1675| :- | :- | :- |

1676| `content` | `str \| list[ContentBlock]` | Konten pesan sebagai teks atau blok konten |1676| `content` | `str \| list[ContentBlock]` | Konten pesan sebagai teks atau blok konten |

1677| `uuid` | `str \| None` | Pengenal pesan unik |1677| `uuid` | `str \| None` | Pengenal pesan unik |

1678| `parent_tool_use_id` | `str \| None` | ID penggunaan tool jika pesan ini adalah respons hasil tool |1678| `parent_tool_use_id` | `str \| None` | ID penggunaan tool jika pesan ini adalah respons hasil tool |


1704```1704```

1705 1705 

1706| Field | Type | Deskripsi |1706| Field | Type | Deskripsi |

1707| :------------------- | :----------------------------------------------------------- | :------------------------------------------------------------------------------------------- |1707| :- | :- | :- |

1708| `content` | `list[ContentBlock]` | Daftar blok konten dalam respons |1708| `content` | `list[ContentBlock]` | Daftar blok konten dalam respons |

1709| `model` | `str` | Model yang menghasilkan respons |1709| `model` | `str` | Model yang menghasilkan respons |

1710| `parent_tool_use_id` | `str \| None` | ID penggunaan tool jika ini adalah respons bersarang |1710| `parent_tool_use_id` | `str \| None` | ID penggunaan tool jika ini adalah respons bersarang |


1791Dict `usage` mencakup loop agen utama saja dan mengecualikan subagent dan panggilan model bersarang atau tambahan lainnya. Dalam [mode input streaming](/docs/id/agent-sdk/streaming-vs-single-mode), nilainya per-putaran. Lebih suka `model_usage` untuk akuntansi token dan biaya. Dict `usage` berisi kunci berikut ketika ada:1791Dict `usage` mencakup loop agen utama saja dan mengecualikan subagent dan panggilan model bersarang atau tambahan lainnya. Dalam [mode input streaming](/docs/id/agent-sdk/streaming-vs-single-mode), nilainya per-putaran. Lebih suka `model_usage` untuk akuntansi token dan biaya. Dict `usage` berisi kunci berikut ketika ada:

1792 1792 

1793| Kunci | Tipe | Deskripsi |1793| Kunci | Tipe | Deskripsi |

1794| ----------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1794| - | - | - |

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

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

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


1804Setiap nilai dalam `model_usage` adalah TypedDict `ModelUsage`, diimpor melalui `from claude_agent_sdk.types import ModelUsage`. Kuncinya menggunakan camelCase karena SDK melewatkan nilai tanpa modifikasi dari proses CLI yang mendasar, cocok dengan tipe TypeScript [`ModelUsage`](/docs/id/agent-sdk/typescript#modelusage):1804Setiap nilai dalam `model_usage` adalah TypedDict `ModelUsage`, diimpor melalui `from claude_agent_sdk.types import ModelUsage`. Kuncinya menggunakan camelCase karena SDK melewatkan nilai tanpa modifikasi dari proses CLI yang mendasar, cocok dengan tipe TypeScript [`ModelUsage`](/docs/id/agent-sdk/typescript#modelusage):

1805 1805 

1806| Kunci | Tipe | Deskripsi |1806| Kunci | Tipe | Deskripsi |

1807| -------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1807| - | - | - |

1808| `inputTokens` | `int` | Token input untuk model ini. |1808| `inputTokens` | `int` | Token input untuk model ini. |

1809| `outputTokens` | `int` | Token output untuk model ini. |1809| `outputTokens` | `int` | Token output untuk model ini. |

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


1833```1833```

1834 1834 

1835| Field | Tipe | Deskripsi |1835| Field | Tipe | Deskripsi |

1836| :------------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |1836| :- | :- | :- |

1837| `uuid` | `str` | Pengenal unik untuk event ini |1837| `uuid` | `str` | Pengenal unik untuk event ini |

1838| `session_id` | `str` | Pengenal sesi |1838| `session_id` | `str` | Pengenal sesi |

1839| `event` | `dict[str, Any]` | Data event stream Claude API mentah |1839| `event` | `dict[str, Any]` | Data event stream Claude API mentah |


1854```1854```

1855 1855 

1856| Field | Tipe | Deskripsi |1856| Field | Tipe | Deskripsi |

1857| :---------------- | :-------------------------------- | :------------------------- |1857| :- | :- | :- |

1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Status rate limit saat ini |1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Status rate limit saat ini |

1859| `uuid` | `str` | Pengenal event unik |1859| `uuid` | `str` | Pengenal event unik |

1860| `session_id` | `str` | Pengenal sesi |1860| `session_id` | `str` | Pengenal sesi |


1885```1885```

1886 1886 

1887| Field | Tipe | Deskripsi |1887| Field | Tipe | Deskripsi |

1888| :------------------------ | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1888| :- | :- | :- |

1889| `status` | `RateLimitStatus` | Status saat ini, salah satu dari `"allowed"`, `"allowed_warning"`, atau `"rejected"`. `"allowed_warning"` berarti mendekati batas; `"rejected"` berarti batas tercapai |1889| `status` | `RateLimitStatus` | Status saat ini, salah satu dari `"allowed"`, `"allowed_warning"`, atau `"rejected"`. `"allowed_warning"` berarti mendekati batas; `"rejected"` berarti batas tercapai |

1890| `resets_at` | `int \| None` | Timestamp Unix ketika jendela rate limit direset |1890| `resets_at` | `int \| None` | Timestamp Unix ketika jendela rate limit direset |

1891| `rate_limit_type` | `RateLimitType \| None` | Jendela rate limit mana yang berlaku |1891| `rate_limit_type` | `RateLimitType \| None` | Jendela rate limit mana yang berlaku |


1910```1910```

1911 1911 

1912| Field | Tipe | Deskripsi |1912| Field | Tipe | Deskripsi |

1913| :-------------------- | :---- | :-------------------------------------------------------------------------------------------------------------- |1913| :- | :- | :- |

1914| `new_conversation_id` | `str` | Pengenal buram untuk percakapan segar. Bukan `session_id` dari pesan berikutnya; baca itu dari pesan berikutnya |1914| `new_conversation_id` | `str` | Pengenal buram untuk percakapan segar. Bukan `session_id` dari pesan berikutnya; baca itu dari pesan berikutnya |

1915| `uuid` | `str` | Pengenal pesan unik |1915| `uuid` | `str` | Pengenal pesan unik |

1916| `session_id` | `str` | ID sesi yang direset. Pesan setelah reset membawa `session_id` baru |1916| `session_id` | `str` | ID sesi yang direset. Pesan setelah reset membawa `session_id` baru |


1933```1933```

1934 1934 

1935| Field | Tipe | Deskripsi |1935| Field | Tipe | Deskripsi |

1936| :------------ | :------------ | :------------------------------------------------------------------------------------------------------------------------------ |1936| :- | :- | :- |

1937| `task_id` | `str` | Pengenal unik untuk tugas |1937| `task_id` | `str` | Pengenal unik untuk tugas |

1938| `description` | `str` | Deskripsi tugas |1938| `description` | `str` | Deskripsi tugas |

1939| `uuid` | `str` | Pengenal pesan unik |1939| `uuid` | `str` | Pengenal pesan unik |


1973```1973```

1974 1974 

1975| Field | Tipe | Deskripsi |1975| Field | Tipe | Deskripsi |

1976| :--------------- | :------------ | :------------------------------------------ |1976| :- | :- | :- |

1977| `task_id` | `str` | Pengenal unik untuk tugas |1977| `task_id` | `str` | Pengenal unik untuk tugas |

1978| `description` | `str` | Deskripsi status saat ini |1978| `description` | `str` | Deskripsi status saat ini |

1979| `usage` | `TaskUsage` | Penggunaan token untuk tugas ini sejauh ini |1979| `usage` | `TaskUsage` | Penggunaan token untuk tugas ini sejauh ini |


2002```2002```

2003 2003 

2004| Field | Tipe | Deskripsi |2004| Field | Tipe | Deskripsi |

2005| :------------ | :----------------------- | :---------------------------------------------------------- |2005| :- | :- | :- |

2006| `task_id` | `str` | Pengenal unik untuk tugas |2006| `task_id` | `str` | Pengenal unik untuk tugas |

2007| `status` | `TaskNotificationStatus` | Salah satu dari `"completed"`, `"failed"`, atau `"stopped"` |2007| `status` | `TaskNotificationStatus` | Salah satu dari `"completed"`, `"failed"`, atau `"stopped"` |

2008| `output_file` | `str` | Jalur ke file output tugas |2008| `output_file` | `str` | Jalur ke file output tugas |


2307```2307```

2308 2308 

2309| Field | Tipe | Deskripsi |2309| Field | Tipe | Deskripsi |

2310| :---------------- | :--------------- | :--------------------------- |2310| :- | :- | :- |

2311| `session_id` | `str` | Pengenal sesi saat ini |2311| `session_id` | `str` | Pengenal sesi saat ini |

2312| `transcript_path` | `str` | Jalur ke file transkrip sesi |2312| `transcript_path` | `str` | Jalur ke file transkrip sesi |

2313| `cwd` | `str` | Direktori kerja saat ini |2313| `cwd` | `str` | Direktori kerja saat ini |


2330```2330```

2331 2331 

2332| Field | Tipe | Deskripsi |2332| Field | Tipe | Deskripsi |

2333| :---------------- | :---------------------- | :----------------------------------------------------------- |2333| :- | :- | :- |

2334| `hook_event_name` | `Literal["PreToolUse"]` | Selalu "PreToolUse" |2334| `hook_event_name` | `Literal["PreToolUse"]` | Selalu "PreToolUse" |

2335| `tool_name` | `str` | Nama tool yang akan dieksekusi |2335| `tool_name` | `str` | Nama tool yang akan dieksekusi |

2336| `tool_input` | `dict[str, Any]` | Parameter input untuk tool |2336| `tool_input` | `dict[str, Any]` | Parameter input untuk tool |


2356```2356```

2357 2357 

2358| Field | Tipe | Deskripsi |2358| Field | Tipe | Deskripsi |

2359| :---------------- | :----------------------- | :----------------------------------------------------------- |2359| :- | :- | :- |

2360| `hook_event_name` | `Literal["PostToolUse"]` | Selalu "PostToolUse" |2360| `hook_event_name` | `Literal["PostToolUse"]` | Selalu "PostToolUse" |

2361| `tool_name` | `str` | Nama tool yang dieksekusi |2361| `tool_name` | `str` | Nama tool yang dieksekusi |

2362| `tool_input` | `dict[str, Any]` | Parameter input yang digunakan |2362| `tool_input` | `dict[str, Any]` | Parameter input yang digunakan |


2384```2384```

2385 2385 

2386| Field | Tipe | Deskripsi |2386| Field | Tipe | Deskripsi |

2387| :---------------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2387| :- | :- | :- |

2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | Selalu "PostToolUseFailure" |2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | Selalu "PostToolUseFailure" |

2389| `tool_name` | `str` | Nama tool yang gagal |2389| `tool_name` | `str` | Nama tool yang gagal |

2390| `tool_input` | `dict[str, Any]` | Parameter input yang digunakan |2390| `tool_input` | `dict[str, Any]` | Parameter input yang digunakan |


2407```2407```

2408 2408 

2409| Field | Tipe | Deskripsi |2409| Field | Tipe | Deskripsi |

2410| :---------------- | :---------------------------- | :------------------------------ |2410| :- | :- | :- |

2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | Selalu "UserPromptSubmit" |2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | Selalu "UserPromptSubmit" |

2412| `prompt` | `str` | Prompt yang dikirimkan pengguna |2412| `prompt` | `str` | Prompt yang dikirimkan pengguna |

2413 2413 


2424```2424```

2425 2425 

2426| Field | Tipe | Deskripsi |2426| Field | Tipe | Deskripsi |

2427| :----------------- | :---------------- | :--------------------- |2427| :- | :- | :- |

2428| `hook_event_name` | `Literal["Stop"]` | Selalu "Stop" |2428| `hook_event_name` | `Literal["Stop"]` | Selalu "Stop" |

2429| `stop_hook_active` | `bool` | Apakah stop hook aktif |2429| `stop_hook_active` | `bool` | Apakah stop hook aktif |

2430 2430 


2444```2444```

2445 2445 

2446| Field | Tipe | Deskripsi |2446| Field | Tipe | Deskripsi |

2447| :---------------------- | :------------------------ | :------------------------------- |2447| :- | :- | :- |

2448| `hook_event_name` | `Literal["SubagentStop"]` | Selalu "SubagentStop" |2448| `hook_event_name` | `Literal["SubagentStop"]` | Selalu "SubagentStop" |

2449| `stop_hook_active` | `bool` | Apakah stop hook aktif |2449| `stop_hook_active` | `bool` | Apakah stop hook aktif |

2450| `agent_id` | `str` | Pengenal unik untuk subagent |2450| `agent_id` | `str` | Pengenal unik untuk subagent |


2465```2465```

2466 2466 

2467| Field | Tipe | Deskripsi |2467| Field | Tipe | Deskripsi |

2468| :-------------------- | :-------------------------- | :------------------------------- |2468| :- | :- | :- |

2469| `hook_event_name` | `Literal["PreCompact"]` | Selalu "PreCompact" |2469| `hook_event_name` | `Literal["PreCompact"]` | Selalu "PreCompact" |

2470| `trigger` | `Literal["manual", "auto"]` | Apa yang memicu pemadatan |2470| `trigger` | `Literal["manual", "auto"]` | Apa yang memicu pemadatan |

2471| `custom_instructions` | `str \| None` | Instruksi kustom untuk pemadatan |2471| `custom_instructions` | `str \| None` | Instruksi kustom untuk pemadatan |


2485```2485```

2486 2486 

2487| Field | Tipe | Deskripsi |2487| Field | Tipe | Deskripsi |

2488| :------------------ | :------------------------ | :---------------------- |2488| :- | :- | :- |

2489| `hook_event_name` | `Literal["Notification"]` | Selalu "Notification" |2489| `hook_event_name` | `Literal["Notification"]` | Selalu "Notification" |

2490| `message` | `str` | Konten pesan notifikasi |2490| `message` | `str` | Konten pesan notifikasi |

2491| `title` | `str` (opsional) | Judul notifikasi |2491| `title` | `str` (opsional) | Judul notifikasi |


2505```2505```

2506 2506 

2507| Field | Tipe | Deskripsi |2507| Field | Tipe | Deskripsi |

2508| :---------------- | :------------------------- | :--------------------------- |2508| :- | :- | :- |

2509| `hook_event_name` | `Literal["SubagentStart"]` | Selalu "SubagentStart" |2509| `hook_event_name` | `Literal["SubagentStart"]` | Selalu "SubagentStart" |

2510| `agent_id` | `str` | Pengenal unik untuk subagent |2510| `agent_id` | `str` | Pengenal unik untuk subagent |

2511| `agent_type` | `str` | Tipe subagent |2511| `agent_type` | `str` | Tipe subagent |


2527```2527```

2528 2528 

2529| Field | Tipe | Deskripsi |2529| Field | Tipe | Deskripsi |

2530| :----------------------- | :----------------------------- | :----------------------------------------------------------- |2530| :- | :- | :- |

2531| `hook_event_name` | `Literal["PermissionRequest"]` | Selalu "PermissionRequest" |2531| `hook_event_name` | `Literal["PermissionRequest"]` | Selalu "PermissionRequest" |

2532| `tool_name` | `str` | Nama tool yang meminta izin |2532| `tool_name` | `str` | Nama tool yang meminta izin |

2533| `tool_input` | `dict[str, Any]` | Parameter input untuk tool |2533| `tool_input` | `dict[str, Any]` | Parameter input untuk tool |


3609```3609```

3610 3610 

3611| Property | Type | Default | Description |3611| Property | Type | Default | Description |

3612| :-------------------------- | :---------------------------------------------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3612| :- | :- | :- | :- |

3613| `enabled` | `bool` | `False` | Aktifkan mode sandbox untuk eksekusi perintah |3613| `enabled` | `bool` | `False` | Aktifkan mode sandbox untuk eksekusi perintah |

3614| `autoAllowBashIfSandboxed` | `bool` | `True` | Persetujuan otomatis untuk perintah bash ketika sandbox diaktifkan |3614| `autoAllowBashIfSandboxed` | `bool` | `True` | Persetujuan otomatis untuk perintah bash ketika sandbox diaktifkan |

3615| `excludedCommands` | `list[str]` | `[]` | Perintah yang melewati pembatasan sandbox, seperti `["docker *"]`. Perintah ini berjalan tanpa sandbox secara otomatis tanpa keterlibatan model; [`sandbox.excludedCommands`](/docs/id/settings-reference#sandbox-excludedcommands) mencakup kapan entri berlaku |3615| `excludedCommands` | `list[str]` | `[]` | Perintah yang melewati pembatasan sandbox, seperti `["docker *"]`. Perintah ini berjalan tanpa sandbox secara otomatis tanpa keterlibatan model; [`sandbox.excludedCommands`](/docs/id/settings-reference#sandbox-excludedcommands) mencakup kapan entri berlaku |


3681```3681```

3682 3682 

3683| Property | Type | Default | Description |3683| Property | Type | Default | Description |

3684| :------------------------ | :---------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3684| :- | :- | :- | :- |

3685| `allowedDomains` | `list[str]` | `[]` | Nama domain yang dapat diakses oleh proses yang di-sandbox |3685| `allowedDomains` | `list[str]` | `[]` | Nama domain yang dapat diakses oleh proses yang di-sandbox |

3686| `deniedDomains` | `list[str]` | `[]` | Nama domain yang tidak dapat diakses oleh proses yang di-sandbox. Mengambil prioritas atas `allowedDomains` |3686| `deniedDomains` | `list[str]` | `[]` | Nama domain yang tidak dapat diakses oleh proses yang di-sandbox. Mengambil prioritas atas `allowedDomains` |

3687| `allowManagedDomainsOnly` | `bool` | `False` | Hanya pengaturan terkelola: ketika diatur dalam pengaturan terkelola, abaikan `allowedDomains` dan aturan izin `WebFetch(domain:...)` dari sumber pengaturan non-terkelola. Tidak berpengaruh ketika diatur melalui opsi SDK |3687| `allowManagedDomainsOnly` | `bool` | `False` | Hanya pengaturan terkelola: ketika diatur dalam pengaturan terkelola, abaikan `allowedDomains` dan aturan izin `WebFetch(domain:...)` dari sumber pengaturan non-terkelola. Tidak berpengaruh ketika diatur melalui opsi SDK |


3709```3709```

3710 3710 

3711| Property | Type | Default | Description |3711| Property | Type | Default | Description |

3712| :-------- | :---------- | :------ | :-------------------------------------------- |3712| :- | :- | :- | :- |

3713| `file` | `list[str]` | `[]` | Pola jalur file untuk mengabaikan pelanggaran |3713| `file` | `list[str]` | `[]` | Pola jalur file untuk mengabaikan pelanggaran |

3714| `network` | `list[str]` | `[]` | Pola jaringan untuk mengabaikan pelanggaran |3714| `network` | `list[str]` | `[]` | Pola jaringan untuk mengabaikan pelanggaran |

3715 3715 

Details

367**Tools** mengontrol apa yang dapat dilakukan agen Anda:367**Tools** mengontrol apa yang dapat dilakukan agen Anda:

368 368 

369| Tools | Apa yang dapat dilakukan agen |369| Tools | Apa yang dapat dilakukan agen |

370| -------------------------------------- | ----------------------------- |370| - | - |

371| `Read`, `Glob`, `Grep` | Analisis hanya-baca |371| `Read`, `Glob`, `Grep` | Analisis hanya-baca |

372| `Read`, `Edit`, `Glob` | Analisis dan modifikasi kode |372| `Read`, `Edit`, `Glob` | Analisis dan modifikasi kode |

373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Otomasi penuh |373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Otomasi penuh |

Details

52Jika diperlukan, Anda dapat membatasi agen hanya ke kemampuan yang diperlukan untuk tugas spesifiknya:52Jika diperlukan, Anda dapat membatasi agen hanya ke kemampuan yang diperlukan untuk tugas spesifiknya:

53 53 

54| Sumber Daya | Opsi Pembatasan |54| Sumber Daya | Opsi Pembatasan |

55| ---------------- | ------------------------------------------------------------ |55| - | - |

56| Filesystem | Pasang hanya direktori yang diperlukan, lebih suka read-only |56| Filesystem | Pasang hanya direktori yang diperlukan, lebih suka read-only |

57| Jaringan | Batasi ke endpoint spesifik melalui proxy |57| Jaringan | Batasi ke endpoint spesifik melalui proxy |

58| Kredensial | Suntikkan melalui proxy daripada mengekspos secara langsung |58| Kredensial | Suntikkan melalui proxy daripada mengekspos secara langsung |


82</Info>82</Info>

83 83 

84| Teknologi | Kekuatan Isolasi | Overhead Kinerja | Kompleksitas |84| Teknologi | Kekuatan Isolasi | Overhead Kinerja | Kompleksitas |

85| ---------------------- | ------------------------------------- | ---------------- | ------------- |85| - | - | - | - |

86| Sandbox runtime | Baik (default aman) | Sangat rendah | Rendah |86| Sandbox runtime | Baik (default aman) | Sangat rendah | Rendah |

87| Kontainer (Docker) | Tergantung setup | Rendah | Sedang |87| Kontainer (Docker) | Tergantung setup | Rendah | Sedang |

88| gVisor | Sangat baik (dengan setup yang benar) | Sedang/Tinggi | Sedang |88| gVisor | Sangat baik (dengan setup yang benar) | Sedang/Tinggi | Sedang |


147Berikut adalah apa yang dilakukan setiap opsi:147Berikut adalah apa yang dilakukan setiap opsi:

148 148 

149| Opsi | Tujuan |149| Opsi | Tujuan |

150| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |150| - | - |

151| `--cap-drop ALL` | Menghapus kemampuan Linux seperti `NET_ADMIN` dan `SYS_ADMIN` yang dapat memungkinkan eskalasi privilege |151| `--cap-drop ALL` | Menghapus kemampuan Linux seperti `NET_ADMIN` dan `SYS_ADMIN` yang dapat memungkinkan eskalasi privilege |

152| `--security-opt no-new-privileges` | Mencegah proses mendapatkan privilege melalui binari setuid |152| `--security-opt no-new-privileges` | Mencegah proses mendapatkan privilege melalui binari setuid |

153| `--security-opt seccomp=...` | Membatasi syscall yang tersedia; default Docker memblokir \~44, profil kustom dapat memblokir lebih banyak |153| `--security-opt seccomp=...` | Membatasi syscall yang tersedia; default Docker memblokir \~44, profil kustom dapat memblokir lebih banyak |


169**Opsi pengerasan tambahan:**169**Opsi pengerasan tambahan:**

170 170 

171| Opsi | Tujuan |171| Opsi | Tujuan |

172| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |172| - | - |

173| `--userns-remap` | Memetakan root kontainer ke pengguna host yang tidak memiliki privilege; memerlukan konfigurasi daemon tetapi membatasi kerusakan dari escape kontainer |173| `--userns-remap` | Memetakan root kontainer ke pengguna host yang tidak memiliki privilege; memerlukan konfigurasi daemon tetapi membatasi kerusakan dari escape kontainer |

174| `--ipc private` | Mengisolasi komunikasi antar-proses untuk mencegah serangan lintas-kontainer |174| `--ipc private` | Mengisolasi komunikasi antar-proses untuk mencegah serangan lintas-kontainer |

175 175 


202**Pertimbangan kinerja:**202**Pertimbangan kinerja:**

203 203 

204| Beban Kerja | Overhead |204| Beban Kerja | Overhead |

205| --------------------- | ------------------------------------------------------- |205| - | - |

206| Komputasi terikat CPU | \~0% (tidak ada intersepsi syscall) |206| Komputasi terikat CPU | \~0% (tidak ada intersepsi syscall) |

207| Syscall sederhana | \~2× lebih lambat |207| Syscall sederhana | \~2× lebih lambat |

208| I/O file intensif | Hingga 10-200× lebih lambat untuk pola open/close berat |208| I/O file intensif | Hingga 10-200× lebih lambat untuk pola open/close berat |


345 Bahkan akses read-only ke direktori kode dapat mengekspos kredensial. File umum untuk dikecualikan atau disanitasi sebelum pemasangan:345 Bahkan akses read-only ke direktori kode dapat mengekspos kredensial. File umum untuk dikecualikan atau disanitasi sebelum pemasangan:

346 346 

347 | File | Risiko |347 | File | Risiko |

348 | ------------------------------------------------------- | --------------------------------------- |348 | - | - |

349 | `.env`, `.env.local` | Kunci API, kata sandi database, rahasia |349 | `.env`, `.env.local` | Kunci API, kata sandi database, rahasia |

350 | `~/.git-credentials` | Kata sandi/token Git dalam plaintext |350 | `~/.git-credentials` | Kata sandi/token Git dalam plaintext |

351 | `~/.aws/credentials` | Kunci akses AWS |351 | `~/.aws/credentials` | Kunci akses AWS |

Details

95Perlakukan `subpath` sebagai sufiks kunci yang tidak transparan; ini mengikuti tata letak on-disk, misalnya `subagents/agent-<id>`. Ketika `subpath` tidak ditentukan, kunci merujuk ke transkrip utama.95Perlakukan `subpath` sebagai sufiks kunci yang tidak transparan; ini mengikuti tata letak on-disk, misalnya `subagents/agent-<id>`. Ketika `subpath` tidak ditentukan, kunci merujuk ke transkrip utama.

96 96 

97| Metode | Diperlukan | Dipanggil ketika |97| Metode | Diperlukan | Dipanggil ketika |

98| :--------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |98| :- | :- | :- |

99| `append` | Ya | Setelah setiap batch entri transkrip ditulis secara lokal. Entri adalah objek yang aman JSON, satu per baris dalam JSONL lokal. |99| `append` | Ya | Setelah setiap batch entri transkrip ditulis secara lokal. Entri adalah objek yang aman JSON, satu per baris dalam JSONL lokal. |

100| `load` | Ya | Sebelum subprocess spawn ketika `resume` diatur atau `continue: true` menyelesaikan sesi toko terbaru, dan sekali per sesi ketika listing kembali dari `listSessionSummaries`. Kembalikan `null` jika sesi tidak dikenal. |100| `load` | Ya | Sebelum subprocess spawn ketika `resume` diatur atau `continue: true` menyelesaikan sesi toko terbaru, dan sekali per sesi ketika listing kembali dari `listSessionSummaries`. Kembalikan `null` jika sesi tidak dikenal. |

101| `listSessions` | Tidak | Oleh `listSessions({ sessionStore })` dan oleh `query()`/`startup()` dengan `continue: true`. Jika tidak ditentukan, `continue: true` melempar, dan `listSessions({ sessionStore })` melempar kecuali `listSessionSummaries` diimplementasikan. |101| `listSessions` | Tidak | Oleh `listSessions({ sessionStore })` dan oleh `query()`/`startup()` dengan `continue: true`. Jika tidak ditentukan, `continue: true` melempar, dan `listSessions({ sessionStore })` melempar kecuali `listSessionSummaries` diimplementasikan. |


206Kedua repositori SDK mencakup adaptor referensi yang dapat dijalankan di bawah [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) dalam TypeScript dan [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) dalam Python. Ada satu adaptor per jenis penyimpanan, dan masing-masing menunjukkan bagaimana `append` dan `load` memetakan ke jenis backend tersebut. Mereka tidak dipublikasikan sebagai paket; salin adaptor untuk jenis yang paling dekat dengan backend Anda ke dalam proyek Anda, instal klien backend Anda, dan sesuaikan.206Kedua repositori SDK mencakup adaptor referensi yang dapat dijalankan di bawah [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) dalam TypeScript dan [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) dalam Python. Ada satu adaptor per jenis penyimpanan, dan masing-masing menunjukkan bagaimana `append` dan `load` memetakan ke jenis backend tersebut. Mereka tidak dipublikasikan sebagai paket; salin adaptor untuk jenis yang paling dekat dengan backend Anda ke dalam proyek Anda, instal klien backend Anda, dan sesuaikan.

207 207 

208| Jenis penyimpanan | Model penyimpanan | Adaptor contoh |208| Jenis penyimpanan | Model penyimpanan | Adaptor contoh |

209| :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |209| :- | :- | :- |

210| Object store | Satu file bagian per `append()`; `load()` mencantumkan bagian-bagian, mengurutkannya, dan menggabungkannya. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |210| Object store | Satu file bagian per `append()`; `load()` mencantumkan bagian-bagian, mengurutkannya, dan menggabungkannya. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| Key-value store | Satu daftar per transkrip yang `append()` dorong ke dan `load()` baca dalam rentang, ditambah indeks sesi yang diurutkan. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |211| Key-value store | Satu daftar per transkrip yang `append()` dorong ke dan `load()` baca dalam rentang, ditambah indeks sesi yang diurutkan. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| Relational database atau document store | Satu baris atau dokumen per entri, disimpan sebagai JSON dan diurutkan berdasarkan kunci yang ditetapkan saat penyisipan. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |212| Relational database atau document store | Satu baris atau dokumen per entri, disimpan sebagai JSON dan diurutkan berdasarkan kunci yang ditetapkan saat penyisipan. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

Details

23Seberapa banyak penanganan sesi yang Anda butuhkan tergantung pada bentuk aplikasi Anda. Manajemen sesi menjadi penting ketika Anda mengirim beberapa prompt yang harus berbagi konteks. Dalam satu panggilan `query()`, agen sudah mengambil sebanyak putaran yang diperlukan, dan prompt izin serta `AskUserQuestion` [ditangani dalam loop](/docs/id/agent-sdk/user-input) (mereka tidak mengakhiri panggilan).23Seberapa banyak penanganan sesi yang Anda butuhkan tergantung pada bentuk aplikasi Anda. Manajemen sesi menjadi penting ketika Anda mengirim beberapa prompt yang harus berbagi konteks. Dalam satu panggilan `query()`, agen sudah mengambil sebanyak putaran yang diperlukan, dan prompt izin serta `AskUserQuestion` [ditangani dalam loop](/docs/id/agent-sdk/user-input) (mereka tidak mengakhiri panggilan).

24 24 

25| Apa yang Anda bangun | Apa yang digunakan |25| Apa yang Anda bangun | Apa yang digunakan |

26| :------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |26| :- | :- |

27| Tugas sekali jalan: prompt tunggal, tanpa lanjutan | Tidak ada yang ekstra. Satu panggilan `query()` menanganinya. |27| Tugas sekali jalan: prompt tunggal, tanpa lanjutan | Tidak ada yang ekstra. Satu panggilan `query()` menanganinya. |

28| Obrolan multi-putaran dalam satu proses | [`ClaudeSDKClient` (Python) atau `continue: true` (TypeScript)](#automatic-session-management). SDK melacak sesi untuk Anda tanpa penanganan ID. |28| Obrolan multi-putaran dalam satu proses | [`ClaudeSDKClient` (Python) atau `continue: true` (TypeScript)](#automatic-session-management). SDK melacak sesi untuk Anda tanpa penanganan ID. |

29| Lanjutkan dari mana Anda berhenti setelah restart proses | `continue_conversation=True` (Python) / `continue: true` (TypeScript). Melanjutkan sesi terbaru di direktori, tidak perlu ID. |29| Lanjutkan dari mana Anda berhenti setelah restart proses | `continue_conversation=True` (Python) / `continue: true` (TypeScript). Melanjutkan sesi terbaru di direktori, tidak perlu ID. |

Details

91Field `event` berisi raw streaming event dari [Claude API](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types). Tipe event umum meliputi:91Field `event` berisi raw streaming event dari [Claude API](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types). Tipe event umum meliputi:

92 92 

93| Event Type | Description |93| Event Type | Description |

94| :-------------------- | :------------------------------------------- |94| :- | :- |

95| `message_start` | Awal pesan baru |95| `message_start` | Awal pesan baru |

96| `content_block_start` | Awal blok konten baru (teks atau tool use) |96| `content_block_start` | Awal blok konten baru (teks atau tool use) |

97| `content_block_delta` | Pembaruan inkremental ke konten |97| `content_block_delta` | Pembaruan inkremental ke konten |

Details

395Ketika kesalahan terjadi, pesan hasil memiliki `subtype` yang menunjukkan apa yang salah:395Ketika kesalahan terjadi, pesan hasil memiliki `subtype` yang menunjukkan apa yang salah:

396 396 

397| Subtype | Arti |397| Subtype | Arti |

398| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |398| - | - |

399| `success` | Output dihasilkan dan divalidasi dengan berhasil |399| `success` | Output dihasilkan dan divalidasi dengan berhasil |

400| `error_max_structured_output_retries` | Tidak ada output yang valid yang bertahan setelah beberapa percobaan (kegagalan validasi, atau penarikan fallback model tanpa percobaan ulang yang berhasil) |400| `error_max_structured_output_retries` | Tidak ada output yang valid yang bertahan setelah beberapa percobaan (kegagalan validasi, atau penarikan fallback model tanpa percobaan ulang yang berhasil) |

401 401 

Details

153</h3>153</h3>

154 154 

155| Field | Type | Required | Description |155| Field | Type | Required | Description |

156| :---------------- | :---------------------------------------------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :- | :- | :- | :- |

157| `description` | `string` | Ya | Deskripsi bahasa alami tentang kapan menggunakan agen ini |157| `description` | `string` | Ya | Deskripsi bahasa alami tentang kapan menggunakan agen ini |

158| `prompt` | `string` | Ya | Prompt sistem agen yang mendefinisikan peran dan perilakunya |158| `prompt` | `string` | Ya | Prompt sistem agen yang mendefinisikan peran dan perilakunya |

159| `tools` | `string[]` | Tidak | Array nama tool yang diizinkan. Jika dihilangkan, mewarisi setiap [tool yang tersedia untuk subagen](/docs/id/sub-agents#available-tools) |159| `tools` | `string[]` | Tidak | Array nama tool yang diizinkan. Jika dihilangkan, mewarisi setiap [tool yang tersedia untuk subagen](/docs/id/sub-agents#available-tools) |


198Tabel di bawah mencantumkan apa yang diterima konteks subagent non-fork dan apa yang ditinggalkannya.198Tabel di bawah mencantumkan apa yang diterima konteks subagent non-fork dan apa yang ditinggalkannya.

199 199 

200| Subagent menerima | Subagent tidak menerima |200| Subagent menerima | Subagent tidak menerima |

201| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------ |201| :- | :- |

202| Prompt sistem miliknya sendiri (`AgentDefinition.prompt`) dan prompt alat Agent | Riwayat percakapan induk atau hasil alat |202| Prompt sistem miliknya sendiri (`AgentDefinition.prompt`) dan prompt alat Agent | Riwayat percakapan induk atau hasil alat |

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

204| Definisi alat (diwariskan dari induk atau subset dalam `tools`, [disaring untuk background runs](/docs/id/sub-agents#available-tools)) | Prompt sistem induk |204| Definisi alat (diwariskan dari induk atau subset dalam `tools`, [disaring untuk background runs](/docs/id/sub-agents#available-tools)) | Prompt sistem induk |


626</h3>626</h3>

627 627 

628| Kasus penggunaan | Alat | Deskripsi |628| Kasus penggunaan | Alat | Deskripsi |

629| :----------------- | :-------------------------------------- | :---------------------------------------------------------------- |629| :- | :- | :- |

630| Analisis baca-saja | `Read`, `Grep`, `Glob` | Dapat memeriksa kode tetapi tidak memodifikasi atau menjalankan |630| Analisis baca-saja | `Read`, `Grep`, `Glob` | Dapat memeriksa kode tetapi tidak memodifikasi atau menjalankan |

631| Eksekusi pengujian | `Bash`, `Read`, `Grep` | Dapat menjalankan perintah dan menganalisis output |631| Eksekusi pengujian | `Bash`, `Read`, `Grep` | Dapat menjalankan perintah dan menganalisis output |

632| Modifikasi kode | `Read`, `Edit`, `Write`, `Grep`, `Glob` | Akses baca/tulis penuh tanpa eksekusi perintah |632| Modifikasi kode | `Read`, `Edit`, `Write`, `Grep`, `Glob` | Akses baca/tulis penuh tanpa eksekusi perintah |


645Anda dapat membatasi pertumbuhan itu dengan tiga cara: seberapa dalam subagen bersarang, berapa banyak yang berjalan sekaligus, dan berapa banyak seluruh kueri menghabiskan. Atur batas kedalaman dan konkurensi sebagai variabel lingkungan melalui opsi [`env`](/docs/id/agent-sdk/typescript#options), dan batas pengeluaran sebagai opsi kueri:645Anda dapat membatasi pertumbuhan itu dengan tiga cara: seberapa dalam subagen bersarang, berapa banyak yang berjalan sekaligus, dan berapa banyak seluruh kueri menghabiskan. Atur batas kedalaman dan konkurensi sebagai variabel lingkungan melalui opsi [`env`](/docs/id/agent-sdk/typescript#options), dan batas pengeluaran sebagai opsi kueri:

646 646 

647| Batas | Atur dengan | Default | Apa yang Claude Code lakukan pada batas |647| Batas | Atur dengan | Default | Apa yang Claude Code lakukan pada batas |

648| :---------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| :- | :- | :- | :- |

649| Kedalaman | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/id/env-vars) | `3` lapisan subagen di bawah agen utama Anda. `1` menghentikan subagen Anda dari menspawn milik mereka sendiri | Meninggalkan subagen di lapisan bawah tidak dapat menspawn, jadi ia melakukan pekerjaan yang didelegasikan sendiri. Lihat [subagen bersarang](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) |649| Kedalaman | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/id/env-vars) | `3` lapisan subagen di bawah agen utama Anda. `1` menghentikan subagen Anda dari menspawn milik mereka sendiri | Meninggalkan subagen di lapisan bawah tidak dapat menspawn, jadi ia melakukan pekerjaan yang didelegasikan sendiri. Lihat [subagen bersarang](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) |

650| Konkurensi | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/id/env-vars) | `20` subagen berjalan sekaligus, menghitung setiap subagen yang Claude spawnkan dengan alat Agent | Menolak untuk menspawn subagen lain, mengembalikan `Concurrent subagent limit reached`, sampai jumlah yang berjalan turun di bawah batas. Sesi dengan [ultracode](/docs/id/model-config#adjust-effort-level) aktif tidak pernah ditolak. Lihat [batas subagen bersamaan](/docs/id/sub-agents#concurrent-subagent-limit) |650| Konkurensi | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/id/env-vars) | `20` subagen berjalan sekaligus, menghitung setiap subagen yang Claude spawnkan dengan alat Agent | Menolak untuk menspawn subagen lain, mengembalikan `Concurrent subagent limit reached`, sampai jumlah yang berjalan turun di bawah batas. Sesi dengan [ultracode](/docs/id/model-config#adjust-effort-level) aktif tidak pernah ditolak. Lihat [batas subagen bersamaan](/docs/id/sub-agents#concurrent-subagent-limit) |

651| Pengeluaran | `maxBudgetUsd` di TypeScript, `max_budget_usd` di Python | Tidak ada batas. Menghitung pengeluaran panggilan sendiri, permintaan subagen disertakan | Menegakkan batas dengan tiga cara: menolak untuk menspawn lebih banyak subagen, mengembalikan `Budget limit reached`, menghentikan subagen latar belakang yang masih berjalan, dan mengakhiri kueri dengan subtipe hasil `error_max_budget_usd`. Untuk cara batas berperilaku di seluruh sesi, lihat [giliran dan anggaran](/docs/id/agent-sdk/agent-loop#turns-and-budget) |651| Pengeluaran | `maxBudgetUsd` di TypeScript, `max_budget_usd` di Python | Tidak ada batas. Menghitung pengeluaran panggilan sendiri, permintaan subagen disertakan | Menegakkan batas dengan tiga cara: menolak untuk menspawn lebih banyak subagen, mengembalikan `Budget limit reached`, menghentikan subagen latar belakang yang masih berjalan, dan mengakhiri kueri dengan subtipe hasil `error_max_budget_usd`. Untuk cara batas berperilaku di seluruh sesi, lihat [giliran dan anggaran](/docs/id/agent-sdk/agent-loop#turns-and-budget) |

Details

11Gejala yang terikat pada fitur, seperti hook tidak aktif atau skill tidak digunakan, memiliki bagian troubleshooting di halaman fitur tersebut. Tabel menyebutkan bagian atau halaman yang mencakup setiap gejala:11Gejala yang terikat pada fitur, seperti hook tidak aktif atau skill tidak digunakan, memiliki bagian troubleshooting di halaman fitur tersebut. Tabel menyebutkan bagian atau halaman yang mencakup setiap gejala:

12 12 

13| Gejala | Buka |13| Gejala | Buka |

14| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |14| :- | :- |

15| Skills tidak ditemukan, skill tidak digunakan, kesalahan `Invalid skill name` | [Skills troubleshooting](/docs/id/agent-sdk/skills#troubleshooting) |15| Skills tidak ditemukan, skill tidak digunakan, kesalahan `Invalid skill name` | [Skills troubleshooting](/docs/id/agent-sdk/skills#troubleshooting) |

16| Server MCP menunjukkan status `failed`, tools tidak dipanggil, connection timeouts, tool output yang melebihi token maksimal yang diizinkan | [MCP troubleshooting](/docs/id/agent-sdk/mcp#troubleshooting) |16| Server MCP menunjukkan status `failed`, tools tidak dipanggil, connection timeouts, tool output yang melebihi token maksimal yang diizinkan | [MCP troubleshooting](/docs/id/agent-sdk/mcp#troubleshooting) |

17| Plugin tidak memuat, plugin skills tidak muncul | [Plugins troubleshooting](/docs/id/agent-sdk/plugins#troubleshooting) |17| Plugin tidak memuat, plugin skills tidak muncul | [Plugins troubleshooting](/docs/id/agent-sdk/plugins#troubleshooting) |


81SDK menemukan file di jalur yang diselesaikan tetapi tidak dapat meluncurkannya. Python menaikkan kegagalan ini sebagai `CLIConnectionError`. TypeScript menolak iterasi pesan dengan kesalahan yang tidak membawa kelas SDK. Tabel di bawah memetakan setiap pesan ke apa yang diberitahukannya. Cocokkan pesan yang Anda lihat:81SDK menemukan file di jalur yang diselesaikan tetapi tidak dapat meluncurkannya. Python menaikkan kegagalan ini sebagai `CLIConnectionError`. TypeScript menolak iterasi pesan dengan kesalahan yang tidak membawa kelas SDK. Tabel di bawah memetakan setiap pesan ke apa yang diberitahukannya. Cocokkan pesan yang Anda lihat:

82 82 

83| Pesan | SDK | Apa yang diberitahukannya |83| Pesan | SDK | Apa yang diberitahukannya |

84| ----------------------------------------------------------------- | ---------- | --------------------------------------------------------------------- |84| - | - | - |

85| `Failed to start Claude Code: <detail>` | Python | Sisa pesan adalah kesalahan sistem operasi itu sendiri |85| `Failed to start Claude Code: <detail>` | Python | Sisa pesan adalah kesalahan sistem operasi itu sendiri |

86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | Skrip di jalur yang dikonfigurasi tidak dapat dijalankan |86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | Skrip di jalur yang dikonfigurasi tidak dapat dijalankan |

87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | Binary tidak dapat dijalankan, dengan saran libc ditambahkan ke pesan |87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | Binary tidak dapat dijalankan, dengan saran libc ditambahkan ke pesan |

Details

79</h4>79</h4>

80 80 

81| Parameter | Tipe | Deskripsi |81| Parameter | Tipe | Deskripsi |

82| :-------- | :--------------------------------------------------------------- | :------------------------------------------------------------------- |82| :- | :- | :- |

83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | Prompt input sebagai string atau async iterable untuk mode streaming |83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | Prompt input sebagai string atau async iterable untuk mode streaming |

84| `options` | [`Options`](#options) | Objek konfigurasi opsional (lihat tipe Options di bawah) |84| `options` | [`Options`](#options) | Objek konfigurasi opsional (lihat tipe Options di bawah) |

85 85 


107</h4>107</h4>

108 108 

109| Parameter | Tipe | Deskripsi |109| Parameter | Tipe | Deskripsi |

110| :-------------------- | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- | :- |

111| `options` | [`Options`](#options) | Objek konfigurasi opsional. Sama dengan parameter `options` ke `query()` |111| `options` | [`Options`](#options) | Objek konfigurasi opsional. Sama dengan parameter `options` ke `query()` |

112| `initializeTimeoutMs` | `number` | Waktu maksimum dalam milidetik untuk menunggu inisialisasi subprocess. Default ke `60000`. Jika inisialisasi tidak selesai tepat waktu, promise ditolak dengan error timeout |112| `initializeTimeoutMs` | `number` | Waktu maksimum dalam milidetik untuk menunggu inisialisasi subprocess. Default ke `60000`. Jika inisialisasi tidak selesai tepat waktu, promise ditolak dengan error timeout |

113 113 


156</h4>156</h4>

157 157 

158| Parameter | Tipe | Deskripsi |158| Parameter | Tipe | Deskripsi |

159| :------------ | :----------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |159| :- | :- | :- |

160| `name` | `string` | Nama tool |160| `name` | `string` | Nama tool |

161| `description` | `string` | Deskripsi tentang apa yang dilakukan tool |161| `description` | `string` | Deskripsi tentang apa yang dilakukan tool |

162| `inputSchema` | `Schema extends AnyZodRawShape` | Skema Zod yang mendefinisikan parameter input tool (mendukung Zod 3 dan Zod 4) |162| `inputSchema` | `Schema extends AnyZodRawShape` | Skema Zod yang mendefinisikan parameter input tool (mendukung Zod 3 dan Zod 4) |


170Dieksport ulang dari `@modelcontextprotocol/sdk/types.js`. Semua field adalah petunjuk opsional; klien tidak boleh mengandalkannya untuk keputusan keamanan.170Dieksport ulang dari `@modelcontextprotocol/sdk/types.js`. Semua field adalah petunjuk opsional; klien tidak boleh mengandalkannya untuk keputusan keamanan.

171 171 

172| Field | Tipe | Default | Deskripsi |172| Field | Tipe | Default | Deskripsi |

173| :---------------- | :-------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------- |173| :- | :- | :- | :- |

174| `title` | `string` | `undefined` | Judul yang dapat dibaca manusia untuk tool |174| `title` | `string` | `undefined` | Judul yang dapat dibaca manusia untuk tool |

175| `readOnlyHint` | `boolean` | `false` | Jika `true`, tool tidak memodifikasi lingkungannya |175| `readOnlyHint` | `boolean` | `false` | Jika `true`, tool tidak memodifikasi lingkungannya |

176| `destructiveHint` | `boolean` | `true` | Jika `true`, tool dapat melakukan pembaruan destruktif (hanya bermakna ketika `readOnlyHint` adalah `false`) |176| `destructiveHint` | `boolean` | `true` | Jika `true`, tool dapat melakukan pembaruan destruktif (hanya bermakna ketika `readOnlyHint` adalah `false`) |


214</h4>214</h4>

215 215 

216| Parameter | Tipe | Deskripsi |216| Parameter | Tipe | Deskripsi |

217| :--------------------- | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |217| :- | :- | :- |

218| `options.name` | `string` | Nama server MCP |218| `options.name` | `string` | Nama server MCP |

219| `options.version` | `string` | String versi opsional |219| `options.version` | `string` | String versi opsional |

220| `options.instructions` | `string` | Instruksi server opsional, dikembalikan dari `initialize` dan ditampilkan ke model sebagai blok instruksi MCP |220| `options.instructions` | `string` | Instruksi server opsional, dikembalikan dari `initialize` dan ditampilkan ke model sebagai blok instruksi MCP |


237</h4>237</h4>

238 238 

239| Parameter | Tipe | Default | Deskripsi |239| Parameter | Tipe | Default | Deskripsi |

240| :------------------------- | :-------- | :---------- | :------------------------------------------------------------------------------------------ |240| :- | :- | :- | :- |

241| `options.dir` | `string` | `undefined` | Direktori untuk membuat daftar sesi. Ketika dihilangkan, mengembalikan sesi di semua proyek |241| `options.dir` | `string` | `undefined` | Direktori untuk membuat daftar sesi. Ketika dihilangkan, mengembalikan sesi di semua proyek |

242| `options.limit` | `number` | `undefined` | Jumlah maksimum sesi yang akan dikembalikan |242| `options.limit` | `number` | `undefined` | Jumlah maksimum sesi yang akan dikembalikan |

243| `options.includeWorktrees` | `boolean` | `true` | Ketika `dir` berada di dalam repositori git, sertakan sesi dari semua jalur worktree |243| `options.includeWorktrees` | `boolean` | `true` | Ketika `dir` berada di dalam repositori git, sertakan sesi dari semua jalur worktree |


247</h4>247</h4>

248 248 

249| Properti | Tipe | Deskripsi |249| Properti | Tipe | Deskripsi |

250| :------------- | :-------------------- | :------------------------------------------------------------------------------------ |250| :- | :- | :- |

251| `sessionId` | `string` | Pengenal sesi unik (UUID) |251| `sessionId` | `string` | Pengenal sesi unik (UUID) |

252| `summary` | `string` | Judul tampilan: judul kustom, ringkasan yang dihasilkan otomatis, atau prompt pertama |252| `summary` | `string` | Judul tampilan: judul kustom, ringkasan yang dihasilkan otomatis, atau prompt pertama |

253| `lastModified` | `number` | Waktu modifikasi terakhir dalam milidetik sejak epoch |253| `lastModified` | `number` | Waktu modifikasi terakhir dalam milidetik sejak epoch |


293</h4>293</h4>

294 294 

295| Parameter | Tipe | Default | Deskripsi |295| Parameter | Tipe | Default | Deskripsi |

296| :--------------- | :------- | :---------- | :--------------------------------------------------------------------------------- |296| :- | :- | :- | :- |

297| `sessionId` | `string` | required | UUID sesi untuk dibaca (lihat `listSessions()`) |297| `sessionId` | `string` | required | UUID sesi untuk dibaca (lihat `listSessions()`) |

298| `options.dir` | `string` | `undefined` | Direktori proyek untuk menemukan sesi. Ketika dihilangkan, mencari di semua proyek |298| `options.dir` | `string` | `undefined` | Direktori proyek untuk menemukan sesi. Ketika dihilangkan, mencari di semua proyek |

299| `options.limit` | `number` | `undefined` | Jumlah maksimum pesan yang akan dikembalikan |299| `options.limit` | `number` | `undefined` | Jumlah maksimum pesan yang akan dikembalikan |


304</h4>304</h4>

305 305 

306| Properti | Tipe | Deskripsi |306| Properti | Tipe | Deskripsi |

307| :------------------- | :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

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

309| `uuid` | `string` | Pengenal pesan unik |309| `uuid` | `string` | Pengenal pesan unik |

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


351</h4>351</h4>

352 352 

353| Parameter | Tipe | Default | Deskripsi |353| Parameter | Tipe | Default | Deskripsi |

354| :------------ | :------- | :---------- | :---------------------------------------------------------------------------- |354| :- | :- | :- | :- |

355| `sessionId` | `string` | required | UUID sesi yang akan dicari |355| `sessionId` | `string` | required | UUID sesi yang akan dicari |

356| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |356| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |

357 357 


376</h4>376</h4>

377 377 

378| Parameter | Tipe | Default | Deskripsi |378| Parameter | Tipe | Default | Deskripsi |

379| :------------ | :------- | :---------- | :---------------------------------------------------------------------------- |379| :- | :- | :- | :- |

380| `sessionId` | `string` | required | UUID sesi yang akan diganti nama |380| `sessionId` | `string` | required | UUID sesi yang akan diganti nama |

381| `title` | `string` | required | Judul baru. Harus tidak kosong setelah memangkas spasi putih |381| `title` | `string` | required | Judul baru. Harus tidak kosong setelah memangkas spasi putih |

382| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |382| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |


400</h4>400</h4>

401 401 

402| Parameter | Tipe | Default | Deskripsi |402| Parameter | Tipe | Default | Deskripsi |

403| :------------ | :--------------- | :---------- | :---------------------------------------------------------------------------- |403| :- | :- | :- | :- |

404| `sessionId` | `string` | required | UUID sesi yang akan ditandai |404| `sessionId` | `string` | required | UUID sesi yang akan ditandai |

405| `tag` | `string \| null` | required | String tag, atau `null` untuk menghapus |405| `tag` | `string \| null` | required | String tag, atau `null` untuk menghapus |

406| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |406| `options.dir` | `string` | `undefined` | Jalur direktori proyek. Ketika dihilangkan, mencari di semua direktori proyek |


434`resolveSettings()` menerima objek opsi tunggal. Semua field bersifat opsional.434`resolveSettings()` menerima objek opsi tunggal. Semua field bersifat opsional.

435 435 

436| Parameter | Tipe | Default | Deskripsi |436| Parameter | Tipe | Default | Deskripsi |

437| :------------------------------ | :------------------------------------ | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |437| :- | :- | :- | :- |

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

439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Semua sumber | Sumber filesystem mana yang akan dimuat. Lewatkan `[]` untuk melewati pengaturan pengguna, proyek, dan lokal. [Kebijakan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms) dimuat dalam semua kasus. `resolveSettings()` menyertakan pengaturan yang dikelola server hanya ketika Anda melewatkan `options.serverManagedSettings` |439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Semua sumber | Sumber filesystem mana yang akan dimuat. Lewatkan `[]` untuk melewati pengaturan pengguna, proyek, dan lokal. [Kebijakan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms) dimuat dalam semua kasus. `resolveSettings()` menyertakan pengaturan yang dikelola server hanya ketika Anda melewatkan `options.serverManagedSettings` |

440| `options.managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan oleh host penyematan. Mengikuti aturan yang sama dengan [`managedSettings` dalam `Options`](#options), kecuali bahwa `resolveSettings()` tidak mengeksekusi [`policyHelper`](/docs/id/settings-reference#policyhelper) yang dikonfigurasi, sehingga snapshot dapat mencakup pengaturan yang dijatuhkan sesi live |440| `options.managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan oleh host penyematan. Mengikuti aturan yang sama dengan [`managedSettings` dalam `Options`](#options), kecuali bahwa `resolveSettings()` tidak mengeksekusi [`policyHelper`](/docs/id/settings-reference#policyhelper) yang dikonfigurasi, sehingga snapshot dapat mencakup pengaturan yang dijatuhkan sesi live |


447`resolveSettings()` mengembalikan objek yang menjelaskan pengaturan yang digabungkan dan sumber yang berkontribusi pada setiap kunci.447`resolveSettings()` mengembalikan objek yang menjelaskan pengaturan yang digabungkan dan sumber yang berkontribusi pada setiap kunci.

448 448 

449| Properti | Tipe | Deskripsi |449| Properti | Tipe | Deskripsi |

450| :----------- | :-------------------------------------------------- | :------------------------------------------------------------------------------------------------ |450| :- | :- | :- |

451| `effective` | `Settings` | Pengaturan yang digabungkan setelah menerapkan semua sumber yang diaktifkan dalam urutan preseden |451| `effective` | `Settings` | Pengaturan yang digabungkan setelah menerapkan semua sumber yang diaktifkan dalam urutan preseden |

452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Untuk setiap kunci tingkat atas dalam `effective`, sumber mana yang memasok nilai |452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Untuk setiap kunci tingkat atas dalam `effective`, sumber mana yang memasok nilai |

453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Pengaturan mentah per-sumber, diurutkan dari preseden terendah hingga tertinggi |453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Pengaturan mentah per-sumber, diurutkan dari preseden terendah hingga tertinggi |


481Objek konfigurasi untuk fungsi `query()`.481Objek konfigurasi untuk fungsi `query()`.

482 482 

483| Properti | Jenis | Default | Deskripsi |483| Properti | Jenis | Default | Deskripsi |

484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |484| :- | :- | :- | :- |

485| `abortController` | `AbortController` | `new AbortController()` | Pengontrol untuk membatalkan operasi |485| `abortController` | `AbortController` | `new AbortController()` | Pengontrol untuk membatalkan operasi |

486| `additionalDirectories` | `string[]` | `[]` | Direktori tambahan yang dapat diakses Claude. SDK meneruskan setiap entri ke Claude Code sebagai `--add-dir`, jadi dengan pengaturan `project` sumber Claude Code juga [memuat skills, commands, dan subagents direktori](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) |486| `additionalDirectories` | `string[]` | `[]` | Direktori tambahan yang dapat diakses Claude. SDK meneruskan setiap entri ke Claude Code sebagai `--add-dir`, jadi dengan pengaturan `project` sumber Claude Code juga [memuat skills, commands, dan subagents direktori](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) |

487| `agent` | `string` | `undefined` | Nama agent untuk thread utama. Agent harus didefinisikan dalam opsi `agents` atau dalam pengaturan |487| `agent` | `string` | `undefined` | Nama agent untuk thread utama. Agent harus didefinisikan dalam opsi `agents` atau dalam pengaturan |


634</h4>634</h4>

635 635 

636| Metode | Deskripsi |636| Metode | Deskripsi |

637| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |637| :- | :- |

638| `interrupt()` | Mengganggu query. Hanya tersedia dalam streaming input mode. Ketika CLI mengiklankan kemampuan `interrupt_receipt_v1` dalam [`SDKSystemMessage.capabilities`](#sdksystemmessage), resolves dengan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang pending ketika interrupt tiba. Resolves `undefined` pada CLIs sebelum v2.1.205 |638| `interrupt()` | Mengganggu query. Hanya tersedia dalam streaming input mode. Ketika CLI mengiklankan kemampuan `interrupt_receipt_v1` dalam [`SDKSystemMessage.capabilities`](#sdksystemmessage), resolves dengan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang pending ketika interrupt tiba. Resolves `undefined` pada CLIs sebelum v2.1.205 |

639| `rewindFiles(userMessageId, options?)` | Mengembalikan files ke state mereka pada user message yang ditentukan. Teruskan `{ dryRun: true }` untuk preview changes. Memerlukan `enableFileCheckpointing: true`. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |639| `rewindFiles(userMessageId, options?)` | Mengembalikan files ke state mereka pada user message yang ditentukan. Teruskan `{ dryRun: true }` untuk preview changes. Memerlukan `enableFileCheckpointing: true`. Lihat [File checkpointing](/docs/id/agent-sdk/file-checkpointing) |

640| `setPermissionMode()` | Mengubah permission mode (hanya tersedia dalam streaming input mode) |640| `setPermissionMode()` | Mengubah permission mode (hanya tersedia dalam streaming input mode) |


735</h4>735</h4>

736 736 

737| Metode | Deskripsi |737| Metode | Deskripsi |

738| :-------------- | :-------------------------------------------------------------------------------------------------------------------------- |738| :- | :- |

739| `query(prompt)` | Kirim prompt ke pre-warmed subprocess dan kembalikan [`Query`](#query-object). Dapat hanya dipanggil sekali per `WarmQuery` |739| `query(prompt)` | Kirim prompt ke pre-warmed subprocess dan kembalikan [`Query`](#query-object). Dapat hanya dipanggil sekali per `WarmQuery` |

740| `close()` | Close subprocess tanpa mengirim prompt. Gunakan ini untuk discard warm query yang tidak lagi diperlukan |740| `close()` | Close subprocess tanpa mengirim prompt. Gunakan ini untuk discard warm query yang tidak lagi diperlukan |

741 741 


1013```1013```

1014 1014 

1015| Field | Diperlukan | Deskripsi |1015| Field | Diperlukan | Deskripsi |

1016| :------------------------------------ | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1016| :- | :- | :- |

1017| `description` | Ya | Natural language description tentang kapan menggunakan agent ini |1017| `description` | Ya | Natural language description tentang kapan menggunakan agent ini |

1018| `tools` | Tidak | Array dari allowed tool names. Jika dihilangkan, inherit setiap [tool available to subagents](/docs/id/sub-agents#available-tools). Untuk preload Skills ke dalam agent's context, gunakan field `skills` daripada listing `'Skill'` di sini |1018| `tools` | Tidak | Array dari allowed tool names. Jika dihilangkan, inherit setiap [tool available to subagents](/docs/id/sub-agents#available-tools). Untuk preload Skills ke dalam agent's context, gunakan field `skills` daripada listing `'Skill'` di sini |

1019| `disallowedTools` | Tidak | Array dari tool names untuk secara eksplisit disallow untuk agent ini. MCP server-level patterns juga diterima: `mcp__server` atau `mcp__server__*` menghapus setiap tool dari server itu, dan `mcp__*` menghapus setiap MCP tool dari server apa pun |1019| `disallowedTools` | Tidak | Array dari tool names untuk secara eksplisit disallow untuk agent ini. MCP server-level patterns juga diterima: `mcp__server` atau `mcp__server__*` menghapus setiap tool dari server itu, dan `mcp__*` menghapus setiap MCP tool dari server apa pun |


1053```1053```

1054 1054 

1055| Nilai | Deskripsi | Lokasi |1055| Nilai | Deskripsi | Lokasi |

1056| :---------- | :---------------------------------------------------------------------------------- | :---------------------------- |1056| :- | :- | :- |

1057| `'user'` | Global user settings | `~/.claude/settings.json` |1057| `'user'` | Global user settings | `~/.claude/settings.json` |

1058| `'project'` | Shared project settings (version controlled) | `.claude/settings.json` |1058| `'project'` | Shared project settings (version controlled) | `.claude/settings.json` |

1059| `'local'` | Local project settings, gitignored ketika Claude Code menyimpan setting ke dalamnya | `.claude/settings.local.json` |1059| `'local'` | Local project settings, gitignored ketika Claude Code menyimpan setting ke dalamnya | `.claude/settings.local.json` |


1150```1150```

1151 1151 

1152| Opsi | Jenis | Deskripsi |1152| Opsi | Jenis | Deskripsi |

1153| :--------------- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1153| :- | :- | :- |

1154| `signal` | `AbortSignal` | Signaled jika operasi harus dibatalkan |1154| `signal` | `AbortSignal` | Signaled jika operasi harus dibatalkan |

1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Suggested permission updates sehingga user tidak diprompt lagi untuk tool ini. Bash prompts include suggestion dengan `localSettings` [destination](#permissionupdatedestination), jadi returning-nya dalam `updatedPermissions` menulis rule ke `.claude/settings.local.json` dan persists across sessions. |1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Suggested permission updates sehingga user tidak diprompt lagi untuk tool ini. Bash prompts include suggestion dengan `localSettings` [destination](#permissionupdatedestination), jadi returning-nya dalam `updatedPermissions` menulis rule ke `.claude/settings.local.json` dan persists across sessions. |

1156| `blockedPath` | `string` | File path yang triggered permission request, jika applicable |1156| `blockedPath` | `string` | File path yang triggered permission request, jika applicable |


1201```1201```

1202 1202 

1203| Field | Jenis | Deskripsi |1203| Field | Jenis | Deskripsi |

1204| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1204| :- | :- | :- |

1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opts ke dalam bidang `preview` pada [`AskUserQuestion`](/docs/id/agent-sdk/user-input#question-format) options dan menetapkan content format-nya. Ketika unset, Claude tidak emit previews |1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opts ke dalam bidang `preview` pada [`AskUserQuestion`](/docs/id/agent-sdk/user-input#question-format) options dan menetapkan content format-nya. Ketika unset, Claude tidak emit previews |

1206 1206 

1207<h3 id="mcpserverconfig">1207<h3 id="mcpserverconfig">


1295```1295```

1296 1296 

1297| Field | Jenis | Deskripsi |1297| Field | Jenis | Deskripsi |

1298| :----------------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1298| :- | :- | :- |

1299| `type` | `'local'` | Harus `'local'` (hanya local plugins yang saat ini didukung) |1299| `type` | `'local'` | Harus `'local'` (hanya local plugins yang saat ini didukung) |

1300| `path` | `string` | Absolute atau relative path ke plugin directory |1300| `path` | `string` | Absolute atau relative path ke plugin directory |

1301| `skipMcpDiscovery` | `boolean` | Ketika `true`, SDK memuat skills, hooks, agents, dan commands dari plugin ini tetapi tidak membaca `.mcp.json` atau manifest `mcpServers`-nya. Atur ini ketika aplikasi Anda memiliki plugin's MCP connections. |1301| `skipMcpDiscovery` | `boolean` | Ketika `true`, SDK memuat skills, hooks, agents, dan commands dari plugin ini tetapi tidak membaca `.mcp.json` atau manifest `mcpServers`-nya. Atur ini ketika aplikasi Anda memiliki plugin's MCP connections. |


1552Gunakan kode alasan untuk menjelaskan mengapa fast mode mati di UI Anda sendiri daripada menurunkan ketersediaan. Setiap kode menamai pemeriksaan yang memblokir fast mode:1552Gunakan kode alasan untuk menjelaskan mengapa fast mode mati di UI Anda sendiri daripada menurunkan ketersediaan. Setiap kode menamai pemeriksaan yang memblokir fast mode:

1553 1553 

1554| Kode Alasan | Arti |1554| Kode Alasan | Arti |

1555| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |1555| - | - |

1556| `free` | Akun tidak memiliki langganan berbayar atau kredit penggunaan yang diperlukan fast mode |1556| `free` | Akun tidak memiliki langganan berbayar atau kredit penggunaan yang diperlukan fast mode |

1557| `preference` | Organisasi telah menonaktifkan fast mode |1557| `preference` | Organisasi telah menonaktifkan fast mode |

1558| `extra_usage_disabled` | Kredit penggunaan dimatikan untuk akun |1558| `extra_usage_disabled` | Kredit penggunaan dimatikan untuk akun |


1656Setiap nilai menamai satu penolakan:1656Setiap nilai menamai satu penolakan:

1657 1657 

1658| Nilai | Apa yang menghentikan sesi |1658| Nilai | Apa yang menghentikan sesi |

1659| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1659| :- | :- |

1660| `org_pin_api_key_conflict` | Pengaturan terkelola [memerlukan masuk gateway first-party atau Cloud](/docs/id/authentication#restrict-login-to-your-organization), dan kunci API Anthropic, token auth, atau `apiKeyHelper` dikonfigurasi sebagai gantinya |1660| `org_pin_api_key_conflict` | Pengaturan terkelola [memerlukan masuk gateway first-party atau Cloud](/docs/id/authentication#restrict-login-to-your-organization), dan kunci API Anthropic, token auth, atau `apiKeyHelper` dikonfigurasi sebagai gantinya |

1661| `org_verify_failed` | Organisasi masuk tidak dapat diverifikasi terhadap pin, misalnya karena kegagalan jaringan atau token yang dicabut |1661| `org_verify_failed` | Organisasi masuk tidak dapat diverifikasi terhadap pin, misalnya karena kegagalan jaringan atau token yang dicabut |

1662| `org_pin_mismatch` | Masuk milik organisasi yang pin tidak izinkan |1662| `org_pin_mismatch` | Masuk milik organisasi yang pin tidak izinkan |


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

1727 1727 

1728| Kemampuan | Arti |1728| Kemampuan | Arti |

1729| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1729| - | - |

1730| `interrupt_receipt_v1` | [`interrupt()`](#query-object) menyelesaikan dengan penerimaan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang tertunda ketika gangguan tiba |1730| `interrupt_receipt_v1` | [`interrupt()`](#query-object) menyelesaikan dengan penerimaan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang mencantumkan pesan yang tertunda ketika gangguan tiba |

1731| `interrupt_cancel_queued_v1` | Permintaan kontrol `interrupt` menghormati `cancel_queued: true`, membatalkan pesan yang akan dicantumkan penerimaan di bawah `still_queued` dan mencantumnya di bawah `cancelled` sebagai gantinya. Lihat [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Memerlukan Claude Code v2.1.219 atau lebih baru |1731| `interrupt_cancel_queued_v1` | Permintaan kontrol `interrupt` menghormati `cancel_queued: true`, membatalkan pesan yang akan dicantumkan penerimaan di bawah `still_queued` dan mencantumnya di bawah `cancelled` sebagai gantinya. Lihat [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Memerlukan Claude Code v2.1.219 atau lebih baru |

1732 1732 


1857```1857```

1858 1858 

1859| Bidang | Tipe | Deskripsi |1859| Bidang | Tipe | Deskripsi |

1860| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |1860| - | - | - |

1861| `tool_name` | `string` | Nama alat yang ditolak |1861| `tool_name` | `string` | Nama alat yang ditolak |

1862| `tool_use_id` | `string` | ID blok `tool_use` yang dijawab penolakan ini |1862| `tool_use_id` | `string` | ID blok `tool_use` yang dijawab penolakan ini |

1863| `agent_id` | `string` | ID subagen ketika panggilan yang ditolak berasal dari dalam subagen. Mencerminkan bidang pada `can_use_tool` untuk perutean sisi host |1863| `agent_id` | `string` | ID subagen ketika panggilan yang ditolak berasal dari dalam subagen. Mencerminkan bidang pada `can_use_tool` untuk perutean sisi host |


1923Tabel mencantumkan apa yang Claude Code masukkan dalam setiap bidang. Bidang dari `model` melalui `over_limit` menggambarkan sesi secara keseluruhan, dan bidang koleksi mengatribusikan token ke item individual.1923Tabel mencantumkan apa yang Claude Code masukkan dalam setiap bidang. Bidang dari `model` melalui `over_limit` menggambarkan sesi secara keseluruhan, dan bidang koleksi mengatribusikan token ke item individual.

1924 1924 

1925| Bidang | Tipe | Deskripsi |1925| Bidang | Tipe | Deskripsi |

1926| ---------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1926| - | - | - |

1927| `model` | `string` | Model loop utama yang Claude Code hitung penggunaan, bukan subagen |1927| `model` | `string` | Model loop utama yang Claude Code hitung penggunaan, bukan subagen |

1928| `total_tokens` | `number` | Perkiraan Claude Code tentang token yang digunakan. Tidak diklem ke jendela, jadi dapat melebihi `raw_max_tokens` ketika sesi melampaui batas |1928| `total_tokens` | `number` | Perkiraan Claude Code tentang token yang digunakan. Tidak diklem ke jendela, jadi dapat melebihi `raw_max_tokens` ketika sesi melampaui batas |

1929| `raw_max_tokens` | `number` | Jendela konteks model, atau [jendela auto-compact](/docs/id/model-config#context-window-and-auto-compaction) yang lebih rendah ketika satu berlaku, seperti yang Anda atur atau batas 200K yang Claude Code terapkan pada beberapa model dengan jendela 1M-token. Claude Code mengukur `total_tokens` terhadap jendela ini |1929| `raw_max_tokens` | `number` | Jendela konteks model, atau [jendela auto-compact](/docs/id/model-config#context-window-and-auto-compaction) yang lebih rendah ketika satu berlaku, seperti yang Anda atur atau batas 200K yang Claude Code terapkan pada beberapa model dengan jendela 1M-token. Claude Code mengukur `total_tokens` terhadap jendela ini |


1959Tabel mencantumkan apa yang Claude Code masukkan dalam setiap bidang baris.1959Tabel mencantumkan apa yang Claude Code masukkan dalam setiap bidang baris.

1960 1960 

1961| Bidang | Tipe | Deskripsi |1961| Bidang | Tipe | Deskripsi |

1962| -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------- |1962| - | - | - |

1963| `name` | `string` | Nama tampilan baris seperti `/context` mencetaknya, seperti `Messages`. Klasifikasikan baris berdasarkan `kind`, bukan berdasarkan nama |1963| `name` | `string` | Nama tampilan baris seperti `/context` mencetaknya, seperti `Messages`. Klasifikasikan baris berdasarkan `kind`, bukan berdasarkan nama |

1964| `tokens` | `number` | Hitungan token baris. Baris dapat membawa nol token |1964| `tokens` | `number` | Hitungan token baris. Baris dapat membawa nol token |

1965| `kind` | `string` | Apa yang diwakili baris: `used`, `free`, `buffer`, atau `deferred` |1965| `kind` | `string` | Apa yang diwakili baris: `used`, `free`, `buffer`, atau `deferred` |


2002```2002```

2003 2003 

2004| `kind` | Arti |2004| `kind` | Arti |

2005| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2005| - | - |

2006| `human` | Input langsung dari pengguna akhir. Jika aplikasi Anda meneruskan apa yang diketik pengguna sebagai pesan pengguna, atur `origin` ke `{ kind: "human" }` secara eksplisit: Claude Code memperlakukan pesan pengguna tanpa `origin` sebagai tidak teratribusi, dan memeriksa yang memerlukan prompt yang diketik manusia, seperti [kata kunci workflow `ultracode`](/docs/id/workflows#ask-for-a-workflow-in-your-prompt), tidak menerimanya. Sebelum v2.1.210, Claude Code memperlakukan `origin` yang tidak ada pada pesan pengguna sebagai input manusia. |2006| `human` | Input langsung dari pengguna akhir. Jika aplikasi Anda meneruskan apa yang diketik pengguna sebagai pesan pengguna, atur `origin` ke `{ kind: "human" }` secara eksplisit: Claude Code memperlakukan pesan pengguna tanpa `origin` sebagai tidak teratribusi, dan memeriksa yang memerlukan prompt yang diketik manusia, seperti [kata kunci workflow `ultracode`](/docs/id/workflows#ask-for-a-workflow-in-your-prompt), tidak menerimanya. Sebelum v2.1.210, Claude Code memperlakukan `origin` yang tidak ada pada pesan pengguna sebagai input manusia. |

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

2008| `peer` | Pesan dari agen lain: [rekan kerja](/docs/id/agent-teams) dalam proses atau [rekan lintas sesi](/docs/id/cross-session-messaging), sesi Claude Code lain Anda. Lihat [Bidang asal peer](#peer-origin-fields) untuk semantik per-bidang dan model kepercayaan. |2008| `peer` | Pesan dari agen lain: [rekan kerja](/docs/id/agent-teams) dalam proses atau [rekan lintas sesi](/docs/id/cross-session-messaging), sesi Claude Code lain Anda. Lihat [Bidang asal peer](#peer-origin-fields) untuk semantik per-bidang dan model kepercayaan. |


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

3218 3218 

3219| Bidang | Jenis | Deskripsi |3219| Bidang | Jenis | Deskripsi |

3220| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3220| - | - | - |

3221| `script` | `string` | Skrip workflow inline. Harus dimulai dengan `export const meta = { name, description }` sebagai literal, diikuti oleh badan skrip menggunakan `agent()`, `parallel()`, `pipeline()`, dan `phase()`. Array `phases` opsional dalam `meta` mengelompokkan agent di bawah tahap bernama dalam tampilan kemajuan |3221| `script` | `string` | Skrip workflow inline. Harus dimulai dengan `export const meta = { name, description }` sebagai literal, diikuti oleh badan skrip menggunakan `agent()`, `parallel()`, `pipeline()`, dan `phase()`. Array `phases` opsional dalam `meta` mengelompokkan agent di bawah tahap bernama dalam tampilan kemajuan |

3222| `name` | `string` | Nama workflow bawaan atau yang disimpan di `.claude/workflows/`. Diselesaikan ke skrip |3222| `name` | `string` | Nama workflow bawaan atau yang disimpan di `.claude/workflows/`. Diselesaikan ke skrip |

3223| `scriptPath` | `string` | Jalur ke file skrip workflow di disk. Mengambil prioritas atas `script` dan `name`. Claude Code tetap menyimpan skrip setiap invokasi dan mengembalikan jalur dalam hasil, sehingga Anda dapat mengedit file itu dan menginvokasi kembali dengan `scriptPath` yang sama untuk melakukan iterasi |3223| `scriptPath` | `string` | Jalur ke file skrip workflow di disk. Mengambil prioritas atas `script` dan `name`. Claude Code tetap menyimpan skrip setiap invokasi dan mengembalikan jalur dalam hasil, sehingga Anda dapat mengedit file itu dan menginvokasi kembali dengan `scriptPath` yang sama untuk melakukan iterasi |


3899Field `stdout`, `stderr`, dan `backgroundTaskId` membawa:3899Field `stdout`, `stderr`, dan `backgroundTaskId` membawa:

3900 3900 

3901| Field | Apa yang dibawanya |3901| Field | Apa yang dibawanya |

3902| ------------------ | ---------------------------------------------------------------------------------------------------------------------- |3902| - | - |

3903| `stdout` | Stdout dan stderr perintah, digabungkan menjadi satu aliran yang saling terkait |3903| `stdout` | Stdout dan stderr perintah, digabungkan menjadi satu aliran yang saling terkait |

3904| `stderr` | Pemberitahuan yang ditambahkan tool itu sendiri, seperti pengaturan ulang direktori kerja shell, bukan stderr perintah |3904| `stderr` | Pemberitahuan yang ditambahkan tool itu sendiri, seperti pengaturan ulang direktori kerja shell, bukan stderr perintah |

3905| `backgroundTaskId` | Hadir untuk perintah latar belakang |3905| `backgroundTaskId` | Hadir untuk perintah latar belakang |


4237Mengembalikan segera setelah tool menerima invokasi. Hasil akhir tiba kemudian sebagai penyelesaian tugas. Periksa `error` sebelum memperlakukan run sebagai dimulai: skrip yang gagal pemeriksaan sintaksnya mengembalikan `status: "async_launched"` dengan `error` diatur, dan tidak pernah berjalan.4237Mengembalikan segera setelah tool menerima invokasi. Hasil akhir tiba kemudian sebagai penyelesaian tugas. Periksa `error` sebelum memperlakukan run sebagai dimulai: skrip yang gagal pemeriksaan sintaksnya mengembalikan `status: "async_launched"` dengan `error` diatur, dan tidak pernah berjalan.

4238 4238 

4239| Field | Type | Description |4239| Field | Type | Description |

4240| --------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4240| - | - | - |

4241| `status` | `"async_launched" \| "remote_launched"` | Tool menerima invokasi. `"async_launched"` untuk run dalam proses, `"remote_launched"` untuk run yang dikirimkan ke sesi jarak jauh alih-alih berjalan dalam proses |4241| `status` | `"async_launched" \| "remote_launched"` | Tool menerima invokasi. `"async_launched"` untuk run dalam proses, `"remote_launched"` untuk run yang dikirimkan ke sesi jarak jauh alih-alih berjalan dalam proses |

4242| `taskId` | `string` | Pengenal tugas latar belakang untuk run |4242| `taskId` | `string` | Pengenal tugas latar belakang untuk run |

4243| `taskType` | `"local_workflow" \| "remote_agent"` | Tipe tugas dari tugas latar belakang yang terdaftar, cocok dengan arm `status` |4243| `taskType` | `"local_workflow" \| "remote_agent"` | Tipe tugas dari tugas latar belakang yang terdaftar, cocok dengan arm `status` |


4885Claude Code melaporkan salah satu dari empat nilai:4885Claude Code melaporkan salah satu dari empat nilai:

4886 4886 

4887| Nilai | Kunci yang digunakan |4887| Nilai | Kunci yang digunakan |

4888| -------------------- | -------------------------------------------------------------------------------------------------------------------------------- |4888| - | - |

4889| `ANTHROPIC_API_KEY` | Kunci dalam variabel lingkungan `ANTHROPIC_API_KEY` |4889| `ANTHROPIC_API_KEY` | Kunci dalam variabel lingkungan `ANTHROPIC_API_KEY` |

4890| `apiKeyHelper` | Kunci yang dikembalikan oleh perintah [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) Anda |4890| `apiKeyHelper` | Kunci yang dikembalikan oleh perintah [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) Anda |

4891| `/login managed key` | Kunci yang disimpan Claude Code ketika Anda masuk dengan akun [Claude Console](/docs/id/authentication#claude-console-authentication) |4891| `/login managed key` | Kunci yang disimpan Claude Code ketika Anda masuk dengan akun [Claude Console](/docs/id/authentication#claude-console-authentication) |


4946```4946```

4947 4947 

4948| Field | Tipe | Deskripsi |4948| Field | Tipe | Deskripsi |

4949| :------------------------- | :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |4949| :- | :- | :- |

4950| `value` | `string` | Pengenal model untuk diteruskan dalam panggilan API |4950| `value` | `string` | Pengenal model untuk diteruskan dalam panggilan API |

4951| `resolvedModel` | `string \| undefined` | ID model wire kanonik yang diselesaikan oleh `value` entri ini. Entri alias seperti `sonnet` diselesaikan ke ID model eksplisit seperti `claude-sonnet-5`, sehingga host dapat mencocokkan ID model eksplisit yang disimpan terhadap entri alias yang mencakupnya. Memerlukan Claude Code v2.1.197 atau lebih baru. |4951| `resolvedModel` | `string \| undefined` | ID model wire kanonik yang diselesaikan oleh `value` entri ini. Entri alias seperti `sonnet` diselesaikan ke ID model eksplisit seperti `claude-sonnet-5`, sehingga host dapat mencocokkan ID model eksplisit yang disimpan terhadap entri alias yang mencakupnya. Memerlukan Claude Code v2.1.197 atau lebih baru. |

4952| `displayName` | `string` | Nama tampilan yang dapat dibaca manusia |4952| `displayName` | `string` | Nama tampilan yang dapat dibaca manusia |


4972```4972```

4973 4973 

4974| Field | Tipe | Deskripsi |4974| Field | Tipe | Deskripsi |

4975| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4975| :- | :- | :- |

4976| `name` | `string` | Pengenal tipe agen (misalnya, `"Explore"`, `"general-purpose"`) |4976| `name` | `string` | Pengenal tipe agen (misalnya, `"Explore"`, `"general-purpose"`) |

4977| `description` | `string` | Deskripsi tentang kapan menggunakan agen ini |4977| `description` | `string` | Deskripsi tentang kapan menggunakan agen ini |

4978| `model` | `string \| undefined` | Model yang digunakan agen ini: alias atau ID model, atau `'inherit'` untuk model parent. Ketika `undefined`, Claude Code memilih model dalam [urutan model subagen](/docs/id/sub-agents#choose-a-model) |4978| `model` | `string \| undefined` | Model yang digunakan agen ini: alias atau ID model, atau `'inherit'` untuk model parent. Ketika `undefined`, Claude Code memilih model dalam [urutan model subagen](/docs/id/sub-agents#choose-a-model) |


4991```4991```

4992 4992 

4993| Field | Tipe | Deskripsi |4993| Field | Tipe | Deskripsi |

4994| :------- | :------- | :----------------------------------------------------------------------------------------------------------- |4994| :- | :- | :- |

4995| `name` | `string` | Nama yang didaftarkan server, nilai yang sama yang dilaporkan [`mcpServerStatus()`](#query-object) untuk itu |4995| `name` | `string` | Nama yang didaftarkan server, nilai yang sama yang dilaporkan [`mcpServerStatus()`](#query-object) untuk itu |

4996| `source` | `string` | Tempat asal definisi server: `sdk`, `plugin`, atau cakupan konfigurasi |4996| `source` | `string` | Tempat asal definisi server: `sdk`, `plugin`, atau cakupan konfigurasi |

4997 4997 


5196Claude Code menghapus blok yang `uri` atau `name` bukan string, dan menghilangkan field opsional yang nilainya bukan dari tipe yang tercantum.5196Claude Code menghapus blok yang `uri` atau `name` bukan string, dan menghilangkan field opsional yang nilainya bukan dari tipe yang tercantum.

5197 5197 

5198| Field | Tipe | Deskripsi |5198| Field | Tipe | Deskripsi |

5199| :------------ | :------------------------------------- | :-------------------------------------------------- |5199| :- | :- | :- |

5200| `uri` | `string` | URI sumber daya, seperti yang dikembalikan server |5200| `uri` | `string` | URI sumber daya, seperti yang dikembalikan server |

5201| `name` | `string` | Nama yang diberikan server ke sumber daya |5201| `name` | `string` | Nama yang diberikan server ke sumber daya |

5202| `title` | `string \| undefined` | Judul tampilan, ketika server menetapkannya |5202| `title` | `string \| undefined` | Judul tampilan, ketika server menetapkannya |


5784```5784```

5785 5785 

5786| Properti | Tipe | Default | Deskripsi |5786| Properti | Tipe | Default | Deskripsi |

5787| :-------------------------- | :---------------------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5787| :- | :- | :- | :- |

5788| `enabled` | `boolean` | `false` | Aktifkan mode sandbox untuk eksekusi perintah |5788| `enabled` | `boolean` | `false` | Aktifkan mode sandbox untuk eksekusi perintah |

5789| `failIfUnavailable` | `boolean` | `true` | Berhenti saat startup jika `enabled` adalah `true` tetapi sandbox tidak dapat dimulai. Atur `false` untuk kembali ke eksekusi unsandboxed dengan peringatan di stderr |5789| `failIfUnavailable` | `boolean` | `true` | Berhenti saat startup jika `enabled` adalah `true` tetapi sandbox tidak dapat dimulai. Atur `false` untuk kembali ke eksekusi unsandboxed dengan peringatan di stderr |

5790| `autoAllowBashIfSandboxed` | `boolean` | `true` | Auto-approve perintah Bash ketika sandbox diaktifkan |5790| `autoAllowBashIfSandboxed` | `boolean` | `true` | Auto-approve perintah Bash ketika sandbox diaktifkan |


5856```5856```

5857 5857 

5858| Properti | Tipe | Default | Deskripsi |5858| Properti | Tipe | Default | Deskripsi |

5859| :------------------------ | :--------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5859| :- | :- | :- | :- |

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

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

5862| `strictAllowlist` | `boolean` | `false` | Tolak akses perintah sandboxed ke host di luar [daftar izin jaringan](/docs/id/sandboxing#network-isolation) alih-alih meminta. Diberlakukan untuk perintah sandboxed saja; tool dalam proses seperti WebFetch tidak dibatasi olehnya. Hanya dihormati dari pengaturan pengguna, terkelola, atau CLI `--settings`; pengaturan proyek diabaikan. Memerlukan Claude Code v2.1.219 atau lebih baru |5862| `strictAllowlist` | `boolean` | `false` | Tolak akses perintah sandboxed ke host di luar [daftar izin jaringan](/docs/id/sandboxing#network-isolation) alih-alih meminta. Diberlakukan untuk perintah sandboxed saja; tool dalam proses seperti WebFetch tidak dibatasi olehnya. Hanya dihormati dari pengaturan pengguna, terkelola, atau CLI `--settings`; pengaturan proyek diabaikan. Memerlukan Claude Code v2.1.219 atau lebih baru |


5886```5886```

5887 5887 

5888| Properti | Tipe | Default | Deskripsi |5888| Properti | Tipe | Default | Deskripsi |

5889| :----------- | :--------- | :------ | :----------------------------------------------- |5889| :- | :- | :- | :- |

5890| `allowWrite` | `string[]` | `[]` | Pola jalur file untuk mengizinkan akses tulis ke |5890| `allowWrite` | `string[]` | `[]` | Pola jalur file untuk mengizinkan akses tulis ke |

5891| `denyWrite` | `string[]` | `[]` | Pola jalur file untuk menolak akses tulis ke |5891| `denyWrite` | `string[]` | `[]` | Pola jalur file untuk menolak akses tulis ke |

5892| `denyRead` | `string[]` | `[]` | Pola jalur file untuk menolak akses baca ke |5892| `denyRead` | `string[]` | `[]` | Pola jalur file untuk menolak akses baca ke |

Details

67Callback Anda menerima tiga argumen:67Callback Anda menerima tiga argumen:

68 68 

69| Argumen | Deskripsi |69| Argumen | Deskripsi |

70| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |70| - | - |

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

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

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


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

76 76 

77| Alat | Bidang input |77| Alat | Bidang input |

78| ------- | --------------------------------------- |78| - | - |

79| `Bash` | `command`, `description`, `timeout` |79| `Bash` | `command`, `description`, `timeout` |

80| `Write` | `file_path`, `content` |80| `Write` | `file_path`, `content` |

81| `Edit` | `file_path`, `old_string`, `new_string` |81| `Edit` | `file_path`, `old_string`, `new_string` |


213Callback Anda mengembalikan salah satu dari dua jenis respons:213Callback Anda mengembalikan salah satu dari dua jenis respons:

214 214 

215| Respons | Python | TypeScript |215| Respons | Python | TypeScript |

216| ----------- | ------------------------------------------ | ------------------------------------- |216| - | - | - |

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

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

219 219 


513 Bangun objek `answers` sebagai catatan di mana setiap kunci adalah teks `question` dan setiap nilai adalah `label` opsi yang dipilih:513 Bangun objek `answers` sebagai catatan di mana setiap kunci adalah teks `question` dan setiap nilai adalah `label` opsi yang dipilih:

514 514 

515 | Dari objek pertanyaan | Gunakan sebagai |515 | Dari objek pertanyaan | Gunakan sebagai |

516 | ----------------------------------------------------------------- | --------------- |516 | - | - |

517 | Bidang `question` (misalnya, `"How should I format the output?"`) | Kunci |517 | Bidang `question` (misalnya, `"How should I format the output?"`) | Kunci |

518 | Bidang `label` opsi yang dipilih (misalnya, `"Summary"`) | Nilai |518 | Bidang `label` opsi yang dipilih (misalnya, `"Summary"`) | Nilai |

519 519 


555Input berisi pertanyaan yang dihasilkan Claude dalam array `questions`. Setiap pertanyaan memiliki bidang-bidang ini:555Input berisi pertanyaan yang dihasilkan Claude dalam array `questions`. Setiap pertanyaan memiliki bidang-bidang ini:

556 556 

557| Bidang | Deskripsi |557| Bidang | Deskripsi |

558| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |558| - | - |

559| `question` | Teks pertanyaan lengkap untuk ditampilkan |559| `question` | Teks pertanyaan lengkap untuk ditampilkan |

560| `header` | Label pendek untuk pertanyaan (maks 12 karakter) |560| `header` | Label pendek untuk pertanyaan (maks 12 karakter) |

561| `options` | Array 2-4 pilihan, masing-masing dengan `label` dan `description`. TypeScript: secara opsional `preview`. Lihat [Pratinjau opsi](#option-previews-typescript). |561| `options` | Array 2-4 pilihan, masing-masing dengan `label` dan `description`. TypeScript: secara opsional `preview`. Lihat [Pratinjau opsi](#option-previews-typescript). |


586`toolConfig.askUserQuestion.previewFormat` menambahkan bidang `preview` ke setiap opsi sehingga aplikasi Anda dapat menampilkan mockup visual di samping label. Tanpa pengaturan ini, Claude tidak menghasilkan pratinjau dan bidang tidak ada.586`toolConfig.askUserQuestion.previewFormat` menambahkan bidang `preview` ke setiap opsi sehingga aplikasi Anda dapat menampilkan mockup visual di samping label. Tanpa pengaturan ini, Claude tidak menghasilkan pratinjau dan bidang tidak ada.

587 587 

588| `previewFormat` | `preview` berisi |588| `previewFormat` | `preview` berisi |

589| :--------------------- | :----------------------------------------------------------------------------------------------------------- |589| :- | :- |

590| tidak diatur (default) | Bidang tidak ada. Claude tidak menghasilkan pratinjau. |590| tidak diatur (default) | Bidang tidak ada. Claude tidak menghasilkan pratinjau. |

591| `"markdown"` | ASCII art dan blok kode yang dibatasi |591| `"markdown"` | ASCII art dan blok kode yang dibatasi |

592| `"html"` | Fragmen `<div>` bergaya (SDK menolak `<script>`, `<style>`, dan `<!DOCTYPE>` sebelum callback Anda berjalan) |592| `"html"` | Fragmen `<div>` bergaya (SDK menolak `<script>`, `<style>`, dan `<!DOCTYPE>` sebelum callback Anda berjalan) |


629Kembalikan objek `answers` yang memetakan bidang `question` setiap pertanyaan ke `label` opsi yang dipilih:629Kembalikan objek `answers` yang memetakan bidang `question` setiap pertanyaan ke `label` opsi yang dipilih:

630 630 

631| Bidang | Deskripsi |631| Bidang | Deskripsi |

632| ----------- | ----------------------------------------------------------------------------------------- |632| - | - |

633| `questions` | Teruskan array pertanyaan asli (diperlukan untuk pemrosesan alat) |633| `questions` | Teruskan array pertanyaan asli (diperlukan untuk pemrosesan alat) |

634| `answers` | Objek di mana kunci adalah teks pertanyaan dan nilai adalah label yang dipilih |634| `answers` | Objek di mana kunci adalah teks pertanyaan dan nilai adalah label yang dipilih |

635| `response` | Respons freeform opsional yang diketik pengguna alih-alih menjawab pertanyaan terstruktur |635| `response` | Respons freeform opsional yang diketik pengguna alih-alih menjawab pertanyaan terstruktur |

agent-teams.md +2 −2

Details

40</Frame>40</Frame>

41 41 

42| | Subagents | Tim agent |42| | Subagents | Tim agent |

43| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |43| :- | :- | :- |

44| **Context** | Context window sendiri; hasil kembali ke pemanggil | Context window sendiri; sepenuhnya independen |44| **Context** | Context window sendiri; hasil kembali ke pemanggil | Context window sendiri; sepenuhnya independen |

45| **Komunikasi** | Melaporkan hasil kembali ke pemanggil. Subagents yang Claude beri nama saat memunculkannya juga dapat [saling mengirim pesan](/docs/id/sub-agents#what-loads-at-startup) | Rekan tim saling mengirim pesan secara langsung |45| **Komunikasi** | Melaporkan hasil kembali ke pemanggil. Subagents yang Claude beri nama saat memunculkannya juga dapat [saling mengirim pesan](/docs/id/sub-agents#what-loads-at-startup) | Rekan tim saling mengirim pesan secara langsung |

46| **Koordinasi** | Agent utama mengelola semua pekerjaan | Self-coordination melalui pesan, ditambah daftar tugas bersama untuk [agents yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) |46| **Koordinasi** | Agent utama mengelola semua pekerjaan | Self-coordination melalui pesan, ditambah daftar tugas bersama untuk [agents yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) |


259Tim agent terdiri dari:259Tim agent terdiri dari:

260 260 

261| Komponen | Peran |261| Komponen | Peran |

262| :--------------- | :---------------------------------------------------------------------------------- |262| :- | :- |

263| **Team lead** | Sesi Claude Code utama yang menghasilkan rekan tim dan mengoordinasikan pekerjaan |263| **Team lead** | Sesi Claude Code utama yang menghasilkan rekan tim dan mengoordinasikan pekerjaan |

264| **Rekan tim** | Instance Claude Code terpisah yang masing-masing bekerja pada tugas yang ditugaskan |264| **Rekan tim** | Instance Claude Code terpisah yang masing-masing bekerja pada tugas yang ditugaskan |

265| **Daftar tugas** | Daftar item pekerjaan bersama yang diklaim dan diselesaikan rekan tim |265| **Daftar tugas** | Daftar item pekerjaan bersama yang diklaim dan diselesaikan rekan tim |

agent-view.md +12 −12

Details

113Setiap baris dimulai dengan ikon yang warna dan animasinya menunjukkan status sesi:113Setiap baris dimulai dengan ikon yang warna dan animasinya menunjukkan status sesi:

114 114 

115| Status | Ikon ditampilkan sebagai | Artinya |115| Status | Ikon ditampilkan sebagai | Artinya |

116| :------------------ | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |116| :- | :- | :- |

117| Bekerja | Animasi | Claude secara aktif menjalankan alat atau menghasilkan respons |117| Bekerja | Animasi | Claude secara aktif menjalankan alat atau menghasilkan respons |

118| Membutuhkan masukan | Kuning | Claude menunggu sesuatu yang hanya Anda yang dapat berikan: jawaban atas pertanyaan, keputusan izin, atau prompt lain yang hanya Anda yang dapat menjawab, seperti prompt [sandbox](/docs/id/sandboxing) untuk mengizinkan host jaringan atau [permintaan masukan](/docs/id/mcp#respond-to-mcp-elicitation-requests) server MCP. Perintah yang memerlukan terminal terpasang, seperti `/install-github-app` atau daftar pengaturan `/mcp`, [juga menahan sesi yang tidak diawasi di sini](#attach-to-a-session) |118| Membutuhkan masukan | Kuning | Claude menunggu sesuatu yang hanya Anda yang dapat berikan: jawaban atas pertanyaan, keputusan izin, atau prompt lain yang hanya Anda yang dapat menjawab, seperti prompt [sandbox](/docs/id/sandboxing) untuk mengizinkan host jaringan atau [permintaan masukan](/docs/id/mcp#respond-to-mcp-elicitation-requests) server MCP. Perintah yang memerlukan terminal terpasang, seperti `/install-github-app` atau daftar pengaturan `/mcp`, [juga menahan sesi yang tidak diawasi di sini](#attach-to-a-session) |

119| Menganggur | Redup | Sesi tidak memiliki apa pun untuk dilakukan dan siap untuk prompt berikutnya Anda |119| Menganggur | Redup | Sesi tidak memiliki apa pun untuk dilakukan dan siap untuk prompt berikutnya Anda |


124Secara terpisah, bentuk ikon menunjukkan apakah proses yang mendasarinya sedang berjalan:124Secara terpisah, bentuk ikon menunjukkan apakah proses yang mendasarinya sedang berjalan:

125 125 

126| Bentuk | Artinya |126| Bentuk | Artinya |

127| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |127| :- | :- |

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

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

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


176Nomor permintaan tarik berwarna berdasarkan statusnya:176Nomor permintaan tarik berwarna berdasarkan statusnya:

177 177 

178| Warna | Status permintaan tarik |178| Warna | Status permintaan tarik |

179| :------ | :--------------------------------------------------------- |179| :- | :- |

180| Kuning | Menunggu pemeriksaan atau tinjauan, atau pemeriksaan gagal |180| Kuning | Menunggu pemeriksaan atau tinjauan, atau pemeriksaan gagal |

181| Hijau | Pemeriksaan lulus dan tidak ada tinjauan yang memblokir |181| Hijau | Pemeriksaan lulus dan tidak ada tinjauan yang memblokir |

182| Ungu | Digabungkan |182| Ungu | Digabungkan |


301Ketik dalam input pengiriman untuk memfilter alih-alih mengirim:301Ketik dalam input pengiriman untuk memfilter alih-alih mengirim:

302 302 

303| Filter | Menampilkan |303| Filter | Menampilkan |

304| :------------------------------ | :-------------------------------------------------------------------------------------------------------- |304| :- | :- |

305| `a:<name>` | Sesi yang menjalankan agen bernama |305| `a:<name>` | Sesi yang menjalankan agen bernama |

306| `s:<state>` | Sesi dalam status tertentu, seperti `s:working`. Juga menerima `s:blocked` untuk semua yang menunggu Anda |306| `s:<state>` | Sesi dalam status tertentu, seperti `s:working`. Juga menerima `s:blocked` untuk semua yang menunggu Anda |

307| `#<number>` atau URL PR atau MR | Sesi yang bekerja pada permintaan tarik atau permintaan penggabungan itu |307| `#<number>` atau URL PR atau MR | Sesi yang bekerja pada permintaan tarik atau permintaan penggabungan itu |


314Tekan `?` di tampilan agen untuk melihat setiap pintasan dalam konteks. Tabel di bawah merangkumnya.314Tekan `?` di tampilan agen untuk melihat setiap pintasan dalam konteks. Tabel di bawah merangkumnya.

315 315 

316| Pintasan | Tindakan |316| Pintasan | Tindakan |

317| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :- | :- |

318| `↑` / `↓` | Pindah antar baris |318| `↑` / `↓` | Pindah antar baris |

319| `Enter` | Lampirkan ke sesi yang dipilih, atau kirim jika ada teks dalam input |319| `Enter` | Lampirkan ke sesi yang dipilih, atau kirim jika ada teks dalam input |

320| `Space` | Buka atau tutup panel intip untuk sesi yang dipilih |320| `Space` | Buka atau tutup panel intip untuk sesi yang dipilih |


357Awali atau sebutkan bagian dari prompt untuk mengontrol cara sesi dimulai:357Awali atau sebutkan bagian dari prompt untuk mengontrol cara sesi dimulai:

358 358 

359| Input | Efek |359| Input | Efek |

360| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |360| :- | :- |

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

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

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


721Agent view menerima bendera konfigurasi yang sama seperti `claude` untuk memuat pengaturan, plugin, server MCP, dan direktori tambahan. Agent view menerapkan `--settings` dan `--plugin-dir` ke dirinya sendiri dan melewatkan setiap bendera konfigurasi ke sesi yang Anda kirim darinya, jadi plugin atau server MCP yang Anda muat dengan cara ini tersedia dalam sesi itu.721Agent view menerima bendera konfigurasi yang sama seperti `claude` untuk memuat pengaturan, plugin, server MCP, dan direktori tambahan. Agent view menerapkan `--settings` dan `--plugin-dir` ke dirinya sendiri dan melewatkan setiap bendera konfigurasi ke sesi yang Anda kirim darinya, jadi plugin atau server MCP yang Anda muat dengan cara ini tersedia dalam sesi itu.

722 722 

723| Bendera | Efek |723| Bendera | Efek |

724| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |724| :- | :- |

725| [`--settings <file-or-json>`](/docs/id/settings) | Pengaturan penggantian untuk agent view dan sesi yang dikirim |725| [`--settings <file-or-json>`](/docs/id/settings) | Pengaturan penggantian untuk agent view dan sesi yang dikirim |

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

727| [`--plugin-dir <path>`](/docs/id/plugins/create#load-a-directory-or-archive-for-one-session) | Muat plugin dari direktori lokal |727| [`--plugin-dir <path>`](/docs/id/plugins/create#load-a-directory-or-archive-for-one-session) | Muat plugin dari direktori lokal |


747Setiap sesi latar belakang memiliki ID pendek yang dapat Anda gunakan dari shell. ID dicetak ketika Anda memulai sesi dengan `claude --bg`, dan ID setiap sesi adalah nama direktorinya di bawah `~/.claude/jobs/`. Perintah-perintah ini berguna untuk scripting atau ketika Anda tidak ingin membuka tampilan agen.747Setiap sesi latar belakang memiliki ID pendek yang dapat Anda gunakan dari shell. ID dicetak ketika Anda memulai sesi dengan `claude --bg`, dan ID setiap sesi adalah nama direktorinya di bawah `~/.claude/jobs/`. Perintah-perintah ini berguna untuk scripting atau ketika Anda tidak ingin membuka tampilan agen.

748 748 

749| Perintah | Tujuan |749| Perintah | Tujuan |

750| :--------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |750| :- | :- |

751| `claude agents` | Buka tampilan agen |751| `claude agents` | Buka tampilan agen |

752| `claude agents --cwd <path>` | Buka tampilan agen yang dibatasi pada sesi yang dimulai di bawah `<path>` |752| `claude agents --cwd <path>` | Buka tampilan agen yang dibatasi pada sesi yang dimulai di bawah `<path>` |

753| `claude agents --json` | Cetak sesi sebagai array JSON dan keluar. Lihat [Daftar sesi sebagai JSON](#list-sessions-as-json) |753| `claude agents --json` | Cetak sesi sebagai array JSON dan keluar. Lihat [Daftar sesi sebagai JSON](#list-sessions-as-json) |


771Setiap entri menjelaskan satu sesi:771Setiap entri menjelaskan satu sesi:

772 772 

773| Bidang | Hadir | Deskripsi |773| Bidang | Hadir | Deskripsi |

774| :------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |774| :- | :- | :- |

775| `cwd`, `kind`, `startedAt` | Selalu | Direktori kerja, `interactive` atau `background`, dan waktu mulai dalam milidetik Unix |775| `cwd`, `kind`, `startedAt` | Selalu | Direktori kerja, `interactive` atau `background`, dan waktu mulai dalam milidetik Unix |

776| `id` | Sesi latar belakang | ID pendek, dapat digunakan dengan `claude attach`, `claude logs`, dan `claude stop` |776| `id` | Sesi latar belakang | ID pendek, dapat digunakan dengan `claude attach`, `claude logs`, dan `claude stop` |

777| `state` | Sesi latar belakang | Salah satu dari `working`, `blocked`, `done`, `failed`, atau `stopped`. Lihat [Baca status sesi dari skrip](#read-session-state-from-a-script) untuk mengetahui apa arti setiap nilai |777| `state` | Sesi latar belakang | Salah satu dari `working`, `blocked`, `done`, `failed`, atau `stopped`. Lihat [Baca status sesi dari skrip](#read-session-state-from-a-script) untuk mengetahui apa arti setiap nilai |


786`claude agents --json` adalah cara yang didukung untuk membaca status sesi dari luar Claude Code, misalnya dari bilah status, penjadwal, atau sesi Claude lain yang mengawasi pekerjaan latar belakang. Poll `claude agents --json --all`, yang terus mencantumkan sesi yang prosesnya telah keluar, dan baca `state`, `status`, dan `waitingFor` setiap entri.786`claude agents --json` adalah cara yang didukung untuk membaca status sesi dari luar Claude Code, misalnya dari bilah status, penjadwal, atau sesi Claude lain yang mengawasi pekerjaan latar belakang. Poll `claude agents --json --all`, yang terus mencantumkan sesi yang prosesnya telah keluar, dan baca `state`, `status`, dan `waitingFor` setiap entri.

787 787 

788| `state` | Apa artinya |788| `state` | Apa artinya |

789| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |789| :- | :- |

790| `working` | Giliran sedang berjalan, atau sesi berada di antara langkah-langkah pekerjaan yang dijalankannya sendiri, seperti iterasi [`/loop`](/docs/id/scheduled-tasks) atau menunggu CI. `status` memberi tahu Anda apakah prosesnya `busy` sekarang |790| `working` | Giliran sedang berjalan, atau sesi berada di antara langkah-langkah pekerjaan yang dijalankannya sendiri, seperti iterasi [`/loop`](/docs/id/scheduled-tasks) atau menunggu CI. `status` memberi tahu Anda apakah prosesnya `busy` sekarang |

791| `blocked` | Sesi menunggu Anda: pertanyaan yang diajukannya, keputusan izin atau sandbox, kesalahan yang hanya dapat Anda hapus seperti login yang kedaluwarsa, atau prompt pertamanya jika Anda memulainya tanpa prompt. Ketika penundaan adalah prompt terbuka dalam proses langsung, `waitingFor` menamakannya |791| `blocked` | Sesi menunggu Anda: pertanyaan yang diajukannya, keputusan izin atau sandbox, kesalahan yang hanya dapat Anda hapus seperti login yang kedaluwarsa, atau prompt pertamanya jika Anda memulainya tanpa prompt. Ketika penundaan adalah prompt terbuka dalam proses langsung, `waitingFor` menamakannya |

792| `done` | Giliran terakhir menyelesaikan apa yang Anda minta dan sesi siap untuk prompt berikutnya Anda, terlepas dari apakah prosesnya masih hidup atau tidak |792| `done` | Giliran terakhir menyelesaikan apa yang Anda minta dan sesi siap untuk prompt berikutnya Anda, terlepas dari apakah prosesnya masih hidup atau tidak |


830Status sesi disimpan di bawah direktori konfigurasi Claude Code Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), supervisor menggunakan direktori itu alih-alih `~/.claude` dan berjalan sebagai instans terpisah dengan sesinya sendiri.830Status sesi disimpan di bawah direktori konfigurasi Claude Code Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), supervisor menggunakan direktori itu alih-alih `~/.claude` dan berjalan sebagai instans terpisah dengan sesinya sendiri.

831 831 

832| Jalur | Isi |832| Jalur | Isi |

833| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |833| :- | :- |

834| `~/.claude/daemon.log` | Log supervisor |834| `~/.claude/daemon.log` | Log supervisor |

835| `~/.claude/daemon/roster.json` | Daftar sesi latar belakang yang berjalan, digunakan untuk terhubung kembali setelah restart |835| `~/.claude/daemon/roster.json` | Daftar sesi latar belakang yang berjalan, digunakan untuk terhubung kembali setelah restart |

836| `~/.claude/jobs/<id>/state.json` | Status per-sesi ditampilkan di tampilan agen. Bacanya melalui [`claude agents --json`](#read-session-state-from-a-script) alih-alih mengurai file |836| `~/.claude/jobs/<id>/state.json` | Status per-sesi ditampilkan di tampilan agen. Bacanya melalui [`claude agents --json`](#read-session-state-from-a-script) alih-alih mengurai file |


1047Tampilan agen telah berkembang dengan cepat selama pratinjau penelitian. Jika Anda berada di versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak bendera yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap bendera dan perilaku ditambahkan.1047Tampilan agen telah berkembang dengan cepat selama pratinjau penelitian. Jika Anda berada di versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak bendera yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap bendera dan perilaku ditambahkan.

1048 1048 

1049| Versi | Perubahan |1049| Versi | Perubahan |

1050| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| - | - |

1051| v2.1.268 | Ketika [penghapusan ditolak](#what-deleting-a-session-removes) karena git atau hook `WorktreeRemove` Anda tidak dapat menghapus worktree, pesan menyebutkan penyebabnya, termasuk bagaimana hook berakhir dan awal stderr-nya. Untuk worktree yang ditautkan di bawah `.claude/worktrees/` repositori dengan tidak ada perubahan yang tidak dilakukan commit pada file yang dilacak, tidak ada repositori bersarang di dalamnya, dan tidak ada catatan sesi lain yang menyebutnya, menghapus sesi lagi menghapus direktori bagaimanapun, dari tampilan agen atau dengan `claude rm <id> --force-remove-worktree <worktree-id>`. Sebelum rilis ini, baris hanya menampilkan `worktree could not be removed (WorktreeRemove hook failed)` atau kesalahan git, stderr hook hanya pergi ke log debug, dan menghapus lagi ditolak dengan cara yang sama. |1051| v2.1.268 | Ketika [penghapusan ditolak](#what-deleting-a-session-removes) karena git atau hook `WorktreeRemove` Anda tidak dapat menghapus worktree, pesan menyebutkan penyebabnya, termasuk bagaimana hook berakhir dan awal stderr-nya. Untuk worktree yang ditautkan di bawah `.claude/worktrees/` repositori dengan tidak ada perubahan yang tidak dilakukan commit pada file yang dilacak, tidak ada repositori bersarang di dalamnya, dan tidak ada catatan sesi lain yang menyebutnya, menghapus sesi lagi menghapus direktori bagaimanapun, dari tampilan agen atau dengan `claude rm <id> --force-remove-worktree <worktree-id>`. Sebelum rilis ini, baris hanya menampilkan `worktree could not be removed (WorktreeRemove hook failed)` atau kesalahan git, stderr hook hanya pergi ke log debug, dan menghapus lagi ditolak dengan cara yang sama. |

1052| v2.1.268 | Setelah `←` pertama menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang dilampirkan, [tekan pertama yang datang setidaknya satu detik kemudian beralih](#switch-sessions-without-leaving-the-terminal), bahkan ketika tekan yang lebih cepat di antaranya diabaikan. Sebelum rilis ini, setiap tekan yang diabaikan memulai ulang penantian, jadi menekan `←` lagi dengan kecepatan yang stabil tidak beralih sampai Anda berhenti selama lebih dari satu detik. |1052| v2.1.268 | Setelah `←` pertama menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang dilampirkan, [tekan pertama yang datang setidaknya satu detik kemudian beralih](#switch-sessions-without-leaving-the-terminal), bahkan ketika tekan yang lebih cepat di antaranya diabaikan. Sebelum rilis ini, setiap tekan yang diabaikan memulai ulang penantian, jadi menekan `←` lagi dengan kecepatan yang stabil tidak beralih sampai Anda berhenti selama lebih dari satu detik. |

1053| v2.1.260 | Ketika Anda [melepaskan sesi](#from-inside-a-session), [daftar agen](/docs/id/cross-session-messaging#see-which-sessions-claude-can-reach) sesi lain Anda menampilkan percakapan sekali, sebagai sesi latar belakangnya, dan pesan mereka kepadanya tidak lagi mencapai terminal tempat Anda memindahkannya. Sebelum rilis ini, terminal itu bisa tetap terdaftar sebagai sesi interaktif kedua di bawah nama percakapan, dan sesi yang telah mengirim pesan ke percakapan sebelum perpindahan terus mengirimkan ke terminal itu. |1053| v2.1.260 | Ketika Anda [melepaskan sesi](#from-inside-a-session), [daftar agen](/docs/id/cross-session-messaging#see-which-sessions-claude-can-reach) sesi lain Anda menampilkan percakapan sekali, sebagai sesi latar belakangnya, dan pesan mereka kepadanya tidak lagi mencapai terminal tempat Anda memindahkannya. Sebelum rilis ini, terminal itu bisa tetap terdaftar sebagai sesi interaktif kedua di bawah nama percakapan, dan sesi yang telah mengirim pesan ke percakapan sebelum perpindahan terus mengirimkan ke terminal itu. |

agents.md +1 −1

Details

9Claude Code memiliki lima cara untuk bekerja pada beberapa tugas sekaligus: [subagents](/docs/id/sub-agents), [agent view](/docs/id/agent-view), [agent teams](/docs/id/agent-teams), [dynamic workflows](/docs/id/workflows), dan [projects](/docs/id/claude-projects). Mereka berbeda dalam seberapa banyak Anda tetap terlibat, dari mengarahkan setiap percakapan sendiri hingga membiarkan Claude mengoordinasikan sekelompok pekerja, dan dalam apakah pekerjaan berjalan di mesin Anda atau di cloud.9Claude Code memiliki lima cara untuk bekerja pada beberapa tugas sekaligus: [subagents](/docs/id/sub-agents), [agent view](/docs/id/agent-view), [agent teams](/docs/id/agent-teams), [dynamic workflows](/docs/id/workflows), dan [projects](/docs/id/claude-projects). Mereka berbeda dalam seberapa banyak Anda tetap terlibat, dari mengarahkan setiap percakapan sendiri hingga membiarkan Claude mengoordinasikan sekelompok pekerja, dan dalam apakah pekerjaan berjalan di mesin Anda atau di cloud.

10 10 

11| Pendekatan | Apa yang diberikannya | Gunakan ketika |11| Pendekatan | Apa yang diberikannya | Gunakan ketika |

12| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :- | :- | :- |

13| [Subagents](/docs/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |13| [Subagents](/docs/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |

14| [Agent view](/docs/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |14| [Agent view](/docs/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |

15| [Agent teams](/docs/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |15| [Agent teams](/docs/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |

Details

304Untuk menyimpan model default bawaan dan mengubah hanya awalan pilihan mereka, atur [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) alih-alih pinning. Perbedaannya ditunjukkan dalam apa yang alias `opus` diselesaikan ke:304Untuk menyimpan model default bawaan dan mengubah hanya awalan pilihan mereka, atur [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) alih-alih pinning. Perbedaannya ditunjukkan dalam apa yang alias `opus` diselesaikan ke:

305 305 

306| Anda atur | Alias `opus` diselesaikan ke |306| Anda atur | Alias `opus` diselesaikan ke |

307| :------------------------------------------------------------ | :------------------------------------------------------------------------ |307| :- | :- |

308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, ID tepat yang Anda pin |308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, ID tepat yang Anda pin |

309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, default bawaan dengan awalan pilihan Anda |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, default bawaan dengan awalan pilihan Anda |

310 310 


313Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:313Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

314 314 

315| Jenis model | Model default |315| Jenis model | Model default |

316| :---------------- | :------------------------------------------------------------------------------------ |316| :- | :- |

317| Model utama | Opus 5.5, misalnya `us.anthropic.claude-opus-5-5` di wilayah `us-*` |317| Model utama | Opus 5.5, misalnya `us.anthropic.claude-opus-5-5` di wilayah `us-*` |

318| Model kecil/cepat | Sonnet 4.5, misalnya `us.anthropic.claude-sonnet-4-5-20250929-v1:0` di wilayah `us-*` |318| Model kecil/cepat | Sonnet 4.5, misalnya `us.anthropic.claude-sonnet-4-5-20250929-v1:0` di wilayah `us-*` |

319 319 


391Pada Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html), Claude Code menyelesaikan model default bawaan ke ID [profil inferensi lintas wilayah](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html); untuk merutekan versi model melalui profil inferensi Anda sendiri, lihat [Petakan setiap versi model ke profil inferensi](#map-each-model-version-to-an-inference-profile). Tabel ini menunjukkan prefiks yang disukai Claude Code untuk setiap wilayah AWS yang diselesaikan:391Pada Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html), Claude Code menyelesaikan model default bawaan ke ID [profil inferensi lintas wilayah](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html); untuk merutekan versi model melalui profil inferensi Anda sendiri, lihat [Petakan setiap versi model ke profil inferensi](#map-each-model-version-to-an-inference-profile). Tabel ini menunjukkan prefiks yang disukai Claude Code untuk setiap wilayah AWS yang diselesaikan:

392 392 

393| Wilayah AWS | Prefiks |393| Wilayah AWS | Prefiks |

394| :------------------------ | :-------- |394| :- | :- |

395| `us-gov-*` (AWS GovCloud) | `us-gov.` |395| `us-gov-*` (AWS GovCloud) | `us-gov.` |

396| `us-*` | `us.` |396| `us-*` | `us.` |

397| `eu-*` | `eu.` |397| `eu-*` | `eu.` |


591Variabel ini khusus untuk endpoint Mantle. Lihat [Environment variables](/docs/id/env-vars) untuk daftar lengkap.591Variabel ini khusus untuk endpoint Mantle. Lihat [Environment variables](/docs/id/env-vars) untuk daftar lengkap.

592 592 

593| Variabel | Tujuan |593| Variabel | Tujuan |

594| :-------------------------------------- | :-------------------------------------------------------------------------- |594| :- | :- |

595| `CLAUDE_CODE_USE_MANTLE` | Aktifkan endpoint Mantle. Atur ke `1` atau `true`. |595| `CLAUDE_CODE_USE_MANTLE` | Aktifkan endpoint Mantle. Atur ke `1` atau `true`. |

596| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Ganti URL endpoint Mantle default |596| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Ganti URL endpoint Mantle default |

597| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi sisi klien untuk pengaturan proxy |597| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi sisi klien untuk pengaturan proxy |

analytics.md +1 −1

Details

9Claude Code menyediakan dasbor analitik untuk membantu organisasi memahami pola penggunaan pengembang, melacak metrik kontribusi, dan mengukur bagaimana Claude Code mempengaruhi kecepatan teknik. Akses dasbor untuk paket Anda:9Claude Code menyediakan dasbor analitik untuk membantu organisasi memahami pola penggunaan pengembang, melacak metrik kontribusi, dan mengukur bagaimana Claude Code mempengaruhi kecepatan teknik. Akses dasbor untuk paket Anda:

10 10 

11| Paket | URL Dasbor | Mencakup | Baca selengkapnya |11| Paket | URL Dasbor | Mencakup | Baca selengkapnya |

12| ----------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------- |12| - | - | - | - |

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Metrik penggunaan, metrik kontribusi dengan integrasi GitHub, papan peringkat, ekspor data | [Detail](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Metrik penggunaan, metrik kontribusi dengan integrasi GitHub, papan peringkat, ekspor data | [Detail](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Metrik penggunaan, pelacakan pengeluaran, wawasan tim | [Detail](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Metrik penggunaan, pelacakan pengeluaran, wawasan tim | [Detail](#access-analytics-for-api-customers) |

15 15 

artifacts.md +4 −4

Details

326Setiap artefak adalah satu halaman yang berdiri sendiri. Claude Code membungkus file yang Anda terbitkan dalam shell dokumen HTML dan melayaninya di bawah Content Security Policy (CSP) yang ketat, yang membentuk apa yang dapat dilakukan halaman.326Setiap artefak adalah satu halaman yang berdiri sendiri. Claude Code membungkus file yang Anda terbitkan dalam shell dokumen HTML dan melayaninya di bawah Content Security Policy (CSP) yang ketat, yang membentuk apa yang dapat dilakukan halaman.

327 327 

328| Batasan | Efek |328| Batasan | Efek |

329| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |329| :- | :- |

330| Permintaan eksternal | Halaman dapat memuat typeface dari Google Fonts, dan skrip dari [lima host CDN publik](#allowlist-the-viewer-domain): cdnjs, unpkg, Tailwind dan jQuery CDNs, dan jalur yang dipilih di jsDelivr seperti `/npm/`. CSP memblokir setiap gambar eksternal dan semua skrip, stylesheet, dan font eksternal lainnya, dan membiarkan panggilan `fetch`, XHR, dan WebSocket hanya menjangkau asal halaman sendiri dan host Google Fonts. Claude oleh karena itu memuat perpustakaan apa pun yang dibutuhkan halaman dari salah satu CDN tersebut, menginline semua CSS dan JavaScript lainnya, dan menyematkan gambar sebagai data URI. [Panggilan Connector](#pull-live-data-with-mcp-connectors) melewati claude.ai, yang membuat panggilan jaringan itu sendiri. |330| Permintaan eksternal | Halaman dapat memuat typeface dari Google Fonts, dan skrip dari [lima host CDN publik](#allowlist-the-viewer-domain): cdnjs, unpkg, Tailwind dan jQuery CDNs, dan jalur yang dipilih di jsDelivr seperti `/npm/`. CSP memblokir setiap gambar eksternal dan semua skrip, stylesheet, dan font eksternal lainnya, dan membiarkan panggilan `fetch`, XHR, dan WebSocket hanya menjangkau asal halaman sendiri dan host Google Fonts. Claude oleh karena itu memuat perpustakaan apa pun yang dibutuhkan halaman dari salah satu CDN tersebut, menginline semua CSS dan JavaScript lainnya, dan menyematkan gambar sebagai data URI. [Panggilan Connector](#pull-live-data-with-mcp-connectors) melewati claude.ai, yang membuat panggilan jaringan itu sendiri. |

331| Tidak ada backend | Artefak adalah halaman statis. Tidak dapat mengautentikasi penampil itu sendiri. |331| Tidak ada backend | Artefak adalah halaman statis. Tidak dapat mengautentikasi penampil itu sendiri. |

332| Unduhan | Halaman tidak dapat memulai unduhan itu sendiri. Untuk membiarkan penampil menyimpan file yang dihasilkan halaman, Claude mendeklarasikan kemampuan unduhan. Lihat [Tawarkan unduhan file](#offer-a-file-download). |332| Unduhan | Halaman tidak dapat memulai unduhan itu sendiri. Untuk membiarkan penampil menyimpan file yang dihasilkan halaman, Claude mendeklarasikan kemampuan unduhan. Lihat [Tawarkan unduhan file](#offer-a-file-download). |


347Artifacts memerlukan setiap kondisi di bawah. Ketika salah satu tidak terpenuhi, Claude menulis file HTML lokal atau mengatakan tidak dapat menerbitkan.347Artifacts memerlukan setiap kondisi di bawah. Ketika salah satu tidak terpenuhi, Claude menulis file HTML lokal atau mengatakan tidak dapat menerbitkan.

348 348 

349| Persyaratan | Tersedia ketika |349| Persyaratan | Tersedia ketika |

350| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :- | :- |

351| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |351| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |

352| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag masuk melalui identitas agen, jadi tidak ada langkah yang diperlukan di sana. Sesi menggunakan kunci API, [gateway token](/docs/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |352| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag masuk melalui identitas agen, jadi tidak ada langkah yang diperlukan di sana. Sesi menggunakan kunci API, [gateway token](/docs/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |

353| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry). |353| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry). |


365Untuk mematikan artifacts untuk sesi Anda sendiri terlepas dari pengaturan organisasi Anda, gunakan salah satu dari:365Untuk mematikan artifacts untuk sesi Anda sendiri terlepas dari pengaturan organisasi Anda, gunakan salah satu dari:

366 366 

367| Tempat | Yang harus dilakukan |367| Tempat | Yang harus dilakukan |

368| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |368| :- | :- |

369| [`/config`](/docs/id/commands) | Matikan baris **Artifacts**, yang menulis [`"enableArtifact": false`](/docs/id/settings-reference#enableartifact) ke pengaturan pengguna Anda |369| [`/config`](/docs/id/commands) | Matikan baris **Artifacts**, yang menulis [`"enableArtifact": false`](/docs/id/settings-reference#enableartifact) ke pengaturan pengguna Anda |

370| [File pengaturan](/docs/id/settings) | Atur `"enableArtifact": false`. `"disableArtifact": true` yang sudah usang juga mematikan artifacts |370| [File pengaturan](/docs/id/settings) | Atur `"enableArtifact": false`. `"disableArtifact": true` yang sudah usang juga mematikan artifacts |

371| [Variabel lingkungan](/docs/id/env-vars) | Atur `CLAUDE_CODE_DISABLE_ARTIFACT=1` |371| [Variabel lingkungan](/docs/id/env-vars) | Atur `CLAUDE_CODE_DISABLE_ARTIFACT=1` |


430[Compliance API](https://docs.claude.com/en/api/compliance) menyediakan endpoint untuk mencantumkan artifacts organisasi Anda, mengambil konten versi tertentu, dan menghapus artifact:430[Compliance API](https://docs.claude.com/en/api/compliance) menyediakan endpoint untuk mencantumkan artifacts organisasi Anda, mengambil konten versi tertentu, dan menghapus artifact:

431 431 

432| Metode | Endpoint |432| Metode | Endpoint |

433| :------- | :------------------------------------------------------------------ |433| :- | :- |

434| `GET` | `/v1/compliance/code/artifacts` |434| `GET` | `/v1/compliance/code/artifacts` |

435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |

436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |

Details

249Claude Code memeriksa tiga sumber dalam urutan ini dan berhenti di yang pertama yang diatur. Tabel menunjukkan apa yang menetapkan setiap sumber dan di mana itu menempati peringkat terhadap kredensial `/login` Anda.249Claude Code memeriksa tiga sumber dalam urutan ini dan berhenti di yang pertama yang diatur. Tabel menunjukkan apa yang menetapkan setiap sumber dan di mana itu menempati peringkat terhadap kredensial `/login` Anda.

250 250 

251| Sumber | Ditetapkan oleh | Peringkat terhadap `/login` |251| Sumber | Ditetapkan oleh | Peringkat terhadap `/login` |

252| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ |252| :- | :- | :- |

253| Profil bernama | `ANTHROPIC_PROFILE` | Di atas, mode auth apa pun yang dimiliki profil |253| Profil bernama | `ANTHROPIC_PROFILE` | Di atas, mode auth apa pun yang dimiliki profil |

254| Variabel federasi | `ANTHROPIC_FEDERATION_RULE_ID` dan `ANTHROPIC_ORGANIZATION_ID`, keduanya diatur | Di atas |254| Variabel federasi | `ANTHROPIC_FEDERATION_RULE_ID` dan `ANTHROPIC_ORGANIZATION_ID`, keduanya diatur | Di atas |

255| Profil aktif | File [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) di direktori konfigurasi Anda, atau profil bernama `default` | Di atas ketika mode auth-nya adalah `oidc_federation`; di bawah kredensial `/login` yang berfungsi ketika mode auth-nya adalah `user_oauth` |255| Profil aktif | File [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) di direktori konfigurasi Anda, atau profil bernama `default` | Di atas ketika mode auth-nya adalah `oidc_federation`; di bawah kredensial `/login` yang berfungsi ketika mode auth-nya adalah `user_oauth` |

Details

60Pilih mekanisme yang sesuai dengan seberapa tegas batas yang diperlukan:60Pilih mekanisme yang sesuai dengan seberapa tegas batas yang diperlukan:

61 61 

62| Batas | Mekanisme | Perilaku dalam mode otomatis |62| Batas | Mekanisme | Perilaku dalam mode otomatis |

63| :------------------------------ | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| Prompt sebelum tindakan | `permissions.ask` | Selalu meminta untuk perintah yang cocok dengan aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |64| Prompt sebelum tindakan | `permissions.ask` | Selalu meminta untuk perintah yang cocok dengan aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |

65| Jangan pernah jalankan tindakan | `permissions.deny` | Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |65| Jangan pernah jalankan tindakan | `permissions.deny` | Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |

66| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika [context compaction](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |66| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika [context compaction](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |


74Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:74Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:

75 75 

76| Cakupan | File | Gunakan untuk |76| Cakupan | File | Gunakan untuk |

77| :---------------------------------- | :-------------------------------------------------- | :---------------------------------------------------------------- |77| :- | :- | :- |

78| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |78| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |

79| Di seluruh organisasi | [Pengaturan terkelola](/docs/id/server-managed-settings) | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |79| Di seluruh organisasi | [Pengaturan terkelola](/docs/id/server-managed-settings) | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |

80| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |80| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |

Details

37Pemeriksaan adalah apa pun yang mengembalikan sinyal yang dapat dibaca Claude dalam percakapan: rangkaian tes, kode keluar build, linter, skrip yang membedakan output terhadap fixture, atau [tangkapan layar browser](/docs/id/chrome) dibandingkan dengan desain. Jalankan [`/verify`](/docs/id/skills#run-and-verify-your-app) sendiri setelah pemeriksaan Claude lulus untuk mengonfirmasi perubahan terhadap aplikasi yang berjalan.37Pemeriksaan adalah apa pun yang mengembalikan sinyal yang dapat dibaca Claude dalam percakapan: rangkaian tes, kode keluar build, linter, skrip yang membedakan output terhadap fixture, atau [tangkapan layar browser](/docs/id/chrome) dibandingkan dengan desain. Jalankan [`/verify`](/docs/id/skills#run-and-verify-your-app) sendiri setelah pemeriksaan Claude lulus untuk mengonfirmasi perubahan terhadap aplikasi yang berjalan.

38 38 

39| Strategi | Sebelum | Sesudah |39| Strategi | Sebelum | Sesudah |

40| ----------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |40| - | - | - |

41| **Sediakan kriteria verifikasi** | *"implementasikan fungsi yang memvalidasi alamat email"* | *"tulis fungsi validateEmail. contoh kasus uji: [user@example.com](mailto:user@example.com) adalah true, invalid adalah false, [user@.com](mailto:user@.com) adalah false. jalankan tes setelah mengimplementasikan"* |41| **Sediakan kriteria verifikasi** | *"implementasikan fungsi yang memvalidasi alamat email"* | *"tulis fungsi validateEmail. contoh kasus uji: [user@example.com](mailto:user@example.com) adalah true, invalid adalah false, [user@.com](mailto:user@.com) adalah false. jalankan tes setelah mengimplementasikan"* |

42| **Verifikasi perubahan UI secara visual** | *"buat dashboard terlihat lebih baik"* | *"\[tempel tangkapan layar] implementasikan desain ini. ambil tangkapan layar hasilnya dan bandingkan dengan yang asli. daftar perbedaan dan perbaiki"* |42| **Verifikasi perubahan UI secara visual** | *"buat dashboard terlihat lebih baik"* | *"\[tempel tangkapan layar] implementasikan desain ini. ambil tangkapan layar hasilnya dan bandingkan dengan yang asli. daftar perbedaan dan perbaiki"* |

43| **Tangani penyebab akar, bukan gejala** | *"build gagal"* | *"build gagal dengan kesalahan ini: \[tempel kesalahan]. perbaiki dan verifikasi build berhasil. tangani penyebab akar, jangan tekan kesalahan"* |43| **Tangani penyebab akar, bukan gejala** | *"build gagal"* | *"build gagal dengan kesalahan ini: \[tempel kesalahan]. perbaiki dan verifikasi build berhasil. tangani penyebab akar, jangan tekan kesalahan"* |


127Claude dapat menyimpulkan niat, tetapi tidak dapat membaca pikiran Anda. Referensikan file spesifik, sebutkan batasan, dan tunjukkan pola contoh.127Claude dapat menyimpulkan niat, tetapi tidak dapat membaca pikiran Anda. Referensikan file spesifik, sebutkan batasan, dan tunjukkan pola contoh.

128 128 

129| Strategi | Sebelum | Sesudah |129| Strategi | Sebelum | Sesudah |

130| ------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |130| - | - | - |

131| **Batasi tugas.** Tentukan file mana, skenario apa, dan preferensi pengujian. | *"tambahkan tes untuk foo.py"* | *"tulis tes untuk foo.py yang mencakup kasus tepi di mana pengguna logout. hindari mock."* |131| **Batasi tugas.** Tentukan file mana, skenario apa, dan preferensi pengujian. | *"tambahkan tes untuk foo.py"* | *"tulis tes untuk foo.py yang mencakup kasus tepi di mana pengguna logout. hindari mock."* |

132| **Tunjukkan sumber.** Arahkan Claude ke sumber yang dapat menjawab pertanyaan. | *"mengapa ExecutionFactory memiliki api yang aneh?"* | *"lihat melalui riwayat git ExecutionFactory dan ringkas bagaimana api-nya menjadi seperti ini"* |132| **Tunjukkan sumber.** Arahkan Claude ke sumber yang dapat menjawab pertanyaan. | *"mengapa ExecutionFactory memiliki api yang aneh?"* | *"lihat melalui riwayat git ExecutionFactory dan ringkas bagaimana api-nya menjadi seperti ini"* |

133| **Referensikan pola yang ada.** Tunjukkan Claude pola dalam basis kode Anda. | *"tambahkan widget kalender"* | *"lihat bagaimana widget yang ada diimplementasikan di halaman beranda untuk memahami pola. HotDogWidget.php adalah contoh yang baik. ikuti pola untuk mengimplementasikan widget kalender baru yang memungkinkan pengguna memilih bulan dan paginate maju/mundur untuk memilih tahun. bangun dari awal tanpa perpustakaan selain yang sudah digunakan dalam basis kode."* |133| **Referensikan pola yang ada.** Tunjukkan Claude pola dalam basis kode Anda. | *"tambahkan widget kalender"* | *"lihat bagaimana widget yang ada diimplementasikan di halaman beranda untuk memahami pola. HotDogWidget.php adalah contoh yang baik. ikuti pola untuk mengimplementasikan widget kalender baru yang memungkinkan pengguna memilih bulan dan paginate maju/mundur untuk memilih tahun. bangun dari awal tanpa perpustakaan selain yang sudah digunakan dalam basis kode."* |


186Tetap ringkas. Untuk setiap baris, tanyakan: *"Apakah menghapus ini akan menyebabkan Claude membuat kesalahan?"* Jika tidak, potong. File CLAUDE.md yang membengkak menyebabkan Claude mengabaikan instruksi aktual Anda!186Tetap ringkas. Untuk setiap baris, tanyakan: *"Apakah menghapus ini akan menyebabkan Claude membuat kesalahan?"* Jika tidak, potong. File CLAUDE.md yang membengkak menyebabkan Claude mengabaikan instruksi aktual Anda!

187 187 

188| ✅ Sertakan | ❌ Kecualikan |188| ✅ Sertakan | ❌ Kecualikan |

189| ------------------------------------------------------------- | ---------------------------------------------------------------- |189| - | - |

190| Perintah Bash yang tidak dapat ditebak Claude | Apa pun yang dapat diketahui Claude dengan membaca kode |190| Perintah Bash yang tidak dapat ditebak Claude | Apa pun yang dapat diketahui Claude dengan membaca kode |

191| Aturan gaya kode yang berbeda dari default | Konvensi bahasa standar yang sudah diketahui Claude |191| Aturan gaya kode yang berbeda dari default | Konvensi bahasa standar yang sudah diketahui Claude |

192| Instruksi pengujian dan test runner pilihan | Dokumentasi API terperinci (tautkan ke dokumen sebagai gantinya) |192| Instruksi pengujian dan test runner pilihan | Dokumentasi API terperinci (tautkan ke dokumen sebagai gantinya) |


526Sebagai contoh, gunakan pola Writer/Reviewer:526Sebagai contoh, gunakan pola Writer/Reviewer:

527 527 

528| Sesi A (Penulis) | Sesi B (Peninjau) |528| Sesi A (Penulis) | Sesi B (Peninjau) |

529| ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |529| - | - |

530| `Implementasikan rate limiter untuk endpoint API kami` | |530| `Implementasikan rate limiter untuk endpoint API kami` | |

531| | `Tinjau implementasi rate limiter di @src/middleware/rateLimiter.ts. Cari kasus tepi, kondisi race, dan konsistensi dengan pola middleware yang ada.` |531| | `Tinjau implementasi rate limiter di @src/middleware/rateLimiter.ts. Cari kasus tepi, kondisi race, dan konsistensi dengan pola middleware yang ada.` |

532| `Berikut adalah umpan balik tinjauan: [output Sesi B]. Tangani masalah ini.` | |532| `Berikut adalah umpan balik tinjauan: [output Sesi B]. Tangani masalah ini.` | |

champion-kit.md +7 −7

Details

17Peran ini terdiri dari tiga perilaku yang saling memperkuat.17Peran ini terdiri dari tiga perilaku yang saling memperkuat.

18 18 

19| Perilaku | Seperti apa dalam praktik | Mengapa hal ini penting |19| Perilaku | Seperti apa dalam praktik | Mengapa hal ini penting |

20| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |20| - | - | - |

21| Bagikan apa yang Anda temukan | Posting prompt, screenshot, dan kemenangan kecil dari pekerjaan Anda sendiri di tempat yang sudah dibaca tim Anda, seperti saluran teknik, thread standup, atau deskripsi pull-request. | Contoh yang diambil dari codebase Anda sendiri lebih persuasif daripada dokumentasi eksternal apa pun, karena rekan kerja dapat melihat dengan tepat bagaimana alat ini berlaku pada masalah yang mereka bagikan dengan Anda. |21| Bagikan apa yang Anda temukan | Posting prompt, screenshot, dan kemenangan kecil dari pekerjaan Anda sendiri di tempat yang sudah dibaca tim Anda, seperti saluran teknik, thread standup, atau deskripsi pull-request. | Contoh yang diambil dari codebase Anda sendiri lebih persuasif daripada dokumentasi eksternal apa pun, karena rekan kerja dapat melihat dengan tepat bagaimana alat ini berlaku pada masalah yang mereka bagikan dengan Anda. |

22| Jadilah orang yang ditanya orang | Ketika rekan kerja bertanya bagaimana Anda mencapai sesuatu, berikan prompt sebenarnya yang Anda gunakan sehingga mereka dapat menerapkannya langsung ke tugas mereka sendiri. | Contoh konkret yang dapat dijalankan menghilangkan kesenjangan antara rasa ingin tahu dan penggunaan pertama yang berhasil, yang merupakan tempat sebagian besar upaya adopsi terhenti. |22| Jadilah orang yang ditanya orang | Ketika rekan kerja bertanya bagaimana Anda mencapai sesuatu, berikan prompt sebenarnya yang Anda gunakan sehingga mereka dapat menerapkannya langsung ke tugas mereka sendiri. | Contoh konkret yang dapat dijalankan menghilangkan kesenjangan antara rasa ingin tahu dan penggunaan pertama yang berhasil, yang merupakan tempat sebagian besar upaya adopsi terhenti. |

23| Perluas lingkaran | Tetapkan sejumlah kecil kebiasaan berulang yang ringan, seperti saluran khusus atau thread mingguan, sehingga momentum terus berlanjut bahkan ketika perhatian Anda berada di tempat lain. | Adopsi yang bergantung pada satu orang rapuh. Adopsi yang dibawa oleh kebiasaan bersama terus berkembang dengan sendirinya. |23| Perluas lingkaran | Tetapkan sejumlah kecil kebiasaan berulang yang ringan, seperti saluran khusus atau thread mingguan, sehingga momentum terus berlanjut bahkan ketika perhatian Anda berada di tempat lain. | Adopsi yang bergantung pada satu orang rapuh. Adopsi yang dibawa oleh kebiasaan bersama terus berkembang dengan sendirinya. |


29Tetapkan ekspektasi dengan diri sendiri dan dengan pemimpin Anda. Aktivitas di bawah ini dimaksudkan untuk cocok dalam minggu kerja normal, dan peran harus tetap menjadi pengganda pada pekerjaan Anda yang ada daripada tanggung jawab dukungan tambahan.29Tetapkan ekspektasi dengan diri sendiri dan dengan pemimpin Anda. Aktivitas di bawah ini dimaksudkan untuk cocok dalam minggu kerja normal, dan peran harus tetap menjadi pengganda pada pekerjaan Anda yang ada daripada tanggung jawab dukungan tambahan.

30 30 

31| Aktivitas | Waktu per minggu | Panduan |31| Aktivitas | Waktu per minggu | Panduan |

32| ---------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |32| - | - | - |

33| Posting kemenangan dan prompt | Sekitar 15 menit | Tangkap ini pada saat itu dengan screenshot dan satu atau dua kalimat; hindari mengubahnya menjadi write-up formal. |33| Posting kemenangan dan prompt | Sekitar 15 menit | Tangkap ini pada saat itu dengan screenshot dan satu atau dua kalimat; hindari mengubahnya menjadi write-up formal. |

34| Menjawab pertanyaan di saluran bersama | Sekitar 20 menit | Jawab secara publik sekali, kemudian tautkan kembali ke jawaban itu ketika pertanyaan terulang. |34| Menjawab pertanyaan di saluran bersama | Sekitar 20 menit | Jawab secara publik sekali, kemudian tautkan kembali ke jawaban itu ketika pertanyaan terulang. |

35| Mengadakan thread show-and-tell mingguan | Sekitar 5 menit | Anda memposting prompt pembukaan; tim menyediakan konten. |35| Mengadakan thread show-and-tell mingguan | Sekitar 5 menit | Anda memposting prompt pembukaan; tim menyediakan konten. |


61Posting di mana pun tim Anda sudah membaca. Tujuannya adalah menempatkan contoh di jalur pekerjaan normal daripada membuat tujuan.61Posting di mana pun tim Anda sudah membaca. Tujuannya adalah menempatkan contoh di jalur pekerjaan normal daripada membuat tujuan.

62 62 

63| Lokasi | Paling cocok untuk | Format yang direkomendasikan |63| Lokasi | Paling cocok untuk | Format yang direkomendasikan |

64| ---------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |64| - | - | - |

65| Saluran `#claude-code` atau teknik umum | Penemuan, prompt, dan momen "hari ini saya belajar" | Screenshot disertai satu atau dua kalimat konteks |65| Saluran `#claude-code` atau teknik umum | Penemuan, prompt, dan momen "hari ini saya belajar" | Screenshot disertai satu atau dua kalimat konteks |

66| Deskripsi pull-request | Mendemonstrasikan pendekatan pada kode nyata yang sudah dibaca oleh reviewer | Satu baris seperti "Claude dan saya melakukan refactor ini; senang untuk menjelaskan pendekatannya." |66| Deskripsi pull-request | Mendemonstrasikan pendekatan pada kode nyata yang sudah dibaca oleh reviewer | Satu baris seperti "Claude dan saya melakukan refactor ini; senang untuk menjelaskan pendekatannya." |

67| Standup atau pembaruan tertulis mingguan | Menormalkan penggunaan dengan pemimpin dan manajer skip-level | Satu kalimat menggambarkan satu hasil konkret |67| Standup atau pembaruan tertulis mingguan | Menormalkan penggunaan dengan pemimpin dan manajer skip-level | Satu kalimat menggambarkan satu hasil konkret |


124</h3>124</h3>

125 125 

126| Pertanyaan | Respons yang disarankan | Sumber daya tindak lanjut |126| Pertanyaan | Respons yang disarankan | Sumber daya tindak lanjut |

127| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |127| - | - | - |

128| "Apa yang harus saya coba pertama kali?" | Rekomendasikan tugas nyata tetapi terbatas, idealnya bug atau chore yang telah ditunda orang karena membosankan daripada sulit. | [Common workflows](/docs/id/common-workflows) |128| "Apa yang harus saya coba pertama kali?" | Rekomendasikan tugas nyata tetapi terbatas, idealnya bug atau chore yang telah ditunda orang karena membosankan daripada sulit. | [Common workflows](/docs/id/common-workflows) |

129| "Bagaimana saya mempercayainya dengan kode saya?" | Perkenalkan plan mode: menekan `Shift+Tab` bersiklus ke dalamnya, Claude mengusulkan dengan tepat apa yang dimaksudkan untuk diubah, dan tidak ada yang dimodifikasi sampai pengguna menyetujui. | [Permissions](/docs/id/permissions) |129| "Bagaimana saya mempercayainya dengan kode saya?" | Perkenalkan plan mode: menekan `Shift+Tab` bersiklus ke dalamnya, Claude mengusulkan dengan tepat apa yang dimaksudkan untuk diubah, dan tidak ada yang dimodifikasi sampai pengguna menyetujui. | [Permissions](/docs/id/permissions) |

130| "Apakah setup layak untuk usaha?" | Instalasi membutuhkan waktu kira-kira dua menit, berjalan di terminal, dan tidak memerlukan ekstensi IDE. Menjalankan `/init` sekali sudah cukup untuk mulai bekerja. | [Quickstart](/docs/id/quickstart) |130| "Apakah setup layak untuk usaha?" | Instalasi membutuhkan waktu kira-kira dua menit, berjalan di terminal, dan tidak memerlukan ekstensi IDE. Menjalankan `/init` sekali sudah cukup untuk mulai bekerja. | [Quickstart](/docs/id/quickstart) |


144</h3>144</h3>

145 145 

146| Pola | Cara menjalankannya | Usaha yang diperlukan |146| Pola | Cara menjalankannya | Usaha yang diperlukan |

147| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------- |147| - | - | - |

148| Saluran khusus | Buat saluran `#claude-code` (atau thread berulang di saluran yang ada), pin tautan [Quickstart](/docs/id/quickstart) dan satu contoh kuat, dan jawab pertanyaan secara publik sehingga setiap jawaban menguntungkan semua orang yang menonton. | Sekitar lima menit untuk diatur, kemudian ambient |148| Saluran khusus | Buat saluran `#claude-code` (atau thread berulang di saluran yang ada), pin tautan [Quickstart](/docs/id/quickstart) dan satu contoh kuat, dan jawab pertanyaan secara publik sehingga setiap jawaban menguntungkan semua orang yang menonton. | Sekitar lima menit untuk diatur, kemudian ambient |

149| Thread show-and-tell mingguan | Setiap Jumat, posting "Apa yang membantu Claude Anda minggu ini?" Tidak ada persiapan, slide, atau pertemuan yang diperlukan; screenshot dan deskripsi pendek sudah cukup. | Sekitar dua menit per minggu |149| Thread show-and-tell mingguan | Setiap Jumat, posting "Apa yang membantu Claude Anda minggu ini?" Tidak ada persiapan, slide, atau pertemuan yang diperlukan; screenshot dan deskripsi pendek sudah cukup. | Sekitar dua menit per minggu |

150| Bagikan skill khusus | Posting file `.claude/skills/<name>/SKILL.md` paling berguna Anda, misalnya skill `/ship` yang menjalankan test dan lint sebelum commit, dengan deskripsi satu baris. Karena skill adalah Markdown biasa, rekan kerja dapat mengadopsinya segera. | Sekitar lima menit per skill |150| Bagikan skill khusus | Posting file `.claude/skills/<name>/SKILL.md` paling berguna Anda, misalnya skill `/ship` yang menjalankan test dan lint sebelum commit, dengan deskripsi satu baris. Karena skill adalah Markdown biasa, rekan kerja dapat mengadopsinya segera. | Sekitar lima menit per skill |


197Skeptisisme yang sehat diharapkan; insinyur harus berhati-hati tentang alat yang menyentuh kode mereka. Respons paling efektif jarang untuk membantah kasus umum. Sebaliknya, akui kekhawatiran, tawarkan reframe singkat, dan usulkan satu demonstrasi konkret pada kode orang itu sendiri. Sebagian besar kekhawatiran diselesaikan oleh satu pengalaman yang berhasil.197Skeptisisme yang sehat diharapkan; insinyur harus berhati-hati tentang alat yang menyentuh kode mereka. Respons paling efektif jarang untuk membantah kasus umum. Sebaliknya, akui kekhawatiran, tawarkan reframe singkat, dan usulkan satu demonstrasi konkret pada kode orang itu sendiri. Sebagian besar kekhawatiran diselesaikan oleh satu pengalaman yang berhasil.

198 198 

199| Kekhawatiran | Respons yang disarankan | Bukti untuk ditawarkan |199| Kekhawatiran | Respons yang disarankan | Bukti untuk ditawarkan |

200| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |200| - | - | - |

201| "Saya lebih cepat tanpanya." | Itu mungkin benar untuk kode yang biasanya ditulis orang. Sarankan mencobanya pada pekerjaan yang mereka cenderung hindari: file legacy, layanan yang tidak dikenal, atau test scaffolding, di mana itu membantu paling banyak. | Waktu satu tugas membosankan kedua cara dan bandingkan. |201| "Saya lebih cepat tanpanya." | Itu mungkin benar untuk kode yang biasanya ditulis orang. Sarankan mencobanya pada pekerjaan yang mereka cenderung hindari: file legacy, layanan yang tidak dikenal, atau test scaffolding, di mana itu membantu paling banyak. | Waktu satu tugas membosankan kedua cara dan bandingkan. |

202| "Saya tidak mempercayai AI untuk menyentuh kode produksi." | Setuju bahwa tidak ada perubahan yang harus mendarat tanpa dibaca. Plan mode dikombinasikan dengan review diff normal berarti tidak ada yang diterapkan yang belum diperiksa oleh insinyur, standar yang sama seperti pull request apa pun. | Demonstrasikan plan mode pada file nyata. |202| "Saya tidak mempercayai AI untuk menyentuh kode produksi." | Setuju bahwa tidak ada perubahan yang harus mendarat tanpa dibaca. Plan mode dikombinasikan dengan review diff normal berarti tidak ada yang diterapkan yang belum diperiksa oleh insinyur, standar yang sama seperti pull request apa pun. | Demonstrasikan plan mode pada file nyata. |

203| "Itu akan membuat insinyur junior lebih lemah." | Digunakan dengan baik, itu adalah penjelasan yang efektif. Dorong insinyur junior untuk meminta Claude menjelaskan file dan situs panggilannya sebelum meminta untuk mengubah apa pun. | Jalankan "Jelaskan @file dan di mana itu dipanggil dari" bersama. |203| "Itu akan membuat insinyur junior lebih lemah." | Digunakan dengan baik, itu adalah penjelasan yang efektif. Dorong insinyur junior untuk meminta Claude menjelaskan file dan situs panggilannya sebelum meminta untuk mengubah apa pun. | Jalankan "Jelaskan @file dan di mana itu dipanggil dari" bersama. |


211Teknik di bawah ini adalah yang paling dapat diandalkan untuk memindahkan seseorang dari uji coba pertama ke penggunaan harian. Pin tabel ini di saluran atau bagikan sendiri.211Teknik di bawah ini adalah yang paling dapat diandalkan untuk memindahkan seseorang dari uji coba pertama ke penggunaan harian. Pin tabel ini di saluran atau bagikan sendiri.

212 212 

213| Teknik | Cara menerapkannya |213| Teknik | Cara menerapkannya |

214| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |214| - | - |

215| Berikan konteks yang tepat | Gunakan referensi `@file` atau `@directory/`, atau tempel output kesalahan atau log secara langsung. Menyediakan konteks yang relevan lebih efektif daripada prompting yang rumit. |215| Berikan konteks yang tepat | Gunakan referensi `@file` atau `@directory/`, atau tempel output kesalahan atau log secara langsung. Menyediakan konteks yang relevan lebih efektif daripada prompting yang rumit. |

216| Tinjau rencana sebelum edit | Tekan `Shift+Tab` untuk memasuki plan mode. Claude akan menggambarkan perubahan yang dimaksudkan untuk persetujuan Anda sebelum menjalankannya. |216| Tinjau rencana sebelum edit | Tekan `Shift+Tab` untuk memasuki plan mode. Claude akan menggambarkan perubahan yang dimaksudkan untuk persetujuan Anda sebelum menjalankannya. |

217| Ajarkan repositori Anda | Jalankan `/init` untuk menghasilkan file `CLAUDE.md`, kemudian tambahkan konvensi Anda, perintah test, dan direktori apa pun yang tidak boleh dimodifikasi. Lihat [Memory](/docs/id/memory). |217| Ajarkan repositori Anda | Jalankan `/init` untuk menghasilkan file `CLAUDE.md`, kemudian tambahkan konvensi Anda, perintah test, dan direktori apa pun yang tidak boleh dimodifikasi. Lihat [Memory](/docs/id/memory). |

channels.md +2 −2

Details

314Dalam semua kasus, tidak ada channel yang berjalan sampai pengguna memilihnya untuk sesi dengan `--channels`.314Dalam semua kasus, tidak ada channel yang berjalan sampai pengguna memilihnya untuk sesi dengan `--channels`.

315 315 

316| Pengaturan | Tujuan | Ketika tidak dikonfigurasi |316| Pengaturan | Tujuan | Ketika tidak dikonfigurasi |

317| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :- | :- | :- |

318| `channelsEnabled` | Master switch. Harus `true` agar channel apa pun dapat mengirimkan pesan. Memblokir semua channels termasuk bendera pengembangan saat dimatikan. Lihat [Aktifkan channels untuk organisasi Anda](#enable-channels-for-your-organization). | claude.ai Tim dan Enterprise: channels diblokir. Console: channels diizinkan kecuali organisasi Anda menerapkan pengaturan terkelola, dalam hal ini channels diblokir sampai kunci ini diatur |318| `channelsEnabled` | Master switch. Harus `true` agar channel apa pun dapat mengirimkan pesan. Memblokir semua channels termasuk bendera pengembangan saat dimatikan. Lihat [Aktifkan channels untuk organisasi Anda](#enable-channels-for-your-organization). | claude.ai Tim dan Enterprise: channels diblokir. Console: channels diizinkan kecuali organisasi Anda menerapkan pengaturan terkelola, dalam hal ini channels diblokir sampai kunci ini diatur |

319| `allowedChannelPlugins` | Plugin mana yang dapat mendaftar setelah channels diaktifkan. Menggantikan daftar yang dipertahankan Anthropic saat diatur. | Daftar default Anthropic berlaku |319| `allowedChannelPlugins` | Plugin mana yang dapat mendaftar setelah channels diaktifkan. Menggantikan daftar yang dipertahankan Anthropic saat diatur. | Daftar default Anthropic berlaku |

320 320 


370Beberapa fitur Claude Code terhubung ke sistem di luar terminal, masing-masing cocok untuk jenis pekerjaan yang berbeda:370Beberapa fitur Claude Code terhubung ke sistem di luar terminal, masing-masing cocok untuk jenis pekerjaan yang berbeda:

371 371 

372| Fitur | Apa yang dilakukannya | Bagus untuk |372| Fitur | Apa yang dilakukannya | Bagus untuk |

373| -------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------- |373| - | - | - |

374| [Cloud sessions](/docs/id/claude-code-on-the-web) | Menjalankan tugas dalam sandbox cloud baru, diklon dari GitHub | Mendelegasikan pekerjaan async yang mandiri yang Anda periksa nanti |374| [Cloud sessions](/docs/id/claude-code-on-the-web) | Menjalankan tugas dalam sandbox cloud baru, diklon dari GitHub | Mendelegasikan pekerjaan async yang mandiri yang Anda periksa nanti |

375| [Claude in Slack](/docs/id/slack) | Menjalankan sesi cloud dari penyebutan `@Claude` di channel atau thread | Memulai tugas langsung dari konteks percakapan tim |375| [Claude in Slack](/docs/id/slack) | Menjalankan sesi cloud dari penyebutan `@Claude` di channel atau thread | Memulai tugas langsung dari konteks percakapan tim |

376| Standard [MCP server](/docs/id/mcp) | Claude menanyainya selama tugas; tidak ada yang didorong ke sesi | Memberi Claude akses on-demand untuk membaca atau menanyakan sistem |376| Standard [MCP server](/docs/id/mcp) | Claude menanyainya selama tugas; tidak ada yang didorong ke sesi | Memberi Claude akses on-demand untuk membaca atau menanyakan sistem |

Details

204Sebuah channel menetapkan opsi ini dalam konstruktor [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts). Field `instructions` dan `capabilities.tools` adalah [MCP standar](https://modelcontextprotocol.io/docs/learn/server-concepts); `capabilities.experimental['claude/channel']` dan `capabilities.experimental['claude/channel/permission']` adalah penambahan spesifik channel:204Sebuah channel menetapkan opsi ini dalam konstruktor [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts). Field `instructions` dan `capabilities.tools` adalah [MCP standar](https://modelcontextprotocol.io/docs/learn/server-concepts); `capabilities.experimental['claude/channel']` dan `capabilities.experimental['claude/channel/permission']` adalah penambahan spesifik channel:

205 205 

206| Field | Type | Description |206| Field | Type | Description |

207| :------------------------------------------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |207| :- | :- | :- |

208| `capabilities.experimental['claude/channel']` | `object` | Diperlukan. Selalu `{}`. Kehadiran mendaftarkan pendengar notifikasi. |208| `capabilities.experimental['claude/channel']` | `object` | Diperlukan. Selalu `{}`. Kehadiran mendaftarkan pendengar notifikasi. |

209| `capabilities.experimental['claude/channel/permission']` | `object` atau `false` | Opsional. Atur ke `{}` untuk mendeklarasikan bahwa channel ini dapat menerima permission relay requests. Ketika dideklarasikan, Claude Code meneruskan permission prompts ke channel Anda sehingga Anda dapat menyetujui atau menolak mereka dari jarak jauh. Untuk tidak mengikuti, hilangkan kunci atau atur ke `false`. Sebelum v2.1.234, Claude Code memperlakukan `false` sebagai dideklarasikan. Lihat [Relay permission prompts](#relay-permission-prompts). |209| `capabilities.experimental['claude/channel/permission']` | `object` atau `false` | Opsional. Atur ke `{}` untuk mendeklarasikan bahwa channel ini dapat menerima permission relay requests. Ketika dideklarasikan, Claude Code meneruskan permission prompts ke channel Anda sehingga Anda dapat menyetujui atau menolak mereka dari jarak jauh. Untuk tidak mengikuti, hilangkan kunci atau atur ke `false`. Sebelum v2.1.234, Claude Code memperlakukan `false` sebagai dideklarasikan. Lihat [Relay permission prompts](#relay-permission-prompts). |

210| `capabilities.tools` | `object` | Dua arah saja. Selalu `{}`. Kemampuan tool MCP standar. Lihat [Expose a reply tool](#expose-a-reply-tool). |210| `capabilities.tools` | `object` | Dua arah saja. Selalu `{}`. Kemampuan tool MCP standar. Lihat [Expose a reply tool](#expose-a-reply-tool). |


235Server Anda memancarkan `notifications/claude/channel` dengan dua params:235Server Anda memancarkan `notifications/claude/channel` dengan dua params:

236 236 

237| Field | Type | Description |237| Field | Type | Description |

238| :-------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |238| :- | :- | :- |

239| `content` | `string` | Body event. Dikirimkan sebagai body dari tag `<channel>`. |239| `content` | `string` | Body event. Dikirimkan sebagai body dari tag `<channel>`. |

240| `meta` | `Record<string, string>` | Opsional. Setiap entry menjadi atribut pada tag `<channel>` untuk konteks routing seperti chat ID, nama pengirim, atau severity alert. Kunci harus identifier: huruf, digit, dan underscore saja. Kunci yang berisi hyphen atau karakter lain secara diam-diam dijatuhkan. |240| `meta` | `Record<string, string>` | Opsional. Setiap entry menjadi atribut pada tag `<channel>` untuk konteks routing seperti chat ID, nama pengirim, atau severity alert. Kunci harus identifier: huruf, digit, dan underscore saja. Kunci yang berisi hyphen atau karakter lain secara diam-diam dijatuhkan. |

241 241 


485Notifikasi outbound dari Claude Code adalah `notifications/claude/channel/permission_request`. Seperti [channel notification](#notification-format), transport adalah MCP standar tetapi method dan schema adalah ekstensi Claude Code. Objek `params` memiliki empat field string yang server Anda format ke dalam prompt outgoing:485Notifikasi outbound dari Claude Code adalah `notifications/claude/channel/permission_request`. Seperti [channel notification](#notification-format), transport adalah MCP standar tetapi method dan schema adalah ekstensi Claude Code. Objek `params` memiliki empat field string yang server Anda format ke dalam prompt outgoing:

486 486 

487| Field | Description |487| Field | Description |

488| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |488| - | - |

489| `request_id` | Lima huruf kecil diambil dari `a`-`z` tanpa `l`, jadi tidak pernah dibaca sebagai `1` atau `I` ketika diketik di ponsel. Sertakan dalam prompt outgoing Anda sehingga dapat diulang dalam balasan. Claude Code hanya menerima verdict yang membawa ID yang dikeluarkannya. Dialog terminal lokal tidak menampilkan ID ini, jadi handler outbound Anda adalah satu-satunya cara untuk mempelajarinya. |489| `request_id` | Lima huruf kecil diambil dari `a`-`z` tanpa `l`, jadi tidak pernah dibaca sebagai `1` atau `I` ketika diketik di ponsel. Sertakan dalam prompt outgoing Anda sehingga dapat diulang dalam balasan. Claude Code hanya menerima verdict yang membawa ID yang dikeluarkannya. Dialog terminal lokal tidak menampilkan ID ini, jadi handler outbound Anda adalah satu-satunya cara untuk mempelajarinya. |

490| `tool_name` | Nama tool yang ingin dipanggil Claude, misalnya `Bash` atau `Write`. |490| `tool_name` | Nama tool yang ingin dipanggil Claude, misalnya `Bash` atau `Write`. |

491| `description` | Ringkasan yang dapat dibaca manusia tentang apa yang dilakukan panggilan tool spesifik ini, bukan perintah itu sendiri. Untuk panggilan Bash ini adalah deskripsi Claude tentang perintah; ketika model tidak memberikan deskripsi, field adalah konstanta `Run shell command` dan membawa nol detail perintah. Render `input_preview` ketika Anda memiliki ruang. |491| `description` | Ringkasan yang dapat dibaca manusia tentang apa yang dilakukan panggilan tool spesifik ini, bukan perintah itu sendiri. Untuk panggilan Bash ini adalah deskripsi Claude tentang perintah; ketika model tidak memberikan deskripsi, field adalah konstanta `Run shell command` dan membawa nol detail perintah. Render `input_preview` ketika Anda memiliki ruang. |

chrome.md +1 −1

Details

327Ini adalah kesalahan yang paling sering dihadapi dan cara menyelesaikannya:327Ini adalah kesalahan yang paling sering dihadapi dan cara menyelesaikannya:

328 328 

329| Kesalahan | Penyebab | Perbaikan |329| Kesalahan | Penyebab | Perbaikan |

330| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |330| - | - | - |

331| "Browser extension is not connected" | Host messaging asli tidak dapat menjangkau ekstensi, atau allowlist IP organisasi Anda menolak koneksi ke `bridge.claudeusercontent.com` | Restart Chrome dan Claude Code, kemudian jalankan `/chrome` untuk menghubungkan kembali. Jika organisasi Anda menggunakan allowlist IP dan kesalahan berlanjut, lihat [Organization IP allowlists and proxy egress](/docs/id/network-config#organization-ip-allowlists-and-proxy-egress) |331| "Browser extension is not connected" | Host messaging asli tidak dapat menjangkau ekstensi, atau allowlist IP organisasi Anda menolak koneksi ke `bridge.claudeusercontent.com` | Restart Chrome dan Claude Code, kemudian jalankan `/chrome` untuk menghubungkan kembali. Jika organisasi Anda menggunakan allowlist IP dan kesalahan berlanjut, lihat [Organization IP allowlists and proxy egress](/docs/id/network-config#organization-ip-allowlists-and-proxy-egress) |

332| Extension shows "Not detected" in `/chrome` | Ekstensi Chrome tidak diinstal atau dinonaktifkan | Instal atau aktifkan ekstensi di `chrome://extensions` |332| Extension shows "Not detected" in `/chrome` | Ekstensi Chrome tidak diinstal atau dinonaktifkan | Instal atau aktifkan ekstensi di `chrome://extensions` |

333| "No tab available" | Claude mencoba bertindak sebelum tab siap | Minta Claude membuat tab baru dan coba lagi |333| "No tab available" | Claude mencoba bertindak sebelum tab siap | Minta Claude membuat tab baru dan coba lagi |

Details

70Miliki ini sebelum Anda mulai:70Miliki ini sebelum Anda mulai:

71 71 

72| Anda membutuhkan | Detail |72| Anda membutuhkan | Detail |

73| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |73| - | - |

74| Claude Code v2.1.195 atau lebih baru | Subperintah `claude gateway` dan alur sign-in gateway dikirim di v2.1.195. Build publik sebelumnya tidak menyertakannya. Baik mesin yang menjalankan server gateway maupun mesin setiap pengembang harus pada v2.1.195 atau lebih baru; jalankan `claude update` untuk mendapatkan rilis terbaru. Upstream [Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |74| Claude Code v2.1.195 atau lebih baru | Subperintah `claude gateway` dan alur sign-in gateway dikirim di v2.1.195. Build publik sebelumnya tidak menyertakannya. Baik mesin yang menjalankan server gateway maupun mesin setiap pengembang harus pada v2.1.195 atau lebih baru; jalankan `claude update` untuk mendapatkan rilis terbaru. Upstream [Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |

75| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |75| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |

76| PostgreSQL 14 atau lebih baru | Mendukung alur sign-in perangkat, di mana callback browser menulis dan CLI polling membaca, ditambah penghitung batas laju. Postgres yang dikelola apa pun berfungsi, termasuk tingkat terkecil. Tanpa batas pengeluaran yang dikonfigurasi, gateway menyimpan beberapa KB status auth berumur pendek; dengan [batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. |76| PostgreSQL 14 atau lebih baru | Mendukung alur sign-in perangkat, di mana callback browser menulis dan CLI polling membaca, ditambah penghitung batas laju. Postgres yang dikelola apa pun berfungsi, termasuk tingkat terkecil. Tanpa batas pengeluaran yang dikonfigurasi, gateway menyimpan beberapa KB status auth berumur pendek; dengan [batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. |


514Gateway mengirimkan nilai [`anthropic-beta`](https://platform.claude.com/docs/en/api/beta-headers) yang dikirim CLI ke setiap upstream, jadi operator tidak mempertahankan daftar izin beta. Untuk Amazon Bedrock, yang mengabaikan header, gateway memindahkan nilai ke bidang `anthropic_beta` badan permintaan; upstream lainnya menerima header seperti yang dikirim.514Gateway mengirimkan nilai [`anthropic-beta`](https://platform.claude.com/docs/en/api/beta-headers) yang dikirim CLI ke setiap upstream, jadi operator tidak mempertahankan daftar izin beta. Untuk Amazon Bedrock, yang mengabaikan header, gateway memindahkan nilai ke bidang `anthropic_beta` badan permintaan; upstream lainnya menerima header seperti yang dikirim.

515 515 

516| Fitur | Status | Catatan |516| Fitur | Status | Catatan |

517| ----------------------------------------------------------------------------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |517| - | - | - |

518| Penerusan inferensi (Amazon Bedrock, Claude Platform on AWS, Agent Platform Google Cloud, Microsoft Foundry, Anthropic) | Tersedia | Dengan terjemahan model per-upstream dan failover. Upstream Amazon Bedrock menggunakan endpoint `bedrock-runtime` dan rantai kredensial default AWS; [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock bukan upstream yang didukung. [Upstream Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |518| Penerusan inferensi (Amazon Bedrock, Claude Platform on AWS, Agent Platform Google Cloud, Microsoft Foundry, Anthropic) | Tersedia | Dengan terjemahan model per-upstream dan failover. Upstream Amazon Bedrock menggunakan endpoint `bedrock-runtime` dan rantai kredensial default AWS; [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock bukan upstream yang didukung. [Upstream Claude Platform on AWS](/docs/id/claude-apps-gateway-config#claude-platform-on-aws) memerlukan Claude Code v2.1.198 atau lebih baru di server gateway. |

519| Akses model dan pengaturan terkelola berdasarkan grup IdP | Tersedia | Akses model diberlakukan di sisi server; pengaturan terkelola disampaikan per grup IdP dan diterapkan oleh CLI di [tingkat pengaturan terkelola](/docs/id/settings#settings-precedence) |519| Akses model dan pengaturan terkelola berdasarkan grup IdP | Tersedia | Akses model diberlakukan di sisi server; pengaturan terkelola disampaikan per grup IdP dan diterapkan oleh CLI di [tingkat pengaturan terkelola](/docs/id/settings#settings-precedence) |

520| Claude Desktop | Tersedia dengan opt-in | Gateway melayani konfigurasi Claude Desktop di `/user/bootstrap` setelah kebijakan [memilih dengan kunci `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay), dan Claude Desktop mengirim permintaan model dari tab Cowork dan Code, dan dari tab Chat ketika Anda mengaktifkannya, melalui gateway. Untuk mengaktifkan tab Chat, lihat [Hubungkan Claude Desktop](#connect-claude-desktop). Memerlukan Claude Code v2.1.203 atau lebih baru di server gateway. |520| Claude Desktop | Tersedia dengan opt-in | Gateway melayani konfigurasi Claude Desktop di `/user/bootstrap` setelah kebijakan [memilih dengan kunci `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay), dan Claude Desktop mengirim permintaan model dari tab Cowork dan Code, dan dari tab Chat ketika Anda mengaktifkannya, melalui gateway. Untuk mengaktifkan tab Chat, lihat [Hubungkan Claude Desktop](#connect-claude-desktop). Memerlukan Claude Code v2.1.203 atau lebih baru di server gateway. |

Details

46Jangan tulis secrets seperti `client_secret`, `jwt_secret`, atau `postgres_url` langsung di `gateway.yaml`. Referensikan mereka dengan salah satu bentuk di bawah, dan gateway menyelesaikan nilai saat boot dari environment variable atau file:46Jangan tulis secrets seperti `client_secret`, `jwt_secret`, atau `postgres_url` langsung di `gateway.yaml`. Referensikan mereka dengan salah satu bentuk di bawah, dan gateway menyelesaikan nilai saat boot dari environment variable atau file:

47 47 

48| Bentuk | Diselesaikan ke | Gunakan untuk |48| Bentuk | Diselesaikan ke | Gunakan untuk |

49| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |49| - | - | - |

50| `${VAR}` | Environment variable `VAR`. Boot gagal jika tidak terdefinisi. | Container environment variables, AWS Secrets Manager via env injection |50| `${VAR}` | Environment variable `VAR`. Boot gagal jika tidak terdefinisi. | Container environment variables, AWS Secrets Manager via env injection |

51| `${file:/path}` | Isi file pada path absolut tersebut, dipangkas. Referensi harus menjadi seluruh nilai field: tidak seperti `${VAR}`, tidak diperluas di dalam string yang lebih panjang, jadi untuk password database atur `store.password` daripada menyematkannya di `postgres_url`. | Kubernetes Secret volume mounts, Vault Agent, SOPS |51| `${file:/path}` | Isi file pada path absolut tersebut, dipangkas. Referensi harus menjadi seluruh nilai field: tidak seperti `${VAR}`, tidak diperluas di dalam string yang lebih panjang, jadi untuk password database atur `store.password` daripada menyematkannya di `postgres_url`. | Kubernetes Secret volume mounts, Vault Agent, SOPS |

52 52 


61Blok `listen` mengontrol di mana gateway melayani: bind address dan port, origin yang terlihat secara eksternal, dan optional TLS termination.61Blok `listen` mengontrol di mana gateway melayani: bind address dan port, origin yang terlihat secara eksternal, dan optional TLS termination.

62 62 

63| Field | Diperlukan | Deskripsi |63| Field | Diperlukan | Deskripsi |

64| ---------------------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64| - | - | - |

65| `host` | Tidak | Bind address. Default `0.0.0.0`. |65| `host` | Tidak | Bind address. Default `0.0.0.0`. |

66| `port` | Tidak | Bind port. Default `8080`. |66| `port` | Tidak | Bind port. Default `8080`. |

67| `public_url` | Kecuali `host` adalah loopback | Origin `https://` yang terlihat secara eksternal, digunakan untuk membangun IdP `redirect_uri` dan discovery metadata. Diperlukan setiap kali `host` bukan loopback address, baik TLS menghentikan di proxy seperti ALB, Ingress, atau Cloud Run atau di gateway itu sendiri melalui `tls`, karena gateway tidak pernah menurunkan origin-nya sendiri dari header `X-Forwarded-*`; mereka dapat dipalsukan oleh client. Boot gagal tanpa itu. `trusted_proxies` di bawah mengatur resolusi client-IP saja. Juga diperlukan untuk mengaktifkan [telemetry](#telemetry), karena gateway membangun endpoint OTLP yang didorong ke client dari URL ini. |67| `public_url` | Kecuali `host` adalah loopback | Origin `https://` yang terlihat secara eksternal, digunakan untuk membangun IdP `redirect_uri` dan discovery metadata. Diperlukan setiap kali `host` bukan loopback address, baik TLS menghentikan di proxy seperti ALB, Ingress, atau Cloud Run atau di gateway itu sendiri melalui `tls`, karena gateway tidak pernah menurunkan origin-nya sendiri dari header `X-Forwarded-*`; mereka dapat dipalsukan oleh client. Boot gagal tanpa itu. `trusted_proxies` di bawah mengatur resolusi client-IP saja. Juga diperlukan untuk mengaktifkan [telemetry](#telemetry), karena gateway membangun endpoint OTLP yang didorong ke client dari URL ini. |


77OpenID Connect (OIDC) adalah protokol SSO yang digunakan gateway dengan identity provider Anda; lihat [Identity provider setup](/docs/id/claude-apps-gateway-deploy#identity-provider-setup) untuk apa yang harus didaftarkan di sisi IdP.77OpenID Connect (OIDC) adalah protokol SSO yang digunakan gateway dengan identity provider Anda; lihat [Identity provider setup](/docs/id/claude-apps-gateway-deploy#identity-provider-setup) untuk apa yang harus didaftarkan di sisi IdP.

78 78 

79| Field | Diperlukan | Deskripsi |79| Field | Diperlukan | Deskripsi |

80| ------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |80| - | - | - |

81| `issuer` | Ya | OIDC discovery base. Harus melayani discovery di `/.well-known/openid-configuration`. Gunakan HTTPS dalam production; gateway menerima issuer `http://`. Issuer loopback seperti `http://localhost:8081` ditolak oleh [SSRF guard](/docs/id/claude-apps-gateway-deploy#threat-model-summary) kecuali `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` diatur di environment gateway. |81| `issuer` | Ya | OIDC discovery base. Harus melayani discovery di `/.well-known/openid-configuration`. Gunakan HTTPS dalam production; gateway menerima issuer `http://`. Issuer loopback seperti `http://localhost:8081` ditolak oleh [SSRF guard](/docs/id/claude-apps-gateway-deploy#threat-model-summary) kecuali `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` diatur di environment gateway. |

82| `client_id` / `client_secret` | Ya | Dari registrasi OAuth client Anda |82| `client_id` / `client_secret` | Ya | Dari registrasi OAuth client Anda |

83| `allowed_email_domains` | Tidak | Tolak id\_tokens yang claim `email`-nya tidak ada di salah satu domain ini, case-insensitive. Defense-in-depth terhadap misconfiguration IdP multi-tenant. Independen dari setting ini, id\_token yang claim `email_verified`-nya secara eksplisit `false` selalu ditolak. |83| `allowed_email_domains` | Tidak | Tolak id\_tokens yang claim `email`-nya tidak ada di salah satu domain ini, case-insensitive. Defense-in-depth terhadap misconfiguration IdP multi-tenant. Independen dari setting ini, id\_token yang claim `email_verified`-nya secara eksplisit `false` selalu ditolak. |


127Setiap baris di bawah adalah satu class dari outbound request pada gateway dengan `HTTPS_PROXY` diatur, secara default dan saat proxy-only egress aktif.127Setiap baris di bawah adalah satu class dari outbound request pada gateway dengan `HTTPS_PROXY` diatur, secara default dan saat proxy-only egress aktif.

128 128 

129| Outbound request | Default | Proxy-only egress active |129| Outbound request | Default | Proxy-only egress active |

130| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |130| - | - | - |

131| `provider: anthropic` upstreams, Workload Identity Federation token exchange, `telemetry.forward_to` exports | Resolved dan checked secara lokal, kemudian `CONNECT` ke checked IP address melalui proxy. Telemetry collector yang terdaftar di `NO_PROXY` dicapai langsung sebagai gantinya | Hostname diserahkan ke proxy |131| `provider: anthropic` upstreams, Workload Identity Federation token exchange, `telemetry.forward_to` exports | Resolved dan checked secara lokal, kemudian `CONNECT` ke checked IP address melalui proxy. Telemetry collector yang terdaftar di `NO_PROXY` dicapai langsung sebagai gantinya | Hostname diserahkan ke proxy |

132| IdP discovery, JWKS, token, dan userinfo | Direct kecuali [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), kemudian `CONNECT` ke checked IP address | Hostname diserahkan ke proxy, kecuali `oidc.use_proxy: false` menjaga internal IdP langsung |132| IdP discovery, JWKS, token, dan userinfo | Direct kecuali [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), kemudian `CONNECT` ke checked IP address | Hostname diserahkan ke proxy, kecuali `oidc.use_proxy: false` menjaga internal IdP langsung |

133| Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, dan Microsoft Foundry upstreams; Google group lookups | Hostname diserahkan ke proxy | Unchanged |133| Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, dan Microsoft Foundry upstreams; Google group lookups | Hostname diserahkan ke proxy | Unchanged |


153Blok `session` membentuk bearer tokens yang dimint gateway setelah sign-in: secret yang menandatanganinya dan berapa lama mereka hidup.153Blok `session` membentuk bearer tokens yang dimint gateway setelah sign-in: secret yang menandatanganinya dan berapa lama mereka hidup.

154 154 

155| Field | Diperlukan | Deskripsi |155| Field | Diperlukan | Deskripsi |

156| ------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| - | - | - |

157| `jwt_secret` | Ya | Minimal 32 bytes entropy, misalnya dari `openssl rand -base64 32`. Menandatangani gateway's HS256 bearer tokens. Menerima single string atau array untuk rotation: index 0 menandatangani dan semua entries memverifikasi. Untuk rotate, prepend secret baru, tunggu `ttl_hours`, kemudian drop yang lama. |157| `jwt_secret` | Ya | Minimal 32 bytes entropy, misalnya dari `openssl rand -base64 32`. Menandatangani gateway's HS256 bearer tokens. Menerima single string atau array untuk rotation: index 0 menandatangani dan semua entries memverifikasi. Untuk rotate, prepend secret baru, tunggu `ttl_hours`, kemudian drop yang lama. |

158| `ttl_hours` | Tidak | Gateway bearer token lifetime. Default `1`. CLI secara diam-diam refresh sebelum expiry ketika IdP mengeluarkan refresh tokens. Lifetime yang lebih pendek menghapus provisioning lebih cepat; yang lebih panjang membuat lebih sedikit IdP round-trips. Jika IdP Anda tidak dapat mengeluarkan refresh tokens karena `offline_access` tidak tersedia, tidak ada silent refresh, jadi naikkan ini ke `8` atau `12` untuk menghindari mengirim developer kembali ke browser login setiap jam. |158| `ttl_hours` | Tidak | Gateway bearer token lifetime. Default `1`. CLI secara diam-diam refresh sebelum expiry ketika IdP mengeluarkan refresh tokens. Lifetime yang lebih pendek menghapus provisioning lebih cepat; yang lebih panjang membuat lebih sedikit IdP round-trips. Jika IdP Anda tidak dapat mengeluarkan refresh tokens karena `offline_access` tidak tersedia, tidak ada silent refresh, jadi naikkan ini ke `8` atau `12` untuk menghindari mengirim developer kembali ke browser login setiap jam. |

159 159 


164Blok `store` menunjukkan gateway ke database PostgreSQL-nya, yang menyimpan device grants dan rate-limit counters.164Blok `store` menunjukkan gateway ke database PostgreSQL-nya, yang menyimpan device grants dan rate-limit counters.

165 165 

166| Field | Diperlukan | Deskripsi |166| Field | Diperlukan | Deskripsi |

167| ------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |167| - | - | - |

168| `postgres_url` | Ya | `postgres://` atau `postgresql://` URL. Diperlukan: device-grant rendezvous, di mana browser callback menulis dan polling CLI membaca, memerlukan cross-replica state. Gateway menjalankan schema migrations-nya sendiri saat boot dan pada upgrade, jadi role memerlukan rights untuk membuat dan mengubah tables pada target schema. Lihat [Upgrades](/docs/id/claude-apps-gateway-deploy#upgrades) dan [Postgres](/docs/id/claude-apps-gateway-deploy#postgres). |168| `postgres_url` | Ya | `postgres://` atau `postgresql://` URL. Diperlukan: device-grant rendezvous, di mana browser callback menulis dan polling CLI membaca, memerlukan cross-replica state. Gateway menjalankan schema migrations-nya sendiri saat boot dan pada upgrade, jadi role memerlukan rights untuk membuat dan mengubah tables pada target schema. Lihat [Upgrades](/docs/id/claude-apps-gateway-deploy#upgrades) dan [Postgres](/docs/id/claude-apps-gateway-deploy#postgres). |

169| `username` | Tidak | Overrides user di `postgres_url` |169| `username` | Tidak | Overrides user di `postgres_url` |

170| `password` | Tidak | Database credential. Atur di sini daripada di `postgres_url` jadi credential tetap keluar dari URL. Menerima karakter apa pun dan mengambil precedence atas URL credentials. |170| `password` | Tidak | Database credential. Atur di sini daripada di `postgres_url` jadi credential tetap keluar dari URL. Menerima karakter apa pun dan mengambil precedence atas URL credentials. |


266Gateway menambahkan headers ini ke setiap request yang diteruskan ke upstream itu.266Gateway menambahkan headers ini ke setiap request yang diteruskan ke upstream itu.

267 267 

268| Header | Value |268| Header | Value |

269| ----------------------------- | ------------------------------------------------ |269| - | - |

270| `x-litellm-end-user-id` | Email developer, ketika IdP menyediakannya. |270| `x-litellm-end-user-id` | Email developer, ketika IdP menyediakannya. |

271| `x-claude-gateway-user-id` | IdP subject developer, dari token's `sub` claim. |271| `x-claude-gateway-user-id` | IdP subject developer, dari token's `sub` claim. |

272| `x-claude-gateway-user-email` | Email developer, ketika IdP menyediakannya. |272| `x-claude-gateway-user-email` | Email developer, ketika IdP menyediakannya. |


305Explicit credentials harus lengkap: gateway gagal saat boot ketika `aws_access_key_id` dan `aws_secret_access_key` tidak diatur bersama, atau ketika `aws_session_token` diatur tanpa mereka. Sebelum v2.1.207, partial `auth:` block lulus validasi.305Explicit credentials harus lengkap: gateway gagal saat boot ketika `aws_access_key_id` dan `aws_secret_access_key` tidak diatur bersama, atau ketika `aws_session_token` diatur tanpa mereka. Sebelum v2.1.207, partial `auth:` block lulus validasi.

306 306 

307| Setup | Bagaimana |307| Setup | Bagaimana |

308| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |308| - | - |

309| IAM permissions | Berikan gateway's principal `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada inference-profile ARNs dan underlying foundation-model ARNs. Untuk built-in catalog di US regions: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` dan `arn:aws:bedrock:*::foundation-model/anthropic.*`. Juga berikan `bedrock:CountTokens` pada foundation-model ARNs. Gateway menggunakannya, tanpa biaya, untuk menghitung input tokens dari request yang client abaikan, jadi [spend limits](#admin) tetap akurat. Tanpa itu gateway fallback ke one-token Bedrock request untuk count itu. |309| IAM permissions | Berikan gateway's principal `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada inference-profile ARNs dan underlying foundation-model ARNs. Untuk built-in catalog di US regions: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` dan `arn:aws:bedrock:*::foundation-model/anthropic.*`. Juga berikan `bedrock:CountTokens` pada foundation-model ARNs. Gateway menggunakannya, tanpa biaya, untuk menghitung input tokens dari request yang client abaikan, jadi [spend limits](#admin) tetap akurat. Tanpa itu gateway fallback ke one-token Bedrock request untuk count itu. |

310| Model access | Amazon Bedrock mengaktifkan model access secara default di commercial regions. Gate tingkat account yang tersisa adalah Anthropic's one-time use case form: jika tidak ada seorang pun di AWS account Anda yang telah mengirimkannya, buka Amazon Bedrock console, pilih model Anthropic dari Model catalog, dan lengkapi form. Lihat [Submit use case details](/docs/id/amazon-bedrock#1-submit-use-case-details) untuk AWS Organizations form dan permissions yang submitter butuhkan. |310| Model access | Amazon Bedrock mengaktifkan model access secara default di commercial regions. Gate tingkat account yang tersisa adalah Anthropic's one-time use case form: jika tidak ada seorang pun di AWS account Anda yang telah mengirimkannya, buka Amazon Bedrock console, pilih model Anthropic dari Model catalog, dan lengkapi form. Lihat [Submit use case details](/docs/id/amazon-bedrock#1-submit-use-case-details) untuk AWS Organizations form dan permissions yang submitter butuhkan. |

311| EKS (IRSA) | Buat IAM role dengan policy di atas dan trust policy untuk cluster's OIDC provider yang scoped ke gateway's service account. Annotate service account dengan `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` mengambilnya. |311| EKS (IRSA) | Buat IAM role dengan policy di atas dan trust policy untuk cluster's OIDC provider yang scoped ke gateway's service account. Annotate service account dengan `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` mengambilnya. |


341Platform berjalan di akun AWS terpisah dari Amazon Bedrock dan menandatangani SigV4 requests untuk nama service-nya sendiri, `aws-external-anthropic`, jadi Bedrock-scoped IAM role tidak mengotorisasinya. API key di `auth.api_key` mengambil precedence ketika SigV4 credentials juga diatur. Empty `auth` block menggunakan AWS SDK's default credential chain, chain yang sama yang digunakan upstream [Amazon Bedrock](#amazon-bedrock).341Platform berjalan di akun AWS terpisah dari Amazon Bedrock dan menandatangani SigV4 requests untuk nama service-nya sendiri, `aws-external-anthropic`, jadi Bedrock-scoped IAM role tidak mengotorisasinya. API key di `auth.api_key` mengambil precedence ketika SigV4 credentials juga diatur. Empty `auth` block menggunakan AWS SDK's default credential chain, chain yang sama yang digunakan upstream [Amazon Bedrock](#amazon-bedrock).

342 342 

343| Field | Diperlukan | Deskripsi |343| Field | Diperlukan | Deskripsi |

344| ------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |344| - | - | - |

345| `region` | Ya | AWS region, lowercase letters, digits, dan hyphens. Gateway menurunkan endpoint darinya sebagai `https://aws-external-anthropic.<region>.api.aws`. |345| `region` | Ya | AWS region, lowercase letters, digits, dan hyphens. Gateway menurunkan endpoint darinya sebagai `https://aws-external-anthropic.<region>.api.aws`. |

346| `workspace_id` | Ya | Dikirim sebagai header pada setiap request; platform memerlukan ini |346| `workspace_id` | Ya | Dikirim sebagai header pada setiap request; platform memerlukan ini |

347| `auth.api_key` | Tidak | API key untuk platform, dikirim sebagai `x-api-key`. Bukan bearer token: dua auth modes adalah API key atau SigV4. |347| `auth.api_key` | Tidak | API key untuk platform, dikirim sebagai `x-api-key`. Bukan bearer token: dua auth modes adalah API key atau SigV4. |


373Atur `region: global` untuk menggunakan [global endpoint untuk Google Cloud's Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) daripada regional. Google kemudian route setiap request ke available region, jadi Anda tidak track per-region model availability. Menetapkan region spesifik pin setiap request ke sana.373Atur `region: global` untuk menggunakan [global endpoint untuk Google Cloud's Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) daripada regional. Google kemudian route setiap request ke available region, jadi Anda tidak track per-region model availability. Menetapkan region spesifik pin setiap request ke sana.

374 374 

375| Setup | Bagaimana |375| Setup | Bagaimana |

376| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |376| - | - |

377| IAM permissions | Berikan gateway's service account `roles/aiplatform.user` pada project, atau custom role dengan `aiplatform.endpoints.predict`. Enable Agent Platform API (`aiplatform.googleapis.com`). |377| IAM permissions | Berikan gateway's service account `roles/aiplatform.user` pada project, atau custom role dengan `aiplatform.endpoints.predict`. Enable Agent Platform API (`aiplatform.googleapis.com`). |

378| Model access | Di Model Garden, enable Claude models untuk project Anda. Mereka publish ke specific regions; check model card untuk supported regions. |378| Model access | Di Model Garden, enable Claude models untuk project Anda. Mereka publish ke specific regions; check model card untuk supported regions. |

379| GKE (Workload Identity) | Bind GCP service account ke gateway's Kubernetes service account dan annotate KSA dengan `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` mengambilnya. |379| GKE (Workload Identity) | Bind GCP service account ke gateway's Kubernetes service account dan annotate KSA dengan `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` mengambilnya. |


399`use_azure_ad: true` resolves melalui `DefaultAzureCredential`: Managed Identity pada AKS, ACI, atau App Service; Azure CLI; atau environment credentials. API keys bekerja tetapi project-wide dan tidak rotate secara otomatis. Foundry's endpoint diturunkan dari `resource:`; atur optional `base_url` untuk override untuk sovereign clouds seperti Azure Government.399`use_azure_ad: true` resolves melalui `DefaultAzureCredential`: Managed Identity pada AKS, ACI, atau App Service; Azure CLI; atau environment credentials. API keys bekerja tetapi project-wide dan tidak rotate secara otomatis. Foundry's endpoint diturunkan dari `resource:`; atur optional `base_url` untuk override untuk sovereign clouds seperti Azure Government.

400 400 

401| Setup | Bagaimana |401| Setup | Bagaimana |

402| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| - | - |

403| RBAC | Berikan gateway's identity `Azure AI User` atau `Cognitive Services User` pada Foundry resource |403| RBAC | Berikan gateway's identity `Azure AI User` atau `Cognitive Services User` pada Foundry resource |

404| Deployments | Microsoft Foundry menggunakan admin-chosen deployment names, bukan canonical model IDs. Tambahkan [`models:`](#models) block memetakan setiap canonical ID ke deployment name Anda. |404| Deployments | Microsoft Foundry menggunakan admin-chosen deployment names, bukan canonical model IDs. Tambahkan [`models:`](#models) block memetakan setiap canonical ID ke deployment name Anda. |

405| AKS (workload identity) | Federate User-Assigned Managed Identity dengan cluster's OIDC issuer dan bind ke gateway's service account. `use_azure_ad: true` mengambilnya via `WorkloadIdentityCredential`. |405| AKS (workload identity) | Federate User-Assigned Managed Identity dengan cluster's OIDC issuer dan bind ke gateway's service account. `use_azure_ad: true` mengambilnya via `WorkloadIdentityCredential`. |


439Tidak setiap request yang gateway kirim ke upstream membawanya:439Tidak setiap request yang gateway kirim ke upstream membawanya:

440 440 

441| Request yang gateway kirim ke upstream ini | Carries `headers:` |441| Request yang gateway kirim ke upstream ini | Carries `headers:` |

442| --------------------------------------------------------------------- | --------------------------------- |442| - | - |

443| `/v1/messages`, streaming atau tidak, dan `/v1/messages/count_tokens` | Ya |443| `/v1/messages`, streaming atau tidak, dan `/v1/messages/count_tokens` | Ya |

444| Request yang failover dari upstream lain | Ya, hanya `headers:` upstream ini |444| Request yang failover dari upstream lain | Ya, hanya `headers:` upstream ini |

445| Amazon Bedrock's `CountTokens` call untuk request yang client abaikan | Tidak |445| Amazon Bedrock's `CountTokens` call untuk request yang client abaikan | Tidak |


510```510```

511 511 

512| Lever | Bagaimana |512| Lever | Bagaimana |

513| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |513| - | - |

514| Different regions | Satu Bedrock upstream per region, masing-masing dengan `region:` sendiri. Dengan [`auto_include_builtin_models: true`](#models) cross-region inference profiles route secara otomatis; untuk region-pinned deployments gunakan `models:` block. |514| Different regions | Satu Bedrock upstream per region, masing-masing dengan `region:` sendiri. Dengan [`auto_include_builtin_models: true`](#models) cross-region inference profiles route secara otomatis; untuk region-pinned deployments gunakan `models:` block. |

515| Different accounts | Satu Bedrock upstream per account, masing-masing dengan credentials sendiri di `auth:`. Default chain (`auth: {}`) menggunakan pod's identity; untuk second account, atur explicit credentials atau bearer token. |515| Different accounts | Satu Bedrock upstream per account, masing-masing dengan credentials sendiri di `auth:`. Default chain (`auth: {}`) menggunakan pod's identity; untuk second account, atur explicit credentials atau bearer token. |

516| Provisioned throughput | Map model ke provisioned-throughput ARN di `models:` untuk upstream's name itu. Upstreams lainnya simpan on-demand ID, jadi PT capacity exhausted sebelum failover. |516| Provisioned throughput | Map model ke provisioned-throughput ARN di `models:` untuk upstream's name itu. Upstreams lainnya simpan on-demand ID, jadi PT capacity exhausted sebelum failover. |


548```548```

549 549 

550| Field | Diperlukan | Deskripsi |550| Field | Diperlukan | Deskripsi |

551| ------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |551| - | - | - |

552| `write_keys` | Tidak | Array dari `{id, key}`. `x-api-key` yang cocok dengan salah satu ini dapat list, set, dan delete spend limits. Nilai key harus minimal 32 karakter; `id`s harus unik di seluruh `read_keys` dan `write_keys`. |552| `write_keys` | Tidak | Array dari `{id, key}`. `x-api-key` yang cocok dengan salah satu ini dapat list, set, dan delete spend limits. Nilai key harus minimal 32 karakter; `id`s harus unik di seluruh `read_keys` dan `write_keys`. |

553| `read_keys` | Tidak | Array dari `{id, key}`. Read-only: setiap endpoint `GET`, termasuk listing caps, mengambil satu berdasarkan ID, dan membaca [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) dan [`/audit`](/docs/id/claude-apps-gateway-spend-limits#%2Faudit). |553| `read_keys` | Tidak | Array dari `{id, key}`. Read-only: setiap endpoint `GET`, termasuk listing caps, mengambil satu berdasarkan ID, dan membaca [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) dan [`/audit`](/docs/id/claude-apps-gateway-spend-limits#%2Faudit). |

554| `admin_groups` | Tidak | Nama grup IdP. JWT gateway yang klaim `groups`-nya mencakup salah satu ini memiliki akses admin penuh, read dan write, dan audit sebagai `oidc:<sub>`. Gunakan ini untuk admin manusia; gunakan API keys untuk mesin. Entri kosong dalam daftar ini menghentikan gateway saat boot. Lihat [Matcher values that stop the gateway at boot](#matcher-values-that-stop-the-gateway-at-boot). |554| `admin_groups` | Tidak | Nama grup IdP. JWT gateway yang klaim `groups`-nya mencakup salah satu ini memiliki akses admin penuh, read dan write, dan audit sebagai `oidc:<sub>`. Gunakan ini untuk admin manusia; gunakan API keys untuk mesin. Entri kosong dalam daftar ini menghentikan gateway saat boot. Lihat [Matcher values that stop the gateway at boot](#matcher-values-that-stop-the-gateway-at-boot). |


565Blok `enforcement` mengontrol bagaimana pemeriksaan spend-limit berperilaku ketika store tidak tersedia.565Blok `enforcement` mengontrol bagaimana pemeriksaan spend-limit berperilaku ketika store tidak tersedia.

566 566 

567| Field | Diperlukan | Deskripsi |567| Field | Diperlukan | Deskripsi |

568| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |568| - | - | - |

569| `fail_closed_on_error` | Tidak | Default `false`. Enforcement spend gagal terbuka pada pemadaman Postgres, jadi inference tetap aktif. Atur `true` untuk gagal tertutup: developer yang over-cap diblokir, tetapi begitu juga semua orang jika store tidak dapat dijangkau. Memerlukan blok [`admin:`](#admin): enforcement spend hanya berjalan ketika `admin` dikonfigurasi, dan gateway menolak untuk memulai jika Anda mengatur ini `true` tanpa satu. |569| `fail_closed_on_error` | Tidak | Default `false`. Enforcement spend gagal terbuka pada pemadaman Postgres, jadi inference tetap aktif. Atur `true` untuk gagal tertutup: developer yang over-cap diblokir, tetapi begitu juga semua orang jika store tidak dapat dijangkau. Memerlukan blok [`admin:`](#admin): enforcement spend hanya berjalan ketika `admin` dikonfigurasi, dan gateway menolak untuk memulai jika Anda mengatur ini `true` tanpa satu. |

570 570 

571<h3 id="pricing">571<h3 id="pricing">


590```590```

591 591 

592| Field | Diperlukan | Deskripsi |592| Field | Diperlukan | Deskripsi |

593| ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |593| - | - | - |

594| `multiplier` | Tidak | Default `1`. Meter mengalikan setiap jumlah yang diukur dengan ini, baik harga list atau override, jadi `0.85` menagih 85% dari harga. Harus lebih besar dari 0 dan paling banyak 10, dan nilai di atas 1 adalah [markup](#mark-prices-up). |594| `multiplier` | Tidak | Default `1`. Meter mengalikan setiap jumlah yang diukur dengan ini, baik harga list atau override, jadi `0.85` menagih 85% dari harga. Harus lebih besar dari 0 dan paling banyak 10, dan nilai di atas 1 adalah [markup](#mark-prices-up). |

595| `overrides` | Tidak | Baris dari `{upstream, model, input, output, cache_read, cache_write}` dalam USD per juta token. Keempat tarif diperlukan. Masing-masing harus lebih besar dari 0 dan paling banyak 10000. |595| `overrides` | Tidak | Baris dari `{upstream, model, input, output, cache_read, cache_write}` dalam USD per juta token. Keempat tarif diperlukan. Masing-masing harus lebih besar dari 0 dan paling banyak 10000. |

596 596 


687* Ketika nilai ada tetapi bukan string, gateway menolak permintaan dengan pesan `model must be a string`. Memerlukan gateway yang menjalankan Claude Code v2.1.221 atau lebih baru.687* Ketika nilai ada tetapi bukan string, gateway menolak permintaan dengan pesan `model must be a string`. Memerlukan gateway yang menjalankan Claude Code v2.1.221 atau lebih baru.

688 688 

689| Matcher | Perilaku |689| Matcher | Perilaku |

690| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |690| - | - |

691| `match: {}` | Cocok dengan setiap pengguna yang terautentikasi. Mulai dengan satu ini dan tambahkan kebijakan yang dibatasi grup di atasnya nanti. |691| `match: {}` | Cocok dengan setiap pengguna yang terautentikasi. Mulai dengan satu ini dan tambahkan kebijakan yang dibatasi grup di atasnya nanti. |

692| `match: { groups: [a, b] }` | Cocok jika klaim `groups` JWT berisi salah satu grup yang terdaftar. Case-sensitive: grup harus cocok dengan casing yang tepat dari IdP. |692| `match: { groups: [a, b] }` | Cocok jika klaim `groups` JWT berisi salah satu grup yang terdaftar. Case-sensitive: grup harus cocok dengan casing yang tepat dari IdP. |

693| `match: { email_domain: example.com }` | Cocok dengan bagian setelah `@` terakhir dalam klaim `email` JWT, case-insensitive. Menerima satu domain per kebijakan. |693| `match: { email_domain: example.com }` | Cocok dengan bagian setelah `@` terakhir dalam klaim `email` JWT, case-insensitive. Menerima satu domain per kebijakan. |


769```769```

770 770 

771| Key | Ditegakkan oleh | Efek |771| Key | Ditegakkan oleh | Efek |

772| ------------------------------------------ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |772| - | - | - |

773| `availableModels` | Gateway + CLI | Allowlist model. Juga diperiksa di `/v1/messages`, jadi klien yang dipatch tidak dapat membypassnya. |773| `availableModels` | Gateway + CLI | Allowlist model. Juga diperiksa di `/v1/messages`, jadi klien yang dipatch tidak dapat membypassnya. |

774| `permissions.allow` / `.deny` | CLI | Aturan tool dan command. Lihat [Permissions](/docs/id/permissions). |774| `permissions.allow` / `.deny` | CLI | Aturan tool dan command. Lihat [Permissions](/docs/id/permissions). |

775| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang melewati prompt permission, dan flag `--dangerously-skip-permissions` |775| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang melewati prompt permission, dan flag `--dangerously-skip-permissions` |


1008Empat blok tingkat atas opsional, `access_control`, `limits`, `timeouts`, dan `rate_limits`, menyetel permukaan HTTP. Default cocok untuk sebagian besar deployment.1008Empat blok tingkat atas opsional, `access_control`, `limits`, `timeouts`, dan `rate_limits`, menyetel permukaan HTTP. Default cocok untuk sebagian besar deployment.

1009 1009 

1010| Block | Key | Default | Deskripsi |1010| Block | Key | Default | Deskripsi |

1011| ---------------- | ---------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1011| - | - | - | - |

1012| `access_control` | `allow_cidrs` / `deny_cidrs` | empty | Inbound IP allow/deny berdasarkan alamat klien, setelah resolusi `trusted_proxies`. `deny_cidrs` diperiksa terlebih dahulu; klien yang cocok ditolak bahkan jika `allow_cidrs` juga cocok. Jika `allow_cidrs` non-empty gateway adalah default-deny. `/healthz` dan `/readyz` dikecualikan dari `allow_cidrs`. Ketika proxy terpercaya mengirim entri `X-Forwarded-For` yang bukan alamat IP, klien nyata tidak diketahui dan gateway mencatat peringatan sekali yang menamai apa yang harus diperiksa. Di mana daftar apa pun berlaku untuk permintaan, itu menolaknya dengan `403` dan alasan audit `xff_unparseable`. Di mana tidak ada yang berlaku, itu melayani permintaan dan menggunakan alamat proxy sendiri sebagai IP klien untuk rate limits per-IP dan audit. |1012| `access_control` | `allow_cidrs` / `deny_cidrs` | empty | Inbound IP allow/deny berdasarkan alamat klien, setelah resolusi `trusted_proxies`. `deny_cidrs` diperiksa terlebih dahulu; klien yang cocok ditolak bahkan jika `allow_cidrs` juga cocok. Jika `allow_cidrs` non-empty gateway adalah default-deny. `/healthz` dan `/readyz` dikecualikan dari `allow_cidrs`. Ketika proxy terpercaya mengirim entri `X-Forwarded-For` yang bukan alamat IP, klien nyata tidak diketahui dan gateway mencatat peringatan sekali yang menamai apa yang harus diperiksa. Di mana daftar apa pun berlaku untuk permintaan, itu menolaknya dengan `403` dan alasan audit `xff_unparseable`. Di mana tidak ada yang berlaku, itu melayani permintaan dan menggunakan alamat proxy sendiri sebagai IP klien untuk rate limits per-IP dan audit. |

1013| `limits` | `max_request_bytes` | 32 MiB | Max inbound request body; permintaan yang terlalu besar mendapat `413` sebelum body dibuffer. Naikkan untuk permintaan file atau gambar besar. |1013| `limits` | `max_request_bytes` | 32 MiB | Max inbound request body; permintaan yang terlalu besar mendapat `413` sebelum body dibuffer. Naikkan untuk permintaan file atau gambar besar. |

1014| `limits` | `max_request_header_bytes` | unset | Ketika diatur, header yang terlalu besar mengembalikan `431` |1014| `limits` | `max_request_header_bytes` | unset | Ketika diatur, header yang terlalu besar mengembalikan `431` |


1046```1046```

1047 1047 

1048| Field | Diperlukan | Deskripsi |1048| Field | Diperlukan | Deskripsi |

1049| --------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1049| - | - | - |

1050| `enabled` | Ya | `true` mengaktifkan mode. `false` menyimpan angka Anda dalam file dengan mode off. Gateway menolak untuk memulai jika blok ada tanpa itu. |1050| `enabled` | Ya | `true` mengaktifkan mode. `false` menyimpan angka Anda dalam file dengan mode off. Gateway menolak untuk memulai jika blok ada tanpa itu. |

1051| `reply_tokens` | Tidak | Default `750`. Kira-kira berapa banyak token teks yang setiap respons kaleng bawa, angka bulat dari 1 hingga 100000. |1051| `reply_tokens` | Tidak | Default `750`. Kira-kira berapa banyak token teks yang setiap respons kaleng bawa, angka bulat dari 1 hingga 100000. |

1052| `reply_seconds` | Tidak | Default `9.5`. Berapa lama respons yang di-stream memakan waktu, dari 0 hingga 600. `0` mengirimkan seluruh respons sekaligus. Respons terhadap permintaan non-streaming selalu kembali sekaligus. |1052| `reply_seconds` | Tidak | Default `9.5`. Berapa lama respons yang di-stream memakan waktu, dari 0 hingga 600. `0` mengirimkan seluruh respons sekaligus. Respons terhadap permintaan non-streaming selalu kembali sekaligus. |

Details

240Gateway menyimpan lima tabel data ditambah tabel `_migrations`, semuanya dibuat oleh migrasi waktu boot-nya:240Gateway menyimpan lima tabel data ditambah tabel `_migrations`, semuanya dibuat oleh migrasi waktu boot-nya:

241 241 

242| Tabel | Isi | Retensi |242| Tabel | Isi | Retensi |

243| ------------------ | --------------------------------------------------------------------------------- | -------------------------------------------------------------------- |243| - | - | - |

244| `kv` | Hibah perangkat (TTL 10 menit) dan penghitung batas laju | TTL per baris |244| `kv` | Hibah perangkat (TTL 10 menit) dan penghitung batas laju | TTL per baris |

245| `spend` | Penghitung pengeluaran periode-ke-tanggal per-principal, dalam sen | `admin.spend_retention_months`, default 13 |245| `spend` | Penghitung pengeluaran periode-ke-tanggal per-principal, dalam sen | `admin.spend_retention_months`, default 13 |

246| `spend_limits` | Batas pengeluaran yang dikonfigurasi | Sampai dihapus melalui API |246| `spend_limits` | Batas pengeluaran yang dikonfigurasi | Sampai dihapus melalui API |


288</h3>288</h3>

289 289 

290| Data | Jalur | Dikirim ke Anthropic oleh gateway |290| Data | Jalur | Dikirim ke Anthropic oleh gateway |

291| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |291| - | - | - |

292| Inferensi (prompt, penyelesaian) | CLI → gateway → upstream Anda | Hanya jika API Anthropic adalah upstream yang dikonfigurasi |292| Inferensi (prompt, penyelesaian) | CLI → gateway → upstream Anda | Hanya jika API Anthropic adalah upstream yang dikonfigurasi |

293| Telemetri (metrik OTLP, ditambah [log dan jejak opt-in](/docs/id/claude-apps-gateway-config#telemetry)) | CLI → gateway → kolektor Anda | Tidak pernah |293| Telemetri (metrik OTLP, ditambah [log dan jejak opt-in](/docs/id/claude-apps-gateway-config#telemetry)) | CLI → gateway → kolektor Anda | Tidak pernah |

294| Identitas (email, grup, sub) | IdP → gateway → JWT → CLI; CLI memberi stempel pada ekspor OTLP. Jika Anda mengaktifkan [`forward_user_identity`](/docs/id/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), gateway juga mengirimkan email pengembang dan subjek IdP sebagai header ke proxy Anda | Tidak pernah |294| Identitas (email, grup, sub) | IdP → gateway → JWT → CLI; CLI memberi stempel pada ekspor OTLP. Jika Anda mengaktifkan [`forward_user_identity`](/docs/id/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), gateway juga mengirimkan email pengembang dan subjek IdP sebagai header ke proxy Anda | Tidak pernah |


352Stderr gateway mencakup aliran acara audit, log audit mencatat identitas pengembang, dan file debug mencatat output hook dan server MCP dari mesin pengembang. Tinjau dan redaksi ini sebelum memposting ke issue publik.352Stderr gateway mencakup aliran acara audit, log audit mencatat identitas pengembang, dan file debug mencatat output hook dan server MCP dari mesin pengembang. Tinjau dan redaksi ini sebelum memposting ke issue publik.

353 353 

354| Gejala | Penyebab | Perbaikan |354| Gejala | Penyebab | Perbaikan |

355| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |355| - | - | - |

356| `/login` pengembang menampilkan pemilih akun standar bukan layar **Cloud gateway** | `forceLoginMethod` atau `forceLoginGatewayUrl` tidak diatur dalam pengaturan terkelola pada mesin itu | Sebarkan [file pengaturan terkelola](/docs/id/claude-apps-gateway#set-the-gateway-url) ke perangkat; `/login` membaca URL gateway dari sana |356| `/login` pengembang menampilkan pemilih akun standar bukan layar **Cloud gateway** | `forceLoginMethod` atau `forceLoginGatewayUrl` tidak diatur dalam pengaturan terkelola pada mesin itu | Sebarkan [file pengaturan terkelola](/docs/id/claude-apps-gateway#set-the-gateway-url) ke perangkat; `/login` membaca URL gateway dari sana |

357| Permintaan pengembang gagal dengan `Not signed in to the Cloud gateway — run /login.` | Pengaturan terkelola mesin menetapkan `forceLoginMethod: "gateway"` atau `forceLoginGatewayUrl`, dan sesi tidak memiliki masuk gateway. Login claude.ai yang tersisa tidak memenuhi persyaratan. | Minta pengembang menjalankan `/login` dan menyelesaikan masuk gateway. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |357| Permintaan pengembang gagal dengan `Not signed in to the Cloud gateway — run /login.` | Pengaturan terkelola mesin menetapkan `forceLoginMethod: "gateway"` atau `forceLoginGatewayUrl`, dan sesi tidak memiliki masuk gateway. Login claude.ai yang tersisa tidak memenuhi persyaratan. | Minta pengembang menjalankan `/login` dan menyelesaikan masuk gateway. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

358| Claude Desktop melaporkan bahwa konfigurasi bootstrap-nya tidak dapat diambil | `/user/bootstrap` mengembalikan 404: kebijakan yang cocok dengan pengguna tidak membawa kunci `desktop`, atau tidak ada kebijakan yang cocok. Log audit gateway mencatat setiap penolakan sebagai `desktop_bootstrap.denied` dengan alasannya. | Tambahkan blok `desktop` ke kebijakan yang cocok dengan pengguna, atau ke lapisan dasar `match: {}`; `desktop: {}` kosong sudah cukup. Lihat [overlay Claude Desktop](/docs/id/claude-apps-gateway-config#claude-desktop-overlay). |358| Claude Desktop melaporkan bahwa konfigurasi bootstrap-nya tidak dapat diambil | `/user/bootstrap` mengembalikan 404: kebijakan yang cocok dengan pengguna tidak membawa kunci `desktop`, atau tidak ada kebijakan yang cocok. Log audit gateway mencatat setiap penolakan sebagai `desktop_bootstrap.denied` dengan alasannya. | Tambahkan blok `desktop` ke kebijakan yang cocok dengan pengguna, atau ke lapisan dasar `match: {}`; `desktop: {}` kosong sudah cukup. Lihat [overlay Claude Desktop](/docs/id/claude-apps-gateway-config#claude-desktop-overlay). |

Details

498Untuk boot gateway dan kesalahan login, lihat tabel [troubleshooting](/docs/id/claude-apps-gateway-deploy#troubleshooting) yang tidak bergantung pada platform. Entri di bawah khusus untuk AWS.498Untuk boot gateway dan kesalahan login, lihat tabel [troubleshooting](/docs/id/claude-apps-gateway-deploy#troubleshooting) yang tidak bergantung pada platform. Entri di bawah khusus untuk AWS.

499 499 

500| Gejala | Penyebab | Perbaikan |500| Gejala | Penyebab | Perbaikan |

501| ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |501| - | - | - |

502| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Nama gateway diselesaikan ke setidaknya satu alamat publik. ALB dual-stack internal menerbitkan catatan AAAA jangkauan publik, dan [pemeriksaan jaringan pribadi](/docs/id/claude-apps-gateway#prerequisites) memerlukan setiap alamat yang diselesaikan menjadi pribadi | Buat ALB dengan `--ip-address-type ipv4`, atau layani nama DNS internal-only terpisah tanpa catatan AAAA publik |502| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Nama gateway diselesaikan ke setidaknya satu alamat publik. ALB dual-stack internal menerbitkan catatan AAAA jangkauan publik, dan [pemeriksaan jaringan pribadi](/docs/id/claude-apps-gateway#prerequisites) memerlukan setiap alamat yang diselesaikan menjadi pribadi | Buat ALB dengan `--ip-address-type ipv4`, atau layani nama DNS internal-only terpisah tanpa catatan AAAA publik |

503| Setiap permintaan Bedrock mengembalikan 502; log menunjukkan `Could not load credentials from any providers` | Tugas berjalan pada jenis peluncuran ECS EC2 tanpa peran tugas, atau pod berjalan pada node EKS tanpa IRSA, jadi kredensial berasal dari metadata instans, yang batas hop default IMDSv2 sebesar 1 berhenti di dalam kontainer. Tidak ada trek di halaman ini yang terpengaruh: peran tugas Fargate dan IRSA tidak menggunakan metadata instans | Lebih suka peran tugas dan IRSA. Jika kredensial instans tidak dapat dihindari, naikkan batas hop dengan `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`; [tabel tidak bergantung pada platform](/docs/id/claude-apps-gateway-deploy#troubleshooting) mencakup tradeoff |503| Setiap permintaan Bedrock mengembalikan 502; log menunjukkan `Could not load credentials from any providers` | Tugas berjalan pada jenis peluncuran ECS EC2 tanpa peran tugas, atau pod berjalan pada node EKS tanpa IRSA, jadi kredensial berasal dari metadata instans, yang batas hop default IMDSv2 sebesar 1 berhenti di dalam kontainer. Tidak ada trek di halaman ini yang terpengaruh: peran tugas Fargate dan IRSA tidak menggunakan metadata instans | Lebih suka peran tugas dan IRSA. Jika kredensial instans tidak dapat dihindari, naikkan batas hop dengan `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`; [tabel tidak bergantung pada platform](/docs/id/claude-apps-gateway-deploy#troubleshooting) mencakup tradeoff |

504| Permintaan Bedrock mengembalikan `403 AccessDeniedException` | Akun belum mengirimkan formulir kasus penggunaan Anthropic satu kali, langganan AWS Marketplace otomatis yang dimulai pada invoke pertama akun belum selesai, atau kebijakan peran tugas kehilangan ARN profil inferensi atau model dasar | Kirimkan formulir kasus penggunaan dari katalog Model konsol Bedrock; jika baru saja dikirimkan atau ini adalah invoke pertama akun, coba lagi setelah beberapa menit. Berikan `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada kedua keluarga ARN. |504| Permintaan Bedrock mengembalikan `403 AccessDeniedException` | Akun belum mengirimkan formulir kasus penggunaan Anthropic satu kali, langganan AWS Marketplace otomatis yang dimulai pada invoke pertama akun belum selesai, atau kebijakan peran tugas kehilangan ARN profil inferensi atau model dasar | Kirimkan formulir kasus penggunaan dari katalog Model konsol Bedrock; jika baru saja dikirimkan atau ini adalah invoke pertama akun, coba lagi setelah beberapa menit. Berikan `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada kedua keluarga ARN. |

Details

151 Atur `trusted_proxies` agar sesuai dengan front end Anda. GKE Ingress eksternal dari kelas `gce` tidak terdaftar: ini menyediakan alamat forwarding-rule publik, yang pemeriksaan [jaringan pribadi](/docs/id/claude-apps-gateway#prerequisites) `/login` menolak.151 Atur `trusted_proxies` agar sesuai dengan front end Anda. GKE Ingress eksternal dari kelas `gce` tidak terdaftar: ini menyediakan alamat forwarding-rule publik, yang pemeriksaan [jaringan pribadi](/docs/id/claude-apps-gateway#prerequisites) `/login` menolak.

152 152 

153 | Front end | `trusted_proxies` |153 | Front end | `trusted_proxies` |

154 | ----------------------------------------------------- | ----------------------------------------------------- |154 | - | - |

155 | Cloud Run dijangkau langsung, tidak ada load balancer | `[169.254.0.0/16]` |155 | Cloud Run dijangkau langsung, tidak ada load balancer | `[169.254.0.0/16]` |

156 | Internal Application Load Balancer di depan Cloud Run | `169.254.0.0/16` ditambah CIDR subnet proxy-only Anda |156 | Internal Application Load Balancer di depan Cloud Run | `169.254.0.0/16` ditambah CIDR subnet proxy-only Anda |

157 | GKE internal Ingress, kelas `gce-internal` | CIDR subnet proxy-only Anda |157 | GKE internal Ingress, kelas `gce-internal` | CIDR subnet proxy-only Anda |


196 Buat empat rahasia dan berikan `roles/secretmanager.secretAccessor` ke service account `claude-gateway`:196 Buat empat rahasia dan berikan `roles/secretmanager.secretAccessor` ke service account `claude-gateway`:

197 197 

198 | Rahasia | Sumber |198 | Rahasia | Sumber |

199 | ---------------------------- | ---------------------------------------------- |199 | - | - |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth client |201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth client |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` dari langkah Cloud SQL |202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` dari langkah Cloud SQL |


313Untuk boot gateway dan kesalahan login, lihat tabel [troubleshooting](/docs/id/claude-apps-gateway-deploy#troubleshooting) yang tidak bergantung pada platform. Entri di bawah khusus untuk Google Cloud.313Untuk boot gateway dan kesalahan login, lihat tabel [troubleshooting](/docs/id/claude-apps-gateway-deploy#troubleshooting) yang tidak bergantung pada platform. Entri di bawah khusus untuk Google Cloud.

314 314 

315| Gejala | Penyebab | Perbaikan |315| Gejala | Penyebab | Perbaikan |

316| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| - | - | - |

317| Cloud Run mengembalikan `403 Forbidden` sebelum mencapai kontainer | Pemeriksaan IAM invoker masih diaktifkan | Terapkan dengan `--no-invoker-iam-check`, atau berikan peran `run.invoker` kepada `allUsers` dengan `--allow-unauthenticated` |317| Cloud Run mengembalikan `403 Forbidden` sebelum mencapai kontainer | Pemeriksaan IAM invoker masih diaktifkan | Terapkan dengan `--no-invoker-iam-check`, atau berikan peran `run.invoker` kepada `allUsers` dengan `--allow-unauthenticated` |

318| `--no-invoker-iam-check` ditolak dengan `invoker_iam_disabled is not currently available` | Diblokir oleh `constraints/run.managed.requireInvokerIam` | Gunakan `--allow-unauthenticated`. Jika Domain Restricted Sharing melalui `constraints/iam.allowedPolicyMemberDomains` juga memblokir itu, gunakan jalur GKE, yang mengekspos gateway di lapisan jaringan tanpa ikatan `allUsers`. |318| `--no-invoker-iam-check` ditolak dengan `invoker_iam_disabled is not currently available` | Diblokir oleh `constraints/run.managed.requireInvokerIam` | Gunakan `--allow-unauthenticated`. Jika Domain Restricted Sharing melalui `constraints/iam.allowedPolicyMemberDomains` juga memblokir itu, gunakan jalur GKE, yang mengekspos gateway di lapisan jaringan tanpa ikatan `allUsers`. |

319| `Container manifest type … must support amd64/linux` saat penyebaran | Gambar dibangun di host non-amd64, atau buildx memancarkan indeks gambar OCI | Bangun dengan `--platform=linux/amd64 --provenance=false` |319| `Container manifest type … must support amd64/linux` saat penyebaran | Gambar dibangun di host non-amd64, atau buildx memancarkan indeks gambar OCI | Bangun dengan `--platform=linux/amd64 --provenance=false` |

Details

35```35```

36 36 

37| Bidang | Nilai | Deskripsi |37| Bidang | Nilai | Deskripsi |

38| ------------ | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| - | - | - |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` menargetkan satu pengembang berdasarkan OpenID Connect (OIDC) `sub` mereka, ID pengguna stabil yang ditetapkan penyedia identitas Anda; teruskan sebagai `scope.user_id`. `rbac_group` menargetkan [grup IdP](/docs/id/claude-apps-gateway-config#managed) berdasarkan nama; teruskan sebagai `scope.rbac_group_id`. `organization` adalah default seluruh organisasi. Gateway menerima ketiganya; `POST` publik Anthropic hanya untuk pengguna hari ini. |39| `scope.type` | `user`, `rbac_group`, `organization` | `user` menargetkan satu pengembang berdasarkan OpenID Connect (OIDC) `sub` mereka, ID pengguna stabil yang ditetapkan penyedia identitas Anda; teruskan sebagai `scope.user_id`. `rbac_group` menargetkan [grup IdP](/docs/id/claude-apps-gateway-config#managed) berdasarkan nama; teruskan sebagai `scope.rbac_group_id`. `organization` adalah default seluruh organisasi. Gateway menerima ketiganya; `POST` publik Anthropic hanya untuk pengguna hari ini. |

40| `amount` | String angka keseluruhan sen USD, atau `null` | `null` tidak terbatas. `"0"` adalah batas nol, yang memblokir setiap permintaan. |40| `amount` | String angka keseluruhan sen USD, atau `null` | `null` tidak terbatas. `"0"` adalah batas nol, yang memblokir setiap permintaan. |

41| `period` | `daily`, `weekly`, `monthly` | Ruang lingkup dapat menahan satu batas per periode, dan masing-masing memberlakukan secara independen: pengembang diblokir jika melampaui salah satu dari mereka. |41| `period` | `daily`, `weekly`, `monthly` | Ruang lingkup dapat menahan satu batas per periode, dan masing-masing memberlakukan secara independen: pengembang diblokir jika melampaui salah satu dari mereka. |


108Titik akhir di bawah ini disajikan di bawah `/v1/organizations/spend_limits`.108Titik akhir di bawah ini disajikan di bawah `/v1/organizations/spend_limits`.

109 109 

110| Metode dan jalur | Deskripsi |110| Metode dan jalur | Deskripsi |

111| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |111| - | - |

112| `GET /v1/organizations/spend_limits` | Daftar batas yang dikonfigurasi, secara opsional disaring ke satu `scope_type` dari `organization`, `rbac_group`, atau `user`. Kueri: `?limit=&after_id=&before_id=&scope_type=`. |112| `GET /v1/organizations/spend_limits` | Daftar batas yang dikonfigurasi, secara opsional disaring ke satu `scope_type` dari `organization`, `rbac_group`, atau `user`. Kueri: `?limit=&after_id=&before_id=&scope_type=`. |

113| `POST /v1/organizations/spend_limits` | Buat atau ganti batas untuk `{scope, period}`. |113| `POST /v1/organizations/spend_limits` | Buat atau ganti batas untuk `{scope, period}`. |

114| `GET /v1/organizations/spend_limits/{id}` | Ambil satu batas berdasarkan ID dengan awalan `spl_`. |114| `GET /v1/organizations/spend_limits/{id}` | Ambil satu batas berdasarkan ID dengan awalan `spl_`. |


142Batas bersumber grup diselesaikan terhadap grup terakhir terlihat dengan tie-break `group_limit_mode` yang sama yang digunakan penegakan, jadi penampil menunjukkan batas yang benar-benar berlaku.142Batas bersumber grup diselesaikan terhadap grup terakhir terlihat dengan tie-break `group_limit_mode` yang sama yang digunakan penegakan, jadi penampil menunjukkan batas yang benar-benar berlaku.

143 143 

144| Parameter kueri | Deskripsi |144| Parameter kueri | Deskripsi |

145| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |145| - | - |

146| `user_ids[]` | Dapat diulang. Filter ke prinsipal spesifik berdasarkan OIDC `sub`. |146| `user_ids[]` | Dapat diulang. Filter ke prinsipal spesifik berdasarkan OIDC `sub`. |

147| `period[]` | Dapat diulang. Filter ke baris `daily`, `weekly`, atau `monthly`. |147| `period[]` | Dapat diulang. Filter ke baris `daily`, `weekly`, atau `monthly`. |

148| `sort` | `spend_desc` mencantumkan pengguna teratas terlebih dahulu. Memerlukan tepat satu `period[]`. |148| `sort` | `spend_desc` mencantumkan pengguna teratas terlebih dahulu. Memerlukan tepat satu `period[]`. |


172Gateway menyimpan empat tabel terkait pengeluaran; sapuan per jam memberlakukan jendela retensi:172Gateway menyimpan empat tabel terkait pengeluaran; sapuan per jam memberlakukan jendela retensi:

173 173 

174| Tabel | Isi | Retensi |174| Tabel | Isi | Retensi |

175| ------------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |175| - | - | - |

176| `spend` | Penghitung periode-ke-tanggal per-prinsipal dalam sen | [`admin.spend_retention_months`](/docs/id/claude-apps-gateway-config#admin), default 13 |176| `spend` | Penghitung periode-ke-tanggal per-prinsipal dalam sen | [`admin.spend_retention_months`](/docs/id/claude-apps-gateway-config#admin), default 13 |

177| `spend_limits` | Batas yang dikonfigurasi | Sampai dihapus melalui API |177| `spend_limits` | Batas yang dikonfigurasi | Sampai dihapus melalui API |

178| `admin_audit` | Jejak mutasi | [`admin.audit_retention_days`](/docs/id/claude-apps-gateway-config#admin), default 365 |178| `admin_audit` | Jejak mutasi | [`admin.audit_retention_days`](/docs/id/claude-apps-gateway-config#admin), default 365 |

Details

53Sesi cloud memerlukan akses ke repositori GitHub Anda untuk mengkloning kode dan mendorong cabang. Anda dapat memberikan akses dengan dua cara:53Sesi cloud memerlukan akses ke repositori GitHub Anda untuk mengkloning kode dan mendorong cabang. Anda dapat memberikan akses dengan dua cara:

54 54 

55| Metode | Cara Anda terhubung | Repositori yang dapat dijangkau sesi | Terbaik untuk |55| Metode | Cara Anda terhubung | Repositori yang dapat dijangkau sesi | Terbaik untuk |

56| :--------------- | :-------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |56| :- | :- | :- | :- |

57| **GitHub App** | Otorisasi Claude GitHub App selama [onboarding web](/docs/id/web-quickstart) | Repositori publik apa pun, dan repositori pribadi tempat Claude GitHub App diinstal | Onboarding browser; tim yang menginginkan [Auto-fix](#auto-fix-pull-requests) |57| **GitHub App** | Otorisasi Claude GitHub App selama [onboarding web](/docs/id/web-quickstart) | Repositori publik apa pun, dan repositori pribadi tempat Claude GitHub App diinstal | Onboarding browser; tim yang menginginkan [Auto-fix](#auto-fix-pull-requests) |

58| **`/web-setup`** | Jalankan `/web-setup` di terminal Anda untuk mengirim token CLI `gh` lokal Anda ke akun Claude Anda | Repositori apa pun yang dapat diakses token `gh` Anda, terlepas dari apakah App diinstal atau tidak | Pengembang individual yang sudah menggunakan `gh` |58| **`/web-setup`** | Jalankan `/web-setup` di terminal Anda untuk mengirim token CLI `gh` lokal Anda ke akun Claude Anda | Repositori apa pun yang dapat diakses token `gh` Anda, terlepas dari apakah App diinstal atau tidak | Pengembang individual yang sudah menggunakan `gh` |

59 59 


187CLI memberi awalan kesalahan dengan `Error: `. Pengiriman yang gagal dibungkus sebagai `failed to send message to cloud session <id>: <reason>`.187CLI memberi awalan kesalahan dengan `Error: `. Pengiriman yang gagal dibungkus sebagai `failed to send message to cloud session <id>: <reason>`.

188 188 

189| Pesan | Artinya |189| Pesan | Artinya |

190| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |190| - | - |

191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code dikonfigurasi untuk penyedia pihak ketiga. Pesan menyebutkan penyedia dengan label yang digunakan konfigurasi Anda, seperti `Amazon Bedrock` atau `Google Vertex AI`. Hapus konfigurasi penyedia itu, misalnya dengan membatalkan pengaturan `CLAUDE_CODE_USE_BEDROCK`, dan masuk dengan akun Anthropic (`claude auth login`). |191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code dikonfigurasi untuk penyedia pihak ketiga. Pesan menyebutkan penyedia dengan label yang digunakan konfigurasi Anda, seperti `Amazon Bedrock` atau `Google Vertex AI`. Hapus konfigurasi penyedia itu, misalnya dengan membatalkan pengaturan `CLAUDE_CODE_USE_BEDROCK`, dan masuk dengan akun Anthropic (`claude auth login`). |

192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | Kebijakan organisasi `allow_remote_sessions` mati. |192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | Kebijakan organisasi `allow_remote_sessions` mati. |

193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code tidak dapat mengambil kebijakan organisasi Anda, jadi menolak pengiriman daripada menganggap sesi cloud diizinkan. Periksa koneksi jaringan Anda dan coba lagi. |193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code tidak dapat mengambil kebijakan organisasi Anda, jadi menolak pengiriman daripada menganggap sesi cloud diizinkan. Periksa koneksi jaringan Anda dan coba lagi. |


218Teleport memeriksa persyaratan ini sebelum melanjutkan sesi. Jika ada persyaratan yang tidak terpenuhi, Anda akan melihat kesalahan atau diminta untuk menyelesaikan masalah.218Teleport memeriksa persyaratan ini sebelum melanjutkan sesi. Jika ada persyaratan yang tidak terpenuhi, Anda akan melihat kesalahan atau diminta untuk menyelesaikan masalah.

219 219 

220| Persyaratan | Detail |220| Persyaratan | Detail |

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

222| Status git bersih | Direktori kerja Anda tidak boleh memiliki perubahan yang tidak dicommit. Teleport meminta Anda untuk menyimpan perubahan jika diperlukan. |222| Status git bersih | Direktori kerja Anda tidak boleh memiliki perubahan yang tidak dicommit. Teleport meminta Anda untuk menyimpan perubahan jika diperlukan. |

223| Repositori yang benar | Anda harus menjalankan `--teleport` dari checkout repositori yang sama, bukan fork. Jika Anda menjalankannya dari checkout repositori yang berbeda, Claude Code menampilkan kesalahan yang menyebutkan repositori sesi dan checkout Anda. Sebelum v2.1.219, kesalahan tidak menyebutkan repositori checkout Anda. Jika Claude Code tidak dapat mengurai remote Anda menjadi nama host, misalnya alias host SSH seperti `git@work:owner/repo.git`, Claude Code meminta Anda untuk mengonfirmasi, dan menerima checkout ketika pemilik remote dan nama repositori cocok dengan repositori sesi. |223| Repositori yang benar | Anda harus menjalankan `--teleport` dari checkout repositori yang sama, bukan fork. Jika Anda menjalankannya dari checkout repositori yang berbeda, Claude Code menampilkan kesalahan yang menyebutkan repositori sesi dan checkout Anda. Sebelum v2.1.219, kesalahan tidak menyebutkan repositori checkout Anda. Jika Claude Code tidak dapat mengurai remote Anda menjadi nama host, misalnya alias host SSH seperti `git@work:owner/repo.git`, Claude Code meminta Anda untuk mengonfirmasi, dan menerima checkout ketika pemilik remote dan nama repositori cocok dengan repositori sesi. |

224| Cabang tersedia | Cabang dari sesi cloud harus telah didorong ke remote. Teleport secara otomatis mengambil dan checkout. |224| Cabang tersedia | Cabang dari sesi cloud harus telah didorong ke remote. Teleport secara otomatis mengambil dan checkout. |


257Untuk manajemen konteks secara khusus:257Untuk manajemen konteks secara khusus:

258 258 

259| Perintah | Berfungsi di sesi cloud | Catatan |259| Perintah | Berfungsi di sesi cloud | Catatan |

260| :--------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------ |260| :- | :- | :- |

261| `/compact` | Ya | Merangkum percakapan untuk membebaskan konteks. Menerima instruksi fokus opsional seperti `/compact keep the test output` |261| `/compact` | Ya | Merangkum percakapan untuk membebaskan konteks. Menerima instruksi fokus opsional seperti `/compact keep the test output` |

262| `/context` | Ya | Menunjukkan apa yang saat ini ada di jendela konteks |262| `/context` | Ya | Menunjukkan apa yang saat ini ada di jendela konteks |

263| `/clear` | Tidak | Mulai sesi baru dari bilah samping sebagai gantinya |263| `/clear` | Tidak | Mulai sesi baru dari bilah samping sebagai gantinya |

Details

1451Explorer mencakup file yang Anda buat dan edit. Beberapa file terkait berada di tempat lain:1451Explorer mencakup file yang Anda buat dan edit. Beberapa file terkait berada di tempat lain:

1452 1452 

1453| File | Lokasi | Tujuan |1453| File | Lokasi | Tujuan |

1454| ----------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| - | - | - |

1455| `managed-settings.json` | Tingkat sistem, bervariasi menurut OS | Pengaturan yang diberlakukan perusahaan yang tidak dapat Anda ganti, kecuali [pengecualian sempit](/docs/id/settings#security-keys-where-the-stricter-value-applies). Lihat [tempat menyimpan file](/docs/id/managed-settings#deploy-a-managed-settings-file) dan [sumber managed mana yang digunakan Claude Code](/docs/id/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Tingkat sistem, bervariasi menurut OS | Pengaturan yang diberlakukan perusahaan yang tidak dapat Anda ganti, kecuali [pengecualian sempit](/docs/id/settings#security-keys-where-the-stricter-value-applies). Lihat [tempat menyimpan file](/docs/id/managed-settings#deploy-a-managed-settings-file) dan [sumber managed mana yang digunakan Claude Code](/docs/id/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Akar proyek | Preferensi pribadi Anda untuk proyek ini, dimuat bersama CLAUDE.md. Buatnya secara manual dan tambahkan ke `.gitignore`. |1456| `CLAUDE.local.md` | Akar proyek | Preferensi pribadi Anda untuk proyek ini, dimuat bersama CLAUDE.md. Buatnya secara manual dan tambahkan ke `.gitignore`. |

1457| `AGENTS.md` | Akar proyek, `.claude/`, atau direktori apa pun | Instruksi proyek yang Anda tulis untuk agen coding AI. Claude Code dapat [memuatnya](/docs/id/memory#agents-md) sendiri atau bersama `CLAUDE.md`. |1457| `AGENTS.md` | Akar proyek, `.claude/`, atau direktori apa pun | Instruksi proyek yang Anda tulis untuk agen coding AI. Claude Code dapat [memuatnya](/docs/id/memory#agents-md) sendiri atau bersama `CLAUDE.md`. |


1466Berbagai jenis kustomisasi berada di file yang berbeda. Gunakan tabel ini untuk menemukan di mana perubahan harus dilakukan.1466Berbagai jenis kustomisasi berada di file yang berbeda. Gunakan tabel ini untuk menemukan di mana perubahan harus dilakukan.

1467 1467 

1468| Anda ingin | Edit | Cakupan | Referensi |1468| Anda ingin | Edit | Cakupan | Referensi |

1469| :--------------------------------------------------------------- | :----------------------------------------- | :----------------- | :-------------------------------------------------- |1469| :- | :- | :- | :- |

1470| Berikan Claude konteks proyek dan konvensi | `CLAUDE.md` | proyek atau global | [Memory](/docs/id/memory) |1470| Berikan Claude konteks proyek dan konvensi | `CLAUDE.md` | proyek atau global | [Memory](/docs/id/memory) |

1471| Izinkan atau blokir tool call tertentu | `settings.json` `permissions` atau `hooks` | proyek atau global | [Permissions](/docs/id/permissions), [Hooks](/docs/id/hooks) |1471| Izinkan atau blokir tool call tertentu | `settings.json` `permissions` atau `hooks` | proyek atau global | [Permissions](/docs/id/permissions), [Hooks](/docs/id/hooks) |

1472| Jalankan skrip sebelum atau sesudah tool call | `settings.json` `hooks` | proyek atau global | [Hooks](/docs/id/hooks) |1472| Jalankan skrip sebelum atau sesudah tool call | `settings.json` `hooks` | proyek atau global | [Hooks](/docs/id/hooks) |


1497Klik nama file untuk membuka node itu di penjelajah di atas.1497Klik nama file untuk membuka node itu di penjelajah di atas.

1498 1498 

1499| File | Cakupan | Commit | Apa yang dilakukan | Referensi |1499| File | Cakupan | Commit | Apa yang dilakukan | Referensi |

1500| --------------------------------------------------- | ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |1500| - | - | - | - | - |

1501| [`CLAUDE.md`](#ce-claude-md) | Proyek dan global | ✓ | Instruksi dimuat setiap sesi | [Memory](/docs/id/memory) |1501| [`CLAUDE.md`](#ce-claude-md) | Proyek dan global | ✓ | Instruksi dimuat setiap sesi | [Memory](/docs/id/memory) |

1502| [`rules/*.md`](#ce-rules) | Proyek dan global | ✓ | Instruksi dengan cakupan topik, opsional gated path | [Rules](/docs/id/memory#organize-rules-with-claude/rules/) |1502| [`rules/*.md`](#ce-rules) | Proyek dan global | ✓ | Instruksi dengan cakupan topik, opsional gated path | [Rules](/docs/id/memory#organize-rules-with-claude/rules/) |

1503| [`settings.json`](#ce-settings-json) | Proyek dan global | ✓ | Izin, hooks, variabel env, default model | [Settings](/docs/id/settings) |1503| [`settings.json`](#ce-settings-json) | Proyek dan global | ✓ | Izin, hooks, variabel env, default model | [Settings](/docs/id/settings) |


1522Skills, command files, subagents, output styles, dan rules membaca konfigurasi mereka dari YAML [frontmatter](/docs/id/glossary#frontmatter) di bagian atas file, dan masing-masing menerima set bidang tersendiri. Tabel ini mencantumkan nama bidang untuk setiap file dan menautkan ke referensi yang menjelaskannya.1522Skills, command files, subagents, output styles, dan rules membaca konfigurasi mereka dari YAML [frontmatter](/docs/id/glossary#frontmatter) di bagian atas file, dan masing-masing menerima set bidang tersendiri. Tabel ini mencantumkan nama bidang untuk setiap file dan menautkan ke referensi yang menjelaskannya.

1523 1523 

1524| File | Bidang frontmatter | Referensi |1524| File | Bidang frontmatter | Referensi |

1525| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |1525| - | - | - |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Skill frontmatter](/docs/id/skills#frontmatter-reference) |1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Skill frontmatter](/docs/id/skills#frontmatter-reference) |

1527| `commands/*.md` | Bidang skill kecuali `name` dan `paths` | [Skill frontmatter](/docs/id/skills#frontmatter-reference) |1527| `commands/*.md` | Bidang skill kecuali `name` dan `paths` | [Skill frontmatter](/docs/id/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Subagent frontmatter](/docs/id/sub-agents#supported-frontmatter-fields) |1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Subagent frontmatter](/docs/id/sub-agents#supported-frontmatter-fields) |


1550Claude Code menghapus file di jalur di bawah ini setelah mereka lebih tua dari [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), selama dapat dengan aman menentukan periode retensi. Default adalah 30 hari dan minimum adalah 1; mengatur `0` gagal dengan kesalahan validasi. Cutoff usia yang sama berlaku untuk penghapusan otomatis [worktrees yatim piatu](/docs/id/worktrees#clean-up-subagent-and-background-session-worktrees).1550Claude Code menghapus file di jalur di bawah ini setelah mereka lebih tua dari [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), selama dapat dengan aman menentukan periode retensi. Default adalah 30 hari dan minimum adalah 1; mengatur `0` gagal dengan kesalahan validasi. Cutoff usia yang sama berlaku untuk penghapusan otomatis [worktrees yatim piatu](/docs/id/worktrees#clean-up-subagent-and-background-session-worktrees).

1551 1551 

1552| Jalur di bawah `~/.claude/` | Konten |1552| Jalur di bawah `~/.claude/` | Konten |

1553| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1553| - | - |

1554| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, panggilan alat, dan hasil alat |1554| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, panggilan alat, dan hasil alat |

1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Transkrip sebelumnya untuk sesi yang Claude Code sisihkan alih-alih menimpanya atau menghapusnya. Tidak muncul di pemilih sesi |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Transkrip sebelumnya untuk sesi yang Claude Code sisihkan alih-alih menimpanya atau menghapusnya. Tidak muncul di pemilih sesi |

1556| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/docs/id/sub-agents), dihapus dengan transkrip sesi induk saat usia habis |1556| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/docs/id/sub-agents), dihapus dengan transkrip sesi induk saat usia habis |


1589Sweep pembersihan retensi tidak menghapus jalur di bawah ini. Claude Code menyimpannya sampai Anda menghapusnya, terlepas dari dua cache yang dihapusnya saat Anda keluar.1589Sweep pembersihan retensi tidak menghapus jalur di bawah ini. Claude Code menyimpannya sampai Anda menghapusnya, terlepas dari dua cache yang dihapusnya saat Anda keluar.

1590 1590 

1591| Jalur di bawah `~/.claude/` | Konten |1591| Jalur di bawah `~/.claude/` | Konten |

1592| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1592| - | - |

1593| `history.jsonl` | Setiap prompt yang Anda ketik, dengan stempel waktu dan jalur proyek. Digunakan untuk penarikan panah atas, pencarian riwayat `Ctrl+R`, dan penyelesaian perintah shell `!`. |1593| `history.jsonl` | Setiap prompt yang Anda ketik, dengan stempel waktu dan jalur proyek. Digunakan untuk penarikan panah atas, pencarian riwayat `Ctrl+R`, dan penyelesaian perintah shell `!`. |

1594| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |1594| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |

1595| `remote-settings.json` | Salinan cache dari [pengaturan terkelola server](/docs/id/server-managed-settings) untuk organisasi Anda, atau `{}` saat organisasi Anda belum mengonfigurasi apa pun. Hanya ada saat sesi [mengambilnya](/docs/id/server-managed-settings#platform-availability). Claude Code memeriksa pembaruan saat startup dan setiap jam selama sesi. Claude Code menghapusnya saat Anda keluar. |1595| `remote-settings.json` | Salinan cache dari [pengaturan terkelola server](/docs/id/server-managed-settings) untuk organisasi Anda, atau `{}` saat organisasi Anda belum mengonfigurasi apa pun. Hanya ada saat sesi [mengambilnya](/docs/id/server-managed-settings#platform-availability). Claude Code memeriksa pembaruan saat startup dan setiap jam selama sesi. Claude Code menghapusnya saat Anda keluar. |


1678Anda juga dapat menghapus salah satu jalur data aplikasi di atas dengan tangan, terlepas dari [file status untuk disimpan](#state-files-to-keep). Sesi baru tidak terpengaruh. Tabel di bawah menunjukkan apa yang Anda hilangkan untuk sesi masa lalu.1678Anda juga dapat menghapus salah satu jalur data aplikasi di atas dengan tangan, terlepas dari [file status untuk disimpan](#state-files-to-keep). Sesi baru tidak terpengaruh. Tabel di bawah menunjukkan apa yang Anda hilangkan untuk sesi masa lalu.

1679 1679 

1680| Hapus | Anda kehilangan |1680| Hapus | Anda kehilangan |

1681| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1681| - | - |

1682| `~/.claude/projects/` | Lanjutkan, lanjutkan, dan putar ulang untuk sesi masa lalu, dan memori otomatis untuk setiap proyek |1682| `~/.claude/projects/` | Lanjutkan, lanjutkan, dan putar ulang untuk sesi masa lalu, dan memori otomatis untuk setiap proyek |

1683| `~/.claude/history.jsonl` | Penarikan prompt panah atas, pencarian riwayat `Ctrl+R`, dan penyelesaian perintah shell `!` |1683| `~/.claude/history.jsonl` | Penarikan prompt panah atas, pencarian riwayat `Ctrl+R`, dan penyelesaian perintah shell `!` |

1684| `~/.claude/paste-cache/` | Teks yang ditempel dalam prompt yang diingat kembali; lihat [tempel konten besar](/docs/id/terminal-config#paste-large-content) |1684| `~/.claude/paste-cache/` | Teks yang ditempel dalam prompt yang diingat kembali; lihat [tempel konten besar](/docs/id/terminal-config#paste-large-content) |

Details

220Tab **Threads** pane mengelompokkan thread berdasarkan keadaan:220Tab **Threads** pane mengelompokkan thread berdasarkan keadaan:

221 221 

222| Grup | Apa yang ada di dalamnya |222| Grup | Apa yang ada di dalamnya |

223| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |223| :- | :- |

224| **Ready for review** | Thread yang pull request-nya terbuka dan menunggu review |224| **Ready for review** | Thread yang pull request-nya terbuka dan menunggu review |

225| **Waiting on you** | Thread yang membutuhkan balasan atau persetujuan Anda, atau yang gagal |225| **Waiting on you** | Thread yang membutuhkan balasan atau persetujuan Anda, atau yang gagal |

226| **Working** | Thread yang masih berjalan |226| **Working** | Thread yang masih berjalan |


284Project memory, project instructions, dan repositori, file, dan environment project membawa konteks di seluruh thread. Anda menetapkan masing-masing sekali.284Project memory, project instructions, dan repositori, file, dan environment project membawa konteks di seluruh thread. Anda menetapkan masing-masing sekali.

285 285 

286| Konteks | Apa yang dibawanya | Cara Anda menetapkannya |286| Konteks | Apa yang dibawanya | Cara Anda menetapkannya |

287| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |287| :- | :- | :- |

288| Project memory | Catatan yang disimpan Claude tentang project, seperti persyaratan, keputusan, dan jebakan, disimpan sebagai file. Setiap thread cloud membaca file indeks `MEMORY.md` ketika dimulai dan membuka file lain ketika membutuhkannya | Minta Claude dalam percakapan project atau thread cloud apa pun untuk mengingat persyaratan, keputusan, atau jebakan, atau untuk melupakannya. Baca, edit, dan hapus file di **Project settings > Memory** |288| Project memory | Catatan yang disimpan Claude tentang project, seperti persyaratan, keputusan, dan jebakan, disimpan sebagai file. Setiap thread cloud membaca file indeks `MEMORY.md` ketika dimulai dan membuka file lain ketika membutuhkannya | Minta Claude dalam percakapan project atau thread cloud apa pun untuk mengingat persyaratan, keputusan, atau jebakan, atau untuk melupakannya. Baca, edit, dan hapus file di **Project settings > Memory** |

289| Project instructions | Teks yang dikirim ke setiap thread baru dan ke Claude dalam percakapan project, hingga 16.000 karakter. [Tulis project instructions](#write-project-instructions) mencakup apa yang harus dimasukkan | **Project settings > Memory > Project instructions**, atau minta Claude untuk mengubah instruksi |289| Project instructions | Teks yang dikirim ke setiap thread baru dan ke Claude dalam percakapan project, hingga 16.000 karakter. [Tulis project instructions](#write-project-instructions) mencakup apa yang harus dimasukkan | **Project settings > Memory > Project instructions**, atau minta Claude untuk mengubah instruksi |

290| Repositori, file, dan environment | Repositori yang dikloning setiap thread cloud, folder dan file yang dapat dibaca setiap thread di bawah `/mnt/project-files`, dan cloud environment yang dijalankan thread | Repositori dan environment di **Project settings > Environment**, atau minta Claude dalam percakapan untuk menambahkan repositori ke project. File dan folder dari **Add** di tab **Library** di **Overview** |290| Repositori, file, dan environment | Repositori yang dikloning setiap thread cloud, folder dan file yang dapat dibaca setiap thread di bawah `/mnt/project-files`, dan cloud environment yang dijalankan thread | Repositori dan environment di **Project settings > Environment**, atau minta Claude dalam percakapan untuk menambahkan repositori ke project. File dan folder dari **Add** di tab **Library** di **Overview** |


338Setiap thread cloud mengkloning setiap repositori dalam project dan memuat `CLAUDE.md` dan skills dari semuanya. Permission rules, hooks, dan `env` hanya datang dari `.claude/settings.json` di direktori tempat thread dimulai: di dalam repositori ketika project memiliki satu, dan di atas klon ketika memiliki beberapa, di mana file repositori tidak dibaca untuk mereka.338Setiap thread cloud mengkloning setiap repositori dalam project dan memuat `CLAUDE.md` dan skills dari semuanya. Permission rules, hooks, dan `env` hanya datang dari `.claude/settings.json` di direktori tempat thread dimulai: di dalam repositori ketika project memiliki satu, dan di atas klon ketika memiliki beberapa, di mana file repositori tidak dibaca untuk mereka.

339 339 

340| Di setiap repositori | Satu repositori | Beberapa repositori |340| Di setiap repositori | Satu repositori | Beberapa repositori |

341| :------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- |341| :- | :- | :- |

342| `CLAUDE.md` | Dimuat ketika thread dimulai | Dimuat dari setiap repositori ketika thread dimulai |342| `CLAUDE.md` | Dimuat ketika thread dimulai | Dimuat dari setiap repositori ketika thread dimulai |

343| Skills, agents, dan commands di bawah `.claude/` | Dimuat | Dimuat dari setiap repositori |343| Skills, agents, dan commands di bawah `.claude/` | Dimuat | Dimuat dari setiap repositori |

344| Plugins yang diaktifkan di `.claude/settings.json` | Tidak dimuat. Tambahkan plugin di **Project settings > Plugins** sebagai gantinya | Tidak dimuat. Tambahkan plugin di **Project settings > Plugins** sebagai gantinya |344| Plugins yang diaktifkan di `.claude/settings.json` | Tidak dimuat. Tambahkan plugin di **Project settings > Plugins** sebagai gantinya | Tidak dimuat. Tambahkan plugin di **Project settings > Plugins** sebagai gantinya |


376Pengaturan disimpan saat Anda mengubahnya; bidang teks yang sedang Anda edit, seperti tujuan atau instruksi, menampilkan **Save changes** dan **Discard** sampai Anda meninggalkannya. Perubahan instruksi, repositori, plugins, dan environment di **Project settings** mencapai thread baru, bukan thread yang sudah berjalan.376Pengaturan disimpan saat Anda mengubahnya; bidang teks yang sedang Anda edit, seperti tujuan atau instruksi, menampilkan **Save changes** dan **Discard** sampai Anda meninggalkannya. Perubahan instruksi, repositori, plugins, dan environment di **Project settings** mencapai thread baru, bukan thread yang sudah berjalan.

377 377 

378| Pengaturan | Bagian | Apa yang dikontrolnya |378| Pengaturan | Bagian | Apa yang dikontrolnya |

379| :--------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------ |379| :- | :- | :- |

380| Nama, ikon, dan tujuan | General | Nama dan ikon project di sidebar, dan tujuan satu barisnya |380| Nama, ikon, dan tujuan | General | Nama dan ikon project di sidebar, dan tujuan satu barisnya |

381| Coordinator model dan effort | General | Model dan [effort level](/docs/id/model-config#adjust-effort-level) untuk Claude dalam percakapan project |381| Coordinator model dan effort | General | Model dan [effort level](/docs/id/model-config#adjust-effort-level) untuk Claude dalam percakapan project |

382| Thread model dan effort | General | Model dan effort level untuk thread |382| Thread model dan effort | General | Model dan effort level untuk thread |


520Pesan ini menyebutkan penyebab mereka sendiri. Tabel memberikan langkah berikutnya untuk masing-masing.520Pesan ini menyebutkan penyebab mereka sendiri. Tabel memberikan langkah berikutnya untuk masing-masing.

521 521 

522| Pesan | Apa yang harus dilakukan |522| Pesan | Apa yang harus dilakukan |

523| :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |523| :- | :- |

524| "Unable to connect to repository" dengan "Claude couldn't reach GitHub to fetch your repository" | Tunggu sebentar, lalu kirim pesan lain untuk mencoba lagi |524| "Unable to connect to repository" dengan "Claude couldn't reach GitHub to fetch your repository" | Tunggu sebentar, lalu kirim pesan lain untuk mencoba lagi |

525| "Unable to connect to repository" dengan "Claude couldn't access your repository or environment" | Akun GitHub Anda membutuhkan akses push ke repositori, dan environment harus masih ada. Periksa keduanya di **Project settings > Environment**, lalu coba lagi |525| "Unable to connect to repository" dengan "Claude couldn't access your repository or environment" | Akun GitHub Anda membutuhkan akses push ke repositori, dan environment harus masih ada. Periksa keduanya di **Project settings > Environment**, lalu coba lagi |

526| "Couldn't show the setup proposal" | Aplikasi yang Anda buka lebih lama dari **Setup recommendations** yang dikirim Claude. Segarkan halaman atau mulai ulang aplikasi desktop, atau minta Claude untuk mengusulkan setup lagi |526| "Couldn't show the setup proposal" | Aplikasi yang Anda buka lebih lama dari **Setup recommendations** yang dikirim Claude. Segarkan halaman atau mulai ulang aplikasi desktop, atau minta Claude untuk mengusulkan setup lagi |

Details

140Plugin Claude Security adalah lapisan pemindaian mendalam sesuai permintaan dalam tumpukan pertahanan berlapis, bersama dengan plugin [security guidance](/docs/id/security-guidance), [`/security-review`](/docs/id/commands#all-commands), [Code Review](/docs/id/code-review), produk [Claude Security](https://claude.com/product/claude-security) yang dikelola, dan pemindai yang ada:140Plugin Claude Security adalah lapisan pemindaian mendalam sesuai permintaan dalam tumpukan pertahanan berlapis, bersama dengan plugin [security guidance](/docs/id/security-guidance), [`/security-review`](/docs/id/commands#all-commands), [Code Review](/docs/id/code-review), produk [Claude Security](https://claude.com/product/claude-security) yang dikelola, dan pemindai yang ada:

141 141 

142| Tahap | Alat | Apa yang dicakup |142| Tahap | Alat | Apa yang dicakup |

143| :------------------------------------- | :------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- |143| :- | :- | :- |

144| Dalam sesi | Plugin [Security guidance](/docs/id/security-guidance) | Kerentanan umum dalam kode yang ditulis Claude, diperbaiki dalam sesi yang sama |144| Dalam sesi | Plugin [Security guidance](/docs/id/security-guidance) | Kerentanan umum dalam kode yang ditulis Claude, diperbaiki dalam sesi yang sama |

145| Sesuai permintaan, satu kali melewati | [`/security-review`](/docs/id/commands#all-commands) | Satu kali lintasan keamanan pada cabang saat ini |145| Sesuai permintaan, satu kali melewati | [`/security-review`](/docs/id/commands#all-commands) | Satu kali lintasan keamanan pada cabang saat ini |

146| Sesuai permintaan, pemindaian mendalam | Plugin Claude Security | Pemindaian multi-agen repositori atau diff, dengan temuan dan patch yang ditinjau secara independen |146| Sesuai permintaan, pemindaian mendalam | Plugin Claude Security | Pemindaian multi-agen repositori atau diff, dengan temuan dan patch yang ditinjau secara independen |

Details

13Anda dapat memulai sesi, menyalurkan konten, melanjutkan percakapan, dan mengelola pembaruan dengan perintah-perintah ini:13Anda dapat memulai sesi, menyalurkan konten, melanjutkan percakapan, dan mengelola pembaruan dengan perintah-perintah ini:

14 14 

15| Perintah | Deskripsi | Contoh |15| Perintah | Deskripsi | Contoh |

16| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |16| :- | :- | :- |

17| `claude` | Mulai sesi interaktif | `claude` |17| `claude` | Mulai sesi interaktif | `claude` |

18| `claude "query"` | Mulai sesi interaktif dengan prompt awal | `claude "explain this project"` |18| `claude "query"` | Mulai sesi interaktif dengan prompt awal | `claude "explain this project"` |

19| `claude -p "query"` | Kueri melalui SDK, kemudian keluar | `claude -p "explain this function"` |19| `claude -p "query"` | Kueri melalui SDK, kemudian keluar | `claude -p "explain this function"` |


60Sesuaikan perilaku Claude Code dengan bendera baris perintah ini. `claude --help` tidak mencantumkan setiap bendera, jadi ketiadaan bendera dari `--help` tidak berarti bendera tersebut tidak tersedia.60Sesuaikan perilaku Claude Code dengan bendera baris perintah ini. `claude --help` tidak mencantumkan setiap bendera, jadi ketiadaan bendera dari `--help` tidak berarti bendera tersebut tidak tersedia.

61 61 

62| Bendera | Deskripsi | Contoh |62| Bendera | Deskripsi | Contoh |

63| :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; Claude Code [tidak menemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) sebagian besar konfigurasi `.claude/` dari direktori ini. Memvalidasi bahwa setiap jalur ada sebagai direktori. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories) dalam pengaturan | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; Claude Code [tidak menemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) sebagian besar konfigurasi `.claude/` dari direktori ini. Memvalidasi bahwa setiap jalur ada sebagai direktori. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories) dalam pengaturan | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Aktifkan [alat penasihat](/docs/id/advisor) sisi server untuk sesi ini dengan alias model, `fable`, `opus`, atau `sonnet`, atau ID model lengkap. Mengambil alih pengaturan `advisorModel` untuk sesi. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Aktifkan [alat penasihat](/docs/id/advisor) sisi server untuk sesi ini dengan alias model, `fable`, `opus`, atau `sonnet`, atau ID model lengkap. Mengambil alih pengaturan `advisorModel` untuk sesi. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |66| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |


148Claude Code menyediakan lima bendera untuk menyesuaikan prompt sistem. Empat menetapkan teksnya, dan dengan `--system-prompt-snapshot` Anda mengontrol apakah percakapan menyimpan teks yang dimulainya. Kelima bendera bekerja dalam mode interaktif dan non-interaktif.148Claude Code menyediakan lima bendera untuk menyesuaikan prompt sistem. Empat menetapkan teksnya, dan dengan `--system-prompt-snapshot` Anda mengontrol apakah percakapan menyimpan teks yang dimulainya. Kelima bendera bekerja dalam mode interaktif dan non-interaktif.

149 149 

150| Bendera | Perilaku | Contoh |150| Bendera | Perilaku | Contoh |

151| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |151| :- | :- | :- |

152| `--system-prompt` | Mengganti seluruh prompt default | `claude --system-prompt "You are a Python expert"` |152| `--system-prompt` | Mengganti seluruh prompt default | `claude --system-prompt "You are a Python expert"` |

153| `--system-prompt-file` | Mengganti dengan konten file | `claude --system-prompt-file ./prompts/review.txt` |153| `--system-prompt-file` | Mengganti dengan konten file | `claude --system-prompt-file ./prompts/review.txt` |

154| `--append-system-prompt` | Menambahkan ke prompt default | `claude --append-system-prompt "Always use TypeScript"` |154| `--append-system-prompt` | Menambahkan ke prompt default | `claude --append-system-prompt "Always use TypeScript"` |

Details

218Bidang **Network access** di [dialog lingkungan](#configure-your-environment) mengambil salah satu dari empat tingkat:218Bidang **Network access** di [dialog lingkungan](#configure-your-environment) mengambil salah satu dari empat tingkat:

219 219 

220| Tingkat | Koneksi keluar |220| Tingkat | Koneksi keluar |

221| :---------- | :---------------------------------------------------------------------------------------- |221| :- | :- |

222| **None** | Tidak ada akses jaringan keluar melalui jaringan sesi |222| **None** | Tidak ada akses jaringan keluar melalui jaringan sesi |

223| **Trusted** | [Domain yang diizinkan](#default-allowed-domains) saja: registri paket, GitHub, cloud SDK |223| **Trusted** | [Domain yang diizinkan](#default-allowed-domains) saja: registri paket, GitHub, cloud SDK |

224| **Full** | Domain apa pun |224| **Full** | Domain apa pun |


294Cloud sessions start from a fresh clone of your repository. Apa pun yang Anda komitkan ke repo tersedia. Apa pun yang Anda instal atau konfigurasi hanya di mesin Anda sendiri tidak tersedia di sesi. Kebijakan organisasi Anda tiba secara terpisah melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings).294Cloud sessions start from a fresh clone of your repository. Apa pun yang Anda komitkan ke repo tersedia. Apa pun yang Anda instal atau konfigurasi hanya di mesin Anda sendiri tidak tersedia di sesi. Kebijakan organisasi Anda tiba secara terpisah melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings).

295 295 

296| | Tersedia di sesi cloud | Mengapa |296| | Tersedia di sesi cloud | Mengapa |

297| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |297| :- | :- | :- |

298| `CLAUDE.md` repo Anda | Ya | Bagian dari klon |298| `CLAUDE.md` repo Anda | Ya | Bagian dari klon |

299| Hook `.claude/settings.json` repo Anda dan aturan izin | Ya, dalam sesi dengan satu repositori | Bagian dari klon. Sesi dengan beberapa repositori, termasuk thread [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), dimulai di atas klon dan tidak membacanya |299| Hook `.claude/settings.json` repo Anda dan aturan izin | Ya, dalam sesi dengan satu repositori | Bagian dari klon. Sesi dengan beberapa repositori, termasuk thread [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), dimulai di atas klon dan tidak membacanya |

300| Server MCP `.mcp.json` repo Anda | Ya, dalam sesi dengan satu repositori | Bagian dari klon, ditemukan dari direktori kerja sesi |300| Server MCP `.mcp.json` repo Anda | Ya, dalam sesi dengan satu repositori | Bagian dari klon, ditemukan dari direktori kerja sesi |


321Sesi cloud dilengkapi dengan runtime bahasa umum, alat build, dan database yang sudah diinstal sebelumnya. Tabel di bawah merangkum apa yang disertakan menurut kategori.321Sesi cloud dilengkapi dengan runtime bahasa umum, alat build, dan database yang sudah diinstal sebelumnya. Tabel di bawah merangkum apa yang disertakan menurut kategori.

322 322 

323| Kategori | Disertakan |323| Kategori | Disertakan |

324| :------------ | :--------------------------------------------------------------------------- |324| :- | :- |

325| **Python** | Python 3.x dengan pip, poetry, uv, black, mypy, pytest, ruff |325| **Python** | Python 3.x dengan pip, poetry, uv, black, mypy, pytest, ruff |

326| **Node.js** | 20, 21, dan 22, dengan npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |326| **Node.js** | 20, 21, dan 22, dengan npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |

327| **Ruby** | 3.1, 3.2, 3.3 dengan gem, bundler, rbenv |327| **Ruby** | 3.1, 3.2, 3.3 dengan gem, bundler, rbenv |


469Skrip setup dan hook SessionStart berjalan dalam urutan tetap ketika sesi cloud dimulai. Tabel membandingkan di mana Anda mengonfigurasinya, kapan mereka berjalan, dan di mana mereka berjalan.469Skrip setup dan hook SessionStart berjalan dalam urutan tetap ketika sesi cloud dimulai. Tabel membandingkan di mana Anda mengonfigurasinya, kapan mereka berjalan, dan di mana mereka berjalan.

470 470 

471| | Skrip setup | Hook SessionStart |471| | Skrip setup | Hook SessionStart |

472| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |472| - | - | - |

473| **Di mana Anda mengonfigurasinya** | Dialog lingkungan di [claude.ai/code](https://claude.ai/code), ditambah halaman admin **Cloud environments** untuk [lingkungan bersama](#organization-shared-environments) | File [pengaturan](/docs/id/settings#where-settings-live) seperti `.claude/settings.json` repo Anda; lihat [Apa yang terbawa dari setup Anda](#what-carries-over-from-your-setup) untuk file mana yang menjangkau sesi cloud |473| **Di mana Anda mengonfigurasinya** | Dialog lingkungan di [claude.ai/code](https://claude.ai/code), ditambah halaman admin **Cloud environments** untuk [lingkungan bersama](#organization-shared-environments) | File [pengaturan](/docs/id/settings#where-settings-live) seperti `.claude/settings.json` repo Anda; lihat [Apa yang terbawa dari setup Anda](#what-carries-over-from-your-setup) untuk file mana yang menjangkau sesi cloud |

474| **Kapan mereka berjalan** | Sebelum Claude Code diluncurkan, dilewati ketika [lingkungan cache](#environment-caching) ada | Setelah Claude Code diluncurkan, di setiap sesi termasuk yang dilanjutkan |474| **Kapan mereka berjalan** | Sebelum Claude Code diluncurkan, dilewati ketika [lingkungan cache](#environment-caching) ada | Setelah Claude Code diluncurkan, di setiap sesi termasuk yang dilanjutkan |

475| **Di mana mereka berjalan** | Sesi cloud saja | Sesi lokal dan cloud |475| **Di mana mereka berjalan** | Sesi cloud saja | Sesi lokal dan cloud |

code-review.md +4 −4

Details

43Setiap temuan diberi tag dengan tingkat keparahan:43Setiap temuan diberi tag dengan tingkat keparahan:

44 44 

45| Penanda | Keparahan | Arti |45| Penanda | Keparahan | Arti |

46| :------ | :------------------- | :---------------------------------------------------------------- |46| :- | :- | :- |

47| 🔴 | Penting | Bug yang harus diperbaiki sebelum penggabungan |47| 🔴 | Penting | Bug yang harus diperbaiki sebelum penggabungan |

48| 🟡 | Nit | Masalah kecil, layak diperbaiki tetapi tidak memblokir |48| 🟡 | Nit | Masalah kecil, layak diperbaiki tetapi tidak memblokir |

49| 🟣 | Sudah ada sebelumnya | Bug yang ada di basis kode tetapi tidak diperkenalkan oleh PR ini |49| 🟣 | Sudah ada sebelumnya | Bug yang ada di basis kode tetapi tidak diperkenalkan oleh PR ini |


67Selain komentar ulasan sebaris, setiap ulasan mengisi jalankan pemeriksaan **Claude Code Review** yang muncul bersama pemeriksaan CI Anda. Perluas tautan **Details** untuk melihat ringkasan setiap temuan di satu tempat, diurutkan berdasarkan keparahan:67Selain komentar ulasan sebaris, setiap ulasan mengisi jalankan pemeriksaan **Claude Code Review** yang muncul bersama pemeriksaan CI Anda. Perluas tautan **Details** untuk melihat ringkasan setiap temuan di satu tempat, diurutkan berdasarkan keparahan:

68 68 

69| Keparahan | File:Baris | Masalah |69| Keparahan | File:Baris | Masalah |

70| ---------- | ------------------------- | --------------------------------------------------------------------------- |70| - | - | - |

71| 🔴 Penting | `src/auth/session.ts:142` | Penyegaran token berjalan dengan logout, meninggalkan sesi basi aktif |71| 🔴 Penting | `src/auth/session.ts:142` | Penyegaran token berjalan dengan logout, meninggalkan sesi basi aktif |

72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` secara diam-diam mengembalikan 0 pada input yang salah bentuk |72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` secara diam-diam mengembalikan 0 pada input yang salah bentuk |

73 73 


137Perintah komentar memulai ulasan sesuai permintaan. Perintah-perintah ini berfungsi terlepas dari pemicu yang dikonfigurasi repositori, sehingga Anda dapat menggunakannya untuk memilih PR tertentu ke dalam ulasan dalam mode Manual atau untuk mendapatkan ulasan kembali segera di mode lain.137Perintah komentar memulai ulasan sesuai permintaan. Perintah-perintah ini berfungsi terlepas dari pemicu yang dikonfigurasi repositori, sehingga Anda dapat menggunakannya untuk memilih PR tertentu ke dalam ulasan dalam mode Manual atau untuk mendapatkan ulasan kembali segera di mode lain.

138 138 

139| Perintah | Apa yang dilakukannya |139| Perintah | Apa yang dilakukannya |

140| :---------------------- | :------------------------------------------------------------------------------------ |140| :- | :- |

141| `@claude review` | Memulai ulasan tunggal tanpa berlangganan PR ke ulasan yang dipicu push di masa depan |141| `@claude review` | Memulai ulasan tunggal tanpa berlangganan PR ke ulasan yang dipicu push di masa depan |

142| `@claude review always` | Memulai ulasan dan berlangganan PR ke ulasan yang dipicu push ke depannya |142| `@claude review always` | Memulai ulasan dan berlangganan PR ke ulasan yang dipicu push ke depannya |

143| `@claude review once` | Sama seperti `@claude review`: memulai ulasan tunggal tanpa berlangganan |143| `@claude review once` | Sama seperti `@claude review`: memulai ulasan tunggal tanpa berlangganan |


268Buka [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) untuk melihat aktivitas Code Review di seluruh organisasi Anda. Dasbor menampilkan:268Buka [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) untuk melihat aktivitas Code Review di seluruh organisasi Anda. Dasbor menampilkan:

269 269 

270| Bagian | Apa yang ditampilkan |270| Bagian | Apa yang ditampilkan |

271| :------------------- | :--------------------------------------------------------------------------------------------- |271| :- | :- |

272| PRs reviewed | Hitungan harian permintaan tarik yang ditinjau selama rentang waktu yang dipilih |272| PRs reviewed | Hitungan harian permintaan tarik yang ditinjau selama rentang waktu yang dipilih |

273| Cost weekly | Pengeluaran mingguan pada Code Review |273| Cost weekly | Pengeluaran mingguan pada Code Review |

274| Feedback | Hitungan komentar ulasan yang secara otomatis diselesaikan karena pengembang mengatasi masalah |274| Feedback | Hitungan komentar ulasan yang secara otomatis diselesaikan karena pengembang mengatasi masalah |

commands.md +1 −1

Details

52</Note>52</Note>

53 53 

54| Perintah | Tujuan |54| Perintah | Tujuan |

55| :----------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |55| :- | :- |

56| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Setelah penambahan yang berhasil, [hook `DirectoryAdded`](/docs/id/hooks#directoryadded) Anda berjalan. Ketika Anda menjalankannya saat Claude merespons, Claude Code meminta Anda untuk mengonfirmasi direktori segera, dan setelah Anda mengonfirmasi, panggilan alat berikutnya Claude dalam giliran yang sama dapat mengaksesnya. Sebelum v2.1.234, Claude Code mengantrikan perintah sampai giliran selesai |56| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Setelah penambahan yang berhasil, [hook `DirectoryAdded`](/docs/id/hooks#directoryadded) Anda berjalan. Ketika Anda menjalankannya saat Claude merespons, Claude Code meminta Anda untuk mengonfirmasi direktori segera, dan setelah Anda mengonfirmasi, panggilan alat berikutnya Claude dalam giliran yang sama dapat mengaksesnya. Sebelum v2.1.234, Claude Code mengantrikan perintah sampai giliran selesai |

57| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [alat advisor](/docs/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `fable`, `opus`, `sonnet`, atau ID model lengkap. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model). Tanpa argumen, membuka pemilih. Dalam sesi tanpa terminal interaktif, atau melalui [Remote Control](/docs/id/remote-control#limitations), berikan model atau `off` sebagai argumen; tanpa argumen di sana, perintah mencetak advisor saat ini sebagai teks. Bentuk-bentuk ini memerlukan Claude Code v2.1.260 atau lebih baru |57| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [alat advisor](/docs/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `fable`, `opus`, `sonnet`, atau ID model lengkap. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model). Tanpa argumen, membuka pemilih. Dalam sesi tanpa terminal interaktif, atau melalui [Remote Control](/docs/id/remote-control#limitations), berikan model atau `off` sebagai argumen; tanpa argumen di sana, perintah mencetak advisor saat ini sebagai teks. Bentuk-bentuk ini memerlukan Claude Code v2.1.260 atau lebih baru |

58| `/agents` | Mulai v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagent](/docs/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. Di v2.1.197 dan lebih awal, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |58| `/agents` | Mulai v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagent](/docs/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. Di v2.1.197 dan lebih awal, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |

Details

430Pilih opsi penjadwalan berdasarkan tempat Anda ingin tugas berjalan:430Pilih opsi penjadwalan berdasarkan tempat Anda ingin tugas berjalan:

431 431 

432| Opsi | Tempat berjalan | Terbaik untuk |432| Opsi | Tempat berjalan | Terbaik untuk |

433| :----------------------------------------------------- | :--------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |433| :- | :- | :- |

434| [Routines](/docs/id/routines) | Cloud, dikelola Anthropic secara default | Tugas yang harus berjalan bahkan ketika komputer Anda mati. Dapat juga dipicu oleh panggilan API atau event GitHub selain jadwal. Konfigurasikan di [claude.ai/code/routines](https://claude.ai/code/routines). |434| [Routines](/docs/id/routines) | Cloud, dikelola Anthropic secara default | Tugas yang harus berjalan bahkan ketika komputer Anda mati. Dapat juga dipicu oleh panggilan API atau event GitHub selain jadwal. Konfigurasikan di [claude.ai/code/routines](https://claude.ai/code/routines). |

435| [Desktop scheduled tasks](/docs/id/desktop-scheduled-tasks) | Mesin Anda, melalui aplikasi desktop | Tugas yang memerlukan akses langsung ke file lokal, alat, atau perubahan yang tidak dilakukan. |435| [Desktop scheduled tasks](/docs/id/desktop-scheduled-tasks) | Mesin Anda, melalui aplikasi desktop | Tugas yang memerlukan akses langsung ke file lokal, alat, atau perubahan yang tidak dilakukan. |

436| [GitHub Actions](/docs/id/github-actions) | Pipeline CI Anda | Tugas yang terikat pada event repo seperti PR yang dibuka, atau jadwal cron yang harus hidup bersama konfigurasi alur kerja Anda. |436| [GitHub Actions](/docs/id/github-actions) | Pipeline CI Anda | Tugas yang terikat pada event repo seperti PR yang dibuka, atau jadwal cron yang harus hidup bersama konfigurasi alur kerja Anda. |

Details

25Kerjakan daftar periksa ini sebelum pengumuman dikirim. Setiap item menutup celah yang sebaliknya berubah menjadi utas dukungan hari peluncuran.25Kerjakan daftar periksa ini sebelum pengumuman dikirim. Setiap item menutup celah yang sebaliknya berubah menjadi utas dukungan hari peluncuran.

26 26 

27| Item | Mengapa penting |27| Item | Mengapa penting |

28| ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |28| - | - |

29| Saluran `#claude-code` dibuat dan ditautkan dalam pesan | Memberikan pertanyaan satu tempat untuk mendarat |29| Saluran `#claude-code` dibuat dan ditautkan dalam pesan | Memberikan pertanyaan satu tempat untuk mendarat |

30| Perintah instalasi diuji pada setidaknya satu mesin di lingkungan Anda | Menangkap masalah proxy atau firewall sebelum semua orang mengalaminya sekaligus |30| Perintah instalasi diuji pada setidaknya satu mesin di lingkungan Anda | Menangkap masalah proxy atau firewall sebelum semua orang mengalaminya sekaligus |

31| Tautan keamanan dan penanganan data siap ([Penggunaan data](/docs/id/data-usage) atau setara internal Anda) | "Ke mana kode saya pergi?" akan menjadi balasan pertama |31| Tautan keamanan dan penanganan data siap ([Penggunaan data](/docs/id/data-usage) atau setara internal Anda) | "Ke mana kode saya pergi?" akan menjadi balasan pertama |


238```238```

239 239 

240| Model | Terbaik untuk |240| Model | Terbaik untuk |

241| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |241| - | - |

242| Fable | Tugas-tugas tersulit dan paling lama. Opt-in saja: pilih dengan `/model fable`. Konten cybersecurity atau biology memicu [fallback model otomatis ke Opus](/docs/id/model-config#automatic-model-fallback) |242| Fable | Tugas-tugas tersulit dan paling lama. Opt-in saja: pilih dengan `/model fable`. Konten cybersecurity atau biology memicu [fallback model otomatis ke Opus](/docs/id/model-config#automatic-model-fallback) |

243| Opus | Refactor skala besar, debugging kompleks, keputusan arsitektur, perubahan berisiko tinggi. Pada Opus 5.5 dan Opus 5, konten cybersecurity atau biology memicu [fallback model otomatis atau penolakan](/docs/id/model-config#automatic-model-fallback) |243| Opus | Refactor skala besar, debugging kompleks, keputusan arsitektur, perubahan berisiko tinggi. Pada Opus 5.5 dan Opus 5, konten cybersecurity atau biology memicu [fallback model otomatis atau penolakan](/docs/id/model-config#automatic-model-fallback) |

244| Sonnet | Pekerjaan fitur sehari-hari, perbaikan bug, tes, dokumentasi, review kode. Default yang direkomendasikan. |244| Sonnet | Pekerjaan fitur sehari-hari, perbaikan bug, tes, dokumentasi, review kode. Default yang direkomendasikan. |


527Balasan satu baris untuk pertanyaan yang paling sering Anda terima.527Balasan satu baris untuk pertanyaan yang paling sering Anda terima.

528 528 

529| Pertanyaan | Respons |529| Pertanyaan | Respons |

530| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |530| - | - |

531| "Apakah itu bekerja di VS Code?" | Ya. Ada ekstensi VS Code dan plugin JetBrains dengan fitur yang sama, tertanam di editor Anda. [VS Code →](/docs/id/vs-code) |531| "Apakah itu bekerja di VS Code?" | Ya. Ada ekstensi VS Code dan plugin JetBrains dengan fitur yang sama, tertanam di editor Anda. [VS Code →](/docs/id/vs-code) |

532| "Apakah saya harus mengonfigurasi apa pun terlebih dahulu?" | Tidak. Instal, kemudian jalankan `claude` di repo apa pun. Jalankan `/init` sekali dan Anda siap. [Quickstart →](/docs/id/quickstart) |532| "Apakah saya harus mengonfigurasi apa pun terlebih dahulu?" | Tidak. Instal, kemudian jalankan `claude` di repo apa pun. Jalankan `/init` sekali dan Anda siap. [Quickstart →](/docs/id/quickstart) |

533| "Di mana kode saya pergi?" | CLI berjalan di terminal Anda dan mengirim konteks ke API Anthropic untuk inferensi, tanpa server pihak ketiga. Di bawah paket Enterprise Anda, kode dan prompt Anda tidak digunakan untuk melatih model. [Penggunaan data →](/docs/id/data-usage) |533| "Di mana kode saya pergi?" | CLI berjalan di terminal Anda dan mengirim konteks ke API Anthropic untuk inferensi, tanpa server pihak ketiga. Di bawah paket Enterprise Anda, kode dan prompt Anda tidak digunakan untuk melatih model. [Penggunaan data →](/docs/id/data-usage) |


542Bagikan prompt pemula ini dengan insinyur yang telah menginstal tetapi tidak yakin apa yang harus diminta. Masing-masing ditulis dengan cara yang akan diketik ke sesi nyata; ganti bagian dalam kurung dengan file dari repo Anda sendiri.542Bagikan prompt pemula ini dengan insinyur yang telah menginstal tetapi tidak yakin apa yang harus diminta. Masing-masing ditulis dengan cara yang akan diketik ke sesi nyata; ganti bagian dalam kurung dengan file dari repo Anda sendiri.

543 543 

544| Tugas | Prompt |544| Tugas | Prompt |

545| --------------------- | ------------------------------------------------------------------------------------------------- |545| - | - |

546| Perbaiki bug | "tes di \[file] gagal, cari tahu mengapa dan perbaiki" |546| Perbaiki bug | "tes di \[file] gagal, cari tahu mengapa dan perbaiki" |

547| Pahami kode | "jelaskan kepada saya bagaimana \[modul] bekerja, kemudian beri tahu saya di mana titik masuknya" |547| Pahami kode | "jelaskan kepada saya bagaimana \[modul] bekerja, kemudian beri tahu saya di mana titik masuknya" |

548| Refactor aman | "refactor \[modul] ke \[tujuan], gunakan mode plan sehingga saya dapat meninjau terlebih dahulu" |548| Refactor aman | "refactor \[modul] ke \[tujuan], gunakan mode plan sehingga saya dapat meninjau terlebih dahulu" |

computer-use.md +2 −2

Details

91Aplikasi dengan jangkauan luas menampilkan peringatan tambahan dalam prompt sehingga Anda tahu apa yang disetujui mereka:91Aplikasi dengan jangkauan luas menampilkan peringatan tambahan dalam prompt sehingga Anda tahu apa yang disetujui mereka:

92 92 

93| Peringatan | Berlaku untuk |93| Peringatan | Berlaku untuk |

94| :-------------------------------------- | :------------------------------------------------------------- |94| :- | :- |

95| Setara dengan akses shell | Terminal, iTerm, VS Code, Warp, dan terminal serta IDE lainnya |95| Setara dengan akses shell | Terminal, iTerm, VS Code, Warp, dan terminal serta IDE lainnya |

96| Dapat membaca atau menulis file apa pun | Finder |96| Dapat membaca atau menulis file apa pun | Finder |

97| Dapat mengubah pengaturan sistem | System Settings |97| Dapat mengubah pengaturan sistem | System Settings |


208Permukaan CLI dan Desktop berbagi mesin computer use yang sama, dengan beberapa perbedaan:208Permukaan CLI dan Desktop berbagi mesin computer use yang sama, dengan beberapa perbedaan:

209 209 

210| Fitur | Desktop | CLI |210| Fitur | Desktop | CLI |

211| :--------------------------- | :---------------------------------------------------------- | :-------------------------------- |211| :- | :- | :- |

212| Platform | macOS dan Windows | macOS saja |212| Platform | macOS dan Windows | macOS saja |

213| Aktifkan | Toggle di **Settings > General** (di bawah **Desktop app**) | Aktifkan `computer-use` di `/mcp` |213| Aktifkan | Toggle di **Settings > General** (di bawah **Desktop app**) | Aktifkan `computer-use` di `/mcp` |

214| Daftar aplikasi yang ditolak | Dapat dikonfigurasi di Settings | Belum tersedia |214| Daftar aplikasi yang ditolak | Dapat dikonfigurasi di Settings | Belum tersedia |

Details

1598Ketika sesi panjang dipadatkan, Claude Code merangkum riwayat percakapan agar sesuai dengan jendela konteks. Mulai dari v2.1.198, permintaan perangkuman mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) sesi Anda, sehingga ia bernalar dengan pemikiran diaktifkan ketika sesi Anda memilikinya diaktifkan dan tetap mati sebaliknya. Pemikiran hanya mempengaruhi cara ringkasan diproduksi; pengaturan sesi Anda tidak berubah setelahnya. Apa yang terjadi pada setiap jenis konten tergantung pada cara konten tersebut dimuat:1598Ketika sesi panjang dipadatkan, Claude Code merangkum riwayat percakapan agar sesuai dengan jendela konteks. Mulai dari v2.1.198, permintaan perangkuman mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) sesi Anda, sehingga ia bernalar dengan pemikiran diaktifkan ketika sesi Anda memilikinya diaktifkan dan tetap mati sebaliknya. Pemikiran hanya mempengaruhi cara ringkasan diproduksi; pengaturan sesi Anda tidak berubah setelahnya. Apa yang terjadi pada setiap jenis konten tergantung pada cara konten tersebut dimuat:

1599 1599 

1600| Mekanisme | Setelah pemadatan |1600| Mekanisme | Setelah pemadatan |

1601| :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |1601| :- | :- |

1602| Prompt sistem dan gaya output | Keduanya masih berlaku |1602| Prompt sistem dan gaya output | Keduanya masih berlaku |

1603| CLAUDE.md akar proyek dan aturan tanpa cakupan | Disuntikkan kembali dari disk |1603| CLAUDE.md akar proyek dan aturan tanpa cakupan | Disuntikkan kembali dari disk |

1604| Memori otomatis | Disuntikkan kembali dari disk |1604| Memori otomatis | Disuntikkan kembali dari disk |

costs.md +3 −3

Details

107[Kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) memungkinkan Anda terus bekerja melampaui batas penggunaan paket Anda. Untuk mengelolanya, jalankan `/usage-credits` setelah masuk dengan langganan claude.ai Anda melalui `/login`; perintah tidak tersedia dengan autentikasi kunci API. Dalam organisasi Enterprise self-serve, uji coba Enterprise, dan organisasi Enterprise yang ditagih melalui AWS Marketplace, perintah memerlukan Claude Code v2.1.248 atau lebih baru; versi sebelumnya menolaknya dengan [`Unknown command: /usage-credits`](/docs/id/errors#unknown-command). Apa yang dibukanya tergantung pada peran Anda:107[Kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) memungkinkan Anda terus bekerja melampaui batas penggunaan paket Anda. Untuk mengelolanya, jalankan `/usage-credits` setelah masuk dengan langganan claude.ai Anda melalui `/login`; perintah tidak tersedia dengan autentikasi kunci API. Dalam organisasi Enterprise self-serve, uji coba Enterprise, dan organisasi Enterprise yang ditagih melalui AWS Marketplace, perintah memerlukan Claude Code v2.1.248 atau lebih baru; versi sebelumnya menolaknya dengan [`Unknown command: /usage-credits`](/docs/id/errors#unknown-command). Apa yang dibukanya tergantung pada peran Anda:

108 108 

109| Peran Anda | Apa yang dilakukan `/usage-credits` |109| Peran Anda | Apa yang dilakukan `/usage-credits` |

110| :-------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- |

111| Pelanggan Pro atau Max | Membuka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai di browser. Di bagian **Usage credits** Anda dapat mengaktifkan atau menonaktifkan kredit penggunaan dan memeriksa saldo kredit, pengeluaran bulan ini, dan batas pengeluaran bulanan Anda |111| Pelanggan Pro atau Max | Membuka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai di browser. Di bagian **Usage credits** Anda dapat mengaktifkan atau menonaktifkan kredit penggunaan dan memeriksa saldo kredit, pengeluaran bulan ini, dan batas pengeluaran bulanan Anda |

112| Anggota Team atau Enterprise dengan akses penagihan | Membuka pengaturan penggunaan organisasi Anda, [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), di browser |112| Anggota Team atau Enterprise dengan akses penagihan | Membuka pengaturan penggunaan organisasi Anda, [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), di browser |

113| Anggota Team atau Enterprise tanpa akses penagihan | Meminta Anda untuk mengonfirmasi, kemudian mengirim permintaan ke admin organisasi Anda. Sebelum v2.1.211, Claude Code mengirim permintaan tanpa langkah konfirmasi |113| Anggota Team atau Enterprise tanpa akses penagihan | Meminta Anda untuk mengonfirmasi, kemudian mengirim permintaan ke admin organisasi Anda. Sebelum v2.1.211, Claude Code mengirim permintaan tanpa langkah konfirmasi |


127Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna. Pada paket Pro atau Max individual Anda tidak memiliki organisasi untuk dikelola, jadi lacak pengeluaran kredit penggunaan Anda sendiri, termasuk [fast mode](/docs/id/fast-mode#see-where-fast-mode-spend-appears), di bawah [Tambahkan kredit penggunaan ke langganan Anda](#add-usage-credits-to-your-subscription).127Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna. Pada paket Pro atau Max individual Anda tidak memiliki organisasi untuk dikelola, jadi lacak pengeluaran kredit penggunaan Anda sendiri, termasuk [fast mode](/docs/id/fast-mode#see-where-fast-mode-spend-appears), di bawah [Tambahkan kredit penggunaan ke langganan Anda](#add-usage-credits-to-your-subscription).

128 128 

129| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |129| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |

130| :---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |130| :- | :- | :- | :- |

131| [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 |131| [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 |

132| [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) |132| [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) |

133| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](/docs/id/monitoring-usage) atau [gateway LLM](/docs/id/llm-gateway) |133| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](/docs/id/monitoring-usage) atau [gateway LLM](/docs/id/llm-gateway) |


190Saat menyiapkan Claude Code untuk tim, pertimbangkan rekomendasi Token Per Minute (TPM) dan Request Per Minute (RPM) per pengguna ini berdasarkan ukuran organisasi Anda:190Saat menyiapkan Claude Code untuk tim, pertimbangkan rekomendasi Token Per Minute (TPM) dan Request Per Minute (RPM) per pengguna ini berdasarkan ukuran organisasi Anda:

191 191 

192| Ukuran tim | TPM per pengguna | RPM per pengguna |192| Ukuran tim | TPM per pengguna | RPM per pengguna |

193| ---------------- | ---------------- | ---------------- |193| - | - | - |

194| 1-5 pengguna | 200k-300k | 5-7 |194| 1-5 pengguna | 200k-300k | 5-7 |

195| 5-20 pengguna | 100k-150k | 2.5-3.5 |195| 5-20 pengguna | 100k-150k | 2.5-3.5 |

196| 20-50 pengguna | 50k-75k | 1.25-1.75 |196| 20-50 pengguna | 50k-75k | 1.25-1.75 |

Details

172Bagaimana pesan bepergian, dan apakah melewati server Anthropic, tergantung di mana sesi target berjalan:172Bagaimana pesan bepergian, dan apakah melewati server Anthropic, tergantung di mana sesi target berjalan:

173 173 

174| Di mana sesi lain berjalan | Bagaimana pesan bepergian |174| Di mana sesi lain berjalan | Bagaimana pesan bepergian |

175| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------- |175| :- | :- |

176| Di mesin ini | Melalui soket per-sesi di macOS dan Linux, atau pipa bernama per-sesi di Windows native, tidak pernah melalui server Anthropic |176| Di mesin ini | Melalui soket per-sesi di macOS dan Linux, atau pipa bernama per-sesi di Windows native, tidak pernah melalui server Anthropic |

177| Di mesin lain Anda | Melalui server Anthropic, tiba melalui koneksi [Remote Control](/docs/id/remote-control) mesin itu |177| Di mesin lain Anda | Melalui server Anthropic, tiba melalui koneksi [Remote Control](/docs/id/remote-control) mesin itu |

178| Di [Claude Code on the web](/docs/id/claude-code-on-the-web) | Melalui server Anthropic, langsung ke sesi cloud |178| Di [Claude Code on the web](/docs/id/claude-code-on-the-web) | Melalui server Anthropic, langsung ke sesi cloud |


233Atur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) untuk memilih apa yang dilakukan sesi dengan pesan yang tiba dari sesi lain Anda:233Atur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) untuk memilih apa yang dilakukan sesi dengan pesan yang tiba dari sesi lain Anda:

234 234 

235| Nilai | Perilaku |235| Nilai | Perilaku |

236| :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| :- | :- |

237| `accept` | Claude Code mengirimkan setiap pesan ke Claude |237| `accept` | Claude Code mengirimkan setiap pesan ke Claude |

238| `hold` | Claude Code menunjukkan pemberitahuan untuk setiap pesan dan tidak mengirimkannya. Jika `accept` kemudian berlaku, per [aturan prioritas](/docs/id/settings-reference#crosssessioninbound), Claude Code merilis pesan yang ditahan |238| `hold` | Claude Code menunjukkan pemberitahuan untuk setiap pesan dan tidak mengirimkannya. Jika `accept` kemudian berlaku, per [aturan prioritas](/docs/id/settings-reference#crosssessioninbound), Claude Code merilis pesan yang ditahan |

239| `refuse` | Claude Code menjatuhkan setiap pesan tanpa mengirimkannya |239| `refuse` | Claude Code menjatuhkan setiap pesan tanpa mengirimkannya |

data-usage.md +2 −2

Details

96Enkripsi saat istirahat tergantung pada penyedia model Anda:96Enkripsi saat istirahat tergantung pada penyedia model Anda:

97 97 

98| Penyedia | Enkripsi saat istirahat |98| Penyedia | Enkripsi saat istirahat |

99| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| - | - |

100| Anthropic API | Enkripsi disk tingkat infrastruktur (AES-256). Aktifkan [Zero Data Retention](/docs/id/zero-data-retention) untuk tidak ada persistensi sisi server. |100| Anthropic API | Enkripsi disk tingkat infrastruktur (AES-256). Aktifkan [Zero Data Retention](/docs/id/zero-data-retention) untuk tidak ada persistensi sisi server. |

101| Amazon Bedrock | AES-256 dengan kunci yang dikelola AWS. Kunci yang dikelola pelanggan tersedia melalui AWS KMS. |101| Amazon Bedrock | AES-256 dengan kunci yang dikelola AWS. Kunci yang dikelola pelanggan tersedia melalui AWS KMS. |

102| Google Cloud's Agent Platform | Kunci enkripsi yang dikelola Google. CMEK tersedia. |102| Google Cloud's Agent Platform | Kunci enkripsi yang dikelola Google. CMEK tersedia. |


145Secara default, pelaporan kesalahan, telemetri, dan pelaporan bug dinonaktifkan saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS. Survei kualitas sesi dan pemeriksaan keamanan domain WebFetch adalah pengecualian dan berjalan terlepas dari penyedia. Pada sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, analitik penggunaan, pelaporan kesalahan, dan penilaian survei ke Anthropic dinonaktifkan oleh kredensial gateway itu sendiri, tanpa pengaturan untuk mengaktifkannya kembali. Anda dapat menolak semua lalu lintas non-esensial, termasuk survei, sekaligus dengan mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Variabel ini tidak mempengaruhi pemeriksaan WebFetch atau pemasangan otomatis marketplace plugin resmi; masing-masing memiliki opt-out tersendiri: `skipWebFetchPreflight` di [settings](/docs/id/settings) untuk WebFetch, dan `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` untuk marketplace. Berikut adalah perilaku default lengkapnya:145Secara default, pelaporan kesalahan, telemetri, dan pelaporan bug dinonaktifkan saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS. Survei kualitas sesi dan pemeriksaan keamanan domain WebFetch adalah pengecualian dan berjalan terlepas dari penyedia. Pada sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, analitik penggunaan, pelaporan kesalahan, dan penilaian survei ke Anthropic dinonaktifkan oleh kredensial gateway itu sendiri, tanpa pengaturan untuk mengaktifkannya kembali. Anda dapat menolak semua lalu lintas non-esensial, termasuk survei, sekaligus dengan mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Variabel ini tidak mempengaruhi pemeriksaan WebFetch atau pemasangan otomatis marketplace plugin resmi; masing-masing memiliki opt-out tersendiri: `skipWebFetchPreflight` di [settings](/docs/id/settings) untuk WebFetch, dan `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` untuk marketplace. Berikut adalah perilaku default lengkapnya:

146 146 

147| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |147| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |

148| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |148| - | - | - | - | - | - |

149| **Metrics** | Default aktif.<br />`DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |149| **Metrics** | Default aktif.<br />`DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

150| **Error reports** | Aktif untuk sign-in Pro dan Max pada v2.1.198+, sebaliknya nonaktif.<br />`DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |150| **Error reports** | Aktif untuk sign-in Pro dan Max pada v2.1.198+, sebaliknya nonaktif.<br />`DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

151| **Claude API (laporan `/feedback`)** | Default aktif.<br />`DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |151| **Claude API (laporan `/feedback`)** | Default aktif.<br />`DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

Details

19Untuk detail tentang kategori tertentu, lanjutkan dengan perintah khusus:19Untuk detail tentang kategori tertentu, lanjutkan dengan perintah khusus:

20 20 

21| Perintah | Menampilkan |21| Perintah | Menampilkan |

22| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |22| :- | :- |

23| `/memory` | Lokasi file memory di seluruh cakupan pengguna dan proyek dengan opsi untuk membuka masing-masing di editor Anda, ditambah akses ke folder auto memory dan toggle auto memory |23| `/memory` | Lokasi file memory di seluruh cakupan pengguna dan proyek dengan opsi untuk membuka masing-masing di editor Anda, ditambah akses ke folder auto memory dan toggle auto memory |

24| `/skills` | Skill yang tersedia dari sumber proyek, pengguna, dan plugin |24| `/skills` | Skill yang tersedia dari sumber proyek, pengguna, dan plugin |

25| `/hooks` | Konfigurasi hook aktif |25| `/hooks` | Konfigurasi hook aktif |


105Sebagian besar kejutan konfigurasi dapat dilacak kembali ke serangkaian kecil aturan lokasi dan sintaks. Periksa ini sebelum menganggap bug:105Sebagian besar kejutan konfigurasi dapat dilacak kembali ke serangkaian kecil aturan lokasi dan sintaks. Periksa ini sebelum menganggap bug:

106 106 

107| Gejala | Penyebab | Perbaikan |107| Gejala | Penyebab | Perbaikan |

108| :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |108| :- | :- | :- |

109| Hook tidak pernah aktif | `matcher` adalah array JSON bukan string | Gunakan string tunggal dengan `\|` untuk mencocokkan beberapa alat, misalnya `"Edit\|Write"`. Lihat [pola matcher](/docs/id/hooks#matcher-patterns). |109| Hook tidak pernah aktif | `matcher` adalah array JSON bukan string | Gunakan string tunggal dengan `\|` untuk mencocokkan beberapa alat, misalnya `"Edit\|Write"`. Lihat [pola matcher](/docs/id/hooks#matcher-patterns). |

110| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |110| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |

111| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |111| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |

desktop.md +8 −8

Details

85Untuk menetapkan mode default untuk sesi lokal baru, tambahkan `permissions.defaultMode` ke [file pengaturan](/docs/id/settings#where-settings-live) Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan mengambil alih `defaultMode` untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.85Untuk menetapkan mode default untuk sesi lokal baru, tambahkan `permissions.defaultMode` ke [file pengaturan](/docs/id/settings#where-settings-live) Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan mengambil alih `defaultMode` untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.

86 86 

87| Mode | Settings key | Behavior |87| Mode | Settings key | Behavior |

88| ---------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| - | - | - |

89| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. |89| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. |

90| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |90| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |

91| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |91| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |


245View modes mengontrol berapa banyak detail yang muncul di transkrip chat. Alihkan mode dari dropdown **Transcript view** di sebelah tombol kirim, atau tekan **Ctrl+O** di macOS atau Windows untuk bersiklus melaluinya. Mode Thinking muncul di dropdown hanya setelah Claude telah menghasilkan thinking di sesi yang Anda lihat.245View modes mengontrol berapa banyak detail yang muncul di transkrip chat. Alihkan mode dari dropdown **Transcript view** di sebelah tombol kirim, atau tekan **Ctrl+O** di macOS atau Windows untuk bersiklus melaluinya. Mode Thinking muncul di dropdown hanya setelah Claude telah menghasilkan thinking di sesi yang Anda lihat.

246 246 

247| Mode | Apa yang ditampilkan |247| Mode | Apa yang ditampilkan |

248| ------------ | ------------------------------------------------------------------------------------------------ |248| - | - |

249| **Normal** | Tool calls yang diciutkan menjadi ringkasan, dengan respons teks penuh |249| **Normal** | Tool calls yang diciutkan menjadi ringkasan, dengan respons teks penuh |

250| **Thinking** | Tool calls yang diciutkan menjadi ringkasan, ditambah thinking Claude |250| **Thinking** | Tool calls yang diciutkan menjadi ringkasan, ditambah thinking Claude |

251| **Verbose** | Setiap tool call, file read, dan langkah perantara yang diambil Claude, ditambah thinking Claude |251| **Verbose** | Setiap tool call, file read, dan langkah perantara yang diambil Claude, ditambah thinking Claude |


259Tekan **Cmd+/** di macOS atau **Ctrl+/** di Windows untuk melihat semua pintasan keyboard yang tersedia di tab Code. Di Windows, gunakan **Ctrl** sebagai pengganti **Cmd** untuk pintasan di bawah. Siklus sesi, toggle terminal, dan toggle view-mode menggunakan **Ctrl** di setiap platform.259Tekan **Cmd+/** di macOS atau **Ctrl+/** di Windows untuk melihat semua pintasan keyboard yang tersedia di tab Code. Di Windows, gunakan **Ctrl** sebagai pengganti **Cmd** untuk pintasan di bawah. Siklus sesi, toggle terminal, dan toggle view-mode menggunakan **Ctrl** di setiap platform.

260 260 

261| Shortcut | Action |261| Shortcut | Action |

262| ------------------------------------- | ------------------------------- |262| - | - |

263| `Cmd` `/` | Tampilkan pintasan keyboard |263| `Cmd` `/` | Tampilkan pintasan keyboard |

264| `Cmd` `N` | Sesi baru |264| `Cmd` `N` | Sesi baru |

265| `Cmd` `W` | Tutup sesi |265| `Cmd` `W` | Tutup sesi |


354Prompt juga menunjukkan tingkat kontrol apa yang diperoleh Claude untuk aplikasi itu. Tingkat ini diperbaiki berdasarkan kategori aplikasi dan tidak dapat diubah:354Prompt juga menunjukkan tingkat kontrol apa yang diperoleh Claude untuk aplikasi itu. Tingkat ini diperbaiki berdasarkan kategori aplikasi dan tidak dapat diubah:

355 355 

356| Tier | Apa yang dapat dilakukan Claude | Berlaku untuk |356| Tier | Apa yang dapat dilakukan Claude | Berlaku untuk |

357| :----------- | :----------------------------------------------------------------------- | :---------------------------- |357| :- | :- | :- |

358| View only | Lihat aplikasi di tangkapan layar | Browser, platform perdagangan |358| View only | Lihat aplikasi di tangkapan layar | Browser, platform perdagangan |

359| Click only | Klik dan gulir, tetapi tidak mengetik atau menggunakan pintasan keyboard | Terminal, IDE |359| Click only | Klik dan gulir, tetapi tidak mengetik atau menggunakan pintasan keyboard | Terminal, IDE |

360| Full control | Klik, ketik, seret, dan gunakan pintasan keyboard | Semuanya yang lain |360| Full control | Klik, ketik, seret, dan gunakan pintasan keyboard | Semuanya yang lain |


566Setiap entri dalam array `configurations` menerima bidang berikut:566Setiap entri dalam array `configurations` menerima bidang berikut:

567 567 

568| Field | Type | Description |568| Field | Type | Description |

569| ------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |569| - | - | - |

570| `name` | string | Pengidentifikasi unik untuk server ini |570| `name` | string | Pengidentifikasi unik untuk server ini |

571| `runtimeExecutable` | string | Perintah untuk dijalankan, seperti `npm`, `yarn`, atau `node` |571| `runtimeExecutable` | string | Perintah untuk dijalankan, seperti `npm`, `yarn`, atau `node` |

572| `runtimeArgs` | string\[] | Argumen yang dilewatkan ke `runtimeExecutable`, seperti `["run", "dev"]` |572| `runtimeArgs` | string\[] | Argumen yang dilewatkan ke `runtimeExecutable`, seperti `["run", "dev"]` |


841Pengaturan yang dikelola menimpa pengaturan proyek dan pengguna dan berlaku untuk sesi Claude Code di Desktop. Anda dapat mengatur kunci ini di file [managed settings](/docs/id/managed-settings) organisasi Anda atau mendorongnya dari jarak jauh melalui konsol admin.841Pengaturan yang dikelola menimpa pengaturan proyek dan pengguna dan berlaku untuk sesi Claude Code di Desktop. Anda dapat mengatur kunci ini di file [managed settings](/docs/id/managed-settings) organisasi Anda atau mendorongnya dari jarak jauh melalui konsol admin.

842 842 

843| Key | Description |843| Key | Description |

844| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |844| - | - |

845| `permissions.disableBypassPermissionsMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan Bypass permissions mode. |845| `permissions.disableBypassPermissionsMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan Bypass permissions mode. |

846| `disableAutoMode` | atur ke `"disable"` untuk menghapus mode [Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) dari pemilih mode. Juga diterima di bawah `permissions`. |846| `disableAutoMode` | atur ke `"disable"` untuk menghapus mode [Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) dari pemilih mode. Juga diterima di bawah `permissions`. |

847| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/docs/id/auto-mode-config). |847| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/docs/id/auto-mode-config). |


974Tabel ini menunjukkan setara aplikasi desktop untuk flag CLI umum. Flag yang tidak tercantum tidak memiliki setara desktop karena dirancang untuk scripting atau otomasi.974Tabel ini menunjukkan setara aplikasi desktop untuk flag CLI umum. Flag yang tidak tercantum tidak memiliki setara desktop karena dirancang untuk scripting atau otomasi.

975 975 

976| CLI | Setara Desktop |976| CLI | Setara Desktop |

977| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |977| - | - |

978| `--model sonnet` | Dropdown model di sebelah tombol kirim |978| `--model sonnet` | Dropdown model di sebelah tombol kirim |

979| `--resume`, `--continue` | Klik sesi di sidebar, atau ketik `/resume` di kotak prompt untuk mengambil sesi yang Anda mulai dari CLI |979| `--resume`, `--continue` | Klik sesi di sidebar, atau ketik `/resume` di kotak prompt untuk mengambil sesi yang Anda mulai dari CLI |

980| `--permission-mode` | Pemilih mode di sebelah tombol kirim |980| `--permission-mode` | Pemilih mode di sebelah tombol kirim |


1019Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/docs/id/cli-reference).1019Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/docs/id/cli-reference).

1020 1020 

1021| Fitur | CLI | Desktop |1021| Fitur | CLI | Desktop |

1022| ----------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1022| - | - | - |

1023| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |1023| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |

1024| [Penyedia pihak ketiga](/docs/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](/docs/id/llm-gateway-connect#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |1024| [Penyedia pihak ketiga](/docs/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](/docs/id/llm-gateway-connect#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1025| [MCP servers](/docs/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |1025| [MCP servers](/docs/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |

Details

17Claude Code menawarkan tiga cara untuk menjadwalkan pekerjaan berulang atau sekali jalan:17Claude Code menawarkan tiga cara untuk menjadwalkan pekerjaan berulang atau sekali jalan:

18 18 

19| | [Cloud](/docs/id/routines) | [Desktop](/docs/id/desktop-scheduled-tasks) | [`/loop`](/docs/id/scheduled-tasks) |19| | [Cloud](/docs/id/routines) | [Desktop](/docs/id/desktop-scheduled-tasks) | [`/loop`](/docs/id/scheduled-tasks) |

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

21| Berjalan di | Cloud, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |21| Berjalan di | Cloud, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |

22| Memerlukan mesin aktif | Tidak | Ya | Ya |22| Memerlukan mesin aktif | Tidak | Ya | Ya |

23| Memerlukan sesi terbuka | Tidak | Tidak | Ya |23| Memerlukan sesi terbuka | Tidak | Tidak | Ya |


43Pada Claude Desktop sebelum 1.1.5368, tugas terjadwal lokal tidak tersedia. Di [**tab Code**](/docs/id/desktop), klik **Routines** di sidebar atau di menu **More** sidebar, kemudian klik **New routine** dan pilih **Local**. Konfigurasikan bidang-bidang ini:43Pada Claude Desktop sebelum 1.1.5368, tugas terjadwal lokal tidak tersedia. Di [**tab Code**](/docs/id/desktop), klik **Routines** di sidebar atau di menu **More** sidebar, kemudian klik **New routine** dan pilih **Local**. Konfigurasikan bidang-bidang ini:

44 44 

45| Bidang | Deskripsi |45| Bidang | Deskripsi |

46| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |46| - | - |

47| Name | Pengenal untuk tugas. Dikonversi ke kebab-case huruf kecil dan digunakan sebagai nama folder di disk. Harus unik di seluruh tugas Anda. |47| Name | Pengenal untuk tugas. Dikonversi ke kebab-case huruf kecil dan digunakan sebagai nama folder di disk. Harus unik di seluruh tugas Anda. |

48| Description | Ringkasan singkat yang ditampilkan dalam daftar tugas. |48| Description | Ringkasan singkat yang ditampilkan dalam daftar tugas. |

49| Instructions | Apa yang harus dilakukan Claude saat tugas berjalan. Tulis ini dengan cara yang sama seperti Anda menulis pesan apa pun di kotak prompt. Input instruksi mencakup pemilih untuk mode izin dan model, dan di bawahnya Anda memilih folder kerja dan apakah akan berjalan di worktree terisolasi. |49| Instructions | Apa yang harus dilakukan Claude saat tugas berjalan. Tulis ini dengan cara yang sama seperti Anda menulis pesan apa pun di kotak prompt. Input instruksi mencakup pemilih untuk mode izin dan model, dan di bawahnya Anda memilih folder kerja dan apakah akan berjalan di worktree terisolasi. |

devcontainer.md +1 −1

Details

191Konfigurasi referensi terdiri dari tiga file. Tidak satupun dari mereka diperlukan saat Anda menambahkan Claude Code ke dev container Anda sendiri melalui fitur, tetapi mereka menunjukkan satu cara untuk menggabungkan potongan-potongan.191Konfigurasi referensi terdiri dari tiga file. Tidak satupun dari mereka diperlukan saat Anda menambahkan Claude Code ke dev container Anda sendiri melalui fitur, tetapi mereka menunjukkan satu cara untuk menggabungkan potongan-potongan.

192 192 

193| File | Tujuan |193| File | Tujuan |

194| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |194| - | - |

195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | Pemasangan volume, kemampuan `runArgs`, ekstensi VS Code, dan `containerEnv` |195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | Pemasangan volume, kemampuan `runArgs`, ekstensi VS Code, dan `containerEnv` |

196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | Citra dasar, alat pengembangan, dan instalasi Claude Code |196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | Citra dasar, alat pengembangan, dan instalasi Claude Code |

197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | Membatasi lalu lintas jaringan keluar ke tujuan yang diizinkan oleh skrip |197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | Membatasi lalu lintas jaringan keluar ke tujuan yang diizinkan oleh skrip |

env-vars.md +2 −2

Details

96File yang Anda pilih mengontrol siapa variabel berlaku untuk:96File yang Anda pilih mengontrol siapa variabel berlaku untuk:

97 97 

98| File | Berlaku untuk |98| File | Berlaku untuk |

99| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :- | :- |

100| `~/.claude/settings.json` | Anda, di setiap proyek |100| `~/.claude/settings.json` | Anda, di setiap proyek |

101| `.claude/settings.json` | Semua orang yang bekerja di proyek, diperiksa ke kontrol sumber |101| `.claude/settings.json` | Semua orang yang bekerja di proyek, diperiksa ke kontrol sumber |

102| `.claude/settings.local.json` | Anda, di proyek ini saja, diabaikan git saat Claude Code menyimpan pengaturan ke dalamnya; tambahkan ke gitignore Anda jika Anda membuatnya dengan tangan |102| `.claude/settings.local.json` | Anda, di proyek ini saja, diabaikan git saat Claude Code menyimpan pengaturan ke dalamnya; tambahkan ke gitignore Anda jika Anda membuatnya dengan tangan |


142</Note>142</Note>

143 143 

144| Variabel | Tujuan |144| Variabel | Tujuan |

145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |145| :- | :- |

146| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Ketika diatur, kunci ini digunakan sebagai pengganti langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Ketika diatur, kunci ini digunakan sebagai pengganti langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | Nilai khusus untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Nilai khusus untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |

148| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas di atas AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas di atas AWS SigV4 |

errors.md +2 −2

Details

21Cocokkan pesan yang Anda lihat dengan bagian di bawah ini.21Cocokkan pesan yang Anda lihat dengan bagian di bawah ini.

22 22 

23| Pesan | Bagian |23| Pesan | Bagian |

24| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |24| :- | :- |

25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Server errors](#request-timed-out), atau [Network](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |27| `Request timed out` | [Server errors](#request-timed-out), atau [Network](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |


366Anda dapat menyesuaikan perilaku pengulangan dengan variabel lingkungan ini:366Anda dapat menyesuaikan perilaku pengulangan dengan variabel lingkungan ini:

367 367 

368| Variable | Default | Effect |368| Variable | Default | Effect |

369| :---------------------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |369| :- | :- | :- |

370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/id/env-vars) | 10 | Jumlah percobaan pengulangan. Dibatasi pada 15 mulai v2.1.186; mulai v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Turunkan untuk menampilkan kegagalan lebih cepat dalam script. |370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/id/env-vars) | 10 | Jumlah percobaan pengulangan. Dibatasi pada 15 mulai v2.1.186; mulai v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas. Turunkan untuk menampilkan kegagalan lebih cepat dalam script. |

371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti CI jobs untuk mengulangi `429` dan `529` capacity errors tanpa batas bukan gagal setelah `CLAUDE_CODE_MAX_RETRIES` percobaan. Claude Code gagal sekaligus ketika standard-speed request mendapat `429` yang melaporkan spend limit atau exhausted usage credits, bahkan satu dari [gateway spend cap](#spend-limit-reached) yang reset pada jadwal. Sebelum v2.1.239, watchdog mengulangi ini tanpa batas. Untuk fast mode requests, lihat [Handle rate limits](/docs/id/fast-mode#handle-rate-limits). Pada v2.1.199 atau lebih baru itu juga menaikkan default retry count untuk transient errors lainnya, seperti server errors, timeouts, dan dropped connections, menjadi 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. |371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti CI jobs untuk mengulangi `429` dan `529` capacity errors tanpa batas bukan gagal setelah `CLAUDE_CODE_MAX_RETRIES` percobaan. Claude Code gagal sekaligus ketika standard-speed request mendapat `429` yang melaporkan spend limit atau exhausted usage credits, bahkan satu dari [gateway spend cap](#spend-limit-reached) yang reset pada jadwal. Sebelum v2.1.239, watchdog mengulangi ini tanpa batas. Untuk fast mode requests, lihat [Handle rate limits](/docs/id/fast-mode#handle-rate-limits). Pada v2.1.199 atau lebih baru itu juga menaikkan default retry count untuk transient errors lainnya, seperti server errors, timeouts, dan dropped connections, menjadi 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. |

372| [`API_TIMEOUT_MS`](/docs/id/env-vars) | 600000 | Per-request timeout dalam milliseconds. Naikkan untuk jaringan lambat atau proxy. Ini juga membatasi berapa lama Claude Code menunggu response headers, dijelaskan dalam [No response from API](#no-response-from-api). |372| [`API_TIMEOUT_MS`](/docs/id/env-vars) | 600000 | Per-request timeout dalam milliseconds. Naikkan untuk jaringan lambat atau proxy. Ini juga membatasi berapa lama Claude Code menunggu response headers, dijelaskan dalam [No response from API](#no-response-from-api). |

fast-mode.md +2 −2

Details

79Mode cepat memiliki harga per-token yang lebih tinggi daripada Opus standar:79Mode cepat memiliki harga per-token yang lebih tinggi daripada Opus standar:

80 80 

81| Model | Input (MTok) | Output (MTok) |81| Model | Input (MTok) | Output (MTok) |

82| -------- | ------------ | ------------- |82| - | - | - |

83| Opus 5.5 | \$8 | \$40 |83| Opus 5.5 | \$8 | \$40 |

84| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

85| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |


121Mode cepat dan tingkat usaha keduanya mempengaruhi kecepatan respons, tetapi dengan cara yang berbeda:121Mode cepat dan tingkat usaha keduanya mempengaruhi kecepatan respons, tetapi dengan cara yang berbeda:

122 122 

123| Pengaturan | Efek |123| Pengaturan | Efek |

124| ------------------------------ | ----------------------------------------------------------------------------------------------------- |124| - | - |

125| **Mode cepat** | Kualitas model yang sama, latensi lebih rendah, biaya lebih tinggi |125| **Mode cepat** | Kualitas model yang sama, latensi lebih rendah, biaya lebih tinggi |

126| **Tingkat usaha lebih rendah** | Waktu pemikiran lebih sedikit, respons lebih cepat, potensi kualitas lebih rendah pada tugas kompleks |126| **Tingkat usaha lebih rendah** | Waktu pemikiran lebih sedikit, respons lebih cepat, potensi kualitas lebih rendah pada tugas kompleks |

127 127 

Details

304Jika Anda melakukan autentikasi melalui Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau kunci API Anthropic Console, bagian ini tidak berlaku untuk Anda. Ketika Anda masuk dengan akun claude.ai, paket Anda menentukan fitur mana di bawah ini yang tersedia.304Jika Anda melakukan autentikasi melalui Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau kunci API Anthropic Console, bagian ini tidak berlaku untuk Anda. Ketika Anda masuk dengan akun claude.ai, paket Anda menentukan fitur mana di bawah ini yang tersedia.

305 305 

306| Fitur | Pro | Max | Team | Enterprise |306| Fitur | Pro | Max | Team | Enterprise |

307| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |307| :- | :- | :- | :- | :- |

308| [Cloud sessions](/docs/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |308| [Cloud sessions](/docs/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

309| [Routines](/docs/id/routines) | ✓ | ✓ | ✓ | ✓ |309| [Routines](/docs/id/routines) | ✓ | ✓ | ✓ | ✓ |

310| [Remote Control](/docs/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |310| [Remote Control](/docs/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |

Details

40Fitur berkisar dari konteks yang selalu aktif yang Claude lihat setiap sesi, hingga kemampuan on-demand yang dapat Anda atau Claude panggil, hingga otomasi latar belakang yang berjalan pada acara tertentu. Tabel di bawah menunjukkan apa yang tersedia dan kapan masing-masing masuk akal.40Fitur berkisar dari konteks yang selalu aktif yang Claude lihat setiap sesi, hingga kemampuan on-demand yang dapat Anda atau Claude panggil, hingga otomasi latar belakang yang berjalan pada acara tertentu. Tabel di bawah menunjukkan apa yang tersedia dan kapan masing-masing masuk akal.

41 41 

42| Fitur | Apa yang dilakukannya | Kapan menggunakannya | Contoh |42| Fitur | Apa yang dilakukannya | Kapan menggunakannya | Contoh |

43| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |43| - | - | - | - |

44| **CLAUDE.md** | Konteks persisten dimuat setiap percakapan | Konvensi proyek, aturan "selalu lakukan X" | "Gunakan pnpm, bukan npm. Jalankan tes sebelum melakukan commit." |44| **CLAUDE.md** | Konteks persisten dimuat setiap percakapan | Konvensi proyek, aturan "selalu lakukan X" | "Gunakan pnpm, bukan npm. Jalankan tes sebelum melakukan commit." |

45| **[Output style](/docs/id/output-styles)** | Instruksi yang menetapkan peran, nada, dan format respons Claude untuk seluruh sesi | Suara, panjang, atau format yang Anda inginkan di setiap respons, atau Claude bekerja sebagai sesuatu selain insinyur perangkat lunak | Gaya Concise bawaan untuk respons yang lebih pendek; gaya kustom yang menjawab setiap pertanyaan dengan diagram terlebih dahulu |45| **[Output style](/docs/id/output-styles)** | Instruksi yang menetapkan peran, nada, dan format respons Claude untuk seluruh sesi | Suara, panjang, atau format yang Anda inginkan di setiap respons, atau Claude bekerja sebagai sesuatu selain insinyur perangkat lunak | Gaya Concise bawaan untuk respons yang lebih pendek; gaya kustom yang menjawab setiap pertanyaan dengan diagram terlebih dahulu |

46| **Skill** | Instruksi, pengetahuan, dan alur kerja yang dapat digunakan Claude | Konten yang dapat digunakan kembali, dokumen referensi, tugas yang dapat diulang | `/deploy` menjalankan daftar periksa penyebaran Anda; skill dokumen API dengan pola endpoint |46| **Skill** | Instruksi, pengetahuan, dan alur kerja yang dapat digunakan Claude | Konten yang dapat digunakan kembali, dokumen referensi, tugas yang dapat diulang | `/deploy` menjalankan daftar periksa penyebaran Anda; skill dokumen API dengan pola endpoint |


61Anda tidak perlu mengonfigurasi semuanya di muka. Setiap fitur memiliki pemicu yang dapat dikenali, dan sebagian besar tim menambahkannya dalam urutan yang kurang lebih seperti ini:61Anda tidak perlu mengonfigurasi semuanya di muka. Setiap fitur memiliki pemicu yang dapat dikenali, dan sebagian besar tim menambahkannya dalam urutan yang kurang lebih seperti ini:

62 62 

63| Pemicu | Tambahkan |63| Pemicu | Tambahkan |

64| :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------- |64| :- | :- |

65| Claude mendapatkan konvensi atau perintah yang salah dua kali | Tambahkan ke [CLAUDE.md](/docs/id/memory) |65| Claude mendapatkan konvensi atau perintah yang salah dua kali | Tambahkan ke [CLAUDE.md](/docs/id/memory) |

66| Anda terus meminta Claude untuk lebih pendek, menjelaskan lebih banyak, atau menjawab dalam format yang sama | Atur [output style](/docs/id/output-styles) |66| Anda terus meminta Claude untuk lebih pendek, menjelaskan lebih banyak, atau menjawab dalam format yang sama | Atur [output style](/docs/id/output-styles) |

67| Anda terus mengetik prompt yang sama untuk memulai tugas | Simpan sebagai [skill](/docs/id/skills) yang dapat dipanggil pengguna |67| Anda terus mengetik prompt yang sama untuk memulai tugas | Simpan sebagai [skill](/docs/id/skills) yang dapat dipanggil pengguna |


88 * **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda88 * **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda

89 89 

90 | Aspek | Skill | Subagent |90 | Aspek | Skill | Subagent |

91 | ----------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------- |91 | - | - | - |

92 | **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |92 | **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |

93 | **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |93 | **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |

94 | **Dampak [context window](/docs/id/context-window)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |94 | **Dampak [context window](/docs/id/context-window)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |


105 Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.105 Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.

106 106 

107 | Aspek | CLAUDE.md | Skill |107 | Aspek | CLAUDE.md | Skill |

108 | --------------------------- | ---------------------------- | ------------------------------------------------- |108 | - | - | - |

109 | **Dimuat** | Setiap sesi, secara otomatis | On demand |109 | **Dimuat** | Setiap sesi, secara otomatis | On demand |

110 | **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |110 | **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |

111 | **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |111 | **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |


122 Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.122 Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.

123 123 

124 | Aspek | CLAUDE.md | Output style |124 | Aspek | CLAUDE.md | Output style |

125 | ----------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |125 | - | - | - |

126 | **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |126 | **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |

127 | **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](/docs/id/output-styles#change-your-output-style) kapan saja Anda mau |127 | **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](/docs/id/output-styles#change-your-output-style) kapan saja Anda mau |

128 | **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |128 | **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |


138 Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:138 Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:

139 139 

140 | Aspek | CLAUDE.md | `.claude/rules/` | Skill |140 | Aspek | CLAUDE.md | `.claude/rules/` | Skill |

141 | ----------------- | -------------------------------- | ----------------------------------------------- | ----------------------------------------------- |141 | - | - | - | - |

142 | **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |142 | **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |

143 | **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |143 | **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |

144 | **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |144 | **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |


167 MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.167 MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.

168 168 

169 | Aspek | MCP | Skill |169 | Aspek | MCP | Skill |

170 | --------------- | -------------------------------------------------- | --------------------------------------------------------------------- |170 | - | - | - |

171 | **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |171 | **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |

172 | **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |172 | **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |

173 | **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |173 | **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |


183 Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.183 Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.

184 184 

185 | Aspek | Hook | Skill |185 | Aspek | Hook | Skill |

186 | ----------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |186 | - | - | - |

187 | **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |187 | **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |

188 | **Dipicu oleh** | [Acara siklus hidup](/docs/id/hooks-guide) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |188 | **Dipicu oleh** | [Acara siklus hidup](/docs/id/hooks-guide) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |

189 | **Determinisme** | Selalu menyala pada acaranya; pemicu dijamin | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |189 | **Determinisme** | Selalu menyala pada acaranya; pemicu dijamin | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |


220Misalnya, Anda mungkin menggunakan CLAUDE.md untuk konvensi proyek, skill untuk alur kerja penyebaran Anda, MCP untuk terhubung ke basis data Anda, dan hook untuk menjalankan linting setelah setiap pengeditan. Setiap fitur menangani apa yang terbaik.220Misalnya, Anda mungkin menggunakan CLAUDE.md untuk konvensi proyek, skill untuk alur kerja penyebaran Anda, MCP untuk terhubung ke basis data Anda, dan hook untuk menjalankan linting setelah setiap pengeditan. Setiap fitur menangani apa yang terbaik.

221 221 

222| Pola | Cara kerjanya | Contoh |222| Pola | Cara kerjanya | Contoh |

223| ---------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |223| - | - | - |

224| **Skill + MCP** | MCP menyediakan koneksi; skill mengajarkan Claude cara menggunakannya dengan baik | MCP terhubung ke basis data Anda, skill mendokumentasikan skema dan pola kueri Anda |224| **Skill + MCP** | MCP menyediakan koneksi; skill mengajarkan Claude cara menggunakannya dengan baik | MCP terhubung ke basis data Anda, skill mendokumentasikan skema dan pola kueri Anda |

225| **Skill + Subagent** | Skill memunculkan subagent untuk pekerjaan paralel | Skill `/audit` memulai subagent keamanan, kinerja, dan gaya yang bekerja dalam konteks terisolasi |225| **Skill + Subagent** | Skill memunculkan subagent untuk pekerjaan paralel | Skill `/audit` memulai subagent keamanan, kinerja, dan gaya yang bekerja dalam konteks terisolasi |

226| **CLAUDE.md + Skills** | CLAUDE.md memegang aturan yang selalu aktif; skill memegang materi referensi yang dimuat on-demand | CLAUDE.md mengatakan "ikuti konvensi API kami," skill berisi panduan gaya API lengkap |226| **CLAUDE.md + Skills** | CLAUDE.md memegang aturan yang selalu aktif; skill memegang materi referensi yang dimuat on-demand | CLAUDE.md mengatakan "ikuti konvensi API kami," skill berisi panduan gaya API lengkap |


239Setiap fitur memiliki strategi pemuatan dan biaya konteks yang berbeda:239Setiap fitur memiliki strategi pemuatan dan biaya konteks yang berbeda:

240 240 

241| Fitur | Kapan dimuat | Apa yang dimuat | Biaya konteks |241| Fitur | Kapan dimuat | Apa yang dimuat | Biaya konteks |

242| --------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |242| - | - | - | - |

243| **CLAUDE.md** | Awal sesi | Konten penuh | Setiap permintaan |243| **CLAUDE.md** | Awal sesi | Konten penuh | Setiap permintaan |

244| **Output styles** | Awal sesi, dan lagi ketika Anda beralih gaya | Instruksi lengkap gaya aktif; tidak ada untuk gaya Default | Setiap permintaan |244| **Output styles** | Awal sesi, dan lagi ketika Anda beralih gaya | Instruksi lengkap gaya aktif; tidak ada untuk gaya Default | Setiap permintaan |

245| **Skills** | Awal sesi + ketika digunakan | Deskripsi di awal, konten penuh ketika digunakan | Rendah (deskripsi setiap permintaan)\* |245| **Skills** | Awal sesi + ketika digunakan | Deskripsi di awal, konten penuh ketika digunakan | Rendah (deskripsi setiap permintaan)\* |

fullscreen.md +4 −4

Details

57[Sesi latar belakang](/docs/id/agent-view) yang terpasang merender fullscreen, dan sesi lain dalam [mode pembaca layar](/docs/id/accessibility) menggunakan renderer klasik. Jika tidak, Claude Code memulai Anda dalam renderer dari baris pertama tabel ini yang cocok dengan pengaturan Anda:57[Sesi latar belakang](/docs/id/agent-view) yang terpasang merender fullscreen, dan sesi lain dalam [mode pembaca layar](/docs/id/accessibility) menggunakan renderer klasik. Jika tidak, Claude Code memulai Anda dalam renderer dari baris pertama tabel ini yang cocok dengan pengaturan Anda:

58 58 

59| Situasi Anda | Renderer yang Anda mulai |59| Situasi Anda | Renderer yang Anda mulai |

60| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |60| :- | :- |

61| Anda mengatur [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/id/env-vars) atau `CLAUDE_CODE_NO_FLICKER=0` | Klasik |61| Anda mengatur [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/id/env-vars) atau `CLAUDE_CODE_NO_FLICKER=0` | Klasik |

62| Anda mengatur `CLAUDE_CODE_NO_FLICKER=1` | Fullscreen |62| Anda mengatur `CLAUDE_CODE_NO_FLICKER=1` | Fullscreen |

63| Claude Code [mematikan fullscreen setelah awal fullscreen yang gagal](#fullscreen-renderer-didnt-finish-starting) di mesin ini | Klasik |63| Claude Code [mematikan fullscreen setelah awal fullscreen yang gagal](#fullscreen-renderer-didnt-finish-starting) di mesin ini | Klasik |


85Karena percakapan berada di buffer layar alternatif alih-alih scrollback terminal Anda, beberapa hal bekerja berbeda:85Karena percakapan berada di buffer layar alternatif alih-alih scrollback terminal Anda, beberapa hal bekerja berbeda:

86 86 

87| Sebelumnya | Sekarang | Detail |87| Sebelumnya | Sekarang | Detail |

88| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |88| :- | :- | :- |

89| `Cmd+f` atau pencarian tmux untuk menemukan teks | `Ctrl+o` untuk mode transkrip, kemudian `/` untuk mencari atau `[` untuk menulis ke scrollback | [Cari dan tinjau percakapan](#search-and-review-the-conversation) |89| `Cmd+f` atau pencarian tmux untuk menemukan teks | `Ctrl+o` untuk mode transkrip, kemudian `/` untuk mencari atau `[` untuk menulis ke scrollback | [Cari dan tinjau percakapan](#search-and-review-the-conversation) |

90| Klik-dan-seret asli terminal untuk memilih dan menyalin | Pemilihan dalam aplikasi, menyalin secara otomatis saat pelepasan mouse | [Gunakan mouse](#use-the-mouse) |90| Klik-dan-seret asli terminal untuk memilih dan menyalin | Pemilihan dalam aplikasi, menyalin secara otomatis saat pelepasan mouse | [Gunakan mouse](#use-the-mouse) |

91| `Cmd`-klik untuk membuka URL | `Cmd`-klik di macOS, `Ctrl`-klik di tempat lain | [Gunakan mouse](#use-the-mouse) |91| `Cmd`-klik untuk membuka URL | `Cmd`-klik di macOS, `Ctrl`-klik di tempat lain | [Gunakan mouse](#use-the-mouse) |


135Rendering fullscreen menangani pengguliran di dalam aplikasi. Gunakan pintasan ini untuk menavigasi:135Rendering fullscreen menangani pengguliran di dalam aplikasi. Gunakan pintasan ini untuk menavigasi:

136 136 

137| Pintasan | Tindakan |137| Pintasan | Tindakan |

138| :-------------- | :------------------------------------------------------- |138| :- | :- |

139| `PgUp` / `PgDn` | Gulir ke atas atau ke bawah setengah layar |139| `PgUp` / `PgDn` | Gulir ke atas atau ke bawah setengah layar |

140| `Ctrl+Home` | Lompat ke awal percakapan |140| `Ctrl+Home` | Lompat ke awal percakapan |

141| `Ctrl+End` | Lompat ke pesan terbaru dan aktifkan kembali auto-follow |141| `Ctrl+End` | Lompat ke pesan terbaru dan aktifkan kembali auto-follow |


208Mode transkrip mendapatkan navigasi dan pencarian gaya `less`:208Mode transkrip mendapatkan navigasi dan pencarian gaya `less`:

209 209 

210| Tombol | Tindakan |210| Tombol | Tindakan |

211| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |211| :- | :- |

212| `/` | Buka pencarian. Ketik untuk menemukan kecocokan, `Enter` untuk menerima, `Esc` untuk membatalkan dan mengembalikan posisi gulir Anda |212| `/` | Buka pencarian. Ketik untuk menemukan kecocokan, `Enter` untuk menerima, `Esc` untuk membatalkan dan mengembalikan posisi gulir Anda |

213| `n` / `N` | Lompat ke kecocokan berikutnya atau sebelumnya. Bekerja setelah Anda menutup bilah pencarian |213| `n` / `N` | Lompat ke kecocokan berikutnya atau sebelumnya. Bekerja setelah Anda menutup bilah pencarian |

214| `j` / `k` atau `↑` / `↓` | Gulir satu baris |214| `j` / `k` atau `↑` / `↓` | Gulir satu baris |

Details

136Ketika Anda menginstal aplikasi, Anda memberikan izin berikut:136Ketika Anda menginstal aplikasi, Anda memberikan izin berikut:

137 137 

138| Izin | Akses |138| Izin | Akses |

139| ---------------- | -------------- |139| - | - |

140| Actions | Baca dan tulis |140| Actions | Baca dan tulis |

141| Checks | Baca dan tulis |141| Checks | Baca dan tulis |

142| Contents | Baca dan tulis |142| Contents | Baca dan tulis |


399Ini adalah input yang paling umum digunakan. Masing-masing memetakan ke kunci `with:` dalam langkah `anthropics/claude-code-action`.399Ini adalah input yang paling umum digunakan. Masing-masing memetakan ke kunci `with:` dalam langkah `anthropics/claude-code-action`.

400 400 

401| Parameter | Deskripsi | Diperlukan |401| Parameter | Deskripsi | Diperlukan |

402| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| - | - | - |

403| `prompt` | Instruksi untuk Claude, sebagai teks biasa atau invokasi [skill](/docs/id/skills). Ketika dihilangkan, Claude merespons [frasa pemicu](#interactive-and-automation-modes) sebagai gantinya | Tidak |403| `prompt` | Instruksi untuk Claude, sebagai teks biasa atau invokasi [skill](/docs/id/skills). Ketika dihilangkan, Claude merespons [frasa pemicu](#interactive-and-automation-modes) sebagai gantinya | Tidak |

404| `claude_args` | Argumen CLI yang diteruskan ke Claude Code | Tidak |404| `claude_args` | Argumen CLI yang diteruskan ke Claude Code | Tidak |

405| `anthropic_api_key` | Kunci Claude API | Untuk Claude API, kecuali Anda menggunakan `claude_code_oauth_token` atau [federasi identitas beban kerja](#set-up-for-an-organization). Tidak digunakan untuk Bedrock, Agent Platform, atau Foundry |405| `anthropic_api_key` | Kunci Claude API | Untuk Claude API, kecuali Anda menggunakan `claude_code_oauth_token` atau [federasi identitas beban kerja](#set-up-for-an-organization). Tidak digunakan untuk Bedrock, Agent Platform, atau Foundry |

Details

101 Di repositori tempat Claude Code GitHub Action berjalan, tambahkan rahasia untuk penyedia Anda, ditambah dua rahasia aplikasi jika Anda membuat GitHub App kustom di langkah pertama. Lihat panduan GitHub untuk [menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).101 Di repositori tempat Claude Code GitHub Action berjalan, tambahkan rahasia untuk penyedia Anda, ditambah dua rahasia aplikasi jika Anda membuat GitHub App kustom di langkah pertama. Lihat panduan GitHub untuk [menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).

102 102 

103 | Rahasia | Diperlukan untuk | Nilai |103 | Rahasia | Diperlukan untuk | Nilai |

104 | -------------------------------- | ----------------------------- | --------------------------------- |104 | - | - | - |

105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | ARN peran IAM |105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | ARN peran IAM |

106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud's Agent Platform | Nama sumber daya lengkap penyedia |106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud's Agent Platform | Nama sumber daya lengkap penyedia |

107 | `GCP_SERVICE_ACCOUNT` | Google Cloud's Agent Platform | Alamat email akun layanan |107 | `GCP_SERVICE_ACCOUNT` | Google Cloud's Agent Platform | Alamat email akun layanan |

Details

21Tabel di bawah menunjukkan fitur Claude Code mana yang mendukung GHES dan perbedaan apa pun dari perilaku github.com.21Tabel di bawah menunjukkan fitur Claude Code mana yang mendukung GHES dan perbedaan apa pun dari perilaku github.com.

22 22 

23| Fitur | Dukungan GHES | Catatan |23| Fitur | Dukungan GHES | Catatan |

24| :---------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- |

25| Cloud sessions | ✅ Didukung | Pemilik menghubungkan instans GHES sekali; pengembang menggunakan `claude --cloud` atau [claude.ai/code](https://claude.ai/code) seperti biasa |25| Cloud sessions | ✅ Didukung | Pemilik menghubungkan instans GHES sekali; pengembang menggunakan `claude --cloud` atau [claude.ai/code](https://claude.ai/code) seperti biasa |

26| Code Review | ✅ Didukung | Tinjauan PR otomatis yang sama seperti github.com |26| Code Review | ✅ Didukung | Tinjauan PR otomatis yang sama seperti github.com |

27| Claude Security | ✅ Didukung | Tersedia dalam beta publik untuk paket Enterprise di [claude.ai/security](https://claude.ai/security) |27| Claude Security | ✅ Didukung | Tersedia dalam beta publik untuk paket Enterprise di [claude.ai/security](https://claude.ai/security) |


68Manifes mengonfigurasi GitHub App dengan izin dan acara webhook di bawah ini, yang bersama-sama mencakup sesi web, Code Review, Claude Security, pasar plugin, dan metrik kontribusi:68Manifes mengonfigurasi GitHub App dengan izin dan acara webhook di bawah ini, yang bersama-sama mencakup sesi web, Code Review, Claude Security, pasar plugin, dan metrik kontribusi:

69 69 

70| Izin | Akses | Digunakan untuk |70| Izin | Akses | Digunakan untuk |

71| :------------------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |71| :- | :- | :- |

72| Contents | Baca dan tulis | Kloning repositori dan push cabang |72| Contents | Baca dan tulis | Kloning repositori dan push cabang |

73| Pull requests | Baca dan tulis | Membuat PR dan memposting komentar tinjauan |73| Pull requests | Baca dan tulis | Membuat PR dan memposting komentar tinjauan |

74| Issues | Baca dan tulis | Merespons penyebutan masalah |74| Issues | Baca dan tulis | Merespons penyebutan masalah |


131Host pasar plugin di instans GHES Anda untuk mendistribusikan alat internal di seluruh organisasi Anda. Struktur pasar identik dengan pasar yang dihosting github.com, tetapi instalasi bekerja berbeda tergantung di mana Anda menambahkan pasar, dan kredensial berbeda di seluruh permukaan:131Host pasar plugin di instans GHES Anda untuk mendistribusikan alat internal di seluruh organisasi Anda. Struktur pasar identik dengan pasar yang dihosting github.com, tetapi instalasi bekerja berbeda tergantung di mana Anda menambahkan pasar, dan kredensial berbeda di seluruh permukaan:

132 132 

133| Permukaan | Cara instalasi bekerja | Apa yang setiap pengguna butuhkan |133| Permukaan | Cara instalasi bekerja | Apa yang setiap pengguna butuhkan |

134| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |134| :- | :- | :- |

135| Claude Code CLI dan desktop | Claude Code mengkloning repositori pasar menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |135| Claude Code CLI dan desktop | Claude Code mengkloning repositori pasar menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |

136| Pengaturan terkelola (`extraKnownMarketplaces`) | Claude Code mendaftarkan entri dan mengkloning repositori menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |136| Pengaturan terkelola (`extraKnownMarketplaces`) | Claude Code mendaftarkan entri dan mengkloning repositori menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |

137| Pengaturan plugin organisasi claude.ai | Pemilik memilih instans GHES sebagai sumber; backend Anthropic mengambil dan menyinkronkan repositori menggunakan GitHub App dari [pengaturan admin](#admin-setup) | Tidak ada per pengguna setelah ditambahkan. Pemilik yang menambahkannya memerlukan akun GitHub Enterprise mereka sendiri yang terhubung sebagai pemeriksaan akses, dan GitHub App harus diinstal di repositori pasar |137| Pengaturan plugin organisasi claude.ai | Pemilik memilih instans GHES sebagai sumber; backend Anthropic mengambil dan menyinkronkan repositori menggunakan GitHub App dari [pengaturan admin](#admin-setup) | Tidak ada per pengguna setelah ditambahkan. Pemilik yang menambahkannya memerlukan akun GitHub Enterprise mereka sendiri yang terhubung sebagai pemeriksaan akses, dan GitHub App harus diinstal di repositori pasar |

glossary.md +1 −1

Details

489Istilah-istilah ini muncul dalam docs yang lebih lama, posting blog, dan konten komunitas. Gunakan nama saat ini saat mencari di situs ini.489Istilah-istilah ini muncul dalam docs yang lebih lama, posting blog, dan konten komunitas. Gunakan nama saat ini saat mencari di situs ini.

490 490 

491| Old term | Now called | Notes |491| Old term | Now called | Notes |

492| ----------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------- |492| - | - | - |

493| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |493| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |

494| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web" now names only the browser surface at claude.ai/code |494| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web" now names only the browser surface at claude.ai/code |

495| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |495| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |

goal.md +1 −1

Details

22Tiga pendekatan menjaga sesi saat ini berjalan di antara prompt. Pilih berdasarkan apa yang harus memulai giliran berikutnya:22Tiga pendekatan menjaga sesi saat ini berjalan di antara prompt. Pilih berdasarkan apa yang harus memulai giliran berikutnya:

23 23 

24| Pendekatan | Giliran berikutnya dimulai ketika | Berhenti ketika |24| Pendekatan | Giliran berikutnya dimulai ketika | Berhenti ketika |

25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |25| :- | :- | :- |

26| `/goal` | Giliran sebelumnya selesai, atau, dalam sesi interaktif, [pemeriksaan idle](#background-work-defers-evaluation) atau [percobaan ulang otomatis](#other-errors-retry-or-pause-the-goal) akan datang | Model mengkonfirmasi kondisi terpenuhi atau menilainya tidak mungkin, atau giliran gagal pada [kesalahan yang harus Anda perbaiki](#errors-you-have-to-fix-clear-the-goal), atau Anda menjalankan [`/goal clear`](#clear-a-goal) |26| `/goal` | Giliran sebelumnya selesai, atau, dalam sesi interaktif, [pemeriksaan idle](#background-work-defers-evaluation) atau [percobaan ulang otomatis](#other-errors-retry-or-pause-the-goal) akan datang | Model mengkonfirmasi kondisi terpenuhi atau menilainya tidak mungkin, atau giliran gagal pada [kesalahan yang harus Anda perbaiki](#errors-you-have-to-fix-clear-the-goal), atau Anda menjalankan [`/goal clear`](#clear-a-goal) |

27| [`/loop`](/docs/id/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Interval waktu berlalu | Anda menghentikannya, atau Claude memutuskan pekerjaan selesai |27| [`/loop`](/docs/id/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Interval waktu berlalu | Anda menghentikannya, atau Claude memutuskan pekerjaan selesai |

28| [Stop hook](/docs/id/hooks-guide#prompt-based-hooks) | Giliran sebelumnya selesai | Skrip atau prompt Anda sendiri memutuskan |28| [Stop hook](/docs/id/hooks-guide#prompt-based-hooks) | Giliran sebelumnya selesai | Skrip atau prompt Anda sendiri memutuskan |

Details

251Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:251Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

252 252 

253| Jenis model | Nilai default |253| Jenis model | Nilai default |

254| :---------------- | :--------------------------- |254| :- | :- |

255| Model utama | `claude-opus-5-5` |255| Model utama | `claude-opus-5-5` |

256| Model kecil/cepat | `claude-sonnet-4-5@20250929` |256| Model kecil/cepat | `claude-sonnet-4-5@20250929` |

257 257 

headless.md +5 −5

Details

55Dalam bare mode Claude memiliki akses ke alat Bash, pembacaan file, dan pengeditan file. Berikan konteks apa pun yang Anda butuhkan dengan bendera:55Dalam bare mode Claude memiliki akses ke alat Bash, pembacaan file, dan pengeditan file. Berikan konteks apa pun yang Anda butuhkan dengan bendera:

56 56 

57| Untuk memuat | Gunakan |57| Untuk memuat | Gunakan |

58| ------------------------ | ------------------------------------------------------- |58| - | - |

59| Penambahan prompt sistem | `--append-system-prompt`, `--append-system-prompt-file` |59| Penambahan prompt sistem | `--append-system-prompt`, `--append-system-prompt-file` |

60| Pengaturan | `--settings <file-or-json>` |60| Pengaturan | `--settings <file-or-json>` |

61| Server MCP | `--mcp-config <file-or-json>` |61| Server MCP | `--mcp-config <file-or-json>` |


223Ketika permintaan API gagal dengan kesalahan yang dapat dicoba ulang, Claude Code memancarkan acara `system/api_retry` sebelum mencoba ulang. Pada v2.1.246 atau lebih baru, ketika `401` atau `403` menolak kredensial [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), Claude Code membuat dua percobaan ulang pertama diam-diam tanpa acara, kemudian memancarkan acara seperti biasa dari percobaan ulang berturut-turut ketiga dan seterusnya. Percobaan ulang diam-diam masih dihitung menuju `attempt`. Anda dapat menggunakan acara untuk menampilkan kemajuan percobaan ulang di antarmuka Anda sendiri.223Ketika permintaan API gagal dengan kesalahan yang dapat dicoba ulang, Claude Code memancarkan acara `system/api_retry` sebelum mencoba ulang. Pada v2.1.246 atau lebih baru, ketika `401` atau `403` menolak kredensial [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), Claude Code membuat dua percobaan ulang pertama diam-diam tanpa acara, kemudian memancarkan acara seperti biasa dari percobaan ulang berturut-turut ketiga dan seterusnya. Percobaan ulang diam-diam masih dihitung menuju `attempt`. Anda dapat menggunakan acara untuk menampilkan kemajuan percobaan ulang di antarmuka Anda sendiri.

224 224 

225| Bidang | Tipe | Deskripsi |225| Bidang | Tipe | Deskripsi |

226| ---------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| - | - | - |

227| `type` | `"system"` | tipe pesan |227| `type` | `"system"` | tipe pesan |

228| `subtype` | `"api_retry"` | mengidentifikasi ini sebagai acara percobaan ulang |228| `subtype` | `"api_retry"` | mengidentifikasi ini sebagai acara percobaan ulang |

229| `attempt` | integer | nomor percobaan saat ini, dimulai dari 1 |229| `attempt` | integer | nomor percobaan saat ini, dimulai dari 1 |


253Gunakan bidang plugin dalam acara `system/init` untuk menangkap plugin yang tidak dimuat:253Gunakan bidang plugin dalam acara `system/init` untuk menangkap plugin yang tidak dimuat:

254 254 

255| Bidang | Tipe | Deskripsi |255| Bidang | Tipe | Deskripsi |

256| --------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |256| - | - | - |

257| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |257| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |

258| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang terpengaruh diturunkan dan tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |258| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang terpengaruh diturunkan dan tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |

259 259 


262Claude Code memvalidasi setiap entri `--mcp-config` pada startup dan melewati entri yang gagal validasi, misalnya entri `url` tanpa `type`. Jalankan berlanjut dan keluar dengan bersih, jadi periksa bidang ini untuk menangkap server yang tidak pernah dimuat:262Claude Code memvalidasi setiap entri `--mcp-config` pada startup dan melewati entri yang gagal validasi, misalnya entri `url` tanpa `type`. Jalankan berlanjut dan keluar dengan bersih, jadi periksa bidang ini untuk menangkap server yang tidak pernah dimuat:

263 263 

264| Bidang | Tipe | Deskripsi |264| Bidang | Tipe | Deskripsi |

265| ------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |265| - | - | - |

266| `mcp_servers` | array | server MCP dalam sesi, masing-masing dengan `name` dan `status` |266| `mcp_servers` | array | server MCP dalam sesi, masing-masing dengan `name` dan `status` |

267| `mcp_server_errors` | array | entri `--mcp-config` yang dilewati oleh validasi konfigurasi, masing-masing dengan `name`, `type`, dan `message`. `type` adalah kategori lewati seperti `unknown_type`, `url_missing_type`, `invalid_config`, atau `reserved_name`; perlakukan nilai yang tidak Anda kenali sebagai lewati generik. Server yang terpengaruh tidak ada di `mcp_servers`. Kunci dihilangkan ketika tidak ada kesalahan, jadi gerbang CI dapat gagal pada array yang tidak kosong. Memerlukan Claude Code v2.1.219 atau lebih baru |267| `mcp_server_errors` | array | entri `--mcp-config` yang dilewati oleh validasi konfigurasi, masing-masing dengan `name`, `type`, dan `message`. `type` adalah kategori lewati seperti `unknown_type`, `url_missing_type`, `invalid_config`, atau `reserved_name`; perlakukan nilai yang tidak Anda kenali sebagai lewati generik. Server yang terpengaruh tidak ada di `mcp_servers`. Kunci dihilangkan ketika tidak ada kesalahan, jadi gerbang CI dapat gagal pada array yang tidak kosong. Memerlukan Claude Code v2.1.219 atau lebih baru |

268 268 


275Ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/id/env-vars) diatur, Claude Code memancarkan acara `system/plugin_install` saat plugin marketplace dipasang sebelum giliran pertama. Gunakan ini untuk menampilkan kemajuan pemasangan di UI Anda sendiri.275Ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/id/env-vars) diatur, Claude Code memancarkan acara `system/plugin_install` saat plugin marketplace dipasang sebelum giliran pertama. Gunakan ini untuk menampilkan kemajuan pemasangan di UI Anda sendiri.

276 276 

277| Bidang | Tipe | Deskripsi |277| Bidang | Tipe | Deskripsi |

278| ------------ | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |278| - | - | - |

279| `type` | `"system"` | tipe pesan |279| `type` | `"system"` | tipe pesan |

280| `subtype` | `"plugin_install"` | mengidentifikasi ini sebagai acara pemasangan plugin |280| `subtype` | `"plugin_install"` | mengidentifikasi ini sebagai acara pemasangan plugin |

281| `status` | `"started"`, `"installed"`, `"failed"`, atau `"completed"` | `started` dan `completed` membatasi pemasangan keseluruhan; `installed` dan `failed` melaporkan marketplace individual |281| `status` | `"started"`, `"installed"`, `"failed"`, atau `"completed"` | `started` dan `completed` membatasi pemasangan keseluruhan; `installed` dan `failed` melaporkan marketplace individual |

hooks.md +75 −75

Details

35Tabel di bawah merangkum kapan setiap event dijalankan. Bagian [Hook events](#hook-events) mendokumentasikan skema input lengkap dan opsi kontrol keputusan untuk masing-masing.35Tabel di bawah merangkum kapan setiap event dijalankan. Bagian [Hook events](#hook-events) mendokumentasikan skema input lengkap dan opsi kontrol keputusan untuk masing-masing.

36 36 

37| Event | Kapan event ini dipicu |37| Event | Kapan event ini dipicu |

38| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :- | :- |

39| `SessionStart` | Ketika sesi dimulai atau dilanjutkan |39| `SessionStart` | Ketika sesi dimulai atau dilanjutkan |

40| `Setup` | Ketika Anda memulai Claude Code dengan `--init-only`, atau dengan `--init` atau `--maintenance` dalam mode `-p`. Untuk persiapan satu kali dalam CI atau skrip |40| `Setup` | Ketika Anda memulai Claude Code dengan `--init-only`, atau dengan `--init` atau `--maintenance` dalam mode `-p`. Untuk persiapan satu kali dalam CI atau skrip |

41| `UserPromptSubmit` | Ketika Anda mengirimkan prompt, sebelum Claude memprosesnya |41| `UserPromptSubmit` | Ketika Anda mengirimkan prompt, sebelum Claude memprosesnya |


259Tempat Anda mendefinisikan hook menentukan cakupannya:259Tempat Anda mendefinisikan hook menentukan cakupannya:

260 260 

261| Lokasi | Cakupan | Dapat Dibagikan |261| Lokasi | Cakupan | Dapat Dibagikan |

262| :------------------------------------------------ | :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |262| :- | :- | :- |

263| `~/.claude/settings.json` | Semua proyek Anda | Tidak, lokal ke mesin Anda |263| `~/.claude/settings.json` | Semua proyek Anda | Tidak, lokal ke mesin Anda |

264| `.claude/settings.json` | Proyek tunggal | Ya, dapat dikomit ke repo |264| `.claude/settings.json` | Proyek tunggal | Ya, dapat dikomit ke repo |

265| `.claude/settings.local.json` | Proyek tunggal | Tidak, gitignored saat Claude Code menyimpan pengaturan ke dalamnya |265| `.claude/settings.local.json` | Proyek tunggal | Tidak, gitignored saat Claude Code menyimpan pengaturan ke dalamnya |


297Bidang `matcher` memfilter kapan hooks dijalankan. Bagaimana matcher dievaluasi tergantung pada karakter yang dikandungnya:297Bidang `matcher` memfilter kapan hooks dijalankan. Bagaimana matcher dievaluasi tergantung pada karakter yang dikandungnya:

298 298 

299| Nilai matcher | Dievaluasi sebagai | Contoh |299| Nilai matcher | Dievaluasi sebagai | Contoh |

300| :------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |300| :- | :- | :- |

301| `"*"`, `""`, atau dihilangkan | Cocokkan semua | dijalankan pada setiap kemunculan event |301| `"*"`, `""`, atau dihilangkan | Cocokkan semua | dijalankan pada setiap kemunculan event |

302| Hanya huruf, digit, `_`, `-`, spasi, `,`, dan `\|` | String yang tepat, atau daftar string yang tepat dipisahkan `\|` atau `,` dengan whitespace opsional di sekitarnya | `Bash` cocok hanya dengan tool Bash; `Edit\|Write` dan `Edit, Write` masing-masing cocok dengan salah satu tool dengan tepat; `code-reviewer` cocok hanya dengan tipe agent itu |302| Hanya huruf, digit, `_`, `-`, spasi, `,`, dan `\|` | String yang tepat, atau daftar string yang tepat dipisahkan `\|` atau `,` dengan whitespace opsional di sekitarnya | `Bash` cocok hanya dengan tool Bash; `Edit\|Write` dan `Edit, Write` masing-masing cocok dengan salah satu tool dengan tepat; `code-reviewer` cocok hanya dengan tipe agent itu |

303| Berisi karakter lain apa pun | Ekspresi reguler JavaScript, tidak berlabuh | `^Notebook` cocok dengan tool apa pun yang dimulai dengan Notebook; `mcp__memory__.*` cocok dengan setiap tool dari server `memory` |303| Berisi karakter lain apa pun | Ekspresi reguler JavaScript, tidak berlabuh | `^Notebook` cocok dengan tool apa pun yang dimulai dengan Notebook; `mcp__memory__.*` cocok dengan setiap tool dari server `memory` |


313Setiap tipe event cocok pada bidang yang berbeda:313Setiap tipe event cocok pada bidang yang berbeda:

314 314 

315| Event | Apa yang difilter matcher | Contoh nilai matcher |315| Event | Apa yang difilter matcher | Contoh nilai matcher |

316| :------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| :- | :- | :- |

317| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nama tool | `Bash`, `Edit\|Write`, `mcp__.*` |317| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nama tool | `Bash`, `Edit\|Write`, `mcp__.*` |

318| `SessionStart` | bagaimana sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |318| `SessionStart` | bagaimana sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |

319| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |319| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |


438Bidang-bidang ini berlaku untuk semua tipe hook:438Bidang-bidang ini berlaku untuk semua tipe hook:

439 439 

440| Bidang | Diperlukan | Deskripsi |440| Bidang | Diperlukan | Deskripsi |

441| :-------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |441| :- | :- | :- |

442| `type` | ya | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"`, atau `"agent"` |442| `type` | ya | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"`, atau `"agent"` |

443| `if` | tidak | Sintaks aturan izin untuk memfilter kapan hook ini dijalankan, seperti `"Bash(git *)"` atau `"Edit(*.ts)"`. Hook command hanya dijalankan jika pemanggilan tool cocok dengan pola. Lihat tabel [Bash matching](#bash-if-matching) di bawah untuk bagaimana pola Bash dievaluasi terhadap subperintah, `$()`, dan backticks. Hanya dievaluasi pada tool events: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, dan `PermissionDenied`. Pada event lain, hook dengan `if` yang ditetapkan tidak akan pernah dijalankan. Menggunakan sintaks yang sama seperti [aturan izin](/docs/id/permissions) |443| `if` | tidak | Sintaks aturan izin untuk memfilter kapan hook ini dijalankan, seperti `"Bash(git *)"` atau `"Edit(*.ts)"`. Hook command hanya dijalankan jika pemanggilan tool cocok dengan pola. Lihat tabel [Bash matching](#bash-if-matching) di bawah untuk bagaimana pola Bash dievaluasi terhadap subperintah, `$()`, dan backticks. Hanya dievaluasi pada tool events: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, dan `PermissionDenied`. Pada event lain, hook dengan `if` yang ditetapkan tidak akan pernah dijalankan. Menggunakan sintaks yang sama seperti [aturan izin](/docs/id/permissions) |

444| `timeout` | tidak | Detik sebelum membatalkan. Claude Code tidak memberlakukannya pada command hook yang Anda jalankan dengan [`async: true`](#run-hooks-in-the-background). Default: 600 untuk `command`, `http`, dan `mcp_tool`; 30 untuk `prompt`; 60 untuk `agent`. Claude Code menurunkan default `command`, `http`, dan `mcp_tool` menjadi 30 pada [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch), dan [`PostModelSwitch`](#postmodelswitch), dan menjadi 10 pada [`MessageDisplay`](#messagedisplay). Hook [`SessionEnd`](#sessionend) berbagi anggaran 1,5 detik; jika pengaturan Anda menetapkan `timeout` per-hook yang lebih lama, Claude Code menaikkan anggaran untuk mencocokkan, hingga 60 detik |444| `timeout` | tidak | Detik sebelum membatalkan. Claude Code tidak memberlakukannya pada command hook yang Anda jalankan dengan [`async: true`](#run-hooks-in-the-background). Default: 600 untuk `command`, `http`, dan `mcp_tool`; 30 untuk `prompt`; 60 untuk `agent`. Claude Code menurunkan default `command`, `http`, dan `mcp_tool` menjadi 30 pada [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch), dan [`PostModelSwitch`](#postmodelswitch), dan menjadi 10 pada [`MessageDisplay`](#messagedisplay). Hook [`SessionEnd`](#sessionend) berbagi anggaran 1,5 detik; jika pengaturan Anda menetapkan `timeout` per-hook yang lebih lama, Claude Code menaikkan anggaran untuk mencocokkan, hingga 60 detik |


452<span id="bash-if-matching" />Untuk pola Bash, apakah hook command Anda dijalankan tergantung pada bentuk pola dan perintah Bash yang Claude panggil. Penugasan `VAR=value` terkemuka dihapus sebelum pencocokan.452<span id="bash-if-matching" />Untuk pola Bash, apakah hook command Anda dijalankan tergantung pada bentuk pola dan perintah Bash yang Claude panggil. Penugasan `VAR=value` terkemuka dihapus sebelum pencocokan.

453 453 

454| Pola `if` | Perintah Bash | Hook dijalankan? | Mengapa |454| Pola `if` | Perintah Bash | Hook dijalankan? | Mengapa |

455| :----------------- | :-------------------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |455| :- | :- | :- | :- |

456| `Bash(git *)` | `FOO=bar git push` | ya | penugasan terkemuka dihapus; `git push` cocok |456| `Bash(git *)` | `FOO=bar git push` | ya | penugasan terkemuka dihapus; `git push` cocok |

457| `Bash(git *)` | `npm test && git push` | ya | setiap subperintah diperiksa; `git push` cocok |457| `Bash(git *)` | `npm test && git push` | ya | setiap subperintah diperiksa; `git push` cocok |

458| `Bash(rm *)` | `echo $(rm -rf /)` | ya | perintah di dalam `$()` dan backticks diperiksa; `rm -rf /` cocok |458| `Bash(rm *)` | `echo $(rm -rf /)` | ya | perintah di dalam `$()` dan backticks diperiksa; `rm -rf /` cocok |


470Selain [bidang umum](#common-fields), command hooks menerima bidang-bidang ini:470Selain [bidang umum](#common-fields), command hooks menerima bidang-bidang ini:

471 471 

472| Bidang | Diperlukan | Deskripsi |472| Bidang | Diperlukan | Deskripsi |

473| :------------ | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |473| :- | :- | :- |

474| `command` | ya | Perintah shell untuk dijalankan. Dengan `args`, executable untuk spawn secara langsung. Lihat [Exec form dan shell form](#exec-form-and-shell-form) |474| `command` | ya | Perintah shell untuk dijalankan. Dengan `args`, executable untuk spawn secara langsung. Lihat [Exec form dan shell form](#exec-form-and-shell-form) |

475| `args` | tidak | Daftar argumen. Ketika ada, `command` diselesaikan sebagai executable dan di-spawn secara langsung dengan `args` sebagai vektor argumen, tanpa shell yang terlibat. Lihat [Exec form dan shell form](#exec-form-and-shell-form) |475| `args` | tidak | Daftar argumen. Ketika ada, `command` diselesaikan sebagai executable dan di-spawn secara langsung dengan `args` sebagai vektor argumen, tanpa shell yang terlibat. Lihat [Exec form dan shell form](#exec-form-and-shell-form) |

476| `async` | tidak | Jika `true`, dijalankan di latar belakang tanpa memblokir. Lihat [Run hooks in the background](#run-hooks-in-the-background) |476| `async` | tidak | Jika `true`, dijalankan di latar belakang tanpa memblokir. Lihat [Run hooks in the background](#run-hooks-in-the-background) |


529Selain [bidang umum](#common-fields), HTTP hooks menerima bidang-bidang ini:529Selain [bidang umum](#common-fields), HTTP hooks menerima bidang-bidang ini:

530 530 

531| Bidang | Diperlukan | Deskripsi |531| Bidang | Diperlukan | Deskripsi |

532| :--------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |532| :- | :- | :- |

533| `url` | ya | URL untuk mengirimkan permintaan POST ke |533| `url` | ya | URL untuk mengirimkan permintaan POST ke |

534| `headers` | tidak | Header HTTP tambahan sebagai pasangan kunci-nilai. Nilai mendukung interpolasi variabel lingkungan menggunakan sintaks `$VAR_NAME` atau `${VAR_NAME}`. Hanya variabel yang tercantum dalam `allowedEnvVars` yang diselesaikan |534| `headers` | tidak | Header HTTP tambahan sebagai pasangan kunci-nilai. Nilai mendukung interpolasi variabel lingkungan menggunakan sintaks `$VAR_NAME` atau `${VAR_NAME}`. Hanya variabel yang tercantum dalam `allowedEnvVars` yang diselesaikan |

535| `allowedEnvVars` | tidak | Daftar nama variabel lingkungan yang dapat diinterpolasi ke nilai header. Referensi ke variabel yang tidak tercantum diganti dengan string kosong. Diperlukan untuk interpolasi variabel env apa pun untuk bekerja |535| `allowedEnvVars` | tidak | Daftar nama variabel lingkungan yang dapat diinterpolasi ke nilai header. Referensi ke variabel yang tidak tercantum diganti dengan string kosong. Diperlukan untuk interpolasi variabel env apa pun untuk bekerja |


570Selain [bidang umum](#common-fields), MCP tool hooks menerima bidang-bidang ini:570Selain [bidang umum](#common-fields), MCP tool hooks menerima bidang-bidang ini:

571 571 

572| Bidang | Diperlukan | Deskripsi |572| Bidang | Diperlukan | Deskripsi |

573| :------- | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |573| :- | :- | :- |

574| `server` | ya | Nama server MCP yang dikonfigurasi. Untuk [plugin-bundled server](/docs/id/mcp#plugin-provided-mcp-servers), ini adalah nama yang dibatasi `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:db`, bukan kunci server bare. Server harus sudah terhubung; hook tidak pernah memicu alur OAuth atau koneksi |574| `server` | ya | Nama server MCP yang dikonfigurasi. Untuk [plugin-bundled server](/docs/id/mcp#plugin-provided-mcp-servers), ini adalah nama yang dibatasi `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:db`, bukan kunci server bare. Server harus sudah terhubung; hook tidak pernah memicu alur OAuth atau koneksi |

575| `tool` | ya | Nama tool untuk dipanggil di server itu |575| `tool` | ya | Nama tool untuk dipanggil di server itu |

576| `input` | tidak | Argumen yang dilewatkan ke tool. Nilai string mendukung substitusi `${path}` dari [JSON input](#hook-input-and-output) hook, seperti `"${tool_input.file_path}"` |576| `input` | tidak | Argumen yang dilewatkan ke tool. Nilai string mendukung substitusi `${path}` dari [JSON input](#hook-input-and-output) hook, seperti `"${tool_input.file_path}"` |


634Selain [bidang umum](#common-fields), prompt dan agent hooks menerima bidang-bidang ini:634Selain [bidang umum](#common-fields), prompt dan agent hooks menerima bidang-bidang ini:

635 635 

636| Bidang | Diperlukan | Deskripsi |636| Bidang | Diperlukan | Deskripsi |

637| :------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |637| :- | :- | :- |

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

639| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model cepat |639| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model cepat |

640 640 


786Hook events menerima bidang-bidang ini sebagai JSON, selain bidang spesifik event yang didokumentasikan dalam setiap bagian [hook event](#hook-events). Untuk command hooks, JSON ini tiba melalui stdin. Untuk HTTP hooks, itu tiba sebagai badan permintaan POST.786Hook events menerima bidang-bidang ini sebagai JSON, selain bidang spesifik event yang didokumentasikan dalam setiap bagian [hook event](#hook-events). Untuk command hooks, JSON ini tiba melalui stdin. Untuk HTTP hooks, itu tiba sebagai badan permintaan POST.

787 787 

788| Bidang | Deskripsi |788| Bidang | Deskripsi |

789| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |789| :- | :- |

790| `session_id` | Pengenal sesi saat ini |790| `session_id` | Pengenal sesi saat ini |

791| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada events OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes), sehingga Anda dapat menghubungkan output hook dengan telemetri untuk satu prompt. Tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru |791| `prompt_id` | UUID yang mengidentifikasi prompt pengguna yang sedang diproses. Cocok dengan atribut [`prompt.id` pada events OpenTelemetry](/docs/id/monitoring-usage#event-correlation-attributes), sehingga Anda dapat menghubungkan output hook dengan telemetri untuk satu prompt. Tidak ada sampai input pengguna pertama. Memerlukan Claude Code v2.1.196 atau lebih baru |

792| `transcript_path` | Path ke JSON percakapan. File transkrip ditulis secara asinkron dan mungkin tertinggal dari percakapan dalam memori, jadi mungkin belum menyertakan pesan terbaru giliran saat ini ketika hook dijalankan. Hooks yang memerlukan teks asisten akhir dari giliran saat ini harus menggunakan `last_assistant_message` pada [Stop](#stop) dan [SubagentStop](#subagentstop) alih-alih membaca transkrip |792| `transcript_path` | Path ke JSON percakapan. File transkrip ditulis secara asinkron dan mungkin tertinggal dari percakapan dalam memori, jadi mungkin belum menyertakan pesan terbaru giliran saat ini ketika hook dijalankan. Hooks yang memerlukan teks asisten akhir dari giliran saat ini harus menggunakan `last_assistant_message` pada [Stop](#stop) dan [SubagentStop](#subagentstop) alih-alih membaca transkrip |


799Saat berjalan dengan `--agent` atau di dalam subagent, dua bidang tambahan disertakan:799Saat berjalan dengan `--agent` atau di dalam subagent, dua bidang tambahan disertakan:

800 800 

801| Bidang | Deskripsi |801| Bidang | Deskripsi |

802| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |802| :- | :- |

803| `agent_id` | Pengenal unik untuk subagent. Hadir hanya ketika hook dijalankan di dalam pemanggilan subagent. Gunakan ini untuk membedakan pemanggilan hook subagent dari pemanggilan thread utama. |803| `agent_id` | Pengenal unik untuk subagent. Hadir hanya ketika hook dijalankan di dalam pemanggilan subagent. Gunakan ini untuk membedakan pemanggilan hook subagent dari pemanggilan thread utama. |

804| `agent_type` | Nama agent (misalnya, `"Explore"` atau `"security-reviewer"`). Hadir ketika sesi menggunakan `--agent` atau hook dijalankan di dalam subagent. Untuk subagents, tipe subagent mengambil alih nilai `--agent` sesi. Lihat [SubagentStart](#subagentstart) untuk nilai yang dilaporkan custom dan plugin subagents dan cara menulis matcher terhadap nama yang dibatasi plugin. |804| `agent_type` | Nama agent (misalnya, `"Explore"` atau `"security-reviewer"`). Hadir ketika sesi menggunakan `--agent` atau hook dijalankan di dalam subagent. Untuk subagents, tipe subagent mengambil alih nilai `--agent` sesi. Lihat [SubagentStart](#subagentstart) untuk nilai yang dilaporkan custom dan plugin subagents dan cara menulis matcher terhadap nama yang dibatasi plugin. |

805 805 


926Exit code 2 adalah cara hook menandakan "berhenti, jangan lakukan ini." Efeknya tergantung pada event, karena beberapa event mewakili tindakan yang dapat diblokir (seperti pemanggilan tool yang belum terjadi) dan yang lain mewakili hal-hal yang sudah terjadi atau tidak dapat dicegah.926Exit code 2 adalah cara hook menandakan "berhenti, jangan lakukan ini." Efeknya tergantung pada event, karena beberapa event mewakili tindakan yang dapat diblokir (seperti pemanggilan tool yang belum terjadi) dan yang lain mewakili hal-hal yang sudah terjadi atau tidak dapat dicegah.

927 927 

928| Hook event | Dapat diblokir? | Apa yang terjadi pada exit 2 |928| Hook event | Dapat diblokir? | Apa yang terjadi pada exit 2 |

929| :-------------------- | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |929| :- | :- | :- |

930| `PreToolUse` | Ya | Memblokir pemanggilan tool |930| `PreToolUse` | Ya | Memblokir pemanggilan tool |

931| `PermissionRequest` | Tidak | Exit code 2 tidak dihormati untuk event ini dan aliran izin berlanjut tidak berubah. Tolak melalui objek [`decision`](#permissionrequest-decision-control) sebagai gantinya |931| `PermissionRequest` | Tidak | Exit code 2 tidak dihormati untuk event ini dan aliran izin berlanjut tidak berubah. Tolak melalui objek [`decision`](#permissionrequest-decision-control) sebagai gantinya |

932| `UserPromptSubmit` | Ya | Memblokir pemrosesan prompt dan menghapus prompt |932| `UserPromptSubmit` | Ya | Memblokir pemrosesan prompt dan menghapus prompt |


1003* **`hookSpecificOutput`** adalah objek bersarang untuk events yang memerlukan kontrol yang lebih kaya. Ini memerlukan bidang `hookEventName` yang diatur ke nama event.1003* **`hookSpecificOutput`** adalah objek bersarang untuk events yang memerlukan kontrol yang lebih kaya. Ini memerlukan bidang `hookEventName` yang diatur ke nama event.

1004 1004 

1005| Bidang | Default | Deskripsi |1005| Bidang | Default | Deskripsi |

1006| :----------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1006| :- | :- | :- |

1007| `continue` | `true` | Jika `false`, Claude berhenti memproses sepenuhnya setelah hook dijalankan. Mengambil alih bidang keputusan spesifik event apa pun |1007| `continue` | `true` | Jika `false`, Claude berhenti memproses sepenuhnya setelah hook dijalankan. Mengambil alih bidang keputusan spesifik event apa pun |

1008| `stopReason` | tidak ada | Pesan ditampilkan ke pengguna saat `continue` adalah `false`. Itu tetap dalam percakapan, jadi Claude melihatnya jika percakapan berlanjut |1008| `stopReason` | tidak ada | Pesan ditampilkan ke pengguna saat `continue` adalah `false`. Itu tetap dalam percakapan, jadi Claude melihatnya jika percakapan berlanjut |

1009| `suppressOutput` | `false` | Tidak memiliki efek: Claude Code menerima bidang tetapi tidak bertindak. Stdout hook yang berhasil tidak pernah ditampilkan dalam transkrip dan dicatat dalam debug log |1009| `suppressOutput` | `false` | Tidak memiliki efek: Claude Code menerima bidang tetapi tidak bertindak. Stdout hook yang berhasil tidak pernah ditampilkan dalam transkrip dan dicatat dalam debug log |


1101Tidak setiap event mendukung pemblokiran atau kontrol perilaku melalui JSON. Events yang melakukannya masing-masing menggunakan set bidang yang berbeda untuk mengekspresikan keputusan itu. Gunakan tabel ini sebagai referensi cepat sebelum menulis hook:1101Tidak setiap event mendukung pemblokiran atau kontrol perilaku melalui JSON. Events yang melakukannya masing-masing menggunakan set bidang yang berbeda untuk mengekspresikan keputusan itu. Gunakan tabel ini sebagai referensi cepat sebelum menulis hook:

1102 1102 

1103| Events | Pola keputusan | Bidang kunci |1103| Events | Pola keputusan | Bidang kunci |

1104| :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1104| :- | :- | :- |

1105| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-level `decision` | `decision: "block"`, `reason`. Stop dan SubagentStop juga menerima `hookSpecificOutput.additionalContext` untuk [umpan balik non-error yang melanjutkan percakapan](#stop-decision-control) |1105| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-level `decision` | `decision: "block"`, `reason`. Stop dan SubagentStop juga menerima `hookSpecificOutput.additionalContext` untuk [umpan balik non-error yang melanjutkan percakapan](#stop-decision-control) |

1106| TeammateIdle, TaskCompleted | Kode keluar atau `continue: false` | Kode keluar 2 memblokir tindakan dengan umpan balik stderr. JSON `{"continue": false, "stopReason": "..."}` juga menghentikan teammate sepenuhnya, mencocokkan perilaku hook `Stop`; [TaskCompleted mengabaikannya ketika tool `TaskUpdate` memicu event](#taskcompleted-decision-control) |1106| TeammateIdle, TaskCompleted | Kode keluar atau `continue: false` | Kode keluar 2 memblokir tindakan dengan umpan balik stderr. JSON `{"continue": false, "stopReason": "..."}` juga menghentikan teammate sepenuhnya, mencocokkan perilaku hook `Stop`; [TaskCompleted mengabaikannya ketika tool `TaskUpdate` memicu event](#taskcompleted-decision-control) |

1107| TaskCreated | Kode keluar atau top-level `decision` | Kode keluar 2 atau `decision: "block"` [membatalkan tugas](#taskcreated-decision-control) dan mengembalikan pesan ke Claude. `continue: false` diabaikan |1107| TaskCreated | Kode keluar atau top-level `decision` | Kode keluar 2 atau `decision: "block"` [membatalkan tugas](#taskcreated-decision-control) dan mengembalikan pesan ke Claude. `continue: false` diabaikan |


1192Nilai matcher sesuai dengan cara sesi dimulai:1192Nilai matcher sesuai dengan cara sesi dimulai:

1193 1193 

1194| Matcher | Kapan dijalankan |1194| Matcher | Kapan dijalankan |

1195| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |1195| :- | :- |

1196| `startup` | Sesi baru |1196| `startup` | Sesi baru |

1197| `resume` | `--resume`, `--continue`, atau `/resume` |1197| `resume` | `--resume`, `--continue`, atau `/resume` |

1198| `clear` | `/clear` |1198| `clear` | `/clear` |


1216Selain [bidang input umum](#common-input-fields), SessionStart hooks menerima `source` dan secara opsional `model`, `agent_type`, dan `session_title`:1216Selain [bidang input umum](#common-input-fields), SessionStart hooks menerima `source` dan secara opsional `model`, `agent_type`, dan `session_title`:

1217 1217 

1218| Bidang | Deskripsi |1218| Bidang | Deskripsi |

1219| :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1219| :- | :- |

1220| `source` | Bagaimana sesi dimulai: `"startup"` untuk sesi baru, `"resume"` untuk sesi yang dilanjutkan, `"clear"` setelah `/clear`, `"compact"` setelah compaction, atau `"fork"` untuk sesi baru yang di-fork dari sesi yang ada |1220| `source` | Bagaimana sesi dimulai: `"startup"` untuk sesi baru, `"resume"` untuk sesi yang dilanjutkan, `"clear"` setelah `/clear`, `"compact"` setelah compaction, atau `"fork"` untuk sesi baru yang di-fork dari sesi yang ada |

1221| `model` | Pengenal model aktif. Itu dapat dihilangkan, misalnya setelah `/clear` atau ketika sesi dipulihkan melalui conversation recovery, jadi periksa bidang sebelum membacanya |1221| `model` | Pengenal model aktif. Itu dapat dihilangkan, misalnya setelah `/clear` atau ketika sesi dipulihkan melalui conversation recovery, jadi periksa bidang sebelum membacanya |

1222| `agent_type` | Nama agent, hadir ketika Anda memulai Claude Code dengan `claude --agent <name>` |1222| `agent_type` | Nama agent, hadir ketika Anda memulai Claude Code dengan `claude --agent <name>` |


1225Ketika `source` adalah `"resume"` atau `"fork"` dan transkrip berisi setidaknya satu respons dari Claude, SessionStart hooks juga menerima empat bidang di bawah. Hook Anda dapat menggunakannya untuk melaporkan apa yang dilanjutkan percakapan basi biaya sebelum permintaan pertama, misalnya dalam [`systemMessage`](#json-output). Bidang-bidang ini memerlukan Claude Code v2.1.251 atau lebih baru.1225Ketika `source` adalah `"resume"` atau `"fork"` dan transkrip berisi setidaknya satu respons dari Claude, SessionStart hooks juga menerima empat bidang di bawah. Hook Anda dapat menggunakannya untuk melaporkan apa yang dilanjutkan percakapan basi biaya sebelum permintaan pertama, misalnya dalam [`systemMessage`](#json-output). Bidang-bidang ini memerlukan Claude Code v2.1.251 atau lebih baru.

1226 1226 

1227| Bidang | Deskripsi |1227| Bidang | Deskripsi |

1228| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1228| :- | :- |

1229| `seconds_since_last_response` | Detik wall-clock sejak respons terakhir dalam transkrip yang dilanjutkan |1229| `seconds_since_last_response` | Detik wall-clock sejak respons terakhir dalam transkrip yang dilanjutkan |

1230| `context_tokens` | Tokens yang diminta pertama dari sesi yang dilanjutkan mengirim ulang sebagai promptnya |1230| `context_tokens` | Tokens yang diminta pertama dari sesi yang dilanjutkan mengirim ulang sebagai promptnya |

1231| `prompt_cache_likely_expired` | `true` ketika respons terakhir lebih lama dari [lifetime prompt cache](/docs/id/prompt-caching#cache-lifetime) sesi atau compaction yang lebih baru menggantikan percakapan yang di-cache |1231| `prompt_cache_likely_expired` | `true` ketika respons terakhir lebih lama dari [lifetime prompt cache](/docs/id/prompt-caching#cache-lifetime) sesi atau compaction yang lebih baru menggantikan percakapan yang di-cache |


1255Claude Code menambahkan stdout yang [diperlakukan sebagai teks biasa](#exit-code-0) ke konteks Claude. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan bidang spesifik event ini:1255Claude Code menambahkan stdout yang [diperlakukan sebagai teks biasa](#exit-code-0) ke konteks Claude. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan bidang spesifik event ini:

1256 1256 

1257| Bidang | Deskripsi |1257| Bidang | Deskripsi |

1258| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1258| :- | :- |

1259| `additionalContext` | String ditambahkan ke konteks Claude pada awal percakapan, sebelum prompt pertama. Lihat [Add context for Claude](#add-context-for-claude) untuk cara teks disampaikan dan apa yang harus dimasukkan |1259| `additionalContext` | String ditambahkan ke konteks Claude pada awal percakapan, sebelum prompt pertama. Lihat [Add context for Claude](#add-context-for-claude) untuk cara teks disampaikan dan apa yang harus dimasukkan |

1260| `initialUserMessage` | String digunakan sebagai pesan pengguna pertama sesi. Berlaku dalam [mode non-interaktif](/docs/id/headless) dengan flag `-p`, di mana itu menjadi giliran pertama bahkan jika tidak ada prompt yang disediakan. Jika prompt disediakan, itu mengikuti sebagai giliran berikutnya. Tidak seperti `additionalContext`, yang menempel pada giliran yang ada, ini membuat giliran |1260| `initialUserMessage` | String digunakan sebagai pesan pengguna pertama sesi. Berlaku dalam [mode non-interaktif](/docs/id/headless) dengan flag `-p`, di mana itu menjadi giliran pertama bahkan jika tidak ada prompt yang disediakan. Jika prompt disediakan, itu mengikuti sebagai giliran berikutnya. Tidak seperti `additionalContext`, yang menempel pada giliran yang ada, ini membuat giliran |

1261| `sessionTitle` | Menetapkan judul sesi, dengan efek yang sama seperti `/rename`. Gunakan untuk memberi nama sesi secara otomatis dari folder peluncuran, cabang git, atau nama worktree. Berlaku ketika `source` adalah `"startup"`, `"resume"`, atau `"fork"`; diabaikan pada `"clear"` dan `"compact"` |1261| `sessionTitle` | Menetapkan judul sesi, dengan efek yang sama seperti `/rename`. Gunakan untuk memberi nama sesi secara otomatis dari folder peluncuran, cabang git, atau nama worktree. Berlaku ketika `source` adalah `"startup"`, `"resume"`, atau `"fork"`; diabaikan pada `"clear"` dan `"compact"` |


1339Nilai matcher sesuai dengan flag CLI yang memicu hook:1339Nilai matcher sesuai dengan flag CLI yang memicu hook:

1340 1340 

1341| Matcher | Kapan dijalankan |1341| Matcher | Kapan dijalankan |

1342| :------------ | :------------------------------------------- |1342| :- | :- |

1343| `init` | `claude --init-only` atau `claude -p --init` |1343| `init` | `claude --init-only` atau `claude -p --init` |

1344| `maintenance` | `claude -p --maintenance` |1344| `maintenance` | `claude -p --maintenance` |

1345 1345 


1392Selain [bidang input umum](#common-input-fields), InstructionsLoaded hooks menerima bidang-bidang ini:1392Selain [bidang input umum](#common-input-fields), InstructionsLoaded hooks menerima bidang-bidang ini:

1393 1393 

1394| Bidang | Deskripsi |1394| Bidang | Deskripsi |

1395| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1395| :- | :- |

1396| `file_path` | Path absolut ke file instruksi yang dimuat |1396| `file_path` | Path absolut ke file instruksi yang dimuat |

1397| `memory_type` | Cakupan file: `"User"`, `"Project"`, `"Local"`, atau `"Managed"` |1397| `memory_type` | Cakupan file: `"User"`, `"Project"`, `"Local"`, atau `"Managed"` |

1398| `load_reason` | Mengapa file dimuat: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"`, atau `"compact"`. Nilai `"compact"` dijalankan ketika file instruksi dimuat ulang setelah event compaction |1398| `load_reason` | Mengapa file dimuat: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"`, atau `"compact"`. Nilai `"compact"` dijalankan ketika file instruksi dimuat ulang setelah event compaction |


1463Untuk memblokir prompt, kembalikan objek JSON dengan `decision` diatur ke `"block"`:1463Untuk memblokir prompt, kembalikan objek JSON dengan `decision` diatur ke `"block"`:

1464 1464 

1465| Bidang | Deskripsi |1465| Bidang | Deskripsi |

1466| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------- |1466| :- | :- |

1467| `decision` | `"block"` mencegah prompt diproses dan menghapusnya dari konteks. Hilangkan untuk mengizinkan prompt dilanjutkan |1467| `decision` | `"block"` mencegah prompt diproses dan menghapusnya dari konteks. Hilangkan untuk mengizinkan prompt dilanjutkan |

1468| `reason` | Ditampilkan ke pengguna saat `decision` adalah `"block"`. Tidak ditambahkan ke konteks |1468| `reason` | Ditampilkan ke pengguna saat `decision` adalah `"block"`. Tidak ditambahkan ke konteks |

1469| `additionalContext` | String ditambahkan ke konteks Claude bersama prompt yang dikirimkan. Lihat [Add context for Claude](#add-context-for-claude) |1469| `additionalContext` | String ditambahkan ke konteks Claude bersama prompt yang dikirimkan. Lihat [Add context for Claude](#add-context-for-claude) |


1522Hooks `UserPromptExpansion` dapat memblokir ekspansi atau menambahkan konteks. Semua [bidang output JSON](#json-output) tersedia.1522Hooks `UserPromptExpansion` dapat memblokir ekspansi atau menambahkan konteks. Semua [bidang output JSON](#json-output) tersedia.

1523 1523 

1524| Bidang | Deskripsi |1524| Bidang | Deskripsi |

1525| :------------------ | :--------------------------------------------------------------------------------------------------------------------------- |1525| :- | :- |

1526| `decision` | `"block"` mencegah slash command berkembang. Hilangkan untuk mengizinkannya dilanjutkan |1526| `decision` | `"block"` mencegah slash command berkembang. Hilangkan untuk mengizinkannya dilanjutkan |

1527| `reason` | Ditampilkan ke pengguna saat `decision` adalah `"block"` |1527| `reason` | Ditampilkan ke pengguna saat `decision` adalah `"block"` |

1528| `additionalContext` | String ditambahkan ke konteks Claude bersama prompt yang berkembang. Lihat [Add context for Claude](#add-context-for-claude) |1528| `additionalContext` | String ditambahkan ke konteks Claude bersama prompt yang berkembang. Lihat [Add context for Claude](#add-context-for-claude) |


1567Selain [bidang input umum](#common-input-fields), MessageDisplay hooks menerima pengenal untuk giliran dan pesan, posisi panggilan ini dalam pesan, dan teks baru dalam `delta`. Batas batch tergantung pada bagaimana teks mengalir, jadi gunakan `index` dan `final` untuk melacak kemajuan melalui pesan daripada mengharapkan baris dikelompokkan dengan cara tertentu.1567Selain [bidang input umum](#common-input-fields), MessageDisplay hooks menerima pengenal untuk giliran dan pesan, posisi panggilan ini dalam pesan, dan teks baru dalam `delta`. Batas batch tergantung pada bagaimana teks mengalir, jadi gunakan `index` dan `final` untuk melacak kemajuan melalui pesan daripada mengharapkan baris dikelompokkan dengan cara tertentu.

1568 1568 

1569| Bidang | Deskripsi |1569| Bidang | Deskripsi |

1570| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1570| :- | :- |

1571| `turn_id` | UUID dari giliran saat ini |1571| `turn_id` | UUID dari giliran saat ini |

1572| `message_id` | UUID dari pesan asisten yang ditampilkan. Stabil di setiap batch dari pesan yang sama. Ini bukan API `msg_…` id, jadi tidak dapat dikorelasikan dengan id pesan transkrip |1572| `message_id` | UUID dari pesan asisten yang ditampilkan. Stabil di setiap batch dari pesan yang sama. Ini bukan API `msg_…` id, jadi tidak dapat dikorelasikan dengan id pesan transkrip |

1573| `index` | Indeks berbasis nol dari batch ini dalam pesan |1573| `index` | Indeks berbasis nol dari batch ini dalam pesan |


1595Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, MessageDisplay hooks dapat mengembalikan `displayContent` untuk mengganti delta di layar:1595Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, MessageDisplay hooks dapat mengembalikan `displayContent` untuk mengganti delta di layar:

1596 1596 

1597| Bidang | Deskripsi |1597| Bidang | Deskripsi |

1598| :--------------- | :------------------------------------------------------------------------- |1598| :- | :- |

1599| `displayContent` | Teks ditampilkan sebagai pengganti delta. Hilangkan untuk menampilkan asli |1599| `displayContent` | Teks ditampilkan sebagai pengganti delta. Hilangkan untuk menampilkan asli |

1600 1600 

1601MessageDisplay hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir pesan atau mengubah apa yang disimpan dalam transkrip atau dikirim ke Claude. Claude Code bertindak atas `displayContent` dari output JSON mereka dan membuang `systemMessage` dan `continue`.1601MessageDisplay hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir pesan atau mengubah apa yang disimpan dalam transkrip atau dikirim ke Claude. Claude Code bertindak atas `displayContent` dari output JSON mereka dan membuang `systemMessage` dan `continue`.


1736Menjalankan perintah shell.1736Menjalankan perintah shell.

1737 1737 

1738| Bidang | Tipe | Contoh | Deskripsi |1738| Bidang | Tipe | Contoh | Deskripsi |

1739| :------------------ | :------ | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |1739| :- | :- | :- | :- |

1740| `command` | string | `"npm test"` | Perintah shell untuk dijalankan |1740| `command` | string | `"npm test"` | Perintah shell untuk dijalankan |

1741| `description` | string | `"Run test suite"` | Deskripsi opsional tentang apa yang dilakukan perintah |1741| `description` | string | `"Run test suite"` | Deskripsi opsional tentang apa yang dilakukan perintah |

1742| `timeout` | number | `120000` | Timeout opsional dalam milidetik. Nilai di atas [maksimum](/docs/id/tools-reference#bash-tool-behavior) dikurangi ke maksimum daripada ditolak |1742| `timeout` | number | `120000` | Timeout opsional dalam milidetik. Nilai di atas [maksimum](/docs/id/tools-reference#bash-tool-behavior) dikurangi ke maksimum daripada ditolak |


1753`changedFiles` dan `files` mencantumkan apa yang diubah perintah; bidang yang tersisa mengatakan seberapa lengkap dan seberapa andal daftar itu.1753`changedFiles` dan `files` mencantumkan apa yang diubah perintah; bidang yang tersisa mengatakan seberapa lengkap dan seberapa andal daftar itu.

1754 1754 

1755| Bidang | Tipe | Contoh | Deskripsi |1755| Bidang | Tipe | Contoh | Deskripsi |

1756| :------------- | :------ | :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1756| :- | :- | :- | :- |

1757| `changedFiles` | array | `["/path/to/src/app.ts"]` | Path absolut dari file yang diubah perintah, paling banyak 200. Hadir setiap kali `files` menyimpan diff atau `moreFiles` di atas nol |1757| `changedFiles` | array | `["/path/to/src/app.ts"]` | Path absolut dari file yang diubah perintah, paling banyak 200. Hadir setiap kali `files` menyimpan diff atau `moreFiles` di atas nol |

1758| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs dari hingga 5 file yang berubah, untuk tampilan. `created` atau `deleted` adalah `true` untuk file yang ditambahkan atau dihapus perintah |1758| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs dari hingga 5 file yang berubah, untuk tampilan. `created` atau `deleted` adalah `true` untuk file yang ditambahkan atau dihapus perintah |

1759| `moreFiles` | number | `2` | Jumlah file yang berubah tanpa diff dalam `files` |1759| `moreFiles` | number | `2` | Jumlah file yang berubah tanpa diff dalam `files` |


1772Bidang-bidang cocok dengan tool Bash, dengan string perintah dalam `command`:1772Bidang-bidang cocok dengan tool Bash, dengan string perintah dalam `command`:

1773 1773 

1774| Bidang | Tipe | Contoh | Deskripsi |1774| Bidang | Tipe | Contoh | Deskripsi |

1775| :------------------ | :------ | :------------------------- | :----------------------------------------------------- |1775| :- | :- | :- | :- |

1776| `command` | string | `"Get-ChildItem -Recurse"` | Perintah PowerShell untuk dijalankan |1776| `command` | string | `"Get-ChildItem -Recurse"` | Perintah PowerShell untuk dijalankan |

1777| `description` | string | `"List files recursively"` | Deskripsi opsional tentang apa yang dilakukan perintah |1777| `description` | string | `"List files recursively"` | Deskripsi opsional tentang apa yang dilakukan perintah |

1778| `timeout` | number | `120000` | Timeout opsional dalam milidetik |1778| `timeout` | number | `120000` | Timeout opsional dalam milidetik |


1791Membuat atau menimpa file.1791Membuat atau menimpa file.

1792 1792 

1793| Bidang | Tipe | Contoh | Deskripsi |1793| Bidang | Tipe | Contoh | Deskripsi |

1794| :---------- | :----- | :-------------------- | :--------------------------------- |1794| :- | :- | :- | :- |

1795| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk ditulis |1795| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk ditulis |

1796| `content` | string | `"file content"` | Konten untuk ditulis ke file |1796| `content` | string | `"file content"` | Konten untuk ditulis ke file |

1797 1797 


1802Mengganti string dalam file yang ada.1802Mengganti string dalam file yang ada.

1803 1803 

1804| Bidang | Tipe | Contoh | Deskripsi |1804| Bidang | Tipe | Contoh | Deskripsi |

1805| :------------ | :------ | :-------------------- | :-------------------------------- |1805| :- | :- | :- | :- |

1806| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk diedit |1806| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk diedit |

1807| `old_string` | string | `"original text"` | Teks untuk dicari dan diganti |1807| `old_string` | string | `"original text"` | Teks untuk dicari dan diganti |

1808| `new_string` | string | `"replacement text"` | Teks pengganti |1808| `new_string` | string | `"replacement text"` | Teks pengganti |


1815Membaca konten file.1815Membaca konten file.

1816 1816 

1817| Bidang | Tipe | Contoh | Deskripsi |1817| Bidang | Tipe | Contoh | Deskripsi |

1818| :---------- | :----- | :-------------------- | :-------------------------------------------- |1818| :- | :- | :- | :- |

1819| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk dibaca |1819| `file_path` | string | `"/path/to/file.txt"` | Path absolut ke file untuk dibaca |

1820| `offset` | number | `10` | Nomor baris opsional untuk mulai membaca dari |1820| `offset` | number | `10` | Nomor baris opsional untuk mulai membaca dari |

1821| `limit` | number | `50` | Jumlah baris opsional untuk dibaca |1821| `limit` | number | `50` | Jumlah baris opsional untuk dibaca |


1827Menemukan file yang cocok dengan pola glob.1827Menemukan file yang cocok dengan pola glob.

1828 1828 

1829| Bidang | Tipe | Contoh | Deskripsi |1829| Bidang | Tipe | Contoh | Deskripsi |

1830| :-------- | :----- | :--------------- | :------------------------------------------------------------------- |1830| :- | :- | :- | :- |

1831| `pattern` | string | `"**/*.ts"` | Pola glob untuk mencocokkan file terhadap |1831| `pattern` | string | `"**/*.ts"` | Pola glob untuk mencocokkan file terhadap |

1832| `path` | string | `"/path/to/dir"` | Direktori opsional untuk dicari. Default ke direktori kerja saat ini |1832| `path` | string | `"/path/to/dir"` | Direktori opsional untuk dicari. Default ke direktori kerja saat ini |

1833 1833 


1838Mencari konten file dengan ekspresi reguler.1838Mencari konten file dengan ekspresi reguler.

1839 1839 

1840| Bidang | Tipe | Contoh | Deskripsi |1840| Bidang | Tipe | Contoh | Deskripsi |

1841| :------------ | :------ | :--------------- | :------------------------------------------------------------------------------------- |1841| :- | :- | :- | :- |

1842| `pattern` | string | `"TODO.*fix"` | Pola ekspresi reguler untuk dicari |1842| `pattern` | string | `"TODO.*fix"` | Pola ekspresi reguler untuk dicari |

1843| `path` | string | `"/path/to/dir"` | File atau direktori opsional untuk dicari |1843| `path` | string | `"/path/to/dir"` | File atau direktori opsional untuk dicari |

1844| `glob` | string | `"*.ts"` | Pola glob opsional untuk memfilter file |1844| `glob` | string | `"*.ts"` | Pola glob opsional untuk memfilter file |


1853Mengambil dan memproses konten web.1853Mengambil dan memproses konten web.

1854 1854 

1855| Bidang | Tipe | Contoh | Deskripsi |1855| Bidang | Tipe | Contoh | Deskripsi |

1856| :------- | :----- | :---------------------------- | :----------------------------------------------- |1856| :- | :- | :- | :- |

1857| `url` | string | `"https://example.com/api"` | URL untuk mengambil konten dari |1857| `url` | string | `"https://example.com/api"` | URL untuk mengambil konten dari |

1858| `prompt` | string | `"Extract the API endpoints"` | Prompt untuk dijalankan pada konten yang diambil |1858| `prompt` | string | `"Extract the API endpoints"` | Prompt untuk dijalankan pada konten yang diambil |

1859 1859 


1864Mencari web.1864Mencari web.

1865 1865 

1866| Bidang | Tipe | Contoh | Deskripsi |1866| Bidang | Tipe | Contoh | Deskripsi |

1867| :---------------- | :----- | :----------------------------- | :--------------------------------------------- |1867| :- | :- | :- | :- |

1868| `query` | string | `"react hooks best practices"` | Query pencarian |1868| `query` | string | `"react hooks best practices"` | Query pencarian |

1869| `allowed_domains` | array | `["docs.example.com"]` | Opsional: hanya sertakan hasil dari domain ini |1869| `allowed_domains` | array | `["docs.example.com"]` | Opsional: hanya sertakan hasil dari domain ini |

1870| `blocked_domains` | array | `["spam.example.com"]` | Opsional: kecualikan hasil dari domain ini |1870| `blocked_domains` | array | `["spam.example.com"]` | Opsional: kecualikan hasil dari domain ini |


1876Spawn [subagent](/docs/id/sub-agents).1876Spawn [subagent](/docs/id/sub-agents).

1877 1877 

1878| Bidang | Tipe | Contoh | Deskripsi |1878| Bidang | Tipe | Contoh | Deskripsi |

1879| :-------------- | :----- | :------------------------- | :----------------------------------------- |1879| :- | :- | :- | :- |

1880| `prompt` | string | `"Find all API endpoints"` | Tugas untuk agent lakukan |1880| `prompt` | string | `"Find all API endpoints"` | Tugas untuk agent lakukan |

1881| `description` | string | `"Find API endpoints"` | Deskripsi singkat tugas |1881| `description` | string | `"Find API endpoints"` | Deskripsi singkat tugas |

1882| `subagent_type` | string | `"Explore"` | Tipe agent khusus untuk digunakan |1882| `subagent_type` | string | `"Explore"` | Tipe agent khusus untuk digunakan |


1885Ketika panggilan Agent foreground selesai, hook [PostToolUse](#posttooluse) Anda menerima teks akhir subagent dan telemetri run dalam `tool_response`. Baca bidang-bidang ini untuk memeriksa run; untuk rollup token dan biaya di seluruh subagents, gunakan [token dan cost counters](/docs/id/monitoring-usage#token-counter) yang difilter ke `query_source` `"subagent"`, karena `totalTokens` dan `usage` mencakup permintaan akhir saja:1885Ketika panggilan Agent foreground selesai, hook [PostToolUse](#posttooluse) Anda menerima teks akhir subagent dan telemetri run dalam `tool_response`. Baca bidang-bidang ini untuk memeriksa run; untuk rollup token dan biaya di seluruh subagents, gunakan [token dan cost counters](/docs/id/monitoring-usage#token-counter) yang difilter ke `query_source` `"subagent"`, karena `totalTokens` dan `usage` mencakup permintaan akhir saja:

1886 1886 

1887| Bidang | Tipe | Contoh | Deskripsi |1887| Bidang | Tipe | Contoh | Deskripsi |

1888| :------------------ | :----- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1888| :- | :- | :- | :- |

1889| `status` | string | `"completed"` | `"completed"` untuk subagents foreground, `"async_launched"` untuk subagents background. Mulai dari v2.1.198, subagents berjalan di latar belakang secara default, jadi `run_in_background` yang dihilangkan juga menghasilkan `"async_launched"` |1889| `status` | string | `"completed"` | `"completed"` untuk subagents foreground, `"async_launched"` untuk subagents background. Mulai dari v2.1.198, subagents berjalan di latar belakang secara default, jadi `run_in_background` yang dihilangkan juga menghasilkan `"async_launched"` |

1890| `agentId` | string | `"a4d2c8f1e0b3a297"` | Pengenal untuk run subagent |1890| `agentId` | string | `"a4d2c8f1e0b3a297"` | Pengenal untuk run subagent |

1891| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Blok teks akhir subagent, atau, untuk subagent yang laporannya melewati `SubagentHandback`, catatan singkat tentang hand-back itu di tempatnya |1891| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Blok teks akhir subagent, atau, untuk subagent yang laporannya melewati `SubagentHandback`, catatan singkat tentang hand-back itu di tempatnya |


1911Mengajukan pertanyaan multiple-choice satu hingga empat kepada pengguna.1911Mengajukan pertanyaan multiple-choice satu hingga empat kepada pengguna.

1912 1912 

1913| Bidang | Tipe | Contoh | Deskripsi |1913| Bidang | Tipe | Contoh | Deskripsi |

1914| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1914| :- | :- | :- | :- |

1915| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Pertanyaan untuk disajikan, masing-masing dengan string `question`, `header` pendek, array `options`, dan flag `multiSelect` opsional |1915| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Pertanyaan untuk disajikan, masing-masing dengan string `question`, `header` pendek, array `options`, dan flag `multiSelect` opsional |

1916| `answers` | object | `{"Which framework?": "React"}` | Opsional. Memetakan teks pertanyaan ke label opsi yang dipilih. Jawaban multi-select menggabungkan label dengan koma. Claude tidak menetapkan bidang ini; sediakan melalui `updatedInput` untuk menjawab secara programatis |1916| `answers` | object | `{"Which framework?": "React"}` | Opsional. Memetakan teks pertanyaan ke label opsi yang dipilih. Jawaban multi-select menggabungkan label dengan koma. Claude tidak menetapkan bidang ini; sediakan melalui `updatedInput` untuk menjawab secara programatis |

1917 1917 


1922Menyajikan rencana dan meminta pengguna untuk menyetujuinya sebelum Claude meninggalkan [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode). Claude menulis rencana ke file di disk sebelum memanggil tool, jadi `tool_input` literal dari model biasanya kosong. Claude Code menyuntikkan konten rencana dan path file sebelum meneruskan input ke hooks.1922Menyajikan rencana dan meminta pengguna untuk menyetujuinya sebelum Claude meninggalkan [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode). Claude menulis rencana ke file di disk sebelum memanggil tool, jadi `tool_input` literal dari model biasanya kosong. Claude Code menyuntikkan konten rencana dan path file sebelum meneruskan input ke hooks.

1923 1923 

1924| Bidang | Tipe | Contoh | Deskripsi |1924| Bidang | Tipe | Contoh | Deskripsi |

1925| :--------------- | :----- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |1925| :- | :- | :- | :- |

1926| `plan` | string | `"## Refactor auth\n1. Extract..."` | Konten rencana dalam Markdown. Disuntikkan dari file rencana di disk |1926| `plan` | string | `"## Refactor auth\n1. Extract..."` | Konten rencana dalam Markdown. Disuntikkan dari file rencana di disk |

1927| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Path ke file rencana. Disuntikkan |1927| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Path ke file rencana. Disuntikkan |

1928| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Usang. Claude Code menerima bidang tetapi mengabaikannya. Sebelum v2.1.205, itu membawa izin berbasis prompt yang diminta Claude untuk mengimplementasikan rencana |1928| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Usang. Claude Code menerima bidang tetapi mengabaikannya. Sebelum v2.1.205, itu membawa izin berbasis prompt yang diminta Claude untuk mengimplementasikan rencana |


1936Hooks `PreToolUse` dapat mengontrol apakah pemanggilan tool dilanjutkan. Tidak seperti hooks lain yang menggunakan bidang `decision` tingkat atas, PreToolUse mengembalikan keputusannya di dalam objek `hookSpecificOutput`. Ini memberikannya kontrol yang lebih kaya: empat hasil (izinkan, tolak, tanya, atau tunda) ditambah kemampuan untuk memodifikasi input tool sebelum eksekusi.1936Hooks `PreToolUse` dapat mengontrol apakah pemanggilan tool dilanjutkan. Tidak seperti hooks lain yang menggunakan bidang `decision` tingkat atas, PreToolUse mengembalikan keputusannya di dalam objek `hookSpecificOutput`. Ini memberikannya kontrol yang lebih kaya: empat hasil (izinkan, tolak, tanya, atau tunda) ditambah kemampuan untuk memodifikasi input tool sebelum eksekusi.

1937 1937 

1938| Bidang | Deskripsi |1938| Bidang | Deskripsi |

1939| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1939| :- | :- |

1940| `permissionDecision` | `"allow"` melewati prompt izin, kecuali untuk [actions yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) dan untuk `AskUserQuestion` dan `ExitPlanMode`, yang memerlukan [`updatedInput` dipasangkan dengannya](#allow-with-updatedinput). `"deny"` mencegah pemanggilan tool. `"ask"` meminta pengguna untuk mengkonfirmasi. `"defer"` keluar dengan baik sehingga tool dapat dilanjutkan nanti. [Deny and ask rules](/docs/id/permissions#manage-permissions) masih dievaluasi terlepas dari apa yang dikembalikan hook |1940| `permissionDecision` | `"allow"` melewati prompt izin, kecuali untuk [actions yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) dan untuk `AskUserQuestion` dan `ExitPlanMode`, yang memerlukan [`updatedInput` dipasangkan dengannya](#allow-with-updatedinput). `"deny"` mencegah pemanggilan tool. `"ask"` meminta pengguna untuk mengkonfirmasi. `"defer"` keluar dengan baik sehingga tool dapat dilanjutkan nanti. [Deny and ask rules](/docs/id/permissions#manage-permissions) masih dievaluasi terlepas dari apa yang dikembalikan hook |

1941| `permissionDecisionReason` | Untuk `"allow"` dan `"ask"`, ditampilkan ke pengguna tetapi bukan Claude. Untuk `"deny"`, ditampilkan ke Claude. Untuk `"defer"`, diabaikan |1941| `permissionDecisionReason` | Untuk `"allow"` dan `"ask"`, ditampilkan ke pengguna tetapi bukan Claude. Untuk `"deny"`, ditampilkan ke Claude. Untuk `"defer"`, diabaikan |

1942| `updatedInput` | Memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Claude Code mengevaluasi aturan izin dan kelayakan [auto-background](/docs/id/tools-reference#background-commands) perintah Bash terhadap input yang dikembalikan hook Anda, bukan input yang dikirim Claude. Gabungkan dengan `"allow"` untuk persetujuan otomatis, atau `"ask"` untuk menampilkan input yang dimodifikasi ke pengguna. Untuk `"defer"`, diabaikan |1942| `updatedInput` | Memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Claude Code mengevaluasi aturan izin dan kelayakan [auto-background](/docs/id/tools-reference#background-commands) perintah Bash terhadap input yang dikembalikan hook Anda, bukan input yang dikirim Claude. Gabungkan dengan `"allow"` untuk persetujuan otomatis, atau `"ask"` untuk menampilkan input yang dimodifikasi ke pengguna. Untuk `"defer"`, diabaikan |


2069Hooks `PermissionRequest` dapat mengizinkan atau menolak permintaan izin. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan objek `decision` dengan bidang spesifik event ini:2069Hooks `PermissionRequest` dapat mengizinkan atau menolak permintaan izin. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan objek `decision` dengan bidang spesifik event ini:

2070 2070 

2071| Bidang | Deskripsi |2071| Bidang | Deskripsi |

2072| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2072| :- | :- |

2073| `behavior` | `"allow"` memberikan izin, `"deny"` menolaknya. [Deny and ask rules](/docs/id/permissions#manage-permissions) masih dievaluasi, jadi hook yang mengembalikan `"allow"` tidak menimpa aturan deny yang cocok |2073| `behavior` | `"allow"` memberikan izin, `"deny"` menolaknya. [Deny and ask rules](/docs/id/permissions#manage-permissions) masih dievaluasi, jadi hook yang mengembalikan `"allow"` tidak menimpa aturan deny yang cocok |

2074| `updatedInput` | Untuk `"allow"` saja: memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Input yang dimodifikasi dievaluasi ulang terhadap aturan deny dan ask |2074| `updatedInput` | Untuk `"allow"` saja: memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Input yang dimodifikasi dievaluasi ulang terhadap aturan deny dan ask |

2075| `updatedPermissions` | Untuk `"allow"` saja: array dari [permission update entries](#permission-update-entries) untuk diterapkan, seperti menambahkan aturan allow atau mengubah mode izin sesi |2075| `updatedPermissions` | Untuk `"allow"` saja: array dari [permission update entries](#permission-update-entries) untuk diterapkan, seperti menambahkan aturan allow atau mengubah mode izin sesi |


2099Bidang output `updatedPermissions` dan bidang input [`permission_suggestions`](#permissionrequest-input) keduanya menggunakan array objek entry yang sama. Setiap entry memiliki `type` yang menentukan bidang lainnya, dan `destination` yang mengontrol di mana perubahan ditulis.2099Bidang output `updatedPermissions` dan bidang input [`permission_suggestions`](#permissionrequest-input) keduanya menggunakan array objek entry yang sama. Setiap entry memiliki `type` yang menentukan bidang lainnya, dan `destination` yang mengontrol di mana perubahan ditulis.

2100 2100 

2101| `type` | Bidang | Efek |2101| `type` | Bidang | Efek |

2102| :------------------ | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2102| :- | :- | :- |

2103| `addRules` | `rules`, `behavior`, `destination` | Menambahkan aturan izin. `rules` adalah array dari objek `{toolName, ruleContent?}`. Hilangkan `ruleContent` untuk mencocokkan seluruh tool. `behavior` adalah `"allow"`, `"deny"`, atau `"ask"` |2103| `addRules` | `rules`, `behavior`, `destination` | Menambahkan aturan izin. `rules` adalah array dari objek `{toolName, ruleContent?}`. Hilangkan `ruleContent` untuk mencocokkan seluruh tool. `behavior` adalah `"allow"`, `"deny"`, atau `"ask"` |

2104| `replaceRules` | `rules`, `behavior`, `destination` | Mengganti semua aturan dari `behavior` yang diberikan di `destination` dengan `rules` yang disediakan |2104| `replaceRules` | `rules`, `behavior`, `destination` | Mengganti semua aturan dari `behavior` yang diberikan di `destination` dengan `rules` yang disediakan |

2105| `removeRules` | `rules`, `behavior`, `destination` | Menghapus aturan yang cocok dari `behavior` yang diberikan |2105| `removeRules` | `rules`, `behavior`, `destination` | Menghapus aturan yang cocok dari `behavior` yang diberikan |


2116Bidang `destination` pada setiap entry menentukan apakah perubahan tetap dalam memori atau persisten ke file pengaturan.2116Bidang `destination` pada setiap entry menentukan apakah perubahan tetap dalam memori atau persisten ke file pengaturan.

2117 2117 

2118| `destination` | Menulis ke |2118| `destination` | Menulis ke |

2119| :---------------- | :----------------------------------------------- |2119| :- | :- |

2120| `session` | hanya dalam memori, dibuang ketika sesi berakhir |2120| `session` | hanya dalam memori, dibuang ketika sesi berakhir |

2121| `localSettings` | `.claude/settings.local.json` |2121| `localSettings` | `.claude/settings.local.json` |

2122| `projectSettings` | `.claude/settings.json` |2122| `projectSettings` | `.claude/settings.json` |


2165```2165```

2166 2166 

2167| Bidang | Deskripsi |2167| Bidang | Deskripsi |

2168| :------------ | :------------------------------------------------------------------------------------------------------------------------ |2168| :- | :- |

2169| `duration_ms` | Opsional. Waktu eksekusi tool dalam milidetik. Mengecualikan waktu yang dihabiskan dalam prompt izin dan PreToolUse hooks |2169| `duration_ms` | Opsional. Waktu eksekusi tool dalam milidetik. Mengecualikan waktu yang dihabiskan dalam prompt izin dan PreToolUse hooks |

2170 2170 

2171<h4 id="posttooluse-decision-control">2171<h4 id="posttooluse-decision-control">


2175Hooks `PostToolUse` dapat memberikan umpan balik ke Claude setelah eksekusi tool. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:2175Hooks `PostToolUse` dapat memberikan umpan balik ke Claude setelah eksekusi tool. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:

2176 2176 

2177| Bidang | Deskripsi |2177| Bidang | Deskripsi |

2178| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2178| :- | :- |

2179| `decision` | `"block"` menambahkan `reason` di sebelah hasil tool. Claude masih melihat output asli; untuk menggantinya, gunakan `updatedToolOutput` |2179| `decision` | `"block"` menambahkan `reason` di sebelah hasil tool. Claude masih melihat output asli; untuk menggantinya, gunakan `updatedToolOutput` |

2180| `reason` | Penjelasan ditampilkan ke Claude saat `decision` adalah `"block"` |2180| `reason` | Penjelasan ditampilkan ke Claude saat `decision` adalah `"block"` |

2181| `additionalContext` | String ditambahkan ke konteks Claude bersama hasil tool. Lihat [Add context for Claude](#add-context-for-claude) |2181| `additionalContext` | String ditambahkan ke konteks Claude bersama hasil tool. Lihat [Add context for Claude](#add-context-for-claude) |


2277```2277```

2278 2278 

2279| Bidang | Deskripsi |2279| Bidang | Deskripsi |

2280| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2280| :- | :- |

2281| `error` | String menjelaskan apa yang salah. Format tergantung pada tool yang gagal |2281| `error` | String menjelaskan apa yang salah. Format tergantung pada tool yang gagal |

2282| `is_interrupt` | Boolean opsional. True ketika kegagalan mencapai Claude Code sebagai abort daripada sebagai kesalahan yang dilaporkan tool. Membatalkan tool yang berjalan tidak menjalankan hook ini; hasil tool membawa pesan interupsi sebagai gantinya |2282| `is_interrupt` | Boolean opsional. True ketika kegagalan mencapai Claude Code sebagai abort daripada sebagai kesalahan yang dilaporkan tool. Membatalkan tool yang berjalan tidak menjalankan hook ini; hasil tool membawa pesan interupsi sebagai gantinya |

2283| `duration_ms` | Opsional. Waktu eksekusi tool dalam milidetik. Mengecualikan waktu yang dihabiskan dalam prompt izin dan PreToolUse hooks |2283| `duration_ms` | Opsional. Waktu eksekusi tool dalam milidetik. Mengecualikan waktu yang dihabiskan dalam prompt izin dan PreToolUse hooks |


2295Hooks `PostToolUseFailure` dapat memberikan konteks ke Claude setelah kegagalan tool. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:2295Hooks `PostToolUseFailure` dapat memberikan konteks ke Claude setelah kegagalan tool. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:

2296 2296 

2297| Bidang | Deskripsi |2297| Bidang | Deskripsi |

2298| :------------------ | :-------------------------------------------------------------------------------------------------------------- |2298| :- | :- |

2299| `additionalContext` | String ditambahkan ke konteks Claude bersama kesalahan. Lihat [Add context for Claude](#add-context-for-claude) |2299| `additionalContext` | String ditambahkan ke konteks Claude bersama kesalahan. Lihat [Add context for Claude](#add-context-for-claude) |

2300 2300 

2301```json theme={null}2301```json theme={null}


2356Hooks `PostToolBatch` dapat menyuntikkan konteks untuk Claude. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:2356Hooks `PostToolBatch` dapat menyuntikkan konteks untuk Claude. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:

2357 2357 

2358| Bidang | Deskripsi |2358| Bidang | Deskripsi |

2359| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2359| :- | :- |

2360| `additionalContext` | String konteks yang disuntikkan sekali sebelum panggilan model berikutnya. Lihat [Add context for Claude](#add-context-for-claude) untuk detail pengiriman, apa yang harus dimasukkan, dan cara sesi yang dilanjutkan menangani nilai masa lalu |2360| `additionalContext` | String konteks yang disuntikkan sekali sebelum panggilan model berikutnya. Lihat [Add context for Claude](#add-context-for-claude) untuk detail pengiriman, apa yang harus dimasukkan, dan cara sesi yang dilanjutkan menangani nilai masa lalu |

2361 2361 

2362```json theme={null}2362```json theme={null}


2402```2402```

2403 2403 

2404| Bidang | Deskripsi |2404| Bidang | Deskripsi |

2405| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2405| :- | :- |

2406| `reason` | Alasan penolakan. Untuk putusan pengklasifikasi, dalam sebagian besar sesi itu menamai aturan yang cocok dalam tanda kurung siku, seperti `[Data Exfiltration]`; lihat [Review denials](/docs/id/auto-mode-config#review-denials) untuk bentuk lainnya. Untuk [penolakan tanpa putusan](#permissiondenied-decision-control), itu dimulai dengan `Auto mode could not evaluate this action and is blocking it for safety`. Untuk penolakan karena model pengklasifikasi tidak tersedia, itu adalah teks tetap `Classifier unavailable` |2406| `reason` | Alasan penolakan. Untuk putusan pengklasifikasi, dalam sebagian besar sesi itu menamai aturan yang cocok dalam tanda kurung siku, seperti `[Data Exfiltration]`; lihat [Review denials](/docs/id/auto-mode-config#review-denials) untuk bentuk lainnya. Untuk [penolakan tanpa putusan](#permissiondenied-decision-control), itu dimulai dengan `Auto mode could not evaluate this action and is blocking it for safety`. Untuk penolakan karena model pengklasifikasi tidak tersedia, itu adalah teks tetap `Classifier unavailable` |

2407 2407 

2408<h4 id="permissiondenied-decision-control">2408<h4 id="permissiondenied-decision-control">


2433Anda menerima hook events ini bahkan dengan notifikasi desktop dimatikan: pengaturan `preferredNotifChannel`, termasuk `notifications_disabled`, hanya mengubah cara Anda diperingatkan, bukan apakah hook Anda dijalankan.2433Anda menerima hook events ini bahkan dengan notifikasi desktop dimatikan: pengaturan `preferredNotifChannel`, termasuk `notifications_disabled`, hanya mengubah cara Anda diperingatkan, bukan apakah hook Anda dijalankan.

2434 2434 

2435| Matcher | Kapan dijalankan |2435| Matcher | Kapan dijalankan |

2436| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2436| :- | :- |

2437| `permission_prompt` | Claude memerlukan Anda untuk menyetujui penggunaan tool atau [network request](/docs/id/sandboxing#network-isolation) perintah sandboxed, dan prompt telah menunggu sekitar enam detik |2437| `permission_prompt` | Claude memerlukan Anda untuk menyetujui penggunaan tool atau [network request](/docs/id/sandboxing#network-isolation) perintah sandboxed, dan prompt telah menunggu sekitar enam detik |

2438| `idle_prompt` | Claude selesai merespons sekitar 60 detik yang lalu dan Anda belum mengetik sejak itu |2438| `idle_prompt` | Claude selesai merespons sekitar 60 detik yang lalu dan Anda belum mengetik sejak itu |

2439| `auth_success` | Autentikasi selesai |2439| `auth_success` | Autentikasi selesai |


2550SubagentStart hooks tidak dapat memblokir pembuatan subagent, tetapi mereka dapat menyuntikkan konteks ke subagent. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan:2550SubagentStart hooks tidak dapat memblokir pembuatan subagent, tetapi mereka dapat menyuntikkan konteks ke subagent. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan:

2551 2551 

2552| Bidang | Deskripsi |2552| Bidang | Deskripsi |

2553| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |2553| :- | :- |

2554| `additionalContext` | String ditambahkan ke konteks subagent pada awal percakapannya, sebelum prompt pertamanya. Lihat [Add context for Claude](#add-context-for-claude) |2554| `additionalContext` | String ditambahkan ke konteks subagent pada awal percakapannya, sebelum prompt pertamanya. Lihat [Add context for Claude](#add-context-for-claude) |

2555 2555 

2556```json theme={null}2556```json theme={null}


2632```2632```

2633 2633 

2634| Bidang | Deskripsi |2634| Bidang | Deskripsi |

2635| :----------------- | :---------------------------------------------------------------------- |2635| :- | :- |

2636| `task_id` | Pengenal tugas yang sedang dibuat |2636| `task_id` | Pengenal tugas yang sedang dibuat |

2637| `task_subject` | Judul tugas |2637| `task_subject` | Judul tugas |

2638| `task_description` | Deskripsi detail tugas. Mungkin tidak ada |2638| `task_description` | Deskripsi detail tugas. Mungkin tidak ada |


2693```2693```

2694 2694 

2695| Bidang | Deskripsi |2695| Bidang | Deskripsi |

2696| :----------------- | :---------------------------------------------------------------------- |2696| :- | :- |

2697| `task_id` | Pengenal tugas yang sedang diselesaikan |2697| `task_id` | Pengenal tugas yang sedang diselesaikan |

2698| `task_subject` | Judul tugas |2698| `task_subject` | Judul tugas |

2699| `task_description` | Deskripsi detail tugas. Mungkin tidak ada |2699| `task_description` | Deskripsi detail tugas. Mungkin tidak ada |


2748Setiap entry dalam `background_tasks` menjelaskan satu tugas yang sedang berlangsung dan menggunakan bidang-bidang ini:2748Setiap entry dalam `background_tasks` menjelaskan satu tugas yang sedang berlangsung dan menggunakan bidang-bidang ini:

2749 2749 

2750| Bidang | Deskripsi |2750| Bidang | Deskripsi |

2751| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2751| :- | :- |

2752| `id` | Pengenal tugas |2752| `id` | Pengenal tugas |

2753| `type` | Label tipe tugas yang ramah seperti `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, atau `MCP task`. Setiap label mengidentifikasi fitur Claude Code mana yang membuat tugas. Kembali ke diskriminan mentah untuk tipe yang tidak dikenali |2753| `type` | Label tipe tugas yang ramah seperti `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, atau `MCP task`. Setiap label mengidentifikasi fitur Claude Code mana yang membuat tugas. Kembali ke diskriminan mentah untuk tipe yang tidak dikenali |

2754| `status` | Status tugas saat ini |2754| `status` | Status tugas saat ini |


2762Setiap entry dalam `session_crons` menjelaskan satu wakeup terjadwal yang bersifat sesi, bersumber dari `CronCreate`, `ScheduleWakeup`, dan `/loop`:2762Setiap entry dalam `session_crons` menjelaskan satu wakeup terjadwal yang bersifat sesi, bersumber dari `CronCreate`, `ScheduleWakeup`, dan `/loop`:

2763 2763 

2764| Bidang | Deskripsi |2764| Bidang | Deskripsi |

2765| :---------- | :----------------------------------------------------------------------------------------------------------------------------------- |2765| :- | :- |

2766| `id` | Pengenal tugas cron |2766| `id` | Pengenal tugas cron |

2767| `schedule` | Ekspresi cron, misalnya `0 9 * * 1-5` |2767| `schedule` | Ekspresi cron, misalnya `0 9 * * 1-5` |

2768| `recurring` | `false` untuk wakeup satu kali yang jadwalnya mengkodekan waktu api tunggal, `true` untuk tugas yang api ulang pada setiap kecocokan |2768| `recurring` | `false` untuk wakeup satu kali yang jadwalnya mengkodekan waktu api tunggal, `true` untuk tugas yang api ulang pada setiap kecocokan |


2806Hooks `Stop` dan `SubagentStop` dapat mengontrol apakah Claude melanjutkan. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:2806Hooks `Stop` dan `SubagentStop` dapat mengontrol apakah Claude melanjutkan. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, skrip hook Anda dapat mengembalikan bidang spesifik event ini:

2807 2807 

2808| Bidang | Deskripsi |2808| Bidang | Deskripsi |

2809| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2809| :- | :- |

2810| `decision` | `"block"` mencegah Claude berhenti. Hilangkan untuk mengizinkan Claude berhenti |2810| `decision` | `"block"` mencegah Claude berhenti. Hilangkan untuk mengizinkan Claude berhenti |

2811| `reason` | Diperlukan saat `decision` adalah `"block"`. Memberitahu Claude mengapa itu harus melanjutkan |2811| `reason` | Diperlukan saat `decision` adalah `"block"`. Memberitahu Claude mengapa itu harus melanjutkan |

2812| `hookSpecificOutput.additionalContext` | Umpan balik non-error untuk Claude. Percakapan berlanjut sehingga Claude dapat bertindak atas itu, tetapi tidak seperti `decision: "block"` itu ditampilkan dalam transkrip sebagai umpan balik hook daripada kesalahan hook |2812| `hookSpecificOutput.additionalContext` | Umpan balik non-error untuk Claude. Percakapan berlanjut sehingga Claude dapat bertindak atas itu, tetapi tidak seperti `decision: "block"` itu ditampilkan dalam transkrip sebagai umpan balik hook daripada kesalahan hook |


2844Selain [bidang input umum](#common-input-fields), StopFailure hooks menerima `error`, `error_details` opsional, dan `last_assistant_message` opsional. Bidang `error` mengidentifikasi tipe kesalahan dan digunakan untuk pemfilteran matcher.2844Selain [bidang input umum](#common-input-fields), StopFailure hooks menerima `error`, `error_details` opsional, dan `last_assistant_message` opsional. Bidang `error` mengidentifikasi tipe kesalahan dan digunakan untuk pemfilteran matcher.

2845 2845 

2846| Bidang | Deskripsi |2846| Bidang | Deskripsi |

2847| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2847| :- | :- |

2848| `error` | Tipe kesalahan: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, atau `unknown` |2848| `error` | Tipe kesalahan: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, atau `unknown` |

2849| `error_details` | Detail tambahan tentang kesalahan, ketika tersedia |2849| `error_details` | Detail tambahan tentang kesalahan, ketika tersedia |

2850| `last_assistant_message` | Teks kesalahan yang dirender ditampilkan dalam percakapan. Tidak seperti `Stop` dan `SubagentStop`, di mana bidang ini menyimpan output percakapan Claude, untuk `StopFailure` itu berisi string kesalahan API itu sendiri, seperti `"API Error: Rate limit reached"` |2850| `last_assistant_message` | Teks kesalahan yang dirender ditampilkan dalam percakapan. Tidak seperti `Stop` dan `SubagentStop`, di mana bidang ini menyimpan output percakapan Claude, untuk `StopFailure` itu berisi string kesalahan API itu sendiri, seperti `"API Error: Rate limit reached"` |


2890```2890```

2891 2891 

2892| Bidang | Deskripsi |2892| Bidang | Deskripsi |

2893| :-------------- | :---------------------------------------------------------------------- |2893| :- | :- |

2894| `teammate_name` | Nama teammate yang akan menjadi idle |2894| `teammate_name` | Nama teammate yang akan menjadi idle |

2895| `team_name` | Nama team yang diturunkan dari sesi; akan dihapus dalam rilis mendatang |2895| `team_name` | Nama team yang diturunkan dari sesi; akan dihapus dalam rilis mendatang |

2896 2896 


2927Matcher memfilter pada sumber konfigurasi:2927Matcher memfilter pada sumber konfigurasi:

2928 2928 

2929| Matcher | Kapan dijalankan |2929| Matcher | Kapan dijalankan |

2930| :----------------- | :-------------------------------------------------------------------- |2930| :- | :- |

2931| `user_settings` | `~/.claude/settings.json` berubah |2931| `user_settings` | `~/.claude/settings.json` berubah |

2932| `project_settings` | `.claude/settings.json` berubah |2932| `project_settings` | `.claude/settings.json` berubah |

2933| `local_settings` | `.claude/settings.local.json` berubah |2933| `local_settings` | `.claude/settings.local.json` berubah |


2978ConfigChange hooks dapat memblokir perubahan konfigurasi dari berlaku. Gunakan kode keluar 2 atau JSON `decision` untuk mencegah perubahan. Ketika diblokir, pengaturan baru tidak diterapkan ke sesi yang berjalan.2978ConfigChange hooks dapat memblokir perubahan konfigurasi dari berlaku. Gunakan kode keluar 2 atau JSON `decision` untuk mencegah perubahan. Ketika diblokir, pengaturan baru tidak diterapkan ke sesi yang berjalan.

2979 2979 

2980| Bidang | Deskripsi |2980| Bidang | Deskripsi |

2981| :--------- | :----------------------------------------------------------------------------------------- |2981| :- | :- |

2982| `decision` | `"block"` mencegah perubahan konfigurasi diterapkan. Hilangkan untuk mengizinkan perubahan |2982| `decision` | `"block"` mencegah perubahan konfigurasi diterapkan. Hilangkan untuk mengizinkan perubahan |

2983| `reason` | Diterima tetapi tidak pernah ditampilkan |2983| `reason` | Diterima tetapi tidak pernah ditampilkan |

2984 2984 


3027Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, CwdChanged hooks dapat mengembalikan `watchPaths` untuk secara dinamis menetapkan path file mana yang [FileChanged](#filechanged) pantau:3027Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, CwdChanged hooks dapat mengembalikan `watchPaths` untuk secara dinamis menetapkan path file mana yang [FileChanged](#filechanged) pantau:

3028 3028 

3029| Bidang | Deskripsi |3029| Bidang | Deskripsi |

3030| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3030| :- | :- |

3031| `watchPaths` | Array path absolut. Menggantikan daftar watch dinamis saat ini. Path dari konfigurasi `matcher` Anda selalu dipantau. Mengembalikan array kosong menghapus daftar dinamis, yang khas saat memasuki direktori baru |3031| `watchPaths` | Array path absolut. Menggantikan daftar watch dinamis saat ini. Path dari konfigurasi `matcher` Anda selalu dipantau. Mengembalikan array kosong menghapus daftar dinamis, yang khas saat memasuki direktori baru |

3032 3032 

3033CwdChanged hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir perubahan direktori.3033CwdChanged hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir perubahan direktori.


3053Matcher memfilter pada cara direktori ditambahkan:3053Matcher memfilter pada cara direktori ditambahkan:

3054 3054 

3055| Matcher | Kapan dijalankan |3055| Matcher | Kapan dijalankan |

3056| :------------------- | :----------------------------------------------------------------------------- |3056| :- | :- |

3057| `slash_command` | Anda menambahkan direktori dengan `/add-dir` |3057| `slash_command` | Anda menambahkan direktori dengan `/add-dir` |

3058| `register_repo_root` | Klien SDK menambahkan direktori dengan permintaan kontrol `register_repo_root` |3058| `register_repo_root` | Klien SDK menambahkan direktori dengan permintaan kontrol `register_repo_root` |

3059 3059 


3064Selain [bidang input umum](#common-input-fields), DirectoryAdded hooks menerima `directory` dan `source`.3064Selain [bidang input umum](#common-input-fields), DirectoryAdded hooks menerima `directory` dan `source`.

3065 3065 

3066| Bidang | Deskripsi |3066| Bidang | Deskripsi |

3067| :---------- | :--------------------------------------------------------------------------------------------------------------------------- |3067| :- | :- |

3068| `directory` | Path absolut dari direktori yang ditambahkan |3068| `directory` | Path absolut dari direktori yang ditambahkan |

3069| `source` | Bagaimana direktori ditambahkan, `"slash_command"` untuk `/add-dir` atau `"register_repo_root"` untuk permintaan kontrol SDK |3069| `source` | Bagaimana direktori ditambahkan, `"slash_command"` untuk `/add-dir` atau `"register_repo_root"` untuk permintaan kontrol SDK |

3070 3070 


3138Selain [bidang input umum](#common-input-fields), FileChanged hooks menerima `file_path` dan `event`.3138Selain [bidang input umum](#common-input-fields), FileChanged hooks menerima `file_path` dan `event`.

3139 3139 

3140| Bidang | Deskripsi |3140| Bidang | Deskripsi |

3141| :---------- | :--------------------------------------------------------------------------------------------------------------------------------- |3141| :- | :- |

3142| `file_path` | Path absolut ke file yang berubah |3142| `file_path` | Path absolut ke file yang berubah |

3143| `event` | Apa yang terjadi: `"change"` untuk file yang dimodifikasi, `"add"` untuk file yang dibuat, atau `"unlink"` untuk file yang dihapus |3143| `event` | Apa yang terjadi: `"change"` untuk file yang dimodifikasi, `"add"` untuk file yang dibuat, atau `"unlink"` untuk file yang dihapus |

3144 3144 


3160Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, FileChanged hooks dapat mengembalikan `watchPaths` untuk secara dinamis memperbarui path file mana yang dipantau:3160Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, FileChanged hooks dapat mengembalikan `watchPaths` untuk secara dinamis memperbarui path file mana yang dipantau:

3161 3161 

3162| Bidang | Deskripsi |3162| Bidang | Deskripsi |

3163| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3163| :- | :- |

3164| `watchPaths` | Array path absolut. Menggantikan daftar watch dinamis saat ini. Path dari konfigurasi `matcher` Anda selalu dipantau. Gunakan ini ketika skrip hook Anda menemukan file tambahan untuk dipantau berdasarkan file yang berubah |3164| `watchPaths` | Array path absolut. Menggantikan daftar watch dinamis saat ini. Path dari konfigurasi `matcher` Anda selalu dipantau. Gunakan ini ketika skrip hook Anda menemukan file tambahan untuk dipantau berdasarkan file yang berubah |

3165 3165 

3166FileChanged hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir perubahan file dari terjadi.3166FileChanged hooks tidak memiliki kontrol keputusan. Mereka tidak dapat memblokir perubahan file dari terjadi.


3294Nilai matcher menunjukkan apakah compaction dipicu secara manual atau otomatis:3294Nilai matcher menunjukkan apakah compaction dipicu secara manual atau otomatis:

3295 3295 

3296| Matcher | Kapan dijalankan |3296| Matcher | Kapan dijalankan |

3297| :------- | :---------------------------------------------------------------------------------------------------------- |3297| :- | :- |

3298| `manual` | `/compact` |3298| `manual` | `/compact` |

3299| `auto` | Auto-compact ketika percakapan mencapai [auto-compact window](/docs/id/model-config#set-the-auto-compact-window) |3299| `auto` | Auto-compact ketika percakapan mencapai [auto-compact window](/docs/id/model-config#set-the-auto-compact-window) |

3300 3300 


3330Nilai matcher yang sama berlaku seperti untuk `PreCompact`:3330Nilai matcher yang sama berlaku seperti untuk `PreCompact`:

3331 3331 

3332| Matcher | Kapan dijalankan |3332| Matcher | Kapan dijalankan |

3333| :------- | :------------------------------------------------------------------------------------------------------------------ |3333| :- | :- |

3334| `manual` | Setelah `/compact` |3334| `manual` | Setelah `/compact` |

3335| `auto` | Setelah auto-compact ketika percakapan mencapai [auto-compact window](/docs/id/model-config#set-the-auto-compact-window) |3335| `auto` | Setelah auto-compact ketika percakapan mencapai [auto-compact window](/docs/id/model-config#set-the-auto-compact-window) |

3336 3336 


3448Selain [bidang input umum](#common-input-fields), PreModelSwitch hooks menerima bidang dalam tabel ini. Lima terakhir menjelaskan apa yang mengirim ulang percakapan ke model baru biaya, jadi hook dapat menampilkan angka itu sebelum switch terjadi.3448Selain [bidang input umum](#common-input-fields), PreModelSwitch hooks menerima bidang dalam tabel ini. Lima terakhir menjelaskan apa yang mengirim ulang percakapan ke model baru biaya, jadi hook dapat menampilkan angka itu sebelum switch terjadi.

3449 3449 

3450| Bidang | Tipe | Deskripsi |3450| Bidang | Tipe | Deskripsi |

3451| :-------------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |3451| :- | :- | :- |

3452| `from_model` | string | ID model yang switch ubah dari |3452| `from_model` | string | ID model yang switch ubah dari |

3453| `to_model` | string | ID model yang switch ubah ke. Matcher membandingkan terhadap nama kanonik model ini |3453| `to_model` | string | ID model yang switch ubah ke. Matcher membandingkan terhadap nama kanonik model ini |

3454| `requested_model` | string atau `null` | Model yang permintaan beri nama: alias seperti `opus`, ID model lengkap, atau `null` ketika permintaan adalah untuk model default |3454| `requested_model` | string atau `null` | Model yang permintaan beri nama: alias seperti `opus`, ID model lengkap, atau `null` ketika permintaan adalah untuk model default |


3488Untuk kontrol yang lebih halus, kembalikan `permissionDecision` dan `permissionDecisionReason` dalam objek `hookSpecificOutput`, seperti pada [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` menerima `"allow"`, `"deny"`, dan `"ask"`. Itu tidak menerima `"defer"`, `updatedInput`, atau `additionalContext`. Tabel di bawah menjelaskan kedua bidang:3488Untuk kontrol yang lebih halus, kembalikan `permissionDecision` dan `permissionDecisionReason` dalam objek `hookSpecificOutput`, seperti pada [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` menerima `"allow"`, `"deny"`, dan `"ask"`. Itu tidak menerima `"defer"`, `updatedInput`, atau `additionalContext`. Tabel di bawah menjelaskan kedua bidang:

3489 3489 

3490| Bidang | Deskripsi |3490| Bidang | Deskripsi |

3491| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |3491| :- | :- |

3492| `permissionDecision` | `"allow"` melanjutkan dan melewati [konfirmasi Claude Code menampilkan sementara prompt cache hangat](/docs/id/prompt-caching#switching-models). `"deny"` membatalkan switch. `"ask"` meminta pengguna untuk mengkonfirmasinya |3492| `permissionDecision` | `"allow"` melanjutkan dan melewati [konfirmasi Claude Code menampilkan sementara prompt cache hangat](/docs/id/prompt-caching#switching-models). `"deny"` membatalkan switch. `"ask"` meminta pengguna untuk mengkonfirmasinya |

3493| `permissionDecisionReason` | Untuk `"deny"`, ditampilkan ke pengguna sebagai alasan switch diblokir, atau dikembalikan sebagai kesalahan untuk permintaan `set_model`. Untuk `"ask"`, ditampilkan dalam prompt konfirmasi. Diabaikan untuk `"allow"` |3493| `permissionDecisionReason` | Untuk `"deny"`, ditampilkan ke pengguna sebagai alasan switch diblokir, atau dikembalikan sebagai kesalahan untuk permintaan `set_model`. Untuk `"ask"`, ditampilkan dalam prompt konfirmasi. Diabaikan untuk `"allow"` |

3494 3494 


3568Claude Code mengambil stdout [plain-text](#exit-code-0) hook Anda pada keluar 0, atau `additionalContext` dari output JSON, dan mengirimkannya ke Claude dengan permintaan setelah switch. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan:3568Claude Code mengambil stdout [plain-text](#exit-code-0) hook Anda pada keluar 0, atau `additionalContext` dari output JSON, dan mengirimkannya ke Claude dengan permintaan setelah switch. Selain [bidang output JSON](#json-output) yang tersedia untuk semua hooks, Anda dapat mengembalikan:

3569 3569 

3570| Bidang | Deskripsi |3570| Bidang | Deskripsi |

3571| :------------------ | :------------------------------------------------------------------------------------------------------------------------- |3571| :- | :- |

3572| `additionalContext` | String ditambahkan ke konteks Claude dengan permintaan berikutnya. Lihat [Add context for Claude](#add-context-for-claude) |3572| `additionalContext` | String ditambahkan ke konteks Claude dengan permintaan berikutnya. Lihat [Add context for Claude](#add-context-for-claude) |

3573 3573 

3574Jika hook belum selesai dalam lima detik setelah Anda mengirimkan permintaan berikutnya, Claude Code mengirimkan permintaan itu tanpa output dan melampirkannya ke permintaan berikutnya sebagai gantinya. Jika model berubah beberapa kali sebelum permintaan berikutnya, Claude Code mengirimkan hanya output untuk switch terakhir ke model target.3574Jika hook belum selesai dalam lima detik setelah Anda mengirimkan permintaan berikutnya, Claude Code mengirimkan permintaan itu tanpa output dan melampirkannya ke permintaan berikutnya sebagai gantinya. Jika model berubah beberapa kali sebelum permintaan berikutnya, Claude Code mengirimkan hanya output untuk switch terakhir ke model target.


3582Bidang `reason` dalam input hook menunjukkan mengapa sesi berakhir:3582Bidang `reason` dalam input hook menunjukkan mengapa sesi berakhir:

3583 3583 

3584| Alasan | Deskripsi |3584| Alasan | Deskripsi |

3585| :---------------------------- | :------------------------------------------------------------------------------------------------ |3585| :- | :- |

3586| `clear` | Sesi dihapus dengan perintah `/clear` |3586| `clear` | Sesi dihapus dengan perintah `/clear` |

3587| `resume` | Sesi beralih melalui `/resume` interaktif |3587| `resume` | Sesi beralih melalui `/resume` interaktif |

3588| `logout` | Pengguna logout |3588| `logout` | Pengguna logout |


3684```3684```

3685 3685 

3686| Bidang | Nilai | Deskripsi |3686| Bidang | Nilai | Deskripsi |

3687| :-------- | :---------------------------- | :------------------------------------------------------------------------------- |3687| :- | :- | :- |

3688| `action` | `accept`, `decline`, `cancel` | Apakah menerima, menolak, atau membatalkan permintaan |3688| `action` | `accept`, `decline`, `cancel` | Apakah menerima, menolak, atau membatalkan permintaan |

3689| `content` | object | Nilai field form untuk dikirimkan. Hanya digunakan saat `action` adalah `accept` |3689| `content` | object | Nilai field form untuk dikirimkan. Hanya digunakan saat `action` adalah `accept` |

3690 3690 


3737```3737```

3738 3738 

3739| Bidang | Nilai | Deskripsi |3739| Bidang | Nilai | Deskripsi |

3740| :-------- | :---------------------------- | :--------------------------------------------------------------------- |3740| :- | :- | :- |

3741| `action` | `accept`, `decline`, `cancel` | Menimpa tindakan pengguna |3741| `action` | `accept`, `decline`, `cancel` | Menimpa tindakan pengguna |

3742| `content` | object | Menimpa nilai field form. Hanya bermakna saat `action` adalah `accept` |3742| `content` | object | Menimpa nilai field form. Hanya bermakna saat `action` adalah `accept` |

3743 3743 


3827```3827```

3828 3828 

3829| Bidang | Diperlukan | Deskripsi |3829| Bidang | Diperlukan | Deskripsi |

3830| :---------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3830| :- | :- | :- |

3831| `type` | ya | Harus `"prompt"` |3831| `type` | ya | Harus `"prompt"` |

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

3833| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model cepat |3833| `model` | tidak | Model untuk digunakan untuk evaluasi. Default ke model cepat |


3849```3849```

3850 3850 

3851| Bidang | Deskripsi |3851| Bidang | Deskripsi |

3852| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3852| :- | :- |

3853| `ok` | `true` untuk mengizinkan. Untuk `false`, lihat perilaku per-event di bawah |3853| `ok` | `true` untuk mengizinkan. Untuk `false`, lihat perilaku per-event di bawah |

3854| `reason` | Diperlukan saat `ok` adalah `false` |3854| `reason` | Diperlukan saat `ok` adalah `false` |

3855| `impossible` | Opsional. Model mengembalikannya dengan `ok: false` ketika menilai kondisi tidak dapat pernah terpenuhi. Pada `Stop` dan `SubagentStop`, Claude Code kemudian membiarkan giliran berakhir alih-alih mengirimkan alasan kembali. Agent hooks dan events lainnya mengabaikannya |3855| `impossible` | Opsional. Model mengembalikannya dengan `ok: false` ketika menilai kondisi tidak dapat pernah terpenuhi. Pada `Stop` dan `SubagentStop`, Claude Code kemudian membiarkan giliran berakhir alih-alih mengirimkan alasan kembali. Agent hooks dan events lainnya mengabaikannya |

hooks-guide.md +5 −5

Details

188Matcher kosong `matcher` aktif pada semua jenis notifikasi. Untuk aktif hanya pada acara tertentu, atur ke salah satu nilai berikut:188Matcher kosong `matcher` aktif pada semua jenis notifikasi. Untuk aktif hanya pada acara tertentu, atur ke salah satu nilai berikut:

189 189 

190| Matcher | Aktif ketika |190| Matcher | Aktif ketika |

191| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |191| :- | :- |

192| `permission_prompt` | Claude memerlukan Anda untuk menyetujui penggunaan alat atau [permintaan jaringan](/docs/id/sandboxing#network-isolation) perintah sandboxed, dan prompt telah menunggu sekitar enam detik |192| `permission_prompt` | Claude memerlukan Anda untuk menyetujui penggunaan alat atau [permintaan jaringan](/docs/id/sandboxing#network-isolation) perintah sandboxed, dan prompt telah menunggu sekitar enam detik |

193| `idle_prompt` | Claude selesai merespons sekitar 60 detik yang lalu dan Anda belum mengetik sejak saat itu |193| `idle_prompt` | Claude selesai merespons sekitar 60 detik yang lalu dan Anda belum mengetik sejak saat itu |

194| `auth_success` | Autentikasi selesai |194| `auth_success` | Autentikasi selesai |


500Claude Code menjalankan acara hook pada titik-titik spesifik dalam siklus hidupnya. Ketika acara aktif, Claude Code menjalankan semua hook yang cocok secara paralel; lihat [Hook handler fields](/docs/id/hooks#hook-handler-fields) untuk cara handler duplikat ditangani. Tabel di bawah menunjukkan setiap acara dan kapan dipicu:500Claude Code menjalankan acara hook pada titik-titik spesifik dalam siklus hidupnya. Ketika acara aktif, Claude Code menjalankan semua hook yang cocok secara paralel; lihat [Hook handler fields](/docs/id/hooks#hook-handler-fields) untuk cara handler duplikat ditangani. Tabel di bawah menunjukkan setiap acara dan kapan dipicu:

501 501 

502| Event | Kapan event ini dipicu |502| Event | Kapan event ini dipicu |

503| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |503| :- | :- |

504| `SessionStart` | Ketika sesi dimulai atau dilanjutkan |504| `SessionStart` | Ketika sesi dimulai atau dilanjutkan |

505| `Setup` | Ketika Anda memulai Claude Code dengan `--init-only`, atau dengan `--init` atau `--maintenance` dalam mode `-p`. Untuk persiapan satu kali dalam CI atau skrip |505| `Setup` | Ketika Anda memulai Claude Code dengan `--init-only`, atau dengan `--init` atau `--maintenance` dalam mode `-p`. Untuk persiapan satu kali dalam CI atau skrip |

506| `UserPromptSubmit` | Ketika Anda mengirimkan prompt, sebelum Claude memprosesnya |506| `UserPromptSubmit` | Ketika Anda mengirimkan prompt, sebelum Claude memprosesnya |


719Setiap jenis acara cocok pada bidang spesifik:719Setiap jenis acara cocok pada bidang spesifik:

720 720 

721| Acara | Apa yang difilter matcher | Contoh nilai matcher |721| Acara | Apa yang difilter matcher | Contoh nilai matcher |

722| :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |722| :- | :- | :- |

723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nama alat | `Bash`, `Edit\|Write`, `mcp__.*` |723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nama alat | `Bash`, `Edit\|Write`, `mcp__.*` |

724| `SessionStart` | cara sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |724| `SessionStart` | cara sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |

725| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |725| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |


841Apakah proses hook Anda berjalan tergantung pada bentuk pola `if` Anda dan perintah Bash yang Claude panggil:841Apakah proses hook Anda berjalan tergantung pada bentuk pola `if` Anda dan perintah Bash yang Claude panggil:

842 842 

843| Pola `if` | Perintah Bash | Hook berjalan? | Mengapa |843| Pola `if` | Perintah Bash | Hook berjalan? | Mengapa |

844| :----------------- | :--------------------- | :------------- | :------------------------------------------------------------------------------------------------------------- |844| :- | :- | :- | :- |

845| `Bash(git *)` | `git push` | ya | nama perintah cocok |845| `Bash(git *)` | `git push` | ya | nama perintah cocok |

846| `Bash(git *)` | `npm test && git push` | ya | setiap subperintah diperiksa; `git push` cocok |846| `Bash(git *)` | `npm test && git push` | ya | setiap subperintah diperiksa; `git push` cocok |

847| `Bash(git *)` | `echo $(git log)` | ya | perintah di dalam `$()` dan backticks diperiksa; `git log` cocok |847| `Bash(git *)` | `echo $(git log)` | ya | perintah di dalam `$()` dan backticks diperiksa; `git log` cocok |


861Di mana Anda menambahkan hook menentukan cakupannya:861Di mana Anda menambahkan hook menentukan cakupannya:

862 862 

863| Lokasi | Cakupan | Dapat Dibagikan |863| Lokasi | Cakupan | Dapat Dibagikan |

864| :------------------------------------------------ | :---------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |864| :- | :- | :- |

865| `~/.claude/settings.json` | Semua proyek Anda | Tidak, lokal ke mesin Anda |865| `~/.claude/settings.json` | Semua proyek Anda | Tidak, lokal ke mesin Anda |

866| `.claude/settings.json` | Proyek tunggal | Ya, dapat dikomit ke repo |866| `.claude/settings.json` | Proyek tunggal | Ya, dapat dikomit ke repo |

867| `.claude/settings.local.json` | Proyek tunggal | Tidak, gitignored ketika Claude Code menyimpan pengaturan ke dalamnya |867| `.claude/settings.local.json` | Proyek tunggal | Tidak, gitignored ketika Claude Code menyimpan pengaturan ke dalamnya |

Details

45Tools bawaan umumnya terbagi menjadi lima kategori, masing-masing mewakili jenis agency yang berbeda.45Tools bawaan umumnya terbagi menjadi lima kategori, masing-masing mewakili jenis agency yang berbeda.

46 46 

47| Kategori | Apa yang dapat dilakukan Claude |47| Kategori | Apa yang dapat dilakukan Claude |

48| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |48| - | - |

49| **File operations** | Membaca file, mengedit kode, membuat file baru, mengganti nama dan mengorganisir ulang |49| **File operations** | Membaca file, mengedit kode, membuat file baru, mengganti nama dan mengorganisir ulang |

50| **Search** | Menemukan file berdasarkan pola, mencari konten dengan regex, menjelajahi codebase |50| **Search** | Menemukan file berdasarkan pola, mencari konten dengan regex, menjelajahi codebase |

51| **Execution** | Menjalankan perintah shell, memulai server, menjalankan test, menggunakan git |51| **Execution** | Menjalankan perintah shell, memulai server, menjalankan test, menggunakan git |


95Claude Code berjalan di tiga lingkungan, masing-masing dengan trade-off berbeda untuk di mana kode Anda dieksekusi.95Claude Code berjalan di tiga lingkungan, masing-masing dengan trade-off berbeda untuk di mana kode Anda dieksekusi.

96 96 

97| Lingkungan | Di mana kode berjalan | Use case |97| Lingkungan | Di mana kode berjalan | Use case |

98| ------------------ | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |98| - | - | - |

99| **Local** | Mesin Anda | Default. Akses penuh ke file, tools, dan lingkungan Anda |99| **Local** | Mesin Anda | Default. Akses penuh ke file, tools, dan lingkungan Anda |

100| **Cloud** | VM yang dikelola Anthropic, atau [lingkungan self-hosted](/docs/id/self-hosted-environments) yang dioperasikan organisasi Anda | Mendelegasikan tugas, bekerja pada repo yang tidak Anda miliki secara lokal |100| **Cloud** | VM yang dikelola Anthropic, atau [lingkungan self-hosted](/docs/id/self-hosted-environments) yang dioperasikan organisasi Anda | Mendelegasikan tugas, bekerja pada repo yang tidak Anda miliki secara lokal |

101| **Remote Control** | Mesin Anda, dikontrol dari browser | Gunakan web UI sambil eksekusi dan file Anda tetap lokal |101| **Remote Control** | Mesin Anda, dikontrol dari browser | Gunakan web UI sambil eksekusi dan file Anda tetap lokal |

Details

21</h3>21</h3>

22 22 

23| Pintasan | Deskripsi | Konteks |23| Pintasan | Deskripsi | Konteks |

24| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- |

25| `Ctrl+C` | Interupsi, atau hapus input | Menghentikan operasi yang sedang berjalan. Jika tidak ada yang berjalan, tekan pertama menghapus input prompt dan tekan kedua keluar dari Claude Code |25| `Ctrl+C` | Interupsi, atau hapus input | Menghentikan operasi yang sedang berjalan. Jika tidak ada yang berjalan, tekan pertama menghapus input prompt dan tekan kedua keluar dari Claude Code |

26| `Ctrl+X Ctrl+K` | Hentikan semua [subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi ini, dan matikan [balasan otomatis artefak](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) untuk sisanya. Tekan dua kali dalam 3 detik untuk mengonfirmasi | Kontrol subagen |26| `Ctrl+X Ctrl+K` | Hentikan semua [subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi ini, dan matikan [balasan otomatis artefak](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) untuk sisanya. Tekan dua kali dalam 3 detik untuk mengonfirmasi | Kontrol subagen |

27| `Ctrl+D` | Keluar dari sesi Claude Code | Tekan pertama menampilkan petunjuk konfirmasi dan tekan kedua dalam 800ms keluar. Ketika prompt memiliki teks, `Ctrl+D` menghapus karakter setelah kursor |27| `Ctrl+D` | Keluar dari sesi Claude Code | Tekan pertama menampilkan petunjuk konfirmasi dan tekan kedua dalam 800ms keluar. Ketika prompt memiliki teks, `Ctrl+D` menghapus karakter setelah kursor |


50</h3>50</h3>

51 51 

52| Pintasan | Deskripsi | Konteks |52| Pintasan | Deskripsi | Konteks |

53| :--------------------------- | :--------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :- | :- | :- |

54| `Ctrl+A` | Pindahkan kursor ke awal baris saat ini | Dalam input multiline, pindah ke awal baris logis saat ini |54| `Ctrl+A` | Pindahkan kursor ke awal baris saat ini | Dalam input multiline, pindah ke awal baris logis saat ini |

55| `Ctrl+E` | Pindahkan kursor ke akhir baris saat ini | Dalam input multiline, pindah ke akhir baris logis saat ini |55| `Ctrl+E` | Pindahkan kursor ke akhir baris saat ini | Dalam input multiline, pindah ke akhir baris logis saat ini |

56| `Ctrl+K` | Hapus hingga akhir baris | Menyimpan teks yang dihapus untuk ditempel |56| `Ctrl+K` | Hapus hingga akhir baris | Menyimpan teks yang dihapus untuk ditempel |


82</h3>82</h3>

83 83 

84| Pintasan | Deskripsi | Konteks |84| Pintasan | Deskripsi | Konteks |

85| :------- | :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |85| :- | :- | :- |

86| `Ctrl+T` | Alihkan penyorotan sintaks untuk blok kode | Hanya bekerja di dalam menu pemilih `/theme`. Mengontrol apakah kode dalam respons Claude menggunakan pewarnaan sintaks |86| `Ctrl+T` | Alihkan penyorotan sintaks untuk blok kode | Hanya bekerja di dalam menu pemilih `/theme`. Mengontrol apakah kode dalam respons Claude menggunakan pewarnaan sintaks |

87 87 

88<h3 id="multiline-input">88<h3 id="multiline-input">


90</h3>90</h3>

91 91 

92| Metode | Pintasan | Konteks |92| Metode | Pintasan | Konteks |

93| :------------- | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :- | :- | :- |

94| Escape cepat | `\` + `Enter` | Bekerja di semua terminal |94| Escape cepat | `\` + `Enter` | Bekerja di semua terminal |

95| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option sebagai Meta](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) di macOS |95| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option sebagai Meta](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) di macOS |

96| Shift+Enter | `Shift+Enter` | Asli di iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Untuk terminal lain, lihat [Masukkan prompt multiline](/docs/id/terminal-config#enter-multiline-prompts) |96| Shift+Enter | `Shift+Enter` | Asli di iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Untuk terminal lain, lihat [Masukkan prompt multiline](/docs/id/terminal-config#enter-multiline-prompts) |


102</h3>102</h3>

103 103 

104| Pintasan | Deskripsi | Catatan |104| Pintasan | Deskripsi | Catatan |

105| :-------------------- | :----------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |105| :- | :- | :- |

106| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/docs/id/skills) |106| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/docs/id/skills) |

107| `!` di awal | Mode shell | Jalankan perintah secara langsung, tambahkan outputnya ke sesi, dan biarkan Claude meresponsnya |107| `!` di awal | Mode shell | Jalankan perintah secara langsung, tambahkan outputnya ke sesi, dan biarkan Claude meresponsnya |

108| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file. Dalam sesi dengan [cross-session messaging](/docs/id/cross-session-messaging#message-another-session), ketika Anda mengetik setidaknya satu huruf setelah `@`, Claude Code juga menyarankan sesi live lain Anda di mesin ini, sehingga Anda dapat memberi tahu Claude untuk mengirim pesan ke yang Anda pilih. Memerlukan Claude Code v2.1.232 atau yang lebih baru |108| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file. Dalam sesi dengan [cross-session messaging](/docs/id/cross-session-messaging#message-another-session), ketika Anda mengetik setidaknya satu huruf setelah `@`, Claude Code juga menyarankan sesi live lain Anda di mesin ini, sehingga Anda dapat memberi tahu Claude untuk mengirim pesan ke yang Anda pilih. Memerlukan Claude Code v2.1.232 atau yang lebih baru |


116Ketika penampil transkrip terbuka (dialihkan dengan `Ctrl+O`), pintasan ini tersedia. Jalankan `/tui` tanpa argumen untuk memeriksa renderer mana yang aktif. `Ctrl+E` dapat dipetakan ulang melalui [`transcript:toggleShowAll`](/docs/id/keybindings).116Ketika penampil transkrip terbuka (dialihkan dengan `Ctrl+O`), pintasan ini tersedia. Jalankan `/tui` tanpa argumen untuk memeriksa renderer mana yang aktif. `Ctrl+E` dapat dipetakan ulang melalui [`transcript:toggleShowAll`](/docs/id/keybindings).

117 117 

118| Pintasan | Deskripsi |118| Pintasan | Deskripsi |

119| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |119| :- | :- |

120| `?` | Alihkan panel bantuan pintasan keyboard. Memerlukan [rendering layar penuh](/docs/id/fullscreen) |120| `?` | Alihkan panel bantuan pintasan keyboard. Memerlukan [rendering layar penuh](/docs/id/fullscreen) |

121| `{` / `}` | Lompat ke prompt pengguna sebelumnya atau berikutnya, seperti gerakan paragraf vim. Memerlukan [rendering layar penuh](/docs/id/fullscreen) |121| `{` / `}` | Lompat ke prompt pengguna sebelumnya atau berikutnya, seperti gerakan paragraf vim. Memerlukan [rendering layar penuh](/docs/id/fullscreen) |

122| `Ctrl+E` | Alihkan tampilkan semua konten. Tersedia di renderer klasik saja, bukan di [rendering layar penuh](/docs/id/fullscreen) |122| `Ctrl+E` | Alihkan tampilkan semua konten. Tersedia di renderer klasik saja, bukan di [rendering layar penuh](/docs/id/fullscreen) |


129</h3>129</h3>

130 130 

131| Pintasan | Deskripsi | Catatan |131| Pintasan | Deskripsi | Catatan |

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

133| Tahan atau ketuk `Space` | Diksi suara | Memerlukan [diksi suara](/docs/id/voice-dictation) diaktifkan. Tahan untuk merekam, atau jalankan `/voice tap` untuk tap-to-toggle. [Dapat dipetakan ulang](/docs/id/voice-dictation#rebind-the-dictation-key) |133| Tahan atau ketuk `Space` | Diksi suara | Memerlukan [diksi suara](/docs/id/voice-dictation) diaktifkan. Tahan untuk merekam, atau jalankan `/voice tap` untuk tap-to-toggle. [Dapat dipetakan ulang](/docs/id/voice-dictation#rebind-the-dictation-key) |

134 134 

135<h2 id="commands">135<h2 id="commands">


168</h3>168</h3>

169 169 

170| Perintah | Tindakan | Dari mode |170| Perintah | Tindakan | Dari mode |

171| :------------------ | :-------------------------------------------------------------------------------------------------------------------- | :------------- |171| :- | :- | :- |

172| `Esc` atau `Ctrl+[` | Masuk mode NORMAL. Di terminal yang menggunakan protokol keyboard Kitty, `Ctrl+[` memerlukan v2.1.242 atau lebih baru | INSERT, VISUAL |172| `Esc` atau `Ctrl+[` | Masuk mode NORMAL. Di terminal yang menggunakan protokol keyboard Kitty, `Ctrl+[` memerlukan v2.1.242 atau lebih baru | INSERT, VISUAL |

173| `i` | Sisipkan sebelum kursor | NORMAL |173| `i` | Sisipkan sebelum kursor | NORMAL |

174| `I` | Sisipkan di awal baris | NORMAL |174| `I` | Sisipkan di awal baris | NORMAL |


205</h3>205</h3>

206 206 

207| Perintah | Tindakan |207| Perintah | Tindakan |

208| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |208| :- | :- |

209| `h`/`j`/`k`/`l` | Pindah kiri/bawah/atas/kanan |209| `h`/`j`/`k`/`l` | Pindah kiri/bawah/atas/kanan |

210| `Space` | Pindah kanan |210| `Space` | Pindah kanan |

211| `w` | Kata berikutnya |211| `w` | Kata berikutnya |


233</h3>233</h3>

234 234 

235| Perintah | Tindakan |235| Perintah | Tindakan |

236| :-------------------- | :-------------------------------------------------------------------------------------------------------------------- |236| :- | :- |

237| `x` | Hapus karakter |237| `x` | Hapus karakter |

238| `dd` | Hapus baris |238| `dd` | Hapus baris |

239| `D` | Hapus hingga akhir baris |239| `D` | Hapus hingga akhir baris |


261Objek teks bekerja dengan operator seperti `d`, `c`, dan `y`:261Objek teks bekerja dengan operator seperti `d`, `c`, dan `y`:

262 262 

263| Perintah | Tindakan |263| Perintah | Tindakan |

264| :-------- | :---------------------------------------- |264| :- | :- |

265| `iw`/`aw` | Kata dalam/sekitar |265| `iw`/`aw` | Kata dalam/sekitar |

266| `iW`/`aW` | KATA dalam/sekitar (dibatasi spasi putih) |266| `iW`/`aW` | KATA dalam/sekitar (dibatasi spasi putih) |

267| `i"`/`a"` | Dalam/sekitar tanda kutip ganda |267| `i"`/`a"` | Dalam/sekitar tanda kutip ganda |


277Tekan `v` untuk pemilihan berdasarkan karakter atau `V` untuk pemilihan berdasarkan baris. Gerakan memperluas pemilihan, dan operator bertindak langsung padanya.277Tekan `v` untuk pemilihan berdasarkan karakter atau `V` untuk pemilihan berdasarkan baris. Gerakan memperluas pemilihan, dan operator bertindak langsung padanya.

278 278 

279| Perintah | Tindakan |279| Perintah | Tindakan |

280| :--------------- | :--------------------------------------------------------------------- |280| :- | :- |

281| `d`/`x` | Hapus pemilihan |281| `d`/`x` | Hapus pemilihan |

282| `y` | Yank pemilihan |282| `y` | Yank pemilihan |

283| `c`/`s` | Ubah pemilihan |283| `c`/`s` | Ubah pemilihan |


686Setelah jawaban muncul, overlay menerima kunci-kunci ini.686Setelah jawaban muncul, overlay menerima kunci-kunci ini.

687 687 

688| Kunci | Tindakan |688| Kunci | Tindakan |

689| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |689| :- | :- |

690| `Space`, `Enter`, `Escape` | Tutup jawaban dan kembali ke prompt |690| `Space`, `Enter`, `Escape` | Tutup jawaban dan kembali ke prompt |

691| `Up` / `Down` | Gulir jawaban |691| `Up` / `Down` | Gulir jawaban |

692| `Shift+Left` / `Shift+Right` | Langkah antara jawaban ini dan jawaban `/btw` sebelumnya Anda. `Shift+Left` bergerak ke jawaban yang lebih lama dan `Shift+Right` kembali ke yang saat ini. `[` dan `]` melakukan hal yang sama, untuk terminal yang tidak melaporkan `Shift` dengan tombol panah. `Tab` / `Shift+Tab` bersiklus melalui jawaban yang sama. Memerlukan Claude Code v2.1.257 atau lebih baru. Antara v2.1.187 dan v2.1.256, kuncinya adalah `Left` / `Right` biasa |692| `Shift+Left` / `Shift+Right` | Langkah antara jawaban ini dan jawaban `/btw` sebelumnya Anda. `Shift+Left` bergerak ke jawaban yang lebih lama dan `Shift+Right` kembali ke yang saat ini. `[` dan `]` melakukan hal yang sama, untuk terminal yang tidak melaporkan `Shift` dengan tombol panah. `Tab` / `Shift+Tab` bersiklus melalui jawaban yang sama. Memerlukan Claude Code v2.1.257 atau lebih baru. Antara v2.1.187 dan v2.1.256, kuncinya adalah `Left` / `Right` biasa |


848Claude Code membangun tautan untuk host repositori yang diidentifikasinya dari git remote Anda, bukan untuk repositori yang dirujuk oleh referensi:848Claude Code membangun tautan untuk host repositori yang diidentifikasinya dari git remote Anda, bukan untuk repositori yang dirujuk oleh referensi:

849 849 

850| Host repositori Anda | Tempat `owner/repo#123` menautkan |850| Host repositori Anda | Tempat `owner/repo#123` menautkan |

851| :---------------------------------------------------------------------------------- | :--------------------------------------------------- |851| :- | :- |

852| github.com, host GitHub Enterprise, atau host apa pun yang tidak tercantum di bawah | `https://<host>/owner/repo/issues/123` |852| github.com, host GitHub Enterprise, atau host apa pun yang tidak tercantum di bawah | `https://<host>/owner/repo/issues/123` |

853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |

854| bitbucket.org, codeberg.org, atau gitea.com | Tidak ada tautan; referensi tetap menjadi teks biasa |854| bitbucket.org, codeberg.org, atau gitea.com | Tidak ada tautan; referensi tetap menjadi teks biasa |

jetbrains.md +1 −1

Details

256**Alat yang diekspos ke model.** Server menampilkan beberapa alat, tetapi hanya satu yang terlihat oleh model. Sisanya adalah RPC internal yang CLI gunakan untuk UI-nya sendiri, seperti membuka diff dan membaca pilihan, dan disaring keluar sebelum daftar alat mencapai Claude.256**Alat yang diekspos ke model.** Server menampilkan beberapa alat, tetapi hanya satu yang terlihat oleh model. Sisanya adalah RPC internal yang CLI gunakan untuk UI-nya sendiri, seperti membuka diff dan membaca pilihan, dan disaring keluar sebelum daftar alat mencapai Claude.

257 257 

258| Nama alat (seperti yang terlihat oleh hooks) | Apa yang dilakukannya | Hanya-baca |258| Nama alat (seperti yang terlihat oleh hooks) | Apa yang dilakukannya | Hanya-baca |

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

260| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik inspeksi IDE, kesalahan dan peringatan yang ditampilkan di editor. Setiap panggilan mencakup satu file: file yang Claude tentukan, atau file di editor aktif Anda jika Claude tidak menentukan satu. | Ya |260| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik inspeksi IDE, kesalahan dan peringatan yang ditampilkan di editor. Setiap panggilan mencakup satu file: file yang Claude tentukan, atau file di editor aktif Anda jika Claude tidak menentukan satu. | Ya |

261 261 

262Plugin JetBrains tidak mengekspos alat eksekusi kode ke model.262Plugin JetBrains tidak mengekspos alat eksekusi kode ke model.

keybindings.md +30 −30

Details

17<Note>Perubahan pada file pintasan keyboard secara otomatis terdeteksi dan diterapkan tanpa perlu memulai ulang Claude Code.</Note>17<Note>Perubahan pada file pintasan keyboard secara otomatis terdeteksi dan diterapkan tanpa perlu memulai ulang Claude Code.</Note>

18 18 

19| Field | Deskripsi |19| Field | Deskripsi |

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

21| `$schema` | URL JSON Schema opsional untuk penyelesaian otomatis editor |21| `$schema` | URL JSON Schema opsional untuk penyelesaian otomatis editor |

22| `$docs` | URL dokumentasi opsional |22| `$docs` | URL dokumentasi opsional |

23| `bindings` | Array blok binding berdasarkan konteks |23| `bindings` | Array blok binding berdasarkan konteks |


47Setiap blok binding menentukan **konteks** di mana binding berlaku:47Setiap blok binding menentukan **konteks** di mana binding berlaku:

48 48 

49| Konteks | Deskripsi |49| Konteks | Deskripsi |

50| :---------------- | :-------------------------------------------------------------- |50| :- | :- |

51| `Global` | Berlaku di mana saja dalam aplikasi |51| `Global` | Berlaku di mana saja dalam aplikasi |

52| `Chat` | Area input chat utama |52| `Chat` | Area input chat utama |

53| `Autocomplete` | Menu penyelesaian otomatis terbuka |53| `Autocomplete` | Menu penyelesaian otomatis terbuka |


86Tindakan yang tersedia dalam konteks `Global`:86Tindakan yang tersedia dalam konteks `Global`:

87 87 

88| Tindakan | Default | Deskripsi |88| Tindakan | Default | Deskripsi |

89| :--------------------- | :-------- | :--------------------------------------------------------------------------------------------------- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | Batalkan operasi saat ini |90| `app:interrupt` | Ctrl+C | Batalkan operasi saat ini |

91| `app:exit` | Ctrl+D | Keluar dari Claude Code. Tekan dua kali dalam 800ms untuk mengonfirmasi |91| `app:exit` | Ctrl+D | Keluar dari Claude Code. Tekan dua kali dalam 800ms untuk mengonfirmasi |

92| `app:redraw` | (unbound) | Paksa redraw terminal |92| `app:redraw` | (unbound) | Paksa redraw terminal |


100Tindakan untuk menavigasi riwayat perintah:100Tindakan untuk menavigasi riwayat perintah:

101 101 

102| Tindakan | Default | Deskripsi |102| Tindakan | Default | Deskripsi |

103| :----------------- | :------ | :---------------------- |103| :- | :- | :- |

104| `history:search` | Ctrl+R | Buka pencarian riwayat |104| `history:search` | Ctrl+R | Buka pencarian riwayat |

105| `history:previous` | Up | Item riwayat sebelumnya |105| `history:previous` | Up | Item riwayat sebelumnya |

106| `history:next` | Down | Item riwayat berikutnya |106| `history:next` | Down | Item riwayat berikutnya |


112Tindakan yang tersedia dalam konteks `Chat`:112Tindakan yang tersedia dalam konteks `Chat`:

113 113 

114| Tindakan | Default | Deskripsi |114| Tindakan | Default | Deskripsi |

115| :-------------------- | :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |115| :- | :- | :- |

116| `chat:cancel` | Escape | Batalkan input saat ini |116| `chat:cancel` | Escape | Batalkan input saat ini |

117| `chat:clearInput` | Ctrl+L | Paksa redraw layar penuh, mempertahankan input dan percakapan |117| `chat:clearInput` | Ctrl+L | Paksa redraw layar penuh, mempertahankan input dan percakapan |

118| `chat:clearScreen` | Cmd+K | Sama dengan `chat:clearInput`. Lihat [Bersihkan percakapan](/docs/id/fullscreen#clear-the-conversation) untuk cara Cmd+K berperilaku di iTerm2 dan Terminal.app |118| `chat:clearScreen` | Cmd+K | Sama dengan `chat:clearInput`. Lihat [Bersihkan percakapan](/docs/id/fullscreen#clear-the-conversation) untuk cara Cmd+K berperilaku di iTerm2 dan Terminal.app |


139Tindakan yang tersedia dalam konteks `Autocomplete`:139Tindakan yang tersedia dalam konteks `Autocomplete`:

140 140 

141| Tindakan | Default | Deskripsi |141| Tindakan | Default | Deskripsi |

142| :---------------------- | :------ | :--------------- |142| :- | :- | :- |

143| `autocomplete:accept` | Tab | Terima saran |143| `autocomplete:accept` | Tab | Terima saran |

144| `autocomplete:dismiss` | Escape | Tutup menu |144| `autocomplete:dismiss` | Escape | Tutup menu |

145| `autocomplete:previous` | Up | Saran sebelumnya |145| `autocomplete:previous` | Up | Saran sebelumnya |


152Tindakan yang tersedia dalam konteks `Confirmation`:152Tindakan yang tersedia dalam konteks `Confirmation`:

153 153 

154| Tindakan | Default | Deskripsi |154| Tindakan | Default | Deskripsi |

155| :---------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |155| :- | :- | :- |

156| `confirm:yes` | Enter | Konfirmasi tindakan |156| `confirm:yes` | Enter | Konfirmasi tindakan |

157| `confirm:no` | Escape | Tolak tindakan |157| `confirm:no` | Escape | Tolak tindakan |

158| `confirm:previous` | Up | Opsi sebelumnya |158| `confirm:previous` | Up | Opsi sebelumnya |


195Tindakan yang tersedia dalam konteks `Confirmation` untuk dialog izin:195Tindakan yang tersedia dalam konteks `Confirmation` untuk dialog izin:

196 196 

197| Tindakan | Default | Deskripsi |197| Tindakan | Default | Deskripsi |

198| :----------------------- | :-------- | :-------------------------------------------------------------------------------------------------------- |198| :- | :- | :- |

199| `permission:toggleDebug` | (unbound) | Alihkan info debug izin. Default sebelumnya dari Ctrl+D dihapus di v2.1.146 karena mengaburkan `app:exit` |199| `permission:toggleDebug` | (unbound) | Alihkan info debug izin. Default sebelumnya dari Ctrl+D dihapus di v2.1.146 karena mengaburkan `app:exit` |

200 200 

201<h3 id="transcript-actions">201<h3 id="transcript-actions">


205Tindakan yang tersedia dalam konteks `Transcript`:205Tindakan yang tersedia dalam konteks `Transcript`:

206 206 

207| Tindakan | Default | Deskripsi |207| Tindakan | Default | Deskripsi |

208| :------------------------- | :---------------- | :------------------------------ |208| :- | :- | :- |

209| `transcript:toggleShowAll` | Ctrl+E | Alihkan tampilkan semua konten |209| `transcript:toggleShowAll` | Ctrl+E | Alihkan tampilkan semua konten |

210| `transcript:exit` | q, Ctrl+C, Escape | Keluar dari tampilan transcript |210| `transcript:exit` | q, Ctrl+C, Escape | Keluar dari tampilan transcript |

211 211 


218Tindakan yang tersedia dalam konteks `HistorySearch`:218Tindakan yang tersedia dalam konteks `HistorySearch`:

219 219 

220| Tindakan | Default | Deskripsi |220| Tindakan | Default | Deskripsi |

221| :------------------------- | :---------- | :----------------------------------------- |221| :- | :- | :- |

222| `historySearch:next` | Ctrl+R | Kecocokan berikutnya |222| `historySearch:next` | Ctrl+R | Kecocokan berikutnya |

223| `historySearch:accept` | Escape, Tab | Terima pilihan |223| `historySearch:accept` | Escape, Tab | Terima pilihan |

224| `historySearch:cancel` | Ctrl+C | Batalkan pencarian |224| `historySearch:cancel` | Ctrl+C | Batalkan pencarian |


234Tindakan yang tersedia dalam konteks `Task`:234Tindakan yang tersedia dalam konteks `Task`:

235 235 

236| Tindakan | Default | Deskripsi |236| Tindakan | Default | Deskripsi |

237| :---------------- | :-------------------- | :--------------------------------------------------------------------------------- |237| :- | :- | :- |

238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Tugas latar belakang saat ini. Chord Ctrl+X Ctrl+B menghindari konflik awalan tmux |238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Tugas latar belakang saat ini. Chord Ctrl+X Ctrl+B menghindari konflik awalan tmux |

239 239 

240<h3 id="theme-actions">240<h3 id="theme-actions">


244Tindakan yang tersedia dalam konteks `ThemePicker`:244Tindakan yang tersedia dalam konteks `ThemePicker`:

245 245 

246| Tindakan | Default | Deskripsi |246| Tindakan | Default | Deskripsi |

247| :------------------------------- | :------ | :------------------------- |247| :- | :- | :- |

248| `theme:toggleSyntaxHighlighting` | Ctrl+T | Alihkan penyorotan sintaks |248| `theme:toggleSyntaxHighlighting` | Ctrl+T | Alihkan penyorotan sintaks |

249 249 

250<h3 id="help-actions">250<h3 id="help-actions">


254Tindakan yang tersedia dalam konteks `Help`:254Tindakan yang tersedia dalam konteks `Help`:

255 255 

256| Tindakan | Default | Deskripsi |256| Tindakan | Default | Deskripsi |

257| :------------- | :------ | :----------------- |257| :- | :- | :- |

258| `help:dismiss` | Escape | Tutup menu bantuan |258| `help:dismiss` | Escape | Tutup menu bantuan |

259 259 

260<h3 id="tabs-actions">260<h3 id="tabs-actions">


264Tindakan yang tersedia dalam konteks `Tabs`:264Tindakan yang tersedia dalam konteks `Tabs`:

265 265 

266| Tindakan | Default | Deskripsi |266| Tindakan | Default | Deskripsi |

267| :-------------- | :-------------- | :------------- |267| :- | :- | :- |

268| `tabs:next` | Tab, Right | Tab berikutnya |268| `tabs:next` | Tab, Right | Tab berikutnya |

269| `tabs:previous` | Shift+Tab, Left | Tab sebelumnya |269| `tabs:previous` | Shift+Tab, Left | Tab sebelumnya |

270 270 


275Tindakan yang tersedia dalam konteks `Attachments`:275Tindakan yang tersedia dalam konteks `Attachments`:

276 276 

277| Tindakan | Default | Deskripsi |277| Tindakan | Default | Deskripsi |

278| :--------------------- | :---------------- | :---------------------------- |278| :- | :- | :- |

279| `attachments:next` | Right | Lampiran berikutnya |279| `attachments:next` | Right | Lampiran berikutnya |

280| `attachments:previous` | Left | Lampiran sebelumnya |280| `attachments:previous` | Left | Lampiran sebelumnya |

281| `attachments:remove` | Backspace, Delete | Hapus lampiran yang dipilih |281| `attachments:remove` | Backspace, Delete | Hapus lampiran yang dipilih |


288Tindakan yang tersedia dalam konteks `Footer`:288Tindakan yang tersedia dalam konteks `Footer`:

289 289 

290| Tindakan | Default | Deskripsi |290| Tindakan | Default | Deskripsi |

291| :---------------------- | :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |291| :- | :- | :- |

292| `footer:next` | Right | Item footer berikutnya |292| `footer:next` | Right | Item footer berikutnya |

293| `footer:previous` | Left | Item footer sebelumnya |293| `footer:previous` | Left | Item footer sebelumnya |

294| `footer:up` | Up | Navigasi ke atas di footer (batalkan pilihan di atas) |294| `footer:up` | Up | Navigasi ke atas di footer (batalkan pilihan di atas) |


308Tindakan yang tersedia dalam konteks `MessageSelector`:308Tindakan yang tersedia dalam konteks `MessageSelector`:

309 309 

310| Tindakan | Default | Deskripsi |310| Tindakan | Default | Deskripsi |

311| :----------------------- | :---------------------------------------- | :--------------------------- |311| :- | :- | :- |

312| `messageSelector:up` | Up, K, Ctrl+P | Pindah ke atas dalam daftar |312| `messageSelector:up` | Up, K, Ctrl+P | Pindah ke atas dalam daftar |

313| `messageSelector:down` | Down, J, Ctrl+N | Pindah ke bawah dalam daftar |313| `messageSelector:down` | Down, J, Ctrl+N | Pindah ke bawah dalam daftar |

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Lompat ke atas |314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Lompat ke atas |


322Tindakan yang tersedia dalam konteks `DiffDialog`:322Tindakan yang tersedia dalam konteks `DiffDialog`:

323 323 

324| Tindakan | Default | Deskripsi |324| Tindakan | Default | Deskripsi |

325| :-------------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |325| :- | :- | :- |

326| `diff:dismiss` | Escape | Tutup penampil diff; dari tampilan detail, kembali ke daftar file sebagai gantinya |326| `diff:dismiss` | Escape | Tutup penampil diff; dari tampilan detail, kembali ke daftar file sebagai gantinya |

327| `diff:previousSource` | Left | Sumber diff sebelumnya |327| `diff:previousSource` | Left | Sumber diff sebelumnya |

328| `diff:nextSource` | Right | Sumber diff berikutnya |328| `diff:nextSource` | Right | Sumber diff berikutnya |


334Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Binding ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.334Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Binding ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.

335 335 

336| Tindakan | Default | Deskripsi |336| Tindakan | Default | Deskripsi |

337| :-------------------- | :------------- | :------------------------------- |337| :- | :- | :- |

338| `scroll:pageUp` | PageUp | Gulir ke atas setengah viewport |338| `scroll:pageUp` | PageUp | Gulir ke atas setengah viewport |

339| `scroll:pageDown` | PageDown | Gulir ke bawah setengah viewport |339| `scroll:pageDown` | PageDown | Gulir ke bawah setengah viewport |

340| `scroll:fullPageUp` | Shift+Space, B | Gulir ke atas viewport penuh |340| `scroll:fullPageUp` | Shift+Space, B | Gulir ke atas viewport penuh |


349Tindakan untuk [panel diff](/docs/id/interactive-mode#diff-panel) yang `/diff` buka dalam rendering fullscreen. `app:cycleDiffBase` berada dalam konteks `DiffPanel`, yang aktif saat panel terbuka; yang lain adalah `Global`. Panel memerlukan Claude Code v2.1.260 atau lebih baru.349Tindakan untuk [panel diff](/docs/id/interactive-mode#diff-panel) yang `/diff` buka dalam rendering fullscreen. `app:cycleDiffBase` berada dalam konteks `DiffPanel`, yang aktif saat panel terbuka; yang lain adalah `Global`. Panel memerlukan Claude Code v2.1.260 atau lebih baru.

350 350 

351| Tindakan | Default | Deskripsi |351| Tindakan | Default | Deskripsi |

352| :-------------------------- | :------------------- | :-------------------------------------------------------------------------- |352| :- | :- | :- |

353| `app:toggleReplTab` | (unbound) | Buka atau tutup panel diff, sama seperti menjalankan `/diff` |353| `app:toggleReplTab` | (unbound) | Buka atau tutup panel diff, sama seperti menjalankan `/diff` |

354| `app:cycleDiffBase` | Ctrl+X B | Ubah basis perbandingan panel: sesi ini, tidak berkomitmen, kemudian cabang |354| `app:cycleDiffBase` | Ctrl+X B | Ubah basis perbandingan panel: sesi ini, tidak berkomitmen, kemudian cabang |

355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | Gulir daftar file panel ke atas saat meluap |355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | Gulir daftar file panel ke atas saat meluap |


364Tindakan yang tersedia dalam konteks `ModelPicker`:364Tindakan yang tersedia dalam konteks `ModelPicker`:

365 365 

366| Tindakan | Default | Deskripsi |366| Tindakan | Default | Deskripsi |

367| :---------------------------- | :------ | :------------------------------------------- |367| :- | :- | :- |

368| `modelPicker:decreaseEffort` | Left | Kurangi tingkat upaya |368| `modelPicker:decreaseEffort` | Left | Kurangi tingkat upaya |

369| `modelPicker:increaseEffort` | Right | Tingkatkan tingkat upaya |369| `modelPicker:increaseEffort` | Right | Tingkatkan tingkat upaya |

370| `modelPicker:thisSessionOnly` | s | Terapkan model yang disorot ke sesi ini saja |370| `modelPicker:thisSessionOnly` | s | Terapkan model yang disorot ke sesi ini saja |


376Tindakan yang tersedia dalam konteks `EffortSlider`, slider yang terbuka saat Anda menjalankan `/effort` tanpa argumen. Kunci Left, Right, Enter, dan Escape slider tidak dapat diikat ulang.376Tindakan yang tersedia dalam konteks `EffortSlider`, slider yang terbuka saat Anda menjalankan `/effort` tanpa argumen. Kunci Left, Right, Enter, dan Escape slider tidak dapat diikat ulang.

377 377 

378| Tindakan | Default | Deskripsi |378| Tindakan | Default | Deskripsi |

379| :----------------------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------- |379| :- | :- | :- |

380| `effortSlider:thisSessionOnly` | s | Terapkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) yang difokuskan ke sesi ini saja. Memerlukan v2.1.257 atau lebih baru |380| `effortSlider:thisSessionOnly` | s | Terapkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) yang difokuskan ke sesi ini saja. Memerlukan v2.1.257 atau lebih baru |

381 381 

382<h3 id="select-actions">382<h3 id="select-actions">


386Tindakan yang tersedia dalam konteks `Select`:386Tindakan yang tersedia dalam konteks `Select`:

387 387 

388| Tindakan | Default | Deskripsi |388| Tindakan | Default | Deskripsi |

389| :---------------- | :-------------- | :-------------------------------- |389| :- | :- | :- |

390| `select:next` | Down, J, Ctrl+N | Opsi berikutnya |390| `select:next` | Down, J, Ctrl+N | Opsi berikutnya |

391| `select:previous` | Up, K, Ctrl+P | Opsi sebelumnya |391| `select:previous` | Up, K, Ctrl+P | Opsi sebelumnya |

392| `select:pageUp` | PageUp | Pindah ke atas satu halaman opsi |392| `select:pageUp` | PageUp | Pindah ke atas satu halaman opsi |


407Tindakan yang tersedia dalam konteks `Plugin`:407Tindakan yang tersedia dalam konteks `Plugin`:

408 408 

409| Tindakan | Default | Deskripsi |409| Tindakan | Default | Deskripsi |

410| :---------------- | :------ | :--------------------------------------------------------------------------- |410| :- | :- | :- |

411| `plugin:toggle` | Space | Alihkan pilihan plugin |411| `plugin:toggle` | Space | Alihkan pilihan plugin |

412| `plugin:install` | I | Instal plugin yang dipilih |412| `plugin:install` | I | Instal plugin yang dipilih |

413| `plugin:favorite` | F | Favoritkan plugin yang dipilih sehingga disortir di dekat atas tab Installed |413| `plugin:favorite` | F | Favoritkan plugin yang dipilih sehingga disortir di dekat atas tab Installed |


419Tindakan yang tersedia dalam konteks `Settings`. Tindakan `select:accept` dan `confirm:no` digunakan kembali dari konteks [Select](#select-actions) dan [Confirmation](#confirmation-actions) dengan perilaku spesifik Settings: perubahan berlaku untuk setiap pengaturan segera setelah Anda mengubahnya, jadi Escape menutup panel dengan perubahan Anda disimpan daripada menolak.419Tindakan yang tersedia dalam konteks `Settings`. Tindakan `select:accept` dan `confirm:no` digunakan kembali dari konteks [Select](#select-actions) dan [Confirmation](#confirmation-actions) dengan perilaku spesifik Settings: perubahan berlaku untuk setiap pengaturan segera setelah Anda mengubahnya, jadi Escape menutup panel dengan perubahan Anda disimpan daripada menolak.

420 420 

421| Tindakan | Default | Deskripsi |421| Tindakan | Default | Deskripsi |

422| :---------------- | :----------- | :----------------------------------------------------- |422| :- | :- | :- |

423| `settings:search` | / | Masuk mode pencarian |423| `settings:search` | / | Masuk mode pencarian |

424| `settings:retry` | R | Coba muat ulang data penggunaan saat terjadi kesalahan |424| `settings:retry` | R | Coba muat ulang data penggunaan saat terjadi kesalahan |

425| `select:accept` | Enter, Space | Ubah pengaturan yang dipilih atau buka submenu-nya |425| `select:accept` | Enter, Space | Ubah pengaturan yang dipilih atau buka submenu-nya |


432Tindakan yang tersedia dalam konteks `Agents`, yang berlaku dalam [tampilan agen](/docs/id/agent-view), dibuka dengan `claude agents`. Memerlukan v2.1.257 atau lebih baru.432Tindakan yang tersedia dalam konteks `Agents`, yang berlaku dalam [tampilan agen](/docs/id/agent-view), dibuka dengan `claude agents`. Memerlukan v2.1.257 atau lebih baru.

433 433 

434| Tindakan | Default | Deskripsi |434| Tindakan | Default | Deskripsi |

435| :------------------ | :------ | :---------------------------------------------------------------------------------------- |435| :- | :- | :- |

436| `agents:switchView` | Ctrl+S | Alihkan [pengelompokan sesi](/docs/id/agent-view#organize-the-list) antara state dan direktori |436| `agents:switchView` | Ctrl+S | Alihkan [pengelompokan sesi](/docs/id/agent-view#organize-the-list) antara state dan direktori |

437| `agents:togglePin` | Ctrl+T | [Pin atau unpin](/docs/id/agent-view#organize-the-list) sesi yang dipilih |437| `agents:togglePin` | Ctrl+T | [Pin atau unpin](/docs/id/agent-view#organize-the-list) sesi yang dipilih |

438 438 


449Tindakan yang tersedia dalam konteks `Chat` saat [dikte suara](/docs/id/voice-dictation) diaktifkan:449Tindakan yang tersedia dalam konteks `Chat` saat [dikte suara](/docs/id/voice-dictation) diaktifkan:

450 450 

451| Tindakan | Default | Deskripsi |451| Tindakan | Default | Deskripsi |

452| :----------------- | :------ | :------------------------------------------------------ |452| :- | :- | :- |

453| `voice:pushToTalk` | Space | Dikte prompt. Tahan atau ketuk tergantung mode `/voice` |453| `voice:pushToTalk` | Space | Dikte prompt. Tahan atau ketuk tergantung mode `/voice` |

454 454 

455<h3 id="scroll-actions">455<h3 id="scroll-actions">


459Tindakan yang tersedia dalam konteks `Scroll` saat [rendering fullscreen](/docs/id/fullscreen) diaktifkan:459Tindakan yang tersedia dalam konteks `Scroll` saat [rendering fullscreen](/docs/id/fullscreen) diaktifkan:

460 460 

461| Tindakan | Default | Deskripsi |461| Tindakan | Default | Deskripsi |

462| :-------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- |462| :- | :- | :- |

463| `scroll:lineUp` | `wheelup` | Gulir ke atas satu baris. Pengguliran roda mouse memicu tindakan ini |463| `scroll:lineUp` | `wheelup` | Gulir ke atas satu baris. Pengguliran roda mouse memicu tindakan ini |

464| `scroll:lineDown` | `wheeldown` | Gulir ke bawah satu baris. Pengguliran roda mouse memicu tindakan ini |464| `scroll:lineDown` | `wheeldown` | Gulir ke bawah satu baris. Pengguliran roda mouse memicu tindakan ini |

465| `scroll:pageUp` | PageUp | Gulir ke atas setengah tinggi viewport |465| `scroll:pageUp` | PageUp | Gulir ke atas setengah tinggi viewport |


615Pintasan ini tidak dapat diikat ulang:615Pintasan ini tidak dapat diikat ulang:

616 616 

617| Pintasan | Alasan |617| Pintasan | Alasan |

618| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |618| :- | :- |

619| Ctrl+C | Interrupt/cancel yang dikodekan keras |619| Ctrl+C | Interrupt/cancel yang dikodekan keras |

620| Ctrl+D | Exit yang dikodekan keras |620| Ctrl+D | Exit yang dikodekan keras |

621| Ctrl+M | Claude Code selalu menerimanya sebagai Enter |621| Ctrl+M | Claude Code selalu menerimanya sebagai Enter |


631Beberapa pintasan mungkin bertentangan dengan multiplexer terminal:631Beberapa pintasan mungkin bertentangan dengan multiplexer terminal:

632 632 

633| Pintasan | Konflik |633| Pintasan | Konflik |

634| :------- | :------------------------------------------ |634| :- | :- |

635| Ctrl+B | Awalan tmux (tekan dua kali untuk mengirim) |635| Ctrl+B | Awalan tmux (tekan dua kali untuk mengirim) |

636| Ctrl+A | Awalan GNU screen |636| Ctrl+A | Awalan GNU screen |

637| Ctrl+Z | Suspend proses Unix (SIGTSTP) |637| Ctrl+Z | Suspend proses Unix (SIGTSTP) |

Details

23Setiap pengaturan di bawah ini independen. Mereka berlapis daripada menggantikan satu sama lain, jadi terapkan mana pun yang sesuai dengan repository Anda. [Pilih di mana memulai Claude](#choose-where-to-start-claude) menentukan di mana file pengaturan Anda berada, jadi baca terlebih dahulu. [Satukan semuanya](#put-it-together) menunjukkan semuanya digabungkan.23Setiap pengaturan di bawah ini independen. Mereka berlapis daripada menggantikan satu sama lain, jadi terapkan mana pun yang sesuai dengan repository Anda. [Pilih di mana memulai Claude](#choose-where-to-start-claude) menentukan di mana file pengaturan Anda berada, jadi baca terlebih dahulu. [Satukan semuanya](#put-it-together) menunjukkan semuanya digabungkan.

24 24 

25| Saya ingin | Gunakan |25| Saya ingin | Gunakan |

26| :--------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- |26| :- | :- |

27| Muat hanya konvensi untuk kode yang Anda sentuh, bukan satu file root yang mencakup setiap subsistem | File [CLAUDE.md](#layer-claude-md-files-by-directory) per-direktori |27| Muat hanya konvensi untuk kode yang Anda sentuh, bukan satu file root yang mencakup setiap subsistem | File [CLAUDE.md](#layer-claude-md-files-by-directory) per-direktori |

28| Kecualikan file CLAUDE.md untuk paket yang tidak pernah Anda kerjakan | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |28| Kecualikan file CLAUDE.md untuk paket yang tidak pernah Anda kerjakan | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |

29| Blokir Claude dari membuka output build, kode yang dihasilkan, dan dependensi yang di-vendor | Aturan deny [Read](#block-reads-of-generated-and-vendored-code) di `permissions.deny` |29| Blokir Claude dari membuka output build, kode yang dihasilkan, dan dependensi yang di-vendor | Aturan deny [Read](#block-reads-of-generated-and-vendored-code) di `permissions.deny` |


67Di mana Anda meluncurkan `claude` menentukan file mana yang dapat dibaca dan diedit Claude tanpa hibah izin tambahan, file CLAUDE.md mana yang dimuat ke konteks saat startup, dan pengaturan proyek mana yang berlaku.67Di mana Anda meluncurkan `claude` menentukan file mana yang dapat dibaca dan diedit Claude tanpa hibah izin tambahan, file CLAUDE.md mana yang dimuat ke konteks saat startup, dan pengaturan proyek mana yang berlaku.

68 68 

69| Mulai dari | Akses file | CLAUDE.md dimuat saat peluncuran | Gunakan ketika |69| Mulai dari | Akses file | CLAUDE.md dimuat saat peluncuran | Gunakan ketika |

70| :-------------- | :---------------------------------------------------- | :----------------------------------------------------------------------------------- | :------------------------------------------------ |70| :- | :- | :- | :- |

71| Repository root | Setiap file | Root hanya; file subdirektori dimuat sesuai permintaan ketika Claude membaca di sana | Tugas mencakup beberapa paket atau subsistem |71| Repository root | Setiap file | Root hanya; file subdirektori dimuat sesuai permintaan ketika Claude membaca di sana | Tugas mencakup beberapa paket atau subsistem |

72| Subdirektori | Subtree itu saja, sampai Anda memberikan lebih banyak | Direktori itu plus setiap ancestor | Pekerjaan dibatasi pada satu paket atau subsistem |72| Subdirektori | Subtree itu saja, sampai Anda memberikan lebih banyak | Direktori itu plus setiap ancestor | Pekerjaan dibatasi pada satu paket atau subsistem |

73 73 


123File `CLAUDE.md` per-direktori dan [path-scoped rules](/docs/id/memory#path-specific-rules) di bawah `.claude/rules/` keduanya memungkinkan Anda menargetkan instruksi ke bagian pohon. Mereka berbeda dalam di mana file berada dan kapan dimuat.123File `CLAUDE.md` per-direktori dan [path-scoped rules](/docs/id/memory#path-specific-rules) di bawah `.claude/rules/` keduanya memungkinkan Anda menargetkan instruksi ke bagian pohon. Mereka berbeda dalam di mana file berada dan kapan dimuat.

124 124 

125| Approach | File location | Loads when | Use when |125| Approach | File location | Loads when | Use when |

126| :----------------------------------- | :---------------------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |126| :- | :- | :- | :- |

127| Per-directory `CLAUDE.md` | Di dalam direktori, bersama kodenya | Saat peluncuran ketika dimulai dari direktori itu, atau sesuai permintaan ketika Claude membaca file di sana | Pemilik direktori memelihara konvensi mereka sendiri; instruksi diversi dengan kode |127| Per-directory `CLAUDE.md` | Di dalam direktori, bersama kodenya | Saat peluncuran ketika dimulai dari direktori itu, atau sesuai permintaan ketika Claude membaca file di sana | Pemilik direktori memelihara konvensi mereka sendiri; instruksi diversi dengan kode |

128| Path-scoped rule di `.claude/rules/` | `.claude/` pusat di repo root | Ketika Claude bekerja dengan file yang cocok dengan glob `paths:` aturan | Anda ingin semua konvensi di satu tempat, atau aturan yang sama berlaku untuk banyak jalur tersebar |128| Path-scoped rule di `.claude/rules/` | `.claude/` pusat di repo root | Ketika Claude bekerja dengan file yang cocok dengan glob `paths:` aturan | Anda ingin semua konvensi di satu tempat, atau aturan yang sama berlaku untuk banyak jalur tersebar |

129 129 


316Bagaimanapun Anda menambahkan direktori, Claude dapat membaca dan mengedit file di dalamnya. Apakah CLAUDE.md direktori, file `.claude/rules/`, dan skills juga dimuat tergantung pada cara Anda menambahkannya:316Bagaimanapun Anda menambahkan direktori, Claude dapat membaca dan mengedit file di dalamnya. Apakah CLAUDE.md direktori, file `.claude/rules/`, dan skills juga dimuat tergantung pada cara Anda menambahkannya:

317 317 

318| Ditambahkan dengan | Memuat CLAUDE.md dan rules | Memuat skills |318| Ditambahkan dengan | Memuat CLAUDE.md dan rules | Memuat skills |

319| :---------------------------------------- | :---------------------------------------- | :------------ |319| :- | :- | :- |

320| Pengaturan `additionalDirectories` | Tidak pernah | Tidak pernah |320| Pengaturan `additionalDirectories` | Tidak pernah | Tidak pernah |

321| Flag `--add-dir` atau perintah `/add-dir` | Hanya dengan variabel lingkungan di bawah | Ya |321| Flag `--add-dir` atau perintah `/add-dir` | Hanya dengan variabel lingkungan di bawah | Ya |

322 322 

Details

64Untuk melakukan autentikasi Claude Code ke gateway, atur kredensial Anda dalam variabel lingkungan. Variabel mana tergantung pada apa yang diberitahu tim gateway Anda:64Untuk melakukan autentikasi Claude Code ke gateway, atur kredensial Anda dalam variabel lingkungan. Variabel mana tergantung pada apa yang diberitahu tim gateway Anda:

65 65 

66| Atur kredensial di | Gunakan ketika |66| Atur kredensial di | Gunakan ketika |

67| :------------------------------------------------------ | :--------------------------------------------------------------------- |67| :- | :- |

68| `ANTHROPIC_AUTH_TOKEN` | Tim gateway Anda mengatakan "bearer token" atau "Authorization header" |68| `ANTHROPIC_AUTH_TOKEN` | Tim gateway Anda mengatakan "bearer token" atau "Authorization header" |

69| `ANTHROPIC_API_KEY` | Tim gateway Anda mengatakan "API key" atau "x-api-key" |69| `ANTHROPIC_API_KEY` | Tim gateway Anda mengatakan "API key" atau "x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Kredensial berputar atau berasal dari vault |70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Kredensial berputar atau berasal dari vault |


578Ini adalah kesalahan paling umum saat menjalankan Claude Code melalui gateway, dengan penyebab sisi gateway dan perbaikannya:578Ini adalah kesalahan paling umum saat menjalankan Claude Code melalui gateway, dengan penyebab sisi gateway dan perbaikannya:

579 579 

580| Kesalahan | Penyebab | Perbaikan |580| Kesalahan | Penyebab | Perbaikan |

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

582| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |582| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |

583| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |583| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |

584| `Your apiKeyHelper script is failing`, atau `apiKeyHelper failed:` pada stderr dalam mode non-interaktif | Perintah dalam pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) tidak menghasilkan kunci yang dapat digunakan, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](/docs/id/errors#your-apikeyhelper-script-is-failing) |584| `Your apiKeyHelper script is failing`, atau `apiKeyHelper failed:` pada stderr dalam mode non-interaktif | Perintah dalam pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) tidak menghasilkan kunci yang dapat digunakan, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](/docs/id/errors#your-apikeyhelper-script-is-failing) |

Details

41Google Cloud's Agent Platform adalah endpoint Claude Google Cloud, sebelumnya Vertex AI; nama variabelnya tetap menggunakan ejaan `VERTEX`.41Google Cloud's Agent Platform adalah endpoint Claude Google Cloud, sebelumnya Vertex AI; nama variabelnya tetap menggunakan ejaan `VERTEX`.

42 42 

43| Format | Selected by | Endpoints | Forward unchanged |43| Format | Selected by | Endpoints | Forward unchanged |

44| :--------------------------------------- | :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |44| :- | :- | :- | :- |

45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version` |45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version` |

46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` dengan `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (opsional) | field body permintaan `anthropic_beta` dan `anthropic_version` |46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` dengan `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (opsional) | field body permintaan `anthropic_beta` dan `anthropic_version` |

47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` dengan `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version`, dan field body permintaan `anthropic_version` |47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` dengan `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version`, dan field body permintaan `anthropic_version` |


107Tabel di bawah membandingkan tiga metode koneksi, satu perilaku per baris. Tabel ini menghilangkan Microsoft Foundry dan Claude Platform di AWS, yang juga menggunakan format Anthropic Messages tetapi yang Claude Code jangkau melalui variabel mereka sendiri. Untuk itu, lihat halaman [Microsoft Foundry](/docs/id/microsoft-foundry) dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws).107Tabel di bawah membandingkan tiga metode koneksi, satu perilaku per baris. Tabel ini menghilangkan Microsoft Foundry dan Claude Platform di AWS, yang juga menggunakan format Anthropic Messages tetapi yang Claude Code jangkau melalui variabel mereka sendiri. Untuk itu, lihat halaman [Microsoft Foundry](/docs/id/microsoft-foundry) dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws).

108 108 

109| Perilaku | Format Amazon Bedrock atau Agent Platform | Format Anthropic Messages | Masuk ke gateway aplikasi Claude |109| Perilaku | Format Amazon Bedrock atau Agent Platform | Format Anthropic Messages | Masuk ke gateway aplikasi Claude |

110| :----------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |110| :- | :- | :- | :- |

111| ID model dalam permintaan secara default | Bentuk penyedia, seperti `us.anthropic.claude-opus-4-8` di Amazon Bedrock | ID Anthropic, seperti `claude-opus-4-8` | ID Anthropic |111| ID model dalam permintaan secara default | Bentuk penyedia, seperti `us.anthropic.claude-opus-4-8` di Amazon Bedrock | ID Anthropic, seperti `claude-opus-4-8` | ID Anthropic |

112| Nilai `anthropic-beta` yang dikirim | Subset yang diterima Amazon Bedrock dan Agent Platform | Set lengkap yang dijelaskan di bawah [feature pass-through](#feature-pass-through), kecuali pengembang menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Subset yang diterima Amazon Bedrock dan Agent Platform |112| Nilai `anthropic-beta` yang dikirim | Subset yang diterima Amazon Bedrock dan Agent Platform | Set lengkap yang dijelaskan di bawah [feature pass-through](#feature-pass-through), kecuali pengembang menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Subset yang diterima Amazon Bedrock dan Agent Platform |

113| Bidang permintaan untuk ID model yang tidak dikenali Claude Code, seperti alias gateway | Thinking dengan anggaran tetap daripada adaptive reasoning, dan tidak ada bidang effort atau context management | Semua yang diterima model Claude saat ini di Claude API, termasuk adaptive reasoning, effort, dan context management, yang upstream Amazon Bedrock atau Agent Platform dapat menolak | Sama dengan format Amazon Bedrock atau Agent Platform |113| Bidang permintaan untuk ID model yang tidak dikenali Claude Code, seperti alias gateway | Thinking dengan anggaran tetap daripada adaptive reasoning, dan tidak ada bidang effort atau context management | Semua yang diterima model Claude saat ini di Claude API, termasuk adaptive reasoning, effort, dan context management, yang upstream Amazon Bedrock atau Agent Platform dapat menolak | Sama dengan format Amazon Bedrock atau Agent Platform |


132Claude Code menyertakan header ini pada permintaan API. Nama header tidak peka huruf besar-kecil di kawat. Teruskan `anthropic-version` dan `anthropic-beta` tanpa perubahan, ditambah `anthropic-workspace-id` ketika upstream adalah [Claude Platform on AWS](/docs/id/claude-platform-on-aws); sisanya gateway dapat konsumsi untuk routing, atribusi, dan tracing, dan tidak perlu diteruskan.132Claude Code menyertakan header ini pada permintaan API. Nama header tidak peka huruf besar-kecil di kawat. Teruskan `anthropic-version` dan `anthropic-beta` tanpa perubahan, ditambah `anthropic-workspace-id` ketika upstream adalah [Claude Platform on AWS](/docs/id/claude-platform-on-aws); sisanya gateway dapat konsumsi untuk routing, atribusi, dan tracing, dan tidak perlu diteruskan.

133 133 

134| Header | Deskripsi |134| Header | Deskripsi |

135| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |135| :- | :- |

136| `Authorization`, `x-api-key` | Kredensial gateway pengembang, di satu atau kedua header tergantung pada [variabel kredensial](/docs/id/llm-gateway-connect#set-the-credential-variable) yang mereka atur |136| `Authorization`, `x-api-key` | Kredensial gateway pengembang, di satu atau kedua header tergantung pada [variabel kredensial](/docs/id/llm-gateway-connect#set-the-credential-variable) yang mereka atur |

137| `anthropic-version` | Versi API, saat ini `2023-06-01`. Permintaan format Amazon Bedrock dan Google Cloud's Agent Platform juga membawa field body `anthropic_version`, yang nilainya adalah string dialek penyedia, bukan nilai header ini |137| `anthropic-version` | Versi API, saat ini `2023-06-01`. Permintaan format Amazon Bedrock dan Google Cloud's Agent Platform juga membawa field body `anthropic_version`, yang nilainya adalah string dialek penyedia, bukan nilai header ini |

138| `anthropic-beta` | Nilai kemampuan yang dipisahkan koma untuk permintaan. Teruskan header secara verbatim; jangan allowlist nilai individual, karena set berubah dengan rilis Claude Code. Ketika pengembang mengautentikasi dengan login claude.ai, yang mungkin ketika `ANTHROPIC_BASE_URL` diatur tanpa variabel kredensial gateway, header ini juga membawa kemampuan OAuth yang diperlukan upstream, dan menghapusnya gagal permintaan tersebut dengan `401` |138| `anthropic-beta` | Nilai kemampuan yang dipisahkan koma untuk permintaan. Teruskan header secara verbatim; jangan allowlist nilai individual, karena set berubah dengan rilis Claude Code. Ketika pengembang mengautentikasi dengan login claude.ai, yang mungkin ketika `ANTHROPIC_BASE_URL` diatur tanpa variabel kredensial gateway, header ini juga membawa kemampuan OAuth yang diperlukan upstream, dan menghapusnya gagal permintaan tersebut dengan `401` |


161Header hanya membawa apa yang baris di bawah daftar: kosakata tetap, nama alat, dan durasi, tidak pernah teks prompt atau konten file. Setiap nilai adalah ASCII yang dapat dicetak.161Header hanya membawa apa yang baris di bawah daftar: kosakata tetap, nama alat, dan durasi, tidak pernah teks prompt atau konten file. Setiap nilai adalah ASCII yang dapat dicetak.

162 162 

163| Header | Deskripsi |163| Header | Deskripsi |

164| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |164| :- | :- |

165| `x-claude-code-request-class` | Jenis permintaan apa ini: `main` untuk giliran percakapan utama, `subagent` untuk giliran [subagent](/docs/id/sub-agents), `workflow` untuk agen yang berjalan di dalam alur kerja, `compaction` untuk permintaan peringkasan yang memadatkan percakapan, atau `auxiliary` untuk permintaan samping seperti judul sesi, pengklasifikasi, dan ringkasan. Dikirim pada setiap permintaan |165| `x-claude-code-request-class` | Jenis permintaan apa ini: `main` untuk giliran percakapan utama, `subagent` untuk giliran [subagent](/docs/id/sub-agents), `workflow` untuk agen yang berjalan di dalam alur kerja, `compaction` untuk permintaan peringkasan yang memadatkan percakapan, atau `auxiliary` untuk permintaan samping seperti judul sesi, pengklasifikasi, dan ringkasan. Dikirim pada setiap permintaan |

166| `x-claude-code-agent-type` | Jenis subagent yang mengeluarkan permintaan: nama jenis agen bawaan seperti `Explore`, `Plan`, atau `general-purpose`, atau `custom` untuk agen yang ditentukan pengguna, `teammate` untuk anggota [tim agen](/docs/id/agent-teams) yang berjalan dalam proses pemimpin, atau `fork` untuk [fork](/docs/id/sub-agents#fork-the-current-conversation). Hadir hanya pada giliran subagent sendiri; permintaan compaction atau samping subagent menyimpan ID agen tetapi tidak membawa jenis. Nama agen yang dipilih pengguna tidak pernah dikirim |166| `x-claude-code-agent-type` | Jenis subagent yang mengeluarkan permintaan: nama jenis agen bawaan seperti `Explore`, `Plan`, atau `general-purpose`, atau `custom` untuk agen yang ditentukan pengguna, `teammate` untuk anggota [tim agen](/docs/id/agent-teams) yang berjalan dalam proses pemimpin, atau `fork` untuk [fork](/docs/id/sub-agents#fork-the-current-conversation). Hadir hanya pada giliran subagent sendiri; permintaan compaction atau samping subagent menyimpan ID agen tetapi tidak membawa jenis. Nama agen yang dipilih pengguna tidak pernah dikirim |

167| `x-claude-code-compaction` | Hadir pada permintaan yang merangkum percakapan selama [compaction](/docs/id/prompt-caching#compacting-the-conversation). Nilainya mengatakan apa yang memicunya: `auto` ketika jendela konteks mendekati kapasitas, `manual` untuk `/compact`, atau `reactive` ketika API menolak permintaan sebagai terlalu panjang. Tidak ada pada setiap permintaan lainnya |167| `x-claude-code-compaction` | Hadir pada permintaan yang merangkum percakapan selama [compaction](/docs/id/prompt-caching#compacting-the-conversation). Nilainya mengatakan apa yang memicunya: `auto` ketika jendela konteks mendekati kapasitas, `manual` untuk `/compact`, atau `reactive` ketika API menolak permintaan sebagai terlalu panjang. Tidak ada pada setiap permintaan lainnya |


194Claude Code membaca response headers ini untuk mendeteksi stalled streams, untuk memutuskan apakah dan kapan harus retry, dan untuk menampilkan usage limits. Tabel ini mencantumkan apa yang harus dikembalikan untuk masing-masing. Juga forward error response bodies tanpa modifikasi, sehingga [capability-rejection recovery](#automatic-retry-and-error-forwarding) Claude Code dapat mencocokkan wording error upstream.194Claude Code membaca response headers ini untuk mendeteksi stalled streams, untuk memutuskan apakah dan kapan harus retry, dan untuk menampilkan usage limits. Tabel ini mencantumkan apa yang harus dikembalikan untuk masing-masing. Juga forward error response bodies tanpa modifikasi, sehingga [capability-rejection recovery](#automatic-retry-and-error-forwarding) Claude Code dapat mencocokkan wording error upstream.

195 195 

196| Header | Apa yang harus dikembalikan dan mengapa |196| Header | Apa yang harus dikembalikan dan mengapa |

197| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |197| :- | :- |

198| `content-type` | Return `text/event-stream` pada streamed Anthropic Messages-format responses, dan `application/vnd.amazon.eventstream`, tanpa modifikasi, pada Amazon Bedrock-format responses, di mana [tipe yang berbeda gagal request](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) mencantumkan koneksi mana yang menjalankan stall detection pada streams ini |198| `content-type` | Return `text/event-stream` pada streamed Anthropic Messages-format responses, dan `application/vnd.amazon.eventstream`, tanpa modifikasi, pada Amazon Bedrock-format responses, di mana [tipe yang berbeda gagal request](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) mencantumkan koneksi mana yang menjalankan stall detection pada streams ini |

199| `retry-after` | Return integer seconds daripada HTTP date. Claude Code menunggu setidaknya selama itu sebelum [automatic retry](/docs/id/errors#automatic-retries) berikutnya, dan di luar [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) sessions nilai di atas 60 menghentikan retries dan menampilkan error sekaligus |199| `retry-after` | Return integer seconds daripada HTTP date. Claude Code menunggu setidaknya selama itu sebelum [automatic retry](/docs/id/errors#automatic-retries) berikutnya, dan di luar [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) sessions nilai di atas 60 menghentikan retries dan menampilkan error sekaligus |

200| `x-should-retry` | Pass nilai upstream melalui unchanged. Claude Code membaca header ini sebagai satu input ketika memutuskan apakah harus retry failed request: `true` menandai response retryable dan `false` menandai tidak retryable. Untuk retry counts, backoff, dan kegagalan mana yang Claude Code retry, lihat [automatic retries](/docs/id/errors#automatic-retries) |200| `x-should-retry` | Pass nilai upstream melalui unchanged. Claude Code membaca header ini sebagai satu input ketika memutuskan apakah harus retry failed request: `true` menandai response retryable dan `false` menandai tidak retryable. Untuk retry counts, backoff, dan kegagalan mana yang Claude Code retry, lihat [automatic retries](/docs/id/errors#automatic-retries) |


235Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/id/env-vars).235Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/id/env-vars).

236 236 

237| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |237| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |

238| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |238| :- | :- | :- | :- |

239| [Penalaran adaptif](/docs/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |239| [Penalaran adaptif](/docs/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |

240| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-editing) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) |240| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-editing) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) |

241| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |241| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |

Details

56Langkah-langkah melibatkan tiga kredensial berbeda, dan checkpoint menamai mereka dengan placeholder sehingga Anda dapat mengetahui mana yang salah ketika sesuatu gagal:56Langkah-langkah melibatkan tiga kredensial berbeda, dan checkpoint menamai mereka dengan placeholder sehingga Anda dapat mengetahui mana yang salah ketika sesuatu gagal:

57 57 

58| Kredensial | Siapa yang memegangnya | Placeholder dalam checkpoint |58| Kredensial | Siapa yang memegangnya | Placeholder dalam checkpoint |

59| :------------------------------- | :------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- |59| :- | :- | :- |

60| Kredensial penyedia | Gateway, yang meneruskannya ke penyedia upstream | Dikonfigurasi di gateway; tidak pernah muncul dalam perintah klien |60| Kredensial penyedia | Gateway, yang meneruskannya ke penyedia upstream | Dikonfigurasi di gateway; tidak pernah muncul dalam perintah klien |

61| Kredensial administratif gateway | Anda, jika produk gateway Anda mengeluarkan satu untuk antarmuka admin atau testnya | `<gateway-key>` |61| Kredensial administratif gateway | Anda, jika produk gateway Anda mengeluarkan satu untuk antarmuka admin atau testnya | `<gateway-key>` |

62| Kunci pengembang | Setiap pengembang, dikeluarkan oleh gateway di [Keluarkan kredensial pengembang](#issue-developer-credentials) | `<developer-key>` |62| Kunci pengembang | Setiap pengembang, dikeluarkan oleh gateway di [Keluarkan kredensial pengembang](#issue-developer-credentials) | `<developer-key>` |


180Set variabel yang sama berlaku jalur mana pun yang Anda pilih. Sebagian besar peluncuran hanya memerlukan `ANTHROPIC_BASE_URL` dan kredensial; sertakan baris bersyarat ketika pengaturan gateway Anda memanggilnya.180Set variabel yang sama berlaku jalur mana pun yang Anda pilih. Sebagian besar peluncuran hanya memerlukan `ANTHROPIC_BASE_URL` dan kredensial; sertakan baris bersyarat ketika pengaturan gateway Anda memanggilnya.

181 181 

182| Variabel atau pengaturan | Apa yang dilakukannya | Sertakan ketika |182| Variabel atau pengaturan | Apa yang dilakukannya | Sertakan ketika |

183| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :- | :- | :- |

184| `ANTHROPIC_BASE_URL` | Mengirim permintaan API Claude Code ke gateway daripada `api.anthropic.com` | Selalu |184| `ANTHROPIC_BASE_URL` | Mengirim permintaan API Claude Code ke gateway daripada `api.anthropic.com` | Selalu |

185| `apiKeyHelper`, atau kredensial di `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_API_KEY` | Mengautentikasi setiap permintaan ke gateway. Helper menjalankan perintah untuk mengambil kunci; variabel menyimpan kunci statis, dikirim sebagai `Authorization: Bearer` dan `x-api-key` masing-masing | Selalu; salah satu dari tiga |185| `apiKeyHelper`, atau kredensial di `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_API_KEY` | Mengautentikasi setiap permintaan ke gateway. Helper menjalankan perintah untuk mengambil kunci; variabel menyimpan kunci statis, dikirim sebagai `Authorization: Bearer` dan `x-api-key` masing-masing | Selalu; salah satu dari tiga |

186| `ANTHROPIC_CUSTOM_HEADERS` | Menambahkan header HTTP ekstra ke setiap permintaan API | Gateway Anda memerlukan header penyewa atau perutean pada setiap permintaan |186| `ANTHROPIC_CUSTOM_HEADERS` | Menambahkan header HTTP ekstra ke setiap permintaan API | Gateway Anda memerlukan header penyewa atau perutean pada setiap permintaan |


283Setelah peluncuran, tiga jenis perubahan mencapai gateway seiring waktu. Masing-masing memiliki gejala untuk diperhatikan dan tindakan yang harus diambil.283Setelah peluncuran, tiga jenis perubahan mencapai gateway seiring waktu. Masing-masing memiliki gejala untuk diperhatikan dan tindakan yang harus diambil.

284 284 

285| Perubahan | Gejala ketika gateway belum mengikuti | Tindakan |285| Perubahan | Gejala ketika gateway belum mengikuti | Tindakan |

286| :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |286| :- | :- | :- |

287| Rilis Claude Code baru menambahkan nilai `anthropic-beta` dan bidang badan permintaan | Pengembang melaporkan kesalahan `400` yang menyebutkan bidang baru setelah mereka memperbarui Claude Code; lihat [pass-through fitur](/docs/id/llm-gateway-protocol#feature-pass-through) | Teruskan header `anthropic-*` dan badan permintaan secara verbatim daripada allowlisting; uji rilis Claude Code baru terhadap gateway sebelum mencapai pengembang, periksa area di [Rencanakan upgrade versi Claude Code](#plan-claude-code-version-upgrades) |287| Rilis Claude Code baru menambahkan nilai `anthropic-beta` dan bidang badan permintaan | Pengembang melaporkan kesalahan `400` yang menyebutkan bidang baru setelah mereka memperbarui Claude Code; lihat [pass-through fitur](/docs/id/llm-gateway-protocol#feature-pass-through) | Teruskan header `anthropic-*` dan badan permintaan secara verbatim daripada allowlisting; uji rilis Claude Code baru terhadap gateway sebelum mencapai pengembang, periksa area di [Rencanakan upgrade versi Claude Code](#plan-claude-code-version-upgrades) |

288| Model Claude baru menjadi tersedia | Pengembang memilih nama model baru mendapat `404`; pemilih `/model` tidak mencantumkannya | Tambahkan nama model ke konfigurasi perutean gateway, kemudian jalankan kembali [pemeriksaan perutean](#confirm-the-gateway-routes-your-models). Jika Anda mendistribusikan `ANTHROPIC_MODEL` atau variabel model default, perbarui pengaturan terkelola |288| Model Claude baru menjadi tersedia | Pengembang memilih nama model baru mendapat `404`; pemilih `/model` tidak mencantumkannya | Tambahkan nama model ke konfigurasi perutean gateway, kemudian jalankan kembali [pemeriksaan perutean](#confirm-the-gateway-routes-your-models). Jika Anda mendistribusikan `ANTHROPIC_MODEL` atau variabel model default, perbarui pengaturan terkelola |

289| Kredensial kedaluwarsa atau perlu rotasi | Semua permintaan pengembang mulai gagal dengan `401` dari upstream | Rotasi kredensial penyedia gateway sesuai jadwal sendiri; kunci pengembang berputar di gateway, dan [`apiKeyHelper`](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) menangani rotasi per pengembang tanpa mendistribusikan ulang pengaturan |289| Kredensial kedaluwarsa atau perlu rotasi | Semua permintaan pengembang mulai gagal dengan `401` dari upstream | Rotasi kredensial penyedia gateway sesuai jadwal sendiri; kunci pengembang berputar di gateway, dan [`apiKeyHelper`](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) menangani rotasi per pengembang tanpa mendistribusikan ulang pengaturan |


299Ketika Anda menguji rilis, header baru atau bidang permintaan yang ditolak gateway muncul sebagai kesalahan `400` yang dijelaskan dalam [Pertahankan gateway](#maintain-the-gateway). Tabel di bawah mencakup perubahan yang bergantung pada versi yang tidak menghasilkan kesalahan, dengan pengaturan yang membuat masing-masing tetap konstan di seluruh upgrade.299Ketika Anda menguji rilis, header baru atau bidang permintaan yang ditolak gateway muncul sebagai kesalahan `400` yang dijelaskan dalam [Pertahankan gateway](#maintain-the-gateway). Tabel di bawah mencakup perubahan yang bergantung pada versi yang tidak menghasilkan kesalahan, dengan pengaturan yang membuat masing-masing tetap konstan di seluruh upgrade.

300 300 

301| Area | Apa yang dapat berubah ketika pengembang upgrade | Pengaturan yang membuat tetap konstan |301| Area | Apa yang dapat berubah ketika pengembang upgrade | Pengaturan yang membuat tetap konstan |

302| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |302| :- | :- | :- |

303| Default flag fitur | Sesi yang [tidak mengambil flag fitur dari Anthropic](/docs/id/env-vars#features-that-need-feature-flag-fetching), seperti sesi di penyedia cloud atau dengan telemetri dimatikan, menggunakan default flag yang dibangun ke dalam versi yang diinstal. Ketika rilis mengubah salah satu default tersebut, perilaku berubah untuk pengembang tersebut segera setelah mereka upgrade | Pin versi itu sendiri, `requiredMaximumVersion` atau `DISABLE_UPDATES` |303| Default flag fitur | Sesi yang [tidak mengambil flag fitur dari Anthropic](/docs/id/env-vars#features-that-need-feature-flag-fetching), seperti sesi di penyedia cloud atau dengan telemetri dimatikan, menggunakan default flag yang dibangun ke dalam versi yang diinstal. Ketika rilis mengubah salah satu default tersebut, perilaku berubah untuk pengembang tersebut segera setelah mereka upgrade | Pin versi itu sendiri, `requiredMaximumVersion` atau `DISABLE_UPDATES` |

304| Asumsi kemampuan model | ID model yang tidak dikenali versi yang diinstal, seperti alias gateway `prod-opus`, berjalan pada asumsi default untuk [adaptive reasoning](/docs/id/model-config#adaptive-reasoning-and-fixed-thinking-budgets), parameter effort, dan [jendela konteks](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) hingga versi yang lebih baru mengenali ID atau Anda memetakannya | Rute ID model Anthropic di gateway, atau tambahkan entri [`modelOverrides`](/docs/id/model-config#override-model-ids-per-version) yang memetakan ID model Anthropic ke alias Anda. Pada koneksi penyedia cloud, Anda dapat sebagai gantinya [mendeklarasikan kemampuan model yang di-pin](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |304| Asumsi kemampuan model | ID model yang tidak dikenali versi yang diinstal, seperti alias gateway `prod-opus`, berjalan pada asumsi default untuk [adaptive reasoning](/docs/id/model-config#adaptive-reasoning-and-fixed-thinking-budgets), parameter effort, dan [jendela konteks](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) hingga versi yang lebih baru mengenali ID atau Anda memetakannya | Rute ID model Anthropic di gateway, atau tambahkan entri [`modelOverrides`](/docs/id/model-config#override-model-ids-per-version) yang memetakan ID model Anthropic ke alias Anda. Pada koneksi penyedia cloud, Anda dapat sebagai gantinya [mendeklarasikan kemampuan model yang di-pin](/docs/id/model-config#customize-pinned-model-display-and-capabilities) |

305| Model default dan alias | Model yang dimulai sesi baru secara default, dan model yang alias seperti `opus` dan `sonnet` selesaikan, [dibangun ke dalam setiap versi](/docs/id/model-config#pin-models-for-third-party-deployments) dan dapat berubah ketika pengembang upgrade | [`ANTHROPIC_DEFAULT_MODEL`](/docs/id/model-config#set-a-default-model-for-new-sessions) untuk model yang dimulai sesi baru, dan [variabel `ANTHROPIC_DEFAULT_*_MODEL`](/docs/id/model-config#environment-variables), seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`, untuk apa yang setiap alias selesaikan. `ANTHROPIC_DEFAULT_MODEL` memerlukan Claude Code v2.1.236 atau lebih baru |305| Model default dan alias | Model yang dimulai sesi baru secara default, dan model yang alias seperti `opus` dan `sonnet` selesaikan, [dibangun ke dalam setiap versi](/docs/id/model-config#pin-models-for-third-party-deployments) dan dapat berubah ketika pengembang upgrade | [`ANTHROPIC_DEFAULT_MODEL`](/docs/id/model-config#set-a-default-model-for-new-sessions) untuk model yang dimulai sesi baru, dan [variabel `ANTHROPIC_DEFAULT_*_MODEL`](/docs/id/model-config#environment-variables), seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`, untuk apa yang setiap alias selesaikan. `ANTHROPIC_DEFAULT_MODEL` memerlukan Claude Code v2.1.236 atau lebih baru |

managed-mcp.md +14 −14

Details

30Claude Code mendukung berbagai tingkat pembatasan. Setiap pola menggunakan satu atau lebih mekanisme yang tercakup di bawah: `managed-mcp.json` untuk menerapkan set tetap, pengaturan terkelola `managedMcpServers` untuk menyediakan server bersama dengan yang ditambahkan pengguna, dan `allowedMcpServers`/`deniedMcpServers` untuk memfilter apa yang dikonfigurasi pengguna.30Claude Code mendukung berbagai tingkat pembatasan. Setiap pola menggunakan satu atau lebih mekanisme yang tercakup di bawah: `managed-mcp.json` untuk menerapkan set tetap, pengaturan terkelola `managedMcpServers` untuk menyediakan server bersama dengan yang ditambahkan pengguna, dan `allowedMcpServers`/`deniedMcpServers` untuk memfilter apa yang dikonfigurasi pengguna.

31 31 

32| Pola | Apa yang dilakukan | Konfigurasi |32| Pola | Apa yang dilakukan | Konfigurasi |

33| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |33| :- | :- | :- |

34| **Nonaktifkan MCP** | Tidak ada server yang dimuat, kecuali [server dalam proses yang didaftarkan oleh aplikasi yang memulai sesi](#exclusive-control-with-managed-mcp-json) dan yang [Anda sediakan melalui `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` dengan peta server kosong |34| **Nonaktifkan MCP** | Tidak ada server yang dimuat, kecuali [server dalam proses yang didaftarkan oleh aplikasi yang memulai sesi](#exclusive-control-with-managed-mcp-json) dan yang [Anda sediakan melalui `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` dengan peta server kosong |

35| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah server lain | `managed-mcp.json` dengan server yang Anda inginkan |35| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah server lain | `managed-mcp.json` dengan server yang Anda inginkan |

36| **Server yang disediakan** | Setiap pengguna mendapatkan server jarak jauh yang Anda daftarkan dan mempertahankan server mereka sendiri | `managedMcpServers` dalam pengaturan terkelola |36| **Server yang disediakan** | Setiap pengguna mendapatkan server jarak jauh yang Anda daftarkan dan mempertahankan server mereka sendiri | `managedMcpServers` dalam pengaturan terkelola |


65Proses apa pun yang dapat menulis ke jalur sistem dengan hak istimewa administrator dapat menerapkan file. Di seluruh armada, itu biasanya melalui alat manajemen perangkat, seperti Jamf atau profil konfigurasi di macOS, Kebijakan Grup atau Intune di Windows, atau manajemen armada pilihan Anda di Linux. Claude Code mencari file di salah satu jalur berikut:65Proses apa pun yang dapat menulis ke jalur sistem dengan hak istimewa administrator dapat menerapkan file. Di seluruh armada, itu biasanya melalui alat manajemen perangkat, seperti Jamf atau profil konfigurasi di macOS, Kebijakan Grup atau Intune di Windows, atau manajemen armada pilihan Anda di Linux. Claude Code mencari file di salah satu jalur berikut:

66 66 

67| Platform | Jalur |67| Platform | Jalur |

68| :------------ | :--------------------------------------------------------- |68| :- | :- |

69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |

70| Linux dan WSL | `/etc/claude-code/managed-mcp.json` |70| Linux dan WSL | `/etc/claude-code/managed-mcp.json` |

71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |


294`allowedMcpServers` dan `deniedMcpServers` adalah daftar entri. Setiap entri adalah objek dengan satu kunci yang mengidentifikasi server berdasarkan URL, perintah, atau nama mereka:294`allowedMcpServers` dan `deniedMcpServers` adalah daftar entri. Setiap entri adalah objek dengan satu kunci yang mengidentifikasi server berdasarkan URL, perintah, atau nama mereka:

295 295 

296| Kunci | Cocok dengan | Gunakan untuk |296| Kunci | Cocok dengan | Gunakan untuk |

297| :-------------- | :----------------------------------------------------------------------------- | :------------------------------------------------- |297| :- | :- | :- |

298| `serverUrl` | URL server jarak jauh, tepat atau dengan wildcard `*` | Server HTTP dan SSE |298| `serverUrl` | URL server jarak jauh, tepat atau dengan wildcard `*` | Server HTTP dan SSE |

299| `serverCommand` | Perintah dan argumen yang tepat yang memulai server stdio | Server stdio |299| `serverCommand` | Perintah dan argumen yang tepat yang memulai server stdio | Server stdio |

300| `serverName` | Label yang ditetapkan pengguna. Kecocokan tepat saja; wildcard tidak diperluas | Salah satu jenis, tetapi lihat Peringatan di bawah |300| `serverName` | Label yang ditetapkan pengguna. Kecocokan tepat saja; wildcard tidak diperluas | Salah satu jenis, tetapi lihat Peringatan di bawah |


302Membiarkan `allowedMcpServers` tidak diatur berbeda dari menetapkannya ke array kosong:302Membiarkan `allowedMcpServers` tidak diatur berbeda dari menetapkannya ke array kosong:

303 303 

304| Pengaturan | Tidak diatur (default) | Array kosong `[]` | Diisi |304| Pengaturan | Tidak diatur (default) | Array kosong `[]` | Diisi |

305| :------------------ | :----------------------------- | :-------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- |305| :- | :- | :- | :- |

306| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) | Hanya server yang cocok diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) |306| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) | Hanya server yang cocok diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |307| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |

308 308 


334 Server `managed-mcp.json` yang menggunakan ekspansi `${VAR}` dalam perintah, argumen, `env`, URL, atau header masih diperiksa, seperti halnya setiap server yang ditambahkan pengguna, plugin, `--mcp-config`, atau claude.ai.334 Server `managed-mcp.json` yang menggunakan ekspansi `${VAR}` dalam perintah, argumen, `env`, URL, atau header masih diperiksa, seperti halnya setiap server yang ditambahkan pengguna, plugin, `--mcp-config`, atau claude.ai.

335 335 

336| Jenis server | Diizinkan ketika cocok |336| Jenis server | Diizinkan ketika cocok |

337| :------------------------- | :--------------------------------------------------------------------------------------------------------------- |337| :- | :- |

338| Jarak jauh (HTTP atau SSE) | Entri `serverUrl`. Kecocokan `serverName` hanya dihitung ketika allowlist tidak berisi entri `serverUrl` |338| Jarak jauh (HTTP atau SSE) | Entri `serverUrl`. Kecocokan `serverName` hanya dihitung ketika allowlist tidak berisi entri `serverUrl` |

339| Stdio | Entri `serverCommand`. Kecocokan `serverName` hanya dihitung ketika allowlist tidak berisi entri `serverCommand` |339| Stdio | Entri `serverCommand`. Kecocokan `serverName` hanya dihitung ketika allowlist tidak berisi entri `serverCommand` |

340 340 


345* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.345* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.

346 346 

347| Pola | Mengizinkan |347| Pola | Mengizinkan |

348| :-------------------------- | :-------------------------------------------------------------------------- |348| :- | :- |

349| `https://mcp.example.com/*` | Semua jalur pada domain tertentu |349| `https://mcp.example.com/*` | Semua jalur pada domain tertentu |

350| `https://mcp.example.com` | Juga semua jalur di domain itu. Pola tanpa jalur cocok dengan jalur apa pun |350| `https://mcp.example.com` | Juga semua jalur di domain itu. Pola tanpa jalur cocok dengan jalur apa pun |

351| `https://*.example.com/*` | Subdomain apa pun dari `example.com` |351| `https://*.example.com/*` | Subdomain apa pun dari `example.com` |


359Nilai yang dikonfigurasi server diperluas dari lingkungan proses langsung, seperti sisa `.mcp.json`. Entri kebijakan diperluas dari lingkungan yang disematkan sebagai gantinya, jadi variabel yang ditetapkan oleh file pengaturan proyek atau pengguna tidak dapat mengubah apa yang berarti entri allowlist. Karena entri kebijakan masih bergantung pada nilai shell peluncur untuk variabel apa pun yang dirujuknya, gunakan URL dan perintah harfiah untuk entri yang Anda andalkan untuk penegakan.359Nilai yang dikonfigurasi server diperluas dari lingkungan proses langsung, seperti sisa `.mcp.json`. Entri kebijakan diperluas dari lingkungan yang disematkan sebagai gantinya, jadi variabel yang ditetapkan oleh file pengaturan proyek atau pengguna tidak dapat mengubah apa yang berarti entri allowlist. Karena entri kebijakan masih bergantung pada nilai shell peluncur untuk variabel apa pun yang dirujuknya, gunakan URL dan perintah harfiah untuk entri yang Anda andalkan untuk penegakan.

360 360 

361| Daftar entri | Diperluas dari | Ekspansi yang akan mengubah skema, host, atau cakupan jalur entri URL |361| Daftar entri | Diperluas dari | Ekspansi yang akan mengubah skema, host, atau cakupan jalur entri URL |

362| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |362| - | - | - |

363| `allowedMcpServers` | Lingkungan yang Claude Code mulai dengan, ditambah nilai `env` dari pengaturan terkelola | Claude Code mengabaikan entri |363| `allowedMcpServers` | Lingkungan yang Claude Code mulai dengan, ditambah nilai `env` dari pengaturan terkelola | Claude Code mengabaikan entri |

364| `deniedMcpServers` | Yang sama, dan variabel tanpa nilai startup dan tidak ada `:-default` diisi dari file pengaturan di luar repositori, seperti pengaturan pengguna atau terkelola, yang hanya memperluas apa yang cocok dengan entri | Entri masih cocok |364| `deniedMcpServers` | Yang sama, dan variabel tanpa nilai startup dan tidak ada `:-default` diisi dari file pengaturan di luar repositori, seperti pengaturan pengguna atau terkelola, yang hanya memperluas apa yang cocok dengan entri | Entri masih cocok |

365 365 


408 ```408 ```

409 409 

410 | Server | Hasil |410 | Server | Hasil |

411 | :---------------------------------------------------- | :------------------------------------------------------- |411 | :- | :- |

412 | Server HTTP di `https://mcp.example.com/api` | Diizinkan: cocok dengan pola URL |412 | Server HTTP di `https://mcp.example.com/api` | Diizinkan: cocok dengan pola URL |

413 | Server HTTP di `https://api.internal.example.com/mcp` | Diizinkan: cocok dengan subdomain wildcard |413 | Server HTTP di `https://api.internal.example.com/mcp` | Diizinkan: cocok dengan subdomain wildcard |

414 | Server HTTP di `https://external.example.com/mcp` | Diblokir: tidak cocok dengan pola URL apa pun |414 | Server HTTP di `https://external.example.com/mcp` | Diblokir: tidak cocok dengan pola URL apa pun |


425 ```425 ```

426 426 

427 | Server | Hasil |427 | Server | Hasil |

428 | :------------------------------------------------------ | :----------------------------------------- |428 | :- | :- |

429 | Server stdio dengan `["npx", "-y", "approved-package"]` | Diizinkan: cocok dengan perintah |429 | Server stdio dengan `["npx", "-y", "approved-package"]` | Diizinkan: cocok dengan perintah |

430 | Server stdio dengan `["node", "server.js"]` | Diblokir: tidak cocok dengan perintah |430 | Server stdio dengan `["node", "server.js"]` | Diblokir: tidak cocok dengan perintah |

431 | Server HTTP bernama `my-api` | Diblokir: tidak ada entri nama untuk cocok |431 | Server HTTP bernama `my-api` | Diblokir: tidak ada entri nama untuk cocok |


442 ```442 ```

443 443 

444 | Server | Hasil |444 | Server | Hasil |

445 | :--------------------------------------------------------------------------- | :--------------------------------------------------------------------------- |445 | :- | :- |

446 | Server stdio bernama `local-tool` dengan `["npx", "-y", "approved-package"]` | Diizinkan: cocok dengan perintah |446 | Server stdio bernama `local-tool` dengan `["npx", "-y", "approved-package"]` | Diizinkan: cocok dengan perintah |

447 | Server stdio bernama `local-tool` dengan `["node", "server.js"]` | Diblokir: entri perintah ada tetapi tidak cocok |447 | Server stdio bernama `local-tool` dengan `["node", "server.js"]` | Diblokir: entri perintah ada tetapi tidak cocok |

448 | Server stdio bernama `github` dengan `["node", "server.js"]` | Diblokir: server stdio harus cocok dengan perintah ketika entri perintah ada |448 | Server stdio bernama `github` dengan `["node", "server.js"]` | Diblokir: server stdio harus cocok dengan perintah ketika entri perintah ada |


461 ```461 ```

462 462 

463 | Server | Hasil |463 | Server | Hasil |

464 | :----------------------------------------------------------- | :--------------------------------------- |464 | :- | :- |

465 | Server stdio bernama `github` dengan perintah apa pun | Diizinkan: tidak ada pembatasan perintah |465 | Server stdio bernama `github` dengan perintah apa pun | Diizinkan: tidak ada pembatasan perintah |

466 | Server stdio bernama `internal-tool` dengan perintah apa pun | Diizinkan: tidak ada pembatasan perintah |466 | Server stdio bernama `internal-tool` dengan perintah apa pun | Diizinkan: tidak ada pembatasan perintah |

467 | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |467 | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |


481 ```481 ```

482 482 

483 | Server | Hasil |483 | Server | Hasil |

484 | :----------------------------------------------- | :----------------------------------------------------------------------- |484 | :- | :- |

485 | Server HTTP di `https://mcp.example.com/api` | Diizinkan: cocok dengan pola URL allowlist, tidak ada kecocokan denylist |485 | Server HTTP di `https://mcp.example.com/api` | Diizinkan: cocok dengan pola URL allowlist, tidak ada kecocokan denylist |

486 | Server HTTP di `https://staging.example.com/api` | Diblokir: cocok dengan keduanya, tetapi denylist memiliki prioritas |486 | Server HTTP di `https://staging.example.com/api` | Diblokir: cocok dengan keduanya, tetapi denylist memiliki prioritas |

487 | Server HTTP di `https://other.com/mcp` | Diblokir: tidak cocok dengan allowlist |487 | Server HTTP di `https://other.com/mcp` | Diblokir: tidak cocok dengan allowlist |


512Untuk melihat apa yang pengguna lihat saat startup ketika `managed-mcp.json` digunakan dan sesi juga memiliki server `--mcp-config`, lihat [Kontrol eksklusif dengan managed-mcp.json](#exclusive-control-with-managed-mcp-json). Gunakan tabel ini untuk mengenali laporan lainnya dan untuk memberitahu pengguna apa yang diharapkan sebelum Anda meluncurkan perubahan:512Untuk melihat apa yang pengguna lihat saat startup ketika `managed-mcp.json` digunakan dan sesi juga memiliki server `--mcp-config`, lihat [Kontrol eksklusif dengan managed-mcp.json](#exclusive-control-with-managed-mcp-json). Gunakan tabel ini untuk mengenali laporan lainnya dan untuk memberitahu pengguna apa yang diharapkan sebelum Anda meluncurkan perubahan:

513 513 

514| Pembatasan | Apa yang dilihat pengguna |514| Pembatasan | Apa yang dilihat pengguna |

515| :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |515| :- | :- |

516| `managed-mcp.json` ada dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |516| `managed-mcp.json` ada dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

517| Server ada di daftar penolakan dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| Server ada di daftar penolakan dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| Server tidak ada di daftar izin dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| Server tidak ada di daftar izin dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |


535Setiap file dan pengaturan yang dibahas halaman ini, apa yang dikontrolnya, dan cara mengirimkannya:535Setiap file dan pengaturan yang dibahas halaman ini, apa yang dikontrolnya, dan cara mengirimkannya:

536 536 

537| Permukaan | Apa yang dikontrol | Di mana itu berada | Cara mengirimkan |537| Permukaan | Apa yang dikontrol | Di mana itu berada | Cara mengirimkan |

538| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |538| :- | :- | :- | :- |

539| `managed-mcp.json` | Set server tetap, kontrol eksklusif | Jalur sistem: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, atau `C:\Program Files\ClaudeCode\` | MDM, GPO, manajemen armada, atau proses apa pun dengan hak istimewa administrator. Tidak dapat diatur melalui pengaturan yang dikelola server |539| `managed-mcp.json` | Set server tetap, kontrol eksklusif | Jalur sistem: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, atau `C:\Program Files\ClaudeCode\` | MDM, GPO, manajemen armada, atau proses apa pun dengan hak istimewa administrator. Tidak dapat diatur melalui pengaturan yang dikelola server |

540| `managedMcpServers` | Server jarak jauh yang disediakan untuk setiap pengguna bersama dengan server mereka sendiri | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | [Sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, kebijakan gateway, `managed-settings.json`, profil MDM, atau registri HKLM |540| `managedMcpServers` | Server jarak jauh yang disediakan untuk setiap pengguna bersama dengan server mereka sendiri | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | [Sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, kebijakan gateway, `managed-settings.json`, profil MDM, atau registri HKLM |

541| `allowedMcpServers` | Daftar izin server yang diizinkan | Cakupan [pengaturan](/docs/id/settings#where-settings-live) apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Untuk penegakan, [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |541| `allowedMcpServers` | Daftar izin server yang diizinkan | Cakupan [pengaturan](/docs/id/settings#where-settings-live) apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Untuk penegakan, [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |

Details

71Pilih mekanisme berdasarkan cara Anda sudah mengelola perangkat, menggunakan tabel di bawah.71Pilih mekanisme berdasarkan cara Anda sudah mengelola perangkat, menggunakan tabel di bawah.

72 72 

73| Mekanisme | Cara Anda mengirimkannya | Kapan Claude Code membacanya | Gunakan ketika |73| Mekanisme | Cara Anda mengirimkannya | Kapan Claude Code membacanya | Gunakan ketika |

74| :--------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |74| :- | :- | :- | :- |

75| [Pengaturan terkelola server](/docs/id/server-managed-settings) | Di konsol admin claude.ai, atau di [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri | Diambil saat startup dan dipolling setiap jam; lihat [perubahan yang memerlukan persetujuan](#where-and-when-a-policy-applies) | Anda ingin satu tempat untuk mengubah kebijakan untuk organisasi claude.ai tanpa menyentuh setiap mesin |75| [Pengaturan terkelola server](/docs/id/server-managed-settings) | Di konsol admin claude.ai, atau di [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri | Diambil saat startup dan dipolling setiap jam; lihat [perubahan yang memerlukan persetujuan](#where-and-when-a-policy-applies) | Anda ingin satu tempat untuk mengubah kebijakan untuk organisasi claude.ai tanpa menyentuh setiap mesin |

76| Kebijakan MDM atau tingkat OS | Sebagai profil konfigurasi macOS atau nilai registry Windows `HKLM`, melalui Jamf, Intune, Group Policy, atau alat serupa; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit | Anda sudah mengelola perangkat dengan MDM atau Group Policy |76| Kebijakan MDM atau tingkat OS | Sebagai profil konfigurasi macOS atau nilai registry Windows `HKLM`, melalui Jamf, Intune, Group Policy, atau alat serupa; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit | Anda sudah mengelola perangkat dengan MDM atau Group Policy |

77| Berbasis file | Sebagai `managed-settings.json` di direktori sistem di setiap mesin; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan dimuat ulang ketika file berubah | Mesin tanpa MDM, host Linux, atau gambar yang Anda bangun sendiri |77| Berbasis file | Sebagai `managed-settings.json` di direktori sistem di setiap mesin; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan dimuat ulang ketika file berubah | Mesin tanpa MDM, host Linux, atau gambar yang Anda bangun sendiri |


207Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah `"merge"`. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menamai setiap kunci dalam tiga baris: daftar izin pembatasan, nilai yang diambil seluruhnya, dan kunci yang dibaca dari sumber dengan peringkat tertinggi saja.207Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah `"merge"`. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menamai setiap kunci dalam tiga baris: daftar izin pembatasan, nilai yang diambil seluruhnya, dan kunci yang dibaca dari sumber dengan peringkat tertinggi saja.

208 208 

209| Jenis kunci | Bagaimana Claude Code menggabungkannya | Contoh |209| Jenis kunci | Bagaimana Claude Code menggabungkannya | Contoh |

210| :------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |210| :- | :- | :- |

211| Daftar | Menggabungkan entri dari setiap sumber | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |211| Daftar | Menggabungkan entri dari setiap sumber | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |

212| Kunci | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun; nilai yang lebih longgar berlaku hanya dari sumber dengan peringkat tertinggi | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |212| Kunci | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun; nilai yang lebih longgar berlaku hanya dari sumber dengan peringkat tertinggi | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |

213| Daftar izin pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menambahkan entri dari sumber lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |213| Daftar izin pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menambahkan entri dari sumber lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |


363Beberapa kunci penegakan tidak dihapus ketika tidak valid. Claude Code memberlakukan fallback yang lebih ketat sampai nilai diperbaiki; tabel menunjukkan apa yang diberlakukannya untuk setiap kunci:363Beberapa kunci penegakan tidak dihapus ketika tidak valid. Claude Code memberlakukan fallback yang lebih ketat sampai nilai diperbaiki; tabel menunjukkan apa yang diberlakukannya untuk setiap kunci:

364 364 

365| Bidang | Perilaku ketika ada tetapi tidak valid |365| Bidang | Perilaku ketika ada tetapi tidak valid |

366| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |366| :- | :- |

367| `allowedMcpServers` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, jadi tidak ada server MCP yang pengguna tambahkan yang diakui. Server yang organisasi Anda berikan melalui [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) masih dimuat, dan server `managed-mcp.json` dimuat per [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated). Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. |367| `allowedMcpServers` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, jadi tidak ada server MCP yang pengguna tambahkan yang diakui. Server yang organisasi Anda berikan melalui [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) masih dimuat, dan server `managed-mcp.json` dimuat per [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated). Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. |

368| `allowedHttpHookUrls` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#allowedhttphookurls) sampai Anda memperbaiki nilai, jadi HTTP hook berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |368| `allowedHttpHookUrls` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#allowedhttphookurls) sampai Anda memperbaiki nilai, jadi HTTP hook berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |

369| `httpHookAllowedEnvVars` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#httphookallowedenvvars) sampai Anda memperbaiki nilai, jadi variabel header diinterpolasi hanya jika file pengaturan lain menamainya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |369| `httpHookAllowedEnvVars` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#httphookallowedenvvars) sampai Anda memperbaiki nilai, jadi variabel header diinterpolasi hanya jika file pengaturan lain menamainya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |


404Tabel mencakup kontrol izin, plugin, dan pengiriman. Untuk kunci apa pun yang tidak tercantum di sini, kolom Scope dari [referensi pengaturan](/docs/id/settings-reference#all-settings) index mengatakan apakah itu terkelola saja; kunci terkelola saja yang tersisa di sana termasuk URL login gateway, versi, browser, mobile-simulator, host SSH, Desktop sesi lokal, jalur biner sandbox, harga model, dan kontrol CLAUDE.md.404Tabel mencakup kontrol izin, plugin, dan pengiriman. Untuk kunci apa pun yang tidak tercantum di sini, kolom Scope dari [referensi pengaturan](/docs/id/settings-reference#all-settings) index mengatakan apakah itu terkelola saja; kunci terkelola saja yang tersisa di sana termasuk URL login gateway, versi, browser, mobile-simulator, host SSH, Desktop sesi lokal, jalur biner sandbox, harga model, dan kontrol CLAUDE.md.

405 405 

406| Pengaturan | Deskripsi |406| Pengaturan | Deskripsi |

407| :-------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |407| :- | :- |

408| [`allowAllClaudeAiMcps`](/docs/id/settings-reference#allowallclaudeaimcps) | Muat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json` yang diterapkan alih-alih menekannya |408| [`allowAllClaudeAiMcps`](/docs/id/settings-reference#allowallclaudeaimcps) | Muat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json` yang diterapkan alih-alih menekannya |

409| [`allowedChannelPlugins`](/docs/id/settings-reference#allowedchannelplugins) | Daftar izin plugin channel yang dapat mendorong pesan. Mengganti daftar izin Anthropic default ketika diatur. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat berjalan](/docs/id/channels#restrict-which-channel-plugins-can-run) |409| [`allowedChannelPlugins`](/docs/id/settings-reference#allowedchannelplugins) | Daftar izin plugin channel yang dapat mendorong pesan. Mengganti daftar izin Anthropic default ketika diatur. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat berjalan](/docs/id/channels#restrict-which-channel-plugins-can-run) |

410| [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) | Ketika `true`, membatasi hook mana yang berjalan; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap |410| [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) | Ketika `true`, membatasi hook mana yang berjalan; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap |

mcp.md +5 −5

Details

572Server MCP dapat dikonfigurasi pada tiga cakupan berbeda. Cakupan yang Anda pilih mengontrol proyek mana tempat server dimuat dan apakah konfigurasi dibagikan dengan tim Anda. Administrator juga dapat menerapkan atau menyediakan server untuk setiap pengguna melalui [konfigurasi terkelola](#managed-mcp-configuration).572Server MCP dapat dikonfigurasi pada tiga cakupan berbeda. Cakupan yang Anda pilih mengontrol proyek mana tempat server dimuat dan apakah konfigurasi dibagikan dengan tim Anda. Administrator juga dapat menerapkan atau menyediakan server untuk setiap pengguna melalui [konfigurasi terkelola](#managed-mcp-configuration).

573 573 

574| Cakupan | Dimuat dalam | Dibagikan dengan tim | Disimpan dalam |574| Cakupan | Dimuat dalam | Dibagikan dengan tim | Disimpan dalam |

575| ------------------------ | --------------------- | ------------------------- | -------------------------- |575| - | - | - | - |

576| [Lokal](#local-scope) | Hanya proyek saat ini | Tidak | `~/.claude.json` |576| [Lokal](#local-scope) | Hanya proyek saat ini | Tidak | `~/.claude.json` |

577| [Proyek](#project-scope) | Hanya proyek saat ini | Ya, melalui kontrol versi | `.mcp.json` di root proyek |577| [Proyek](#project-scope) | Hanya proyek saat ini | Ya, melalui kontrol versi | `.mcp.json` di root proyek |

578| [Pengguna](#user-scope) | Semua proyek Anda | Tidak | `~/.claude.json` |578| [Pengguna](#user-scope) | Semua proyek Anda | Tidak | `~/.claude.json` |


1085Claude Code menetapkan variabel lingkungan ini saat menjalankan helper:1085Claude Code menetapkan variabel lingkungan ini saat menjalankan helper:

1086 1086 

1087| Variabel | Nilai |1087| Variabel | Nilai |

1088| :---------------------------- | :--------------------------------------------------------------------------------------------------------- |1088| :- | :- |

1089| `CLAUDE_CODE_MCP_SERVER_NAME` | nama server MCP |1089| `CLAUDE_CODE_MCP_SERVER_NAME` | nama server MCP |

1090| `CLAUDE_CODE_MCP_SERVER_URL` | URL server MCP |1090| `CLAUDE_CODE_MCP_SERVER_URL` | URL server MCP |

1091| `CLAUDE_PLUGIN_ROOT` | direktori root plugin. Diatur hanya ketika [plugin](/docs/id/plugins/components#mcp-servers) menyediakan server |1091| `CLAUDE_PLUGIN_ROOT` | direktori root plugin. Diatur hanya ketika [plugin](/docs/id/plugins/components#mcp-servers) menyediakan server |


1101Claude Code memilih direktori kerja perintah `headersHelper` dari konfigurasi yang mendeklarasikan server. `cd` yang Claude jalankan di Bash tidak memindahkannya, dan [`/cd`](/docs/id/permissions#move-the-session-to-another-directory) memindahkannya hanya untuk server yang berjalan dari direktori kerja utama sesi. Setiap baris di bawah memberikan direktori yang jalur relatif dalam perintah `headersHelper` Anda diselesaikan.1101Claude Code memilih direktori kerja perintah `headersHelper` dari konfigurasi yang mendeklarasikan server. `cd` yang Claude jalankan di Bash tidak memindahkannya, dan [`/cd`](/docs/id/permissions#move-the-session-to-another-directory) memindahkannya hanya untuk server yang berjalan dari direktori kerja utama sesi. Setiap baris di bawah memberikan direktori yang jalur relatif dalam perintah `headersHelper` Anda diselesaikan.

1102 1102 

1103| Tempat Anda mengonfigurasi server | Direktori kerja |1103| Tempat Anda mengonfigurasi server | Direktori kerja |

1104| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |1104| :- | :- |

1105| [Plugin](/docs/id/plugins/components#mcp-servers) | Direktori root plugin. Memerlukan Claude Code v2.1.195 atau lebih baru |1105| [Plugin](/docs/id/plugins/components#mcp-servers) | Direktori root plugin. Memerlukan Claude Code v2.1.195 atau lebih baru |

1106| File `.mcp.json` proyek atau server [cakupan lokal](#local-scope) | Direktori proyek tempat server dideklarasikan |1106| File `.mcp.json` proyek atau server [cakupan lokal](#local-scope) | Direktori proyek tempat server dideklarasikan |

1107| File agen di proyek Anda, server dari opsi `mcpServers` SDK atau metode `setMcpServers()`, atau [`--mcp-config`](/docs/id/cli-reference) | [Direktori kerja utama](/docs/id/permissions#working-directories) sesi |1107| File agen di proyek Anda, server dari opsi `mcpServers` SDK atau metode `setMcpServers()`, atau [`--mcp-config`](/docs/id/cli-reference) | [Direktori kerja utama](/docs/id/permissions#working-directories) sesi |


1270Pengaturan mana yang mengatur connector claude.ai tergantung pada tempat sesi Anda berjalan, karena hanya beberapa sesi yang mengambil connector dari claude.ai sendiri. Setiap baris di bawah menunjukkan bagaimana connector tiba dalam satu jenis sesi dan apa yang mengontrolnya di sana. [Sesi WSL](/docs/id/desktop-wsl#what-works-in-a-wsl-session) aplikasi desktop tidak memiliki baris karena connector belum tersedia di dalamnya.1270Pengaturan mana yang mengatur connector claude.ai tergantung pada tempat sesi Anda berjalan, karena hanya beberapa sesi yang mengambil connector dari claude.ai sendiri. Setiap baris di bawah menunjukkan bagaimana connector tiba dalam satu jenis sesi dan apa yang mengontrolnya di sana. [Sesi WSL](/docs/id/desktop-wsl#what-works-in-a-wsl-session) aplikasi desktop tidak memiliki baris karena connector belum tersedia di dalamnya.

1271 1271 

1272| Tempat sesi berjalan | Bagaimana connector tiba | Apa yang mengontrol mereka |1272| Tempat sesi berjalan | Bagaimana connector tiba | Apa yang mengontrol mereka |

1273| :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1273| :- | :- | :- |

1274| Terminal, [VS Code](/docs/id/vs-code), [JetBrains](/docs/id/jetbrains), dan sesi [Agent SDK](/docs/id/agent-sdk/claude-code-features) | Claude Code mengambilnya dari claude.ai | Pengaturan di bagian ini dan [konfigurasi MCP yang dikelola](/docs/id/managed-mcp) |1274| Terminal, [VS Code](/docs/id/vs-code), [JetBrains](/docs/id/jetbrains), dan sesi [Agent SDK](/docs/id/agent-sdk/claude-code-features) | Claude Code mengambilnya dari claude.ai | Pengaturan di bagian ini dan [konfigurasi MCP yang dikelola](/docs/id/managed-mcp) |

1275| [Sesi cloud](/docs/id/claude-code-on-the-web) | Host jarak jauh meneruskannya | Pengaturan organisasi claude.ai Anda, ditambah pengaturan [allowlist dan denylist](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists) yang mencapai sesi dan `managed-mcp.json` apa pun di host yang menjalankannya |1275| [Sesi cloud](/docs/id/claude-code-on-the-web) | Host jarak jauh meneruskannya | Pengaturan organisasi claude.ai Anda, ditambah pengaturan [allowlist dan denylist](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists) yang mencapai sesi dan `managed-mcp.json` apa pun di host yang menjalankannya |

1276| [Aplikasi desktop](/docs/id/desktop) sesi lokal dan SSH | Aplikasi desktop mengirimkannya dalam proses | Entri `blocked` dalam [kontrol alat connector](#organization-controls-on-connector-tools) organisasi Anda |1276| [Aplikasi desktop](/docs/id/desktop) sesi lokal dan SSH | Aplikasi desktop mengirimkannya dalam proses | Entri `blocked` dalam [kontrol alat connector](#organization-controls-on-connector-tools) organisasi Anda |


1586Kontrol perilaku pencarian tool dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:1586Kontrol perilaku pencarian tool dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:

1587 1587 

1588| Nilai | Perilaku |1588| Nilai | Perilaku |

1589| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1589| :- | :- |

1590| (tidak diatur) | Semua tool MCP ditunda dan dimuat sesuai permintaan. Kembali ke pemuatan di awal pada model Agent Platform Google Cloud yang lebih awal dari generasi Claude 4.5, ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama, atau pada deployment Microsoft Foundry yang dihosting di Azure |1590| (tidak diatur) | Semua tool MCP ditunda dan dimuat sesuai permintaan. Kembali ke pemuatan di awal pada model Agent Platform Google Cloud yang lebih awal dari generasi Claude 4.5, ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama, atau pada deployment Microsoft Foundry yang dihosting di Azure |

1591| `true` | Semua tool MCP ditunda, kecuali pada deployment Microsoft Foundry yang dihosting di Azure, di mana penolakan sisi server masih memaksa pemuatan di awal, dan pada model Agent Platform Google Cloud yang lebih awal dari generasi Claude 4.5, di mana Claude Code terus memuat tool di awal. Claude Code mengirim header beta melalui proxy, dan permintaan gagal pada proxy yang tidak mendukung blok `tool_reference` |1591| `true` | Semua tool MCP ditunda, kecuali pada deployment Microsoft Foundry yang dihosting di Azure, di mana penolakan sisi server masih memaksa pemuatan di awal, dan pada model Agent Platform Google Cloud yang lebih awal dari generasi Claude 4.5, di mana Claude Code terus memuat tool di awal. Claude Code mengirim header beta melalui proxy, dan permintaan gagal pada proxy yang tidak mendukung blok `tool_reference` |

1592| `auto` | Mode ambang: Claude Code memuat tool yang akan ditunda di awal sementara definisinya berjumlah kurang dari 10% jendela konteks, dan menunda semuanya setelah definisi mencapai 10% |1592| `auto` | Mode ambang: Claude Code memuat tool yang akan ditunda di awal sementara definisinya berjumlah kurang dari 10% jendela konteks, dan menunda semuanya setelah definisi mencapai 10% |

Details

61 Server muncul dengan indikator status:61 Server muncul dengan indikator status:

62 62 

63 | Status | Arti |63 | Status | Arti |

64 | :------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64 | :- | :- |

65 | `✔ Connected` | Siap digunakan. Ini adalah apa yang seharusnya Anda lihat untuk `claude-code-docs` |65 | `✔ Connected` | Siap digunakan. Ini adalah apa yang seharusnya Anda lihat untuk `claude-code-docs` |

66 | `! Connected · tools fetch failed` | Server terhubung tetapi tidak dapat membuat daftar alatnya. Jalankan `claude mcp get <name>` untuk detail kesalahan |66 | `! Connected · tools fetch failed` | Server terhubung tetapi tidak dapat membuat daftar alatnya. Jalankan `claude mcp get <name>` untuk detail kesalahan |

67 | `! Needs authentication` | Server dapat dijangkau tetapi memerlukan masuk browser, atau token yang diteruskan dengan `--header`. Lihat [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in) |67 | `! Needs authentication` | Server dapat dijangkau tetapi memerlukan masuk browser, atau token yang diteruskan dengan `--header`. Lihat [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in) |


129Perintah `claude mcp add` menulis server ke salah satu dari tiga cakupan, disimpan di dua file, tergantung pada flag `--scope`. Anda tidak perlu mengedit file ini secara langsung, tetapi mengetahui di mana file ini berada membantu dengan debugging dan kontrol versi.129Perintah `claude mcp add` menulis server ke salah satu dari tiga cakupan, disimpan di dua file, tergantung pada flag `--scope`. Anda tidak perlu mengedit file ini secara langsung, tetapi mengetahui di mana file ini berada membantu dengan debugging dan kontrol versi.

130 130 

131| Cakupan | File | Tersedia untuk |131| Cakupan | File | Tersedia untuk |

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

133| `local` | `~/.claude.json`, di bawah entri untuk proyek ini | Hanya Anda, hanya proyek ini. Default |133| `local` | `~/.claude.json`, di bawah entri untuk proyek ini | Hanya Anda, hanya proyek ini. Default |

134| `project` | `.mcp.json` di root proyek Anda | Semua orang yang mengkloning proyek |134| `project` | `.mcp.json` di root proyek Anda | Semua orang yang mengkloning proyek |

135| `user` | `~/.claude.json`, di bawah kunci `mcpServers` tingkat atas | Hanya Anda, semua proyek |135| `user` | `~/.claude.json`, di bawah kunci `mcpServers` tingkat atas | Hanya Anda, semua proyek |

memory.md +8 −8

Details

26Claude Code memiliki dua sistem memori yang saling melengkapi. Keduanya dimuat di awal setiap percakapan. Claude memperlakukan mereka sebagai konteks, bukan konfigurasi yang diberlakukan. Untuk memblokir suatu tindakan terlepas dari apa yang Claude putuskan, gunakan [hook PreToolUse](/docs/id/hooks-guide) sebagai gantinya. Semakin spesifik dan ringkas instruksi Anda, semakin konsisten Claude mengikutinya.26Claude Code memiliki dua sistem memori yang saling melengkapi. Keduanya dimuat di awal setiap percakapan. Claude memperlakukan mereka sebagai konteks, bukan konfigurasi yang diberlakukan. Untuk memblokir suatu tindakan terlepas dari apa yang Claude putuskan, gunakan [hook PreToolUse](/docs/id/hooks-guide) sebagai gantinya. Semakin spesifik dan ringkas instruksi Anda, semakin konsisten Claude mengikutinya.

27 27 

28| | File CLAUDE.md | Auto memory |28| | File CLAUDE.md | Auto memory |

29| :------------------------ | :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------ |29| :- | :- | :- |

30| **Siapa yang menulisnya** | Anda | Claude |30| **Siapa yang menulisnya** | Anda | Claude |

31| **Apa yang dikandungnya** | Instruksi dan aturan | Pembelajaran dan pola |31| **Apa yang dikandungnya** | Instruksi dan aturan | Pembelajaran dan pola |

32| **Cakupan** | Proyek, pengguna, atau organisasi | Per repositori, dibagikan di seluruh worktrees |32| **Cakupan** | Proyek, pengguna, atau organisasi | Per repositori, dibagikan di seluruh worktrees |


63File CLAUDE.md dapat berada di beberapa lokasi, masing-masing dengan cakupan berbeda. Tabel di bawah mencantumnya dalam urutan pemuatan, dari cakupan terluas hingga paling spesifik, sehingga instruksi proyek muncul dalam konteks setelah instruksi pengguna.63File CLAUDE.md dapat berada di beberapa lokasi, masing-masing dengan cakupan berbeda. Tabel di bawah mencantumnya dalam urutan pemuatan, dari cakupan terluas hingga paling spesifik, sehingga instruksi proyek muncul dalam konteks setelah instruksi pengguna.

64 64 

65| Cakupan | Lokasi | Tujuan | Contoh kasus penggunaan | Dibagikan dengan |65| Cakupan | Lokasi | Tujuan | Contoh kasus penggunaan | Dibagikan dengan |

66| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------ | ---------------------------------- |66| - | - | - | - | - |

67| **Kebijakan terkelola** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux dan WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Instruksi di seluruh organisasi yang dikelola oleh IT/DevOps | Standar pengkodean perusahaan, kebijakan keamanan, persyaratan kepatuhan | Semua pengguna dalam organisasi |67| **Kebijakan terkelola** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux dan WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Instruksi di seluruh organisasi yang dikelola oleh IT/DevOps | Standar pengkodean perusahaan, kebijakan keamanan, persyaratan kepatuhan | Semua pengguna dalam organisasi |

68| **Instruksi pengguna** | `~/.claude/CLAUDE.md` | Preferensi pribadi untuk semua proyek | Preferensi gaya kode, pintasan alat pribadi | Hanya Anda (semua proyek) |68| **Instruksi pengguna** | `~/.claude/CLAUDE.md` | Preferensi pribadi untuk semua proyek | Preferensi gaya kode, pintasan alat pribadi | Hanya Anda (semua proyek) |

69| **Instruksi proyek** | `./CLAUDE.md` atau `./.claude/CLAUDE.md`. Lihat [AGENTS.md](#agents-md) untuk kapan `./AGENTS.md` dimuat sebagai gantinya atau bersama dengannya | Instruksi bersama tim untuk proyek | Arsitektur proyek, standar pengkodean, alur kerja umum | Anggota tim melalui kontrol sumber |69| **Instruksi proyek** | `./CLAUDE.md` atau `./.claude/CLAUDE.md`. Lihat [AGENTS.md](#agents-md) untuk kapan `./AGENTS.md` dimuat sebagai gantinya atau bersama dengannya | Instruksi bersama tim untuk proyek | Arsitektur proyek, standar pengkodean, alur kerja umum | Anggota tim melalui kontrol sumber |


223Gunakan pola glob dalam bidang `paths` untuk mencocokkan file berdasarkan ekstensi, direktori, atau kombinasi apa pun:223Gunakan pola glob dalam bidang `paths` untuk mencocokkan file berdasarkan ekstensi, direktori, atau kombinasi apa pun:

224 224 

225| Pola | Cocok dengan |225| Pola | Cocok dengan |

226| ---------------------- | ------------------------------------------ |226| - | - |

227| `**/*.ts` | Semua file TypeScript di direktori apa pun |227| `**/*.ts` | Semua file TypeScript di direktori apa pun |

228| `src/**/*` | Semua file di bawah direktori `src/` |228| `src/**/*` | Semua file di bawah direktori `src/` |

229| `*.md` | File Markdown di akar proyek |229| `*.md` | File Markdown di akar proyek |


253Konfigurasi aturan dengan [frontmatter](/docs/id/glossary#frontmatter) YAML antara penanda `---` di bagian atas file. `paths` adalah satu-satunya bidang yang Claude Code baca dari aturan; bidang lain diabaikan tanpa kesalahan. Claude Code menghapus frontmatter sebelum memuat aturan ke dalam konteks.253Konfigurasi aturan dengan [frontmatter](/docs/id/glossary#frontmatter) YAML antara penanda `---` di bagian atas file. `paths` adalah satu-satunya bidang yang Claude Code baca dari aturan; bidang lain diabaikan tanpa kesalahan. Claude Code menghapus frontmatter sebelum memuat aturan ke dalam konteks.

254 254 

255| Bidang | Diperlukan | Deskripsi |255| Bidang | Diperlukan | Deskripsi |

256| :------ | :--------- | :-------------------------------------------------------------------------------------------------------------------------------- |256| :- | :- | :- |

257| `paths` | Tidak | Pola glob yang [membatasi aturan ke file yang cocok](#path-specific-rules). Menerima daftar YAML atau string yang dipisahkan koma |257| `paths` | Tidak | Pola glob yang [membatasi aturan ke file yang cocok](#path-specific-rules). Menerima daftar YAML atau string yang dipisahkan koma |

258 258 

259Jika YAML antara penanda tidak diuraikan, Claude Code mengabaikan frontmatter dan memuat aturan seolah-olah tidak memiliki `paths`. Jalankan `claude --debug` untuk melihat kesalahan penguraian.259Jika YAML antara penanda tidak diuraikan, Claude Code mengabaikan frontmatter dan memuat aturan seolah-olah tidak memiliki `paths`. Jalankan `claude --debug` untuk melihat kesalahan penguraian.


330CLAUDE.md terkelola dan [pengaturan terkelola](/docs/id/managed-settings) melayani tujuan berbeda. Gunakan pengaturan untuk penegakan teknis dan CLAUDE.md untuk panduan perilaku:330CLAUDE.md terkelola dan [pengaturan terkelola](/docs/id/managed-settings) melayani tujuan berbeda. Gunakan pengaturan untuk penegakan teknis dan CLAUDE.md untuk panduan perilaku:

331 331 

332| Kekhawatiran | Konfigurasi di |332| Kekhawatiran | Konfigurasi di |

333| :---------------------------------------------- | :------------------------------------------------------------ |333| :- | :- |

334| Blokir alat, perintah, atau jalur file tertentu | Pengaturan terkelola: `permissions.deny` |334| Blokir alat, perintah, atau jalur file tertentu | Pengaturan terkelola: `permissions.deny` |

335| Terapkan isolasi sandbox | Pengaturan terkelola: `sandbox.enabled` |335| Terapkan isolasi sandbox | Pengaturan terkelola: `sandbox.enabled` |

336| Variabel lingkungan dan perutean penyedia API | Pengaturan terkelola: `env` |336| Variabel lingkungan dan perutean penyedia API | Pengaturan terkelola: `env` |


371Claude Code dapat membaca [`AGENTS.md`](/docs/id/glossary#agents-md) sebagai instruksi proyek Anda, sehingga repositori yang sudah diatur untuk agen pengkodean lain berfungsi tanpa menambahkan `CLAUDE.md`, impor, atau pengaturan. Tabel ini menunjukkan apa yang Claude baca secara default untuk setiap kombinasi file instruksi di repositori Anda:371Claude Code dapat membaca [`AGENTS.md`](/docs/id/glossary#agents-md) sebagai instruksi proyek Anda, sehingga repositori yang sudah diatur untuk agen pengkodean lain berfungsi tanpa menambahkan `CLAUDE.md`, impor, atau pengaturan. Tabel ini menunjukkan apa yang Claude baca secara default untuk setiap kombinasi file instruksi di repositori Anda:

372 372 

373| Repositori Anda memiliki | Claude membaca |373| Repositori Anda memiliki | Claude membaca |

374| :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------ |374| :- | :- |

375| `AGENTS.md`, dan tidak ada `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya | `AGENTS.md` Anda |375| `AGENTS.md`, dan tidak ada `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya | `AGENTS.md` Anda |

376| `AGENTS.md` dan `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya | File `CLAUDE.md` Anda saja |376| `AGENTS.md` dan `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya | File `CLAUDE.md` Anda saja |

377| `CLAUDE.md` yang sudah [mengimpor `AGENTS.md`](#share-one-file-with-other-coding-tools) | `CLAUDE.md` Anda, dengan `AGENTS.md` disertakan melalui impor |377| `CLAUDE.md` yang sudah [mengimpor `AGENTS.md`](#share-one-file-with-other-coding-tools) | `CLAUDE.md` Anda, dengan `AGENTS.md` disertakan melalui impor |


409Untuk mengubah file mana yang Claude baca, ketik `/config` dalam sesi Claude Code untuk membuka panel pengaturan, kemudian atur **Project instructions** ke salah satu nilai berikut:409Untuk mengubah file mana yang Claude baca, ketik `/config` dalam sesi Claude Code untuk membuka panel pengaturan, kemudian atur **Project instructions** ke salah satu nilai berikut:

410 410 

411| Value | What Claude reads |411| Value | What Claude reads |

412| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |412| :- | :- |

413| `claude-md-or-agents-md` | File `CLAUDE.md` Anda, atau file `AGENTS.md` Anda ketika Anda tidak memiliki `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya. Ini adalah default |413| `claude-md-or-agents-md` | File `CLAUDE.md` Anda, atau file `AGENTS.md` Anda ketika Anda tidak memiliki `CLAUDE.md` atau `CLAUDE.local.md` di direktori kerja Anda atau di atasnya. Ini adalah default |

414| `claude-md-and-agents-md` | File `CLAUDE.md` dan `AGENTS.md` Anda bersama-sama, file `CLAUDE.md` setiap direktori terlebih dahulu dan `AGENTS.md` nya setelahnya. Claude Code melewati `AGENTS.md` yang sudah dimuat, sehingga yang diimpor atau disimlink oleh `CLAUDE.md` Anda tidak dibaca dua kali |414| `claude-md-and-agents-md` | File `CLAUDE.md` dan `AGENTS.md` Anda bersama-sama, file `CLAUDE.md` setiap direktori terlebih dahulu dan `AGENTS.md` nya setelahnya. Claude Code melewati `AGENTS.md` yang sudah dimuat, sehingga yang diimpor atau disimlink oleh `CLAUDE.md` Anda tidak dibaca dua kali |

415| `claude-md` | File `CLAUDE.md` Anda saja |415| `claude-md` | File `CLAUDE.md` Anda saja |


448`AGENTS.md` yang Claude baca melalui pengaturan **Project instructions** berbeda dari `CLAUDE.md` di tempat-tempat ini:448`AGENTS.md` yang Claude baca melalui pengaturan **Project instructions** berbeda dari `CLAUDE.md` di tempat-tempat ini:

449 449 

450| | `CLAUDE.md` | `AGENTS.md` dibaca melalui pengaturan |450| | `CLAUDE.md` | `AGENTS.md` dibaca melalui pengaturan |

451| :----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- |451| :- | :- | :- |

452| Hook [`InstructionsLoaded`](/docs/id/hooks#instructionsloaded) | Aktif | Tidak aktif. Mereka aktif seperti biasa untuk `AGENTS.md` yang diimpor atau disimlink oleh `CLAUDE.md` |452| Hook [`InstructionsLoaded`](/docs/id/hooks#instructionsloaded) | Aktif | Tidak aktif. Mereka aktif seperti biasa untuk `AGENTS.md` yang diimpor atau disimlink oleh `CLAUDE.md` |

453| Direktori yang Anda tambahkan dengan `--add-dir` saat [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) diatur | `CLAUDE.md` mereka dimuat | `AGENTS.md` mereka tidak dimuat |453| Direktori yang Anda tambahkan dengan `--add-dir` saat [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) diatur | `CLAUDE.md` mereka dimuat | `AGENTS.md` mereka tidak dimuat |

454| Impor `@path` dari file di luar direktori kerja Anda | Claude Code meminta Anda menyetujui [external imports](#import-additional-files) | Dimuat hanya jika Anda sudah menyetujui impor eksternal untuk proyek ini, tanpa prompt |454| Impor `@path` dari file di luar direktori kerja Anda | Claude Code meminta Anda menyetujui [external imports](#import-additional-files) | Dimuat hanya jika Anda sudah menyetujui impor eksternal untuk proyek ini, tanpa prompt |

mobile.md +1 −1

Details

41Dari aplikasi Anda dapat memulai sesi cloud, membuka proyek, menjalankan sesi Claude Code yang berjalan di komputer Anda, atau mengirimkan pesan Dispatch dengan tugas. Aplikasi sama untuk masing-masing; mereka berbeda dalam tempat pekerjaan terjadi.41Dari aplikasi Anda dapat memulai sesi cloud, membuka proyek, menjalankan sesi Claude Code yang berjalan di komputer Anda, atau mengirimkan pesan Dispatch dengan tugas. Aplikasi sama untuk masing-masing; mereka berbeda dalam tempat pekerjaan terjadi.

42 42 

43| Fitur | Apa yang Anda hubungkan | Kapan digunakan |43| Fitur | Apa yang Anda hubungkan | Kapan digunakan |

44| :--------------------------------------------- | :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |44| :- | :- | :- |

45| [Cloud sessions](/docs/id/claude-code-on-the-web) | Sesi di infrastruktur cloud, dikelola Anthropic secara default | Repositori Anda ada di GitHub dan tugas harus terus berjalan setelah Anda meletakkan ponsel Anda. Lihat [panduan cepat cloud](/docs/id/web-quickstart) untuk menyiapkan. |45| [Cloud sessions](/docs/id/claude-code-on-the-web) | Sesi di infrastruktur cloud, dikelola Anthropic secara default | Repositori Anda ada di GitHub dan tugas harus terus berjalan setelah Anda meletakkan ponsel Anda. Lihat [panduan cepat cloud](/docs/id/web-quickstart) untuk menyiapkan. |

46| [Projects](/docs/id/claude-projects) | Percakapan di mana Claude mengoordinasikan sesi cloud paralel sebagai thread | Anda memiliki aliran pekerjaan terkait daripada satu tugas dan ingin melihat thread mana yang selesai atau memerlukan Anda. |46| [Projects](/docs/id/claude-projects) | Percakapan di mana Claude mengoordinasikan sesi cloud paralel sebagai thread | Anda memiliki aliran pekerjaan terkait daripada satu tugas dan ingin melihat thread mana yang selesai atau memerlukan Anda. |

47| [Remote Control](/docs/id/remote-control) | Sesi Claude Code yang berjalan di komputer Anda | Pekerjaan memerlukan sistem file lokal, alat, atau server MCP Anda. |47| [Remote Control](/docs/id/remote-control) | Sesi Claude Code yang berjalan di komputer Anda | Pekerjaan memerlukan sistem file lokal, alat, atau server MCP Anda. |

model-config.md +12 −12

Details

32Gunakan alias model untuk memilih pengaturan model tanpa perlu mengingat nomor versi yang tepat:32Gunakan alias model untuk memilih pengaturan model tanpa perlu mengingat nomor versi yang tepat:

33 33 

34| Alias model | Perilaku |34| Alias model | Perilaku |

35| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |35| - | - |

36| **`default`** | Nilai khusus yang menghapus penggantian model apa pun dan kembali ke [default runtime untuk akun Anda](#default-model-setting). Bukan sendiri alias model |36| **`default`** | Nilai khusus yang menghapus penggantian model apa pun dan kembali ke [default runtime untuk akun Anda](#default-model-setting). Bukan sendiri alias model |

37| **`best`** | Menggunakan model yang diselesaikan oleh alias [`fable`](#fable-alias-resolution) di mana Fable tersedia untuk Anda, jika tidak maka model yang sama dengan `opus` |37| **`best`** | Menggunakan model yang diselesaikan oleh alias [`fable`](#fable-alias-resolution) di mana Fable tersedia untuk Anda, jika tidak maka model yang sama dengan `opus` |

38| **`fable`** | Menggunakan [model Fable untuk penyedia Anda](#fable-alias-resolution) untuk tugas-tugas tersulit dan paling lama |38| **`fable`** | Menggunakan [model Fable untuk penyedia Anda](#fable-alias-resolution) untuk tugas-tugas tersulit dan paling lama |


46Versi yang diselesaikan oleh alias `opus` dan `sonnet` tergantung pada penyedia:46Versi yang diselesaikan oleh alias `opus` dan `sonnet` tergantung pada penyedia:

47 47 

48| Penyedia | `opus` | `sonnet` |48| Penyedia | `opus` | `sonnet` |

49| :--------------------------------------------------- | :------- | :--------- |49| :- | :- | :- |

50| Anthropic API | Opus 5.5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5 |

51| [Claude Platform on AWS](/docs/id/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/id/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |


290Setiap permukaan memberlakukan daftar izin yang diterimanya. Mekanisme pengiriman mana yang mencapai setiap permukaan berbeda:290Setiap permukaan memberlakukan daftar izin yang diterimanya. Mekanisme pengiriman mana yang mencapai setiap permukaan berbeda:

291 291 

292| Mekanisme pengiriman | CLI dan IDE | Sesi lokal desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |292| Mekanisme pengiriman | CLI dan IDE | Sesi lokal desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |

293| :----------------------------------------------------------------------------- | :----------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------- | :--------------------------------- |293| :- | :- | :- | :- | :- | :- |

294| [Pengaturan terkelola server](/docs/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirim |294| [Pengaturan terkelola server](/docs/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirim |

295| [File MDM atau pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Diberlakukan | Diberlakukan | Tidak dikirim di lingkungan yang dihosting Anthropic; di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments), diberlakukan dari gambar runner per [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) | Diberlakukan | Diberlakukan di mana pun digunakan |295| [File MDM atau pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Diberlakukan | Diberlakukan | Tidak dikirim di lingkungan yang dihosting Anthropic; di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments), diberlakukan dari gambar runner per [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) | Diberlakukan | Diberlakukan di mana pun digunakan |

296 296 


578Tingkat usaha yang tersedia tergantung pada model. Model yang tidak tercantum di sini tidak mendukung usaha:578Tingkat usaha yang tersedia tergantung pada model. Model yang tidak tercantum di sini tidak mendukung usaha:

579 579 

580| Model | Tingkat |580| Model | Tingkat |

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

582| Fable 5.1 dan Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 dan Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |


640Setiap tingkat menukar pengeluaran token terhadap kemampuan. Default cocok untuk sebagian besar tugas pengkodean; sesuaikan ketika Anda menginginkan keseimbangan berbeda.640Setiap tingkat menukar pengeluaran token terhadap kemampuan. Default cocok untuk sebagian besar tugas pengkodean; sesuaikan ketika Anda menginginkan keseimbangan berbeda.

641 641 

642| Tingkat | Kapan menggunakannya |642| Tingkat | Kapan menggunakannya |

643| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |643| :- | :- |

644| `low` | Cadangkan untuk tugas pendek, terbatas, sensitif latensi yang tidak sensitif intelijen |644| `low` | Cadangkan untuk tugas pendek, terbatas, sensitif latensi yang tidak sensitif intelijen |

645| `medium` | Mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen. Default pada Opus 5.5 |645| `medium` | Mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen. Default pada Opus 5.5 |

646| `high` | Menyeimbangkan penggunaan token dan intelijen. Default pada setiap model kecuali Opus 5.5 dan Opus 4.7 |646| `high` | Menyeimbangkan penggunaan token dan intelijen. Default pada setiap model kecuali Opus 5.5 dan Opus 4.7 |


693Pemikiran yang diperpanjang adalah penalaran yang Claude keluarkan sebelum merespons. Pada model yang mendukung [penalaran adaptif](#adjust-effort-level), tingkat usaha adalah kontrol utama untuk berapa banyak pemikiran yang terjadi; pengaturan di bawah mengaktifkan atau menonaktifkan pemikiran dan mengontrol cara ditampilkan. Dengan pemikiran dimatikan pada Anthropic API, Claude Code mengirim usaha `high` alih-alih tingkat lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.693Pemikiran yang diperpanjang adalah penalaran yang Claude keluarkan sebelum merespons. Pada model yang mendukung [penalaran adaptif](#adjust-effort-level), tingkat usaha adalah kontrol utama untuk berapa banyak pemikiran yang terjadi; pengaturan di bawah mengaktifkan atau menonaktifkan pemikiran dan mengontrol cara ditampilkan. Dengan pemikiran dimatikan pada Anthropic API, Claude Code mengirim usaha `high` alih-alih tingkat lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.

694 694 

695| Kontrol | Cara menetapkannya |695| Kontrol | Cara menetapkannya |

696| :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |696| :- | :- |

697| Alihkan untuk sesi saat ini | Tekan `Option+T` pada macOS atau `Alt+T` pada Windows dan Linux |697| Alihkan untuk sesi saat ini | Tekan `Option+T` pada macOS atau `Alt+T` pada Windows dan Linux |

698| Atur default global | Jalankan `/config` dan alihkan mode pemikiran. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |698| Atur default global | Jalankan `/config` dan alihkan mode pemikiran. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |

699| Nonaktifkan melalui variabel lingkungan | Atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars), yang menonaktifkan pemikiran pada Anthropic API kecuali pada Opus 5.5 dan model Fable. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), Claude Code menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain hanya berlaku dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |699| Nonaktifkan melalui variabel lingkungan | Atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars), yang menonaktifkan pemikiran pada Anthropic API kecuali pada Opus 5.5 dan model Fable. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), Claude Code menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain hanya berlaku dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |


713Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max.713Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max.

714 714 

715| Paket | Opus 4.6 dengan konteks 1M | Sonnet 4.6 dengan konteks 1M |715| Paket | Opus 4.6 dengan konteks 1M | Sonnet 4.6 dengan konteks 1M |

716| ------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |716| - | - | - |

717| Max, Team, dan Enterprise | Disertakan dengan langganan | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |717| Max, Team, dan Enterprise | Disertakan dengan langganan | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

718| Pro | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |718| Pro | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

719| API dan pay-as-you-go | Akses penuh | Akses penuh |719| API dan pay-as-you-go | Akses penuh | Akses penuh |


854Gunakan variabel lingkungan berikut untuk mengontrol nama model yang dipetakan alias. Setiap nilai harus berupa nama model lengkap, atau pengenal setara untuk penyedia API Anda. Untuk memilih model yang dimulai sesi Anda, atur [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), yang tabel ini abaikan.854Gunakan variabel lingkungan berikut untuk mengontrol nama model yang dipetakan alias. Setiap nilai harus berupa nama model lengkap, atau pengenal setara untuk penyedia API Anda. Untuk memilih model yang dimulai sesi Anda, atur [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), yang tabel ini abaikan.

855 855 

856| Variabel lingkungan | Deskripsi |856| Variabel lingkungan | Deskripsi |

857| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |857| - | - |

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

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

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


880Gunakan variabel lingkungan berikut dengan ID model spesifik versi untuk penyedia Anda:880Gunakan variabel lingkungan berikut dengan ID model spesifik versi untuk penyedia Anda:

881 881 

882| Penyedia | Contoh |882| Penyedia | Contoh |

883| :---------------------------- | :------------------------------------------------------------------- |883| :- | :- |

884| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |884| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |

885| Google Cloud's Agent Platform | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |885| Google Cloud's Agent Platform | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

886| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |886| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |


921Variabel ini berlaku pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Variabel `_NAME` dan `_DESCRIPTION` juga berlaku ketika `ANTHROPIC_BASE_URL` menunjuk ke [gateway LLM](/docs/id/llm-gateway). Mereka tidak berpengaruh saat menghubungkan langsung ke `api.anthropic.com`.921Variabel ini berlaku pada penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Variabel `_NAME` dan `_DESCRIPTION` juga berlaku ketika `ANTHROPIC_BASE_URL` menunjuk ke [gateway LLM](/docs/id/llm-gateway). Mereka tidak berpengaruh saat menghubungkan langsung ke `api.anthropic.com`.

922 922 

923| Variabel lingkungan | Deskripsi |923| Variabel lingkungan | Deskripsi |

924| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |924| - | - |

925| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nama tampilan untuk model Opus yang ditetapkan di pemilih `/model`. Ketika tidak diatur, baris menampilkan nama model jika Claude Code mengenali ID yang ditetapkan, dan ID yang ditetapkan sebaliknya |925| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nama tampilan untuk model Opus yang ditetapkan di pemilih `/model`. Ketika tidak diatur, baris menampilkan nama model jika Claude Code mengenali ID yang ditetapkan, dan ID yang ditetapkan sebaliknya |

926| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Deskripsi tampilan untuk model Opus yang ditetapkan di pemilih `/model`. Ketika tidak diatur, baris menampilkan deskripsi default yang dimulai dengan `Custom Opus model` |926| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Deskripsi tampilan untuk model Opus yang ditetapkan di pemilih `/model`. Ketika tidak diatur, baris menampilkan deskripsi default yang dimulai dengan `Custom Opus model` |

927| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Daftar kemampuan yang dipisahkan koma yang didukung model Opus yang ditetapkan |927| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Daftar kemampuan yang dipisahkan koma yang didukung model Opus yang ditetapkan |


931Claude Code mengaktifkan fitur seperti [tingkat usaha](#adjust-effort-level) dan [extended thinking](#extended-thinking) dengan mencocokkan ID model terhadap pola yang dikenal. ID spesifik penyedia seperti ARN Amazon Bedrock atau nama deployment kustom sering kali tidak cocok dengan pola ini, meninggalkan fitur yang didukung dinonaktifkan. Atur `_SUPPORTED_CAPABILITIES` untuk memberi tahu Claude Code fitur mana yang benar-benar didukung model:931Claude Code mengaktifkan fitur seperti [tingkat usaha](#adjust-effort-level) dan [extended thinking](#extended-thinking) dengan mencocokkan ID model terhadap pola yang dikenal. ID spesifik penyedia seperti ARN Amazon Bedrock atau nama deployment kustom sering kali tidak cocok dengan pola ini, meninggalkan fitur yang didukung dinonaktifkan. Atur `_SUPPORTED_CAPABILITIES` untuk memberi tahu Claude Code fitur mana yang benar-benar didukung model:

932 932 

933| Nilai kemampuan | Mengaktifkan |933| Nilai kemampuan | Mengaktifkan |

934| ---------------------- | --------------------------------------------------------------------------------------------- |934| - | - |

935| `effort` | [Tingkat usaha](#adjust-effort-level) dan perintah `/effort` |935| `effort` | [Tingkat usaha](#adjust-effort-level) dan perintah `/effort` |

936| `xhigh_effort` | Tingkat usaha `xhigh` |936| `xhigh_effort` | Tingkat usaha `xhigh` |

937| `max_effort` | Tingkat usaha `max` |937| `max_effort` | Tingkat usaha `max` |


993Claude Code secara otomatis menggunakan [prompt caching](/docs/id/prompt-caching) untuk mengoptimalkan kinerja dan mengurangi biaya. Anda dapat menonaktifkan prompt caching secara global atau untuk tingkat model tertentu:993Claude Code secara otomatis menggunakan [prompt caching](/docs/id/prompt-caching) untuk mengoptimalkan kinerja dan mengurangi biaya. Anda dapat menonaktifkan prompt caching secara global atau untuk tingkat model tertentu:

994 994 

995| Variabel lingkungan | Deskripsi |995| Variabel lingkungan | Deskripsi |

996| ------------------------------- | ----------------------------------------------------------------------------------------------------- |996| - | - |

997| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan prompt caching untuk semua model. Mengambil alih pengaturan per-model |997| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan prompt caching untuk semua model. Mengambil alih pengaturan per-model |

998| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Haiku |998| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Haiku |

999| `DISABLE_PROMPT_CACHING_SONNET` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Sonnet |999| `DISABLE_PROMPT_CACHING_SONNET` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Sonnet |

Details

110Pada mesin dengan pengaturan terkelola, lihat [Bagaimana pengaturan terkelola mengunci tujuan OTLP](#how-managed-settings-lock-the-otlp-destination) untuk mengetahui apa yang Claude Code hapus.110Pada mesin dengan pengaturan terkelola, lihat [Bagaimana pengaturan terkelola mengunci tujuan OTLP](#how-managed-settings-lock-the-otlp-destination) untuk mengetahui apa yang Claude Code hapus.

111 111 

112| Variabel Lingkungan | Deskripsi | Nilai Contoh |112| Variabel Lingkungan | Deskripsi | Nilai Contoh |

113| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |113| - | - | - |

114| `CLAUDE_CODE_ENABLE_TELEMETRY` | Mengaktifkan pengumpulan telemetri (diperlukan) | `1` |114| `CLAUDE_CODE_ENABLE_TELEMETRY` | Mengaktifkan pengumpulan telemetri (diperlukan) | `1` |

115| `OTEL_METRICS_EXPORTER` | Jenis pengekspor metrik, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `prometheus`, `none` |115| `OTEL_METRICS_EXPORTER` | Jenis pengekspor metrik, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `prometheus`, `none` |

116| `OTEL_LOGS_EXPORTER` | Jenis pengekspor log/acara, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `none` |116| `OTEL_LOGS_EXPORTER` | Jenis pengekspor log/acara, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `none` |


144Cara Anda mengonfigurasi sertifikat klien untuk pengekspor OTLP tergantung pada protokol OTLP yang digunakan untuk sinyal tersebut, diatur melalui `OTEL_EXPORTER_OTLP_PROTOCOL` atau override per-sinyal. Konfigurasi yang sama berlaku untuk metrik, log, dan traces.144Cara Anda mengonfigurasi sertifikat klien untuk pengekspor OTLP tergantung pada protokol OTLP yang digunakan untuk sinyal tersebut, diatur melalui `OTEL_EXPORTER_OTLP_PROTOCOL` atau override per-sinyal. Konfigurasi yang sama berlaku untuk metrik, log, dan traces.

145 145 

146| Protokol | Variabel sertifikat klien | Percayai CA pengumpul dengan |146| Protokol | Variabel sertifikat klien | Percayai CA pengumpul dengan |

147| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |147| :- | :- | :- |

148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, dan secara opsional `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Lihat [Konfigurasi jaringan](/docs/id/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, dan secara opsional `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Lihat [Konfigurasi jaringan](/docs/id/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` dan `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, atau varian per-sinyal seperti `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` untuk menggunakan sertifikat berbeda per sinyal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` dan `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, atau varian per-sinyal seperti `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` untuk menggunakan sertifikat berbeda per sinyal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

150 150 


157Variabel lingkungan berikut mengontrol atribut mana yang disertakan dalam metrik untuk mengelola kardinalitas:157Variabel lingkungan berikut mengontrol atribut mana yang disertakan dalam metrik untuk mengelola kardinalitas:

158 158 

159| Variabel Lingkungan | Deskripsi | Nilai Default | Contoh untuk Menonaktifkan |159| Variabel Lingkungan | Deskripsi | Nilai Default | Contoh untuk Menonaktifkan |

160| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------------------------- |160| - | - | - | - |

161| `OTEL_METRICS_INCLUDE_SESSION_ID` | Sertakan atribut session.id dalam metrik | `true` | `false` |161| `OTEL_METRICS_INCLUDE_SESSION_ID` | Sertakan atribut session.id dalam metrik | `true` | `false` |

162| `OTEL_METRICS_INCLUDE_VERSION` | Sertakan atribut app.version dalam metrik | `false` | `true` |162| `OTEL_METRICS_INCLUDE_VERSION` | Sertakan atribut app.version dalam metrik | `false` | `true` |

163| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Sertakan atribut user.account\_uuid dan user.account\_id dalam metrik | `true` | `false` |163| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Sertakan atribut user.account\_uuid dan user.account\_id dalam metrik | `true` | `false` |


176Tracing dimatikan secara default. Untuk mengaktifkannya, atur `CLAUDE_CODE_ENABLE_TELEMETRY=1` dan `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, kemudian atur `OTEL_TRACES_EXPORTER` untuk memilih tempat spans dikirim. Traces menggunakan kembali [konfigurasi OTLP umum](#common-configuration-variables) untuk titik akhir, protokol, header, dan [mTLS](#mtls-authentication). Pada mesin dengan pengaturan terkelola, Claude Code [mungkin menghapus kredensial dan titik akhir per-sinyal yang ditetapkan pengembang](#how-managed-settings-lock-the-otlp-destination) saat startup.176Tracing dimatikan secara default. Untuk mengaktifkannya, atur `CLAUDE_CODE_ENABLE_TELEMETRY=1` dan `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, kemudian atur `OTEL_TRACES_EXPORTER` untuk memilih tempat spans dikirim. Traces menggunakan kembali [konfigurasi OTLP umum](#common-configuration-variables) untuk titik akhir, protokol, header, dan [mTLS](#mtls-authentication). Pada mesin dengan pengaturan terkelola, Claude Code [mungkin menghapus kredensial dan titik akhir per-sinyal yang ditetapkan pengembang](#how-managed-settings-lock-the-otlp-destination) saat startup.

177 177 

178| Variabel Lingkungan | Deskripsi | Nilai Contoh |178| Variabel Lingkungan | Deskripsi | Nilai Contoh |

179| ------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------ |179| - | - | - |

180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | Aktifkan span tracing (diperlukan). `ENABLE_ENHANCED_TELEMETRY_BETA` juga diterima | `1` |180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | Aktifkan span tracing (diperlukan). `ENABLE_ENHANCED_TELEMETRY_BETA` juga diterima | `1` |

181| `OTEL_TRACES_EXPORTER` | Jenis pengekspor traces, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `none` |181| `OTEL_TRACES_EXPORTER` | Jenis pengekspor traces, dipisahkan koma. Gunakan `none` untuk menonaktifkan | `console`, `otlp`, `none` |

182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | Protokol untuk traces, menimpa `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`, `http/json`, `http/protobuf` |182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | Protokol untuk traces, menimpa `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`, `http/json`, `http/protobuf` |


227**`claude_code.interaction`**227**`claude_code.interaction`**

228 228 

229| Atribut | Deskripsi | Gated by |229| Atribut | Deskripsi | Gated by |

230| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |230| - | - | - |

231| `user_prompt` | Teks prompt. Nilai adalah `<REDACTED>` kecuali gate diatur | `OTEL_LOG_USER_PROMPTS` |231| `user_prompt` | Teks prompt. Nilai adalah `<REDACTED>` kecuali gate diatur | `OTEL_LOG_USER_PROMPTS` |

232| `user_prompt_length` | Panjang prompt dalam karakter | |232| `user_prompt_length` | Panjang prompt dalam karakter | |

233| `interaction.sequence` | Penghitung berbasis 1 dari interaksi, dihitung per proses Claude Code daripada per sesi, seperti yang dijelaskan untuk [`event.sequence`](#event-correlation-attributes) | |233| `interaction.sequence` | Penghitung berbasis 1 dari interaksi, dihitung per proses Claude Code daripada per sesi, seperti yang dijelaskan untuk [`event.sequence`](#event-correlation-attributes) | |


237**`claude_code.llm_request`**237**`claude_code.llm_request`**

238 238 

239| Atribut | Deskripsi | Gated by |239| Atribut | Deskripsi | Gated by |

240| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |240| - | - | - |

241| `model` | Pengidentifikasi model | |241| `model` | Pengidentifikasi model | |

242| `gen_ai.system` | Selalu `anthropic`. Konvensi semantik GenAI OpenTelemetry | |242| `gen_ai.system` | Selalu `anthropic`. Konvensi semantik GenAI OpenTelemetry | |

243| `gen_ai.request.model` | Nilai yang sama dengan `model`. Konvensi semantik GenAI OpenTelemetry | |243| `gen_ai.request.model` | Nilai yang sama dengan `model`. Konvensi semantik GenAI OpenTelemetry | |


274**`claude_code.tool`**274**`claude_code.tool`**

275 275 

276| Atribut | Deskripsi | Gated by |276| Atribut | Deskripsi | Gated by |

277| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |277| - | - | - |

278| `tool_name` | Nama alat | |278| `tool_name` | Nama alat | |

279| `tool_name_safe` | Bentuk `tool_name` yang tidak membawa nama yang dipilih pengguna. Nama alat bawaan lulus verbatim. Nama alat MCP muncul sebagai `mcp_other`, kecuali nama alat yang cocok dengan beberapa bentuk tetap, seperti alat `playwright` yang dinamai `browser_*`, yang lulus verbatim. Memerlukan Claude Code v2.1.268 atau lebih baru | |279| `tool_name_safe` | Bentuk `tool_name` yang tidak membawa nama yang dipilih pengguna. Nama alat bawaan lulus verbatim. Nama alat MCP muncul sebagai `mcp_other`, kecuali nama alat yang cocok dengan beberapa bentuk tetap, seperti alat `playwright` yang dinamai `browser_*`, yang lulus verbatim. Memerlukan Claude Code v2.1.268 atau lebih baru | |

280| `bash_command_class` | Untuk alat Bash: kategori program pertama perintah dari daftar tetap, seperti `vcs` atau `package_manager`. `other` untuk program di luar daftar, `unparsed` saat baris tidak dapat diuraikan. Memerlukan Claude Code v2.1.268 atau lebih baru | |280| `bash_command_class` | Untuk alat Bash: kategori program pertama perintah dari daftar tetap, seperti `vcs` atau `package_manager`. `other` untuk program di luar daftar, `unparsed` saat baris tidak dapat diuraikan. Memerlukan Claude Code v2.1.268 atau lebih baru | |


305Acara membawa atribut-atribut ini, masing-masing dipotong pada batas konten (60 KB secara default). `Gated by` menamai variabel yang dibutuhkan atribut di atas `OTEL_LOG_TOOL_CONTENT=1`, dan untuk Edit dan Write variabel itu mengatur acara itu sendiri daripada atribut.305Acara membawa atribut-atribut ini, masing-masing dipotong pada batas konten (60 KB secara default). `Gated by` menamai variabel yang dibutuhkan atribut di atas `OTEL_LOG_TOOL_CONTENT=1`, dan untuk Edit dan Write variabel itu mengatur acara itu sendiri daripada atribut.

306 306 

307| Atribut | Deskripsi | Gated by |307| Atribut | Deskripsi | Gated by |

308| -------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------- |308| - | - | - |

309| `content` | Teks yang dikembalikan alat Read, atau teks yang diminta panggilan Write untuk ditulis | `OTEL_LOG_TOOL_DETAILS` untuk alat Write |309| `content` | Teks yang dikembalikan alat Read, atau teks yang diminta panggilan Write untuk ditulis | `OTEL_LOG_TOOL_DETAILS` untuk alat Write |

310| `output` | Output gabungan dari perintah Bash, dengan stderr yang diselipkan ke stdout | |310| `output` | Output gabungan dari perintah Bash, dengan stderr yang diselipkan ke stdout | |

311| `diff` | Patch terstruktur yang diterapkan alat Edit | `OTEL_LOG_TOOL_DETAILS` |311| `diff` | Patch terstruktur yang diterapkan alat Edit | `OTEL_LOG_TOOL_DETAILS` |


317**`claude_code.tool.blocked_on_user`**317**`claude_code.tool.blocked_on_user`**

318 318 

319| Atribut | Deskripsi | Gated by |319| Atribut | Deskripsi | Gated by |

320| ------------- | -------------------------------------------------------------------------------- | -------- |320| - | - | - |

321| `duration_ms` | Waktu yang dihabiskan menunggu keputusan izin | |321| `duration_ms` | Waktu yang dihabiskan menunggu keputusan izin | |

322| `decision` | `accept` atau `reject` | |322| `decision` | `accept` atau `reject` | |

323| `source` | Sumber keputusan, cocok dengan acara [Tool decision event](#tool-decision-event) | |323| `source` | Sumber keputusan, cocok dengan acara [Tool decision event](#tool-decision-event) | |


325**`claude_code.tool.execution`**325**`claude_code.tool.execution`**

326 326 

327| Atribut | Deskripsi | Gated by |327| Atribut | Deskripsi | Gated by |

328| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |328| - | - | - |

329| `duration_ms` | Waktu yang dihabiskan menjalankan badan alat | |329| `duration_ms` | Waktu yang dihabiskan menjalankan badan alat | |

330| `tool_use_id` | Nilai yang sama dengan span `claude_code.tool` induk | |330| `tool_use_id` | Nilai yang sama dengan span `claude_code.tool` induk | |

331| `gen_ai.tool.call.id` | Nilai yang sama dengan `tool_use_id`. Konvensi semantik GenAI OpenTelemetry | |331| `gen_ai.tool.call.id` | Nilai yang sama dengan `tool_use_id`. Konvensi semantik GenAI OpenTelemetry | |


340Dalam sesi CLI interaktif, detailed beta tracing juga memerlukan organisasi Anda untuk berada dalam daftar putih untuk fitur ini. Sesi Agent SDK dan non-interaktif `-p` tidak memerlukan daftar putih.340Dalam sesi CLI interaktif, detailed beta tracing juga memerlukan organisasi Anda untuk berada dalam daftar putih untuk fitur ini. Sesi Agent SDK dan non-interaktif `-p` tidak memerlukan daftar putih.

341 341 

342| Atribut | Deskripsi | Gated by |342| Atribut | Deskripsi | Gated by |

343| ------------------------ | ------------------------------------------------- | ----------------------- |343| - | - | - |

344| `hook_event` | Jenis acara hook, seperti `PreToolUse` | |344| `hook_event` | Jenis acara hook, seperti `PreToolUse` | |

345| `hook_name` | Nama hook lengkap, seperti `PreToolUse:Write` | |345| `hook_name` | Nama hook lengkap, seperti `PreToolUse:Write` | |

346| `num_hooks` | Jumlah perintah hook yang cocok dieksekusi | |346| `num_hooks` | Jumlah perintah hook yang cocok dieksekusi | |


533Semua metrik dan acara berbagi atribut standar ini:533Semua metrik dan acara berbagi atribut standar ini:

534 534 

535| Atribut | Deskripsi | Dikendalikan Oleh |535| Atribut | Deskripsi | Dikendalikan Oleh |

536| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |536| - | - | - |

537| `session.id` | Pengidentifikasi sesi unik | `OTEL_METRICS_INCLUDE_SESSION_ID` (default: true) |537| `session.id` | Pengidentifikasi sesi unik | `OTEL_METRICS_INCLUDE_SESSION_ID` (default: true) |

538| `app.version` | Versi Claude Code saat ini | `OTEL_METRICS_INCLUDE_VERSION` (default: false) |538| `app.version` | Versi Claude Code saat ini | `OTEL_METRICS_INCLUDE_VERSION` (default: false) |

539| `app.entrypoint` | Bagaimana sesi diluncurkan, seperti `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, atau `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (default: false) |539| `app.entrypoint` | Bagaimana sesi diluncurkan, seperti `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, atau `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (default: false) |


564Claude Code menurunkan atribut ini sekali per sesi dari remote `origin` repositori. Remote HTTPS dan SSH dari satu repositori menghasilkan nilai yang identik:564Claude Code menurunkan atribut ini sekali per sesi dari remote `origin` repositori. Remote HTTPS dan SSH dari satu repositori menghasilkan nilai yang identik:

565 565 

566| Atribut | Nilai |566| Atribut | Nilai |

567| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |567| - | - |

568| `vcs.repository.url.full` | URL browser repositori tanpa `.git`, seperti `https://github.com/example-org/example-repo` |568| `vcs.repository.url.full` | URL browser repositori tanpa `.git`, seperti `https://github.com/example-org/example-repo` |

569| `vcs.owner.name` | Jalur pemilik atau grup, seperti `example-org`; dihilangkan saat jalur remote memiliki satu segmen |569| `vcs.owner.name` | Jalur pemilik atau grup, seperti `example-org`; dihilangkan saat jalur remote memiliki satu segmen |

570| `vcs.repository.name` | Nama repositori bare, seperti `example-repo` |570| `vcs.repository.name` | Nama repositori bare, seperti `example-repo` |


583Claude Code mengekspor metrik berikut. Kolom Unit menunjukkan string unit OpenTelemetry yang dilampirkan pada setiap metrik; metrik count tidak membawa satuan apa pun.583Claude Code mengekspor metrik berikut. Kolom Unit menunjukkan string unit OpenTelemetry yang dilampirkan pada setiap metrik; metrik count tidak membawa satuan apa pun.

584 584 

585| Nama Metrik | Deskripsi | Unit |585| Nama Metrik | Deskripsi | Unit |

586| ------------------------------------- | ------------------------------------------ | ------ |586| - | - | - |

587| `claude_code.session.count` | Jumlah sesi CLI yang dimulai | none |587| `claude_code.session.count` | Jumlah sesi CLI yang dimulai | none |

588| `claude_code.lines_of_code.count` | Jumlah baris kode yang dimodifikasi | none |588| `claude_code.lines_of_code.count` | Jumlah baris kode yang dimodifikasi | none |

589| `claude_code.pull_request.count` | Jumlah permintaan tarik yang dibuat | none |589| `claude_code.pull_request.count` | Jumlah permintaan tarik yang dibuat | none |


718Saat pengguna mengirimkan prompt, Claude Code dapat membuat beberapa panggilan API dan menjalankan beberapa alat. Atribut `prompt.id` memungkinkan Anda menghubungkan semua acara tersebut kembali ke prompt tunggal yang memicunya.718Saat pengguna mengirimkan prompt, Claude Code dapat membuat beberapa panggilan API dan menjalankan beberapa alat. Atribut `prompt.id` memungkinkan Anda menghubungkan semua acara tersebut kembali ke prompt tunggal yang memicunya.

719 719 

720| Atribut | Deskripsi |720| Atribut | Deskripsi |

721| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |721| - | - |

722| `prompt.id` | Pengidentifikasi UUID v4 yang menghubungkan semua acara yang dihasilkan saat memproses prompt pengguna tunggal |722| `prompt.id` | Pengidentifikasi UUID v4 yang menghubungkan semua acara yang dihasilkan saat memproses prompt pengguna tunggal |

723| `event.sequence` | Penghitung berbasis 0 untuk mengurutkan acara, dihitung per proses Claude Code daripada per sesi |723| `event.sequence` | Penghitung berbasis 0 untuk mengurutkan acara, dihitung per proses Claude Code daripada per sesi |

724| `message.uuid` | UUID pesan seperti yang disimpan dalam transkrip sesi, file `~/.claude/projects/*/*.jsonl`. Hadir pada `assistant_response`, pada `api_response_body`, dan pada `user_prompt` kecuali untuk command dispatches, yang dapat menghasilkan nol atau banyak pesan. Pada `assistant_response` dan `api_response_body`, ini adalah entri transkrip akhir respons, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru, atau v2.1.274 atau lebih baru pada `api_response_body` |724| `message.uuid` | UUID pesan seperti yang disimpan dalam transkrip sesi, file `~/.claude/projects/*/*.jsonl`. Hadir pada `assistant_response`, pada `api_response_body`, dan pada `user_prompt` kecuali untuk command dispatches, yang dapat menghasilkan nol atau banyak pesan. Pada `assistant_response` dan `api_response_body`, ini adalah entri transkrip akhir respons, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru, atau v2.1.274 atau lebih baru pada `api_response_body` |


1424</h3>1424</h3>

1425 1425 

1426| Metrik | Peluang Analisis |1426| Metrik | Peluang Analisis |

1427| ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |1427| - | - |

1428| `claude_code.token.usage` | Pecahkan berdasarkan `type` (input/output), pengguna, tim, model, `skill.name`, `plugin.name`, atau `agent.name` |1428| `claude_code.token.usage` | Pecahkan berdasarkan `type` (input/output), pengguna, tim, model, `skill.name`, `plugin.name`, atau `agent.name` |

1429| `claude_code.session.count` | Lacak adopsi dan keterlibatan dari waktu ke waktu |1429| `claude_code.session.count` | Lacak adopsi dan keterlibatan dari waktu ke waktu |

1430| `claude_code.lines_of_code.count` | Ukur produktivitas dengan melacak penambahan dan penghapusan kode, dipecah berdasarkan model |1430| `claude_code.lines_of_code.count` | Ukur produktivitas dengan melacak penambahan dan penghapusan kode, dipecah berdasarkan model |


1514Untuk menangkap aktivitas server MCP dengan detail panggilan lengkap, aktifkan pengekspor log dan atur `OTEL_LOG_TOOL_DETAILS=1`. Setiap operasi MCP kemudian menghasilkan acara terstruktur yang membawa nama server, nama alat, dan argumen panggilan bersama atribut identitas standar:1514Untuk menangkap aktivitas server MCP dengan detail panggilan lengkap, aktifkan pengekspor log dan atur `OTEL_LOG_TOOL_DETAILS=1`. Setiap operasi MCP kemudian menghasilkan acara terstruktur yang membawa nama server, nama alat, dan argumen panggilan bersama atribut identitas standar:

1515 1515 

1516| Acara | Apa yang dicatat untuk MCP |1516| Acara | Apa yang dicatat untuk MCP |

1517| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1517| - | - |

1518| `mcp_server_connection` | Server terhubung, terputus, dan kegagalan koneksi dengan `server_name`, `transport_type`, `server_scope`, dan detail kesalahan |1518| `mcp_server_connection` | Server terhubung, terputus, dan kegagalan koneksi dengan `server_name`, `transport_type`, `server_scope`, dan detail kesalahan |

1519| `tool_result` | Setiap panggilan alat MCP dengan `tool_name` dan `mcp_server_scope`, muatan `tool_parameters` yang berisi `mcp_server_name` dan `mcp_tool_name`, dan muatan `tool_input` yang berisi argumen panggilan |1519| `tool_result` | Setiap panggilan alat MCP dengan `tool_name` dan `mcp_server_scope`, muatan `tool_parameters` yang berisi `mcp_server_name` dan `mcp_tool_name`, dan muatan `tool_input` yang berisi argumen panggilan |

1520| `tool_decision` | Apakah panggilan diizinkan atau ditolak, apakah keputusan berasal dari config, hook, atau pengguna, dan muatan `tool_parameters` yang berisi `mcp_server_name` dan `mcp_tool_name` |1520| `tool_decision` | Apakah panggilan diizinkan atau ditolak, apakah keputusan berasal dari config, hook, atau pengguna, dan muatan `tool_parameters` yang berisi `mcp_server_name` dan `mcp_tool_name` |


1532Saat membangun aturan deteksi, cari sinyal yang ingin Anda pantau dan kueri backend Anda untuk acara dan atribut yang sesuai:1532Saat membangun aturan deteksi, cari sinyal yang ingin Anda pantau dan kueri backend Anda untuk acara dan atribut yang sesuai:

1533 1533 

1534| Sinyal | Acara | Atribut Kunci |1534| Sinyal | Acara | Atribut Kunci |

1535| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1535| - | - | - |

1536| Panggilan alat diizinkan atau ditolak, dan oleh apa | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1536| Panggilan alat diizinkan atau ditolak, dan oleh apa | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1537| Eskalasi mode izin | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1537| Eskalasi mode izin | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1538| Hook kebijakan memblokir tindakan | `hook_execution_complete` | `hook_event`, `num_blocking` |1538| Hook kebijakan memblokir tindakan | `hook_execution_complete` | `hook_event`, `num_blocking` |

Details

206Claude Code menjalankan empat timer independen yang menghentikan respons model streaming ketika diam, sehingga koneksi yang mati gagal dan mencoba ulang alih-alih menggantung. Tenggat waktu byte pertama mencakup penantian header respons, sebelum ada respons yang tiba. Masing-masing dari tiga lainnya memantau respons langsung untuk sinyal yang berbeda.206Claude Code menjalankan empat timer independen yang menghentikan respons model streaming ketika diam, sehingga koneksi yang mati gagal dan mencoba ulang alih-alih menggantung. Tenggat waktu byte pertama mencakup penantian header respons, sebelum ada respons yang tiba. Masing-masing dari tiga lainnya memantau respons langsung untuk sinyal yang berbeda.

207 207 

208| Timer | Menghentikan ketika | Berjalan pada | Tenggat waktu default |208| Timer | Menghentikan ketika | Berjalan pada | Tenggat waktu default |

209| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------- |209| :- | :- | :- | :- |

210| First-byte deadline | Tidak ada header respons yang tiba setelah Claude Code mengirim permintaan | Direct Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), termasuk melalui proxy HTTPS, tetapi tidak ketika `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` merutekannya melalui [gateway](/docs/id/gateways). Opt-in pada Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain, ditambah satu detik per 32KB badan permintaan |210| First-byte deadline | Tidak ada header respons yang tiba setelah Claude Code mengirim permintaan | Direct Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), termasuk melalui proxy HTTPS, tetapi tidak ketika `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` merutekannya melalui [gateway](/docs/id/gateways). Opt-in pada Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain, ditambah satu detik per 32KB badan permintaan |

211| Event-level watchdog | Tidak ada event respons yang diurai. Pada koneksi di mana byte-level watchdog berjalan, byte yang tiba, termasuk keep-alive pings, juga mengatur ulang watchdog ini, selama sekitar lima menit tanpa event yang diurai | Setiap penyedia | 300 detik |211| Event-level watchdog | Tidak ada event respons yang diurai. Pada koneksi di mana byte-level watchdog berjalan, byte yang tiba, termasuk keep-alive pings, juga mengatur ulang watchdog ini, selama sekitar lima menit tanpa event yang diurai | Setiap penyedia | 300 detik |

212| Byte-level watchdog | Tidak ada byte yang tiba di wire, termasuk SSE keep-alive pings | Direct Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan [gateway](/docs/id/gateways) koneksi, termasuk `ANTHROPIC_BASE_URL` kustom. Opt-in pada Amazon Bedrock `vnd.amazon.eventstream` respons dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain |212| Byte-level watchdog | Tidak ada byte yang tiba di wire, termasuk SSE keep-alive pings | Direct Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan [gateway](/docs/id/gateways) koneksi, termasuk `ANTHROPIC_BASE_URL` kustom. Opt-in pada Amazon Bedrock `vnd.amazon.eventstream` respons dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain |


233Claude Code memerlukan akses ke URL berikut. Daftarkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas. Pemeriksaan konektivitas pengaturan pertama kali menunjuk ke sini ketika tidak dapat menjangkau `api.anthropic.com` atau `platform.claude.com`; lihat [Unable to connect to Anthropic services](/docs/id/errors#unable-to-connect-to-anthropic-services) untuk pesan pemeriksaan dan langkah pemulihan.233Claude Code memerlukan akses ke URL berikut. Daftarkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas. Pemeriksaan konektivitas pengaturan pertama kali menunjuk ke sini ketika tidak dapat menjangkau `api.anthropic.com` atau `platform.claude.com`; lihat [Unable to connect to Anthropic services](/docs/id/errors#unable-to-connect-to-anthropic-services) untuk pesan pemeriksaan dan langkah pemulihan.

234 234 

235| URL | Diperlukan untuk |235| URL | Diperlukan untuk |

236| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| - | - |

237| `api.anthropic.com` | Permintaan Claude API, termasuk pemeriksaan keamanan domain WebFetch [domain safety check](/docs/id/data-usage#webfetch-domain-safety-check), pengambilan bendera fitur, dan pencatatan acara telemetri |237| `api.anthropic.com` | Permintaan Claude API, termasuk pemeriksaan keamanan domain WebFetch [domain safety check](/docs/id/data-usage#webfetch-domain-safety-check), pengambilan bendera fitur, dan pencatatan acara telemetri |

238| `claude.ai` | Autentikasi akun claude.ai |238| `claude.ai` | Autentikasi akun claude.ai |

239| `claude.com` | Masuk akun claude.ai membuka halaman `claude.com` di browser, yang dialihkan ke `claude.ai`; pencarian dokumentasi WebFetch yang telah disetujui sebelumnya juga menjangkau host ini dari CLI |239| `claude.com` | Masuk akun claude.ai membuka halaman `claude.com` di browser, yang dialihkan ke `claude.ai`; pencarian dokumentasi WebFetch yang telah disetujui sebelumnya juga menjangkau host ini dari CLI |

Details

30Tabel ini menunjukkan apa yang setiap gaya ubah tentang sesi dan kapan cocok digunakan:30Tabel ini menunjukkan apa yang setiap gaya ubah tentang sesi dan kapan cocok digunakan:

31 31 

32| Gaya | Apa yang berubah | Gunakan ketika |32| Gaya | Apa yang berubah | Gunakan ketika |

33| :-------------------------- | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- |33| :- | :- | :- |

34| [Proactive](#proactive) | Claude mulai bekerja segera dan membuat asumsi yang masuk akal daripada bertanya tentang keputusan rutin | Anda ingin Claude terus bekerja melalui keputusan rutin, dan Anda akan mengubah arah jika asumsi salah |34| [Proactive](#proactive) | Claude mulai bekerja segera dan membuat asumsi yang masuk akal daripada bertanya tentang keputusan rutin | Anda ingin Claude terus bekerja melalui keputusan rutin, dan Anda akan mengubah arah jika asumsi salah |

35| [Concise](#concise) | Respons dimulai dengan hasil dan menghilangkan pembukaan, narasi, dan rekap | Respons default lebih panjang dari yang Anda inginkan |35| [Concise](#concise) | Respons dimulai dengan hasil dan menghilangkan pembukaan, narasi, dan rekap | Respons default lebih panjang dari yang Anda inginkan |

36| [Explanatory](#explanatory) | Claude menambahkan blok `Insight` pendek yang menjelaskan pilihan di balik kode yang ditulisnya | Anda sedang mengenal codebase atau menginginkan penalaran bersama dengan perubahan |36| [Explanatory](#explanatory) | Claude menambahkan blok `Insight` pendek yang menjelaskan pilihan di balik kode yang ditulisnya | Anda sedang mengenal codebase atau menginginkan penalaran bersama dengan perubahan |


180Konfigurasikan output style dengan [frontmatter](/docs/id/glossary#frontmatter) YAML antara penanda `---` di bagian atas file. Semua field bersifat opsional, dan nama field menggunakan kata-kata huruf kecil yang dipisahkan oleh tanda hubung. Field yang salah eja diabaikan tanpa kesalahan. Jika YAML tidak dapat diuraikan, style masih dimuat dengan nama filenya tanpa field yang ditetapkan; jalankan `claude --debug` untuk melihat kesalahan penguraian.180Konfigurasikan output style dengan [frontmatter](/docs/id/glossary#frontmatter) YAML antara penanda `---` di bagian atas file. Semua field bersifat opsional, dan nama field menggunakan kata-kata huruf kecil yang dipisahkan oleh tanda hubung. Field yang salah eja diabaikan tanpa kesalahan. Jika YAML tidak dapat diuraikan, style masih dimuat dengan nama filenya tanpa field yang ditetapkan; jalankan `claude --debug` untuk melihat kesalahan penguraian.

181 181 

182| Field | Diperlukan | Deskripsi |182| Field | Diperlukan | Deskripsi |

183| :------------------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :- | :- | :- |

184| `name` | Tidak | Nama output style, ditampilkan dalam picker `/config`. Default: nama file |184| `name` | Tidak | Nama output style, ditampilkan dalam picker `/config`. Default: nama file |

185| `description` | Tidak | Deskripsi output style, ditampilkan dalam picker `/config` |185| `description` | Tidak | Deskripsi output style, ditampilkan dalam picker `/config` |

186| `keep-coding-instructions` | Tidak | Atur ke `true` untuk mempertahankan instruksi rekayasa perangkat lunak bawaan Claude Code bersama style Anda. Default: `false` |186| `keep-coding-instructions` | Tidak | Atur ke `true` untuk mempertahankan instruksi rekayasa perangkat lunak bawaan Claude Code bersama style Anda. Default: `false` |


197Tabel ini mencocokkan apa yang Anda inginkan dengan fitur yang melakukannya:197Tabel ini mencocokkan apa yang Anda inginkan dengan fitur yang melakukannya:

198 198 

199| Anda ingin | Gunakan | Mengapa cocok |199| Anda ingin | Gunakan | Mengapa cocok |

200| :----------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |200| :- | :- | :- |

201| Setiap respons dalam suara, panjang, atau format tertentu, atau Claude dalam peran yang berbeda | Output style | Ini berlaku untuk seluruh sesi, dan Anda beralih style dengan satu perintah |201| Setiap respons dalam suara, panjang, atau format tertentu, atau Claude dalam peran yang berbeda | Output style | Ini berlaku untuk seluruh sesi, dan Anda beralih style dengan satu perintah |

202| Claude mengetahui konvensi, perintah, dan struktur proyek Anda | [CLAUDE.md](/docs/id/memory) | Ini menyimpan apa yang harus diketahui Claude tentang codebase, dan tetap dimuat dengan style apa pun yang Anda pilih |202| Claude mengetahui konvensi, perintah, dan struktur proyek Anda | [CLAUDE.md](/docs/id/memory) | Ini menyimpan apa yang harus diketahui Claude tentang codebase, dan tetap dimuat dengan style apa pun yang Anda pilih |

203| Instruksi untuk satu jenis tugas, seperti checklist rilis atau prosedur review | A [skill](/docs/id/skills) | Claude memmuatnya hanya ketika Anda menginvokasinya atau tugas cocok, jadi tidak membentuk respons yang tidak terkait |203| Instruksi untuk satu jenis tugas, seperti checklist rilis atau prosedur review | A [skill](/docs/id/skills) | Claude memmuatnya hanya ketika Anda menginvokasinya atau tugas cocok, jadi tidak membentuk respons yang tidak terkait |

overview.md +1 −1

Details

227Selain permukaan [Terminal](/docs/id/quickstart), [VS Code](/docs/id/vs-code), [JetBrains](/docs/id/jetbrains), [Desktop](/docs/id/desktop), dan [Web](/docs/id/claude-code-on-the-web) di atas, Claude Code terintegrasi dengan alur kerja CI/CD, obrolan, dan browser:227Selain permukaan [Terminal](/docs/id/quickstart), [VS Code](/docs/id/vs-code), [JetBrains](/docs/id/jetbrains), [Desktop](/docs/id/desktop), dan [Web](/docs/id/claude-code-on-the-web) di atas, Claude Code terintegrasi dengan alur kerja CI/CD, obrolan, dan browser:

228 228 

229| Apa yang ingin saya lakukan | Opsi terbaik |229| Apa yang ingin saya lakukan | Opsi terbaik |

230| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |230| - | - |

231| Lanjutkan sesi lokal dari ponsel atau perangkat lain | [Remote Control](/docs/id/remote-control) |231| Lanjutkan sesi lokal dari ponsel atau perangkat lain | [Remote Control](/docs/id/remote-control) |

232| Dorong acara dari Telegram, Discord, iMessage, atau webhook saya sendiri ke dalam sesi | [Channels](/docs/id/channels) |232| Dorong acara dari Telegram, Discord, iMessage, atau webhook saya sendiri ke dalam sesi | [Channels](/docs/id/channels) |

233| Mulai tugas secara lokal, lanjutkan di mobile | [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud), kemudian [aplikasi Claude mobile](/docs/id/mobile) |233| Mulai tugas secara lokal, lanjutkan di mobile | [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud), kemudian [aplikasi Claude mobile](/docs/id/mobile) |

Details

17Setiap mode membuat pertukaran yang berbeda antara kenyamanan dan pengawasan. Tabel di bawah menunjukkan apa yang dapat dilakukan Claude tanpa permintaan izin di setiap mode. Mode Manual muncul di bawah nilai konfignya, `default`.17Setiap mode membuat pertukaran yang berbeda antara kenyamanan dan pengawasan. Tabel di bawah menunjukkan apa yang dapat dilakukan Claude tanpa permintaan izin di setiap mode. Mode Manual muncul di bawah nilai konfignya, `default`.

18 18 

19| Mode | Apa yang berjalan tanpa bertanya | Terbaik untuk |19| Mode | Apa yang berjalan tanpa bertanya | Terbaik untuk |

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

21| `default` | Hanya membaca | Meninjau setiap tindakan sendiri, pekerjaan sensitif |21| `default` | Hanya membaca | Meninjau setiap tindakan sendiri, pekerjaan sensitif |

22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Membaca, pengeditan file, dan perintah sistem file umum (`mkdir`, `touch`, `mv`, `cp`, dll.) | Iterasi pada kode yang Anda tinjau |22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Membaca, pengeditan file, dan perintah sistem file umum (`mkdir`, `touch`, `mv`, `cp`, dll.) | Iterasi pada kode yang Anda tinjau |

23| [`plan`](#analyze-before-you-edit-with-plan-mode) | Membaca, plus perintah yang disetujui pengklasifikasi ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia | Menjelajahi basis kode sebelum mengubahnya |23| [`plan`](#analyze-before-you-edit-with-plan-mode) | Membaca, plus perintah yang disetujui pengklasifikasi ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia | Menjelajahi basis kode sebelum mengubahnya |


53Mode izin memutuskan apakah Claude meminta sebelum tindakan, dan [sandbox Bash](/docs/id/sandboxing) dan [batas isolasi](/docs/id/sandbox-environments) luar memutuskan apa yang dapat dijangkau tindakan setelah berjalan. Setiap baris di bawah memasangkan tujuan dengan flag atau pengaturan yang membawanya ke sana dan isolasi yang dibutuhkan, sebagai titik awal. [Mode yang tersedia](#available-modes) mencantumkan apa yang berjalan tanpa prompt di setiap mode.53Mode izin memutuskan apakah Claude meminta sebelum tindakan, dan [sandbox Bash](/docs/id/sandboxing) dan [batas isolasi](/docs/id/sandbox-environments) luar memutuskan apa yang dapat dijangkau tindakan setelah berjalan. Setiap baris di bawah memasangkan tujuan dengan flag atau pengaturan yang membawanya ke sana dan isolasi yang dibutuhkan, sebagai titik awal. [Mode yang tersedia](#available-modes) mencantumkan apa yang berjalan tanpa prompt di setiap mode.

54 54 

55| Anda ingin | Mulai dengan | Isolasi yang diperlukan | Catatan |55| Anda ingin | Mulai dengan | Isolasi yang diperlukan | Catatan |

56| :--------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- | :- |

57| Tinjau setiap tindakan sendiri | Mode Manual: `claude --permission-mode default` | Tidak ada | Pekerjaan sensitif, kode yang tidak familiar |57| Tinjau setiap tindakan sendiri | Mode Manual: `claude --permission-mode default` | Tidak ada | Pekerjaan sensitif, kode yang tidak familiar |

58| Iterasi lokal dengan lebih sedikit prompt, tanpa pengklasifikasi | Mode Manual ditambah sandbox Bash dalam [mode auto-allow](/docs/id/sandboxing#sandbox-modes): `claude --permission-mode default`, kemudian jalankan `/sandbox` dan pilih auto-allow | Sandbox Bash bawaan, di macOS, Linux, dan WSL2 | Aturan deny masih berlaku, dan aturan ask yang menyebutkan perintah, seperti `Bash(git push *)`, masih meminta. Untuk mengaktifkan sandbox dari file pengaturan sebagai gantinya, atur [`sandbox.enabled`](/docs/id/settings-reference#sandbox-enabled) ke `true` |58| Iterasi lokal dengan lebih sedikit prompt, tanpa pengklasifikasi | Mode Manual ditambah sandbox Bash dalam [mode auto-allow](/docs/id/sandboxing#sandbox-modes): `claude --permission-mode default`, kemudian jalankan `/sandbox` dan pilih auto-allow | Sandbox Bash bawaan, di macOS, Linux, dan WSL2 | Aturan deny masih berlaku, dan aturan ask yang menyebutkan perintah, seperti `Bash(git push *)`, masih meminta. Untuk mengaktifkan sandbox dari file pengaturan sebagai gantinya, atur [`sandbox.enabled`](/docs/id/settings-reference#sandbox-enabled) ke `true` |

59| Jelajahi sebelum mengubah apa pun | `claude --permission-mode plan` | Tidak ada | Claude Code memblokir pengeditan sampai Anda [menyetujui rencana](#review-and-approve-a-plan) |59| Jelajahi sebelum mengubah apa pun | `claude --permission-mode plan` | Tidak ada | Claude Code memblokir pengeditan sampai Anda [menyetujui rencana](#review-and-approve-a-plan) |


84Default bawaan bergantung pada cara Anda menjalankan Claude Code, pada paket Anda, dan pada apakah Claude Code dapat mengambil flag fiturnya. Baris pertama yang cocok dengan sesi Anda berlaku. Tabel mencakup sesi yang Anda mulai di terminal atau melalui ekstensi VS Code; untuk aplikasi desktop dan claude.ai, lihat tab Desktop dan Web dalam [Alihkan mode izin](#switch-permission-modes).84Default bawaan bergantung pada cara Anda menjalankan Claude Code, pada paket Anda, dan pada apakah Claude Code dapat mengambil flag fiturnya. Baris pertama yang cocok dengan sesi Anda berlaku. Tabel mencakup sesi yang Anda mulai di terminal atau melalui ekstensi VS Code; untuk aplikasi desktop dan claude.ai, lihat tab Desktop dan Web dalam [Alihkan mode izin](#switch-permission-modes).

85 85 

86| Cara Anda menjalankan Claude Code | Mode izin awal bawaan |86| Cara Anda menjalankan Claude Code | Mode izin awal bawaan |

87| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- |87| :- | :- |

88| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |88| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |

89| [Pengambilan flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) mati | `default` |89| [Pengambilan flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) mati | `default` |

90| [Sesi pertama Anda setelah Anda memasang Claude Code atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade) ke versi yang menambahkan default ini, kecuali, setelah instalasi segar, Claude Code mengambil flag tepat waktu | `default` |90| [Sesi pertama Anda setelah Anda memasang Claude Code atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade) ke versi yang menambahkan default ini, kecuali, setelah instalasi segar, Claude Code mengambil flag tepat waktu | `default` |


111Anda dapat menetapkan mode izin awal untuk satu sesi, atau sebagai default untuk setiap sesi di mesin, proyek, atau organisasi. Ketika lebih dari satu file pengaturan menetapkan `permissions.defaultMode`, [preseden pengaturan](/docs/id/settings#settings-precedence) memutuskan, jadi nilai proyek atau terkelola mengalahkan `~/.claude/settings.json`. Untuk mengubah mode izin sesi yang sudah berjalan, lihat [Alihkan mode izin](#switch-permission-modes).111Anda dapat menetapkan mode izin awal untuk satu sesi, atau sebagai default untuk setiap sesi di mesin, proyek, atau organisasi. Ketika lebih dari satu file pengaturan menetapkan `permissions.defaultMode`, [preseden pengaturan](/docs/id/settings#settings-precedence) memutuskan, jadi nilai proyek atau terkelola mengalahkan `~/.claude/settings.json`. Untuk mengubah mode izin sesi yang sudah berjalan, lihat [Alihkan mode izin](#switch-permission-modes).

112 112 

113| Untuk menetapkan mode izin awal untuk | Lakukan ini |113| Untuk menetapkan mode izin awal untuk | Lakukan ini |

114| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |114| :- | :- |

115| Satu sesi yang akan Anda mulai | Lewatkan mode izin sebagai flag, misalnya `claude --permission-mode default` |115| Satu sesi yang akan Anda mulai | Lewatkan mode izin sebagai flag, misalnya `claude --permission-mode default` |

116| Setiap sesi terminal yang Anda mulai di mesin ini | Atur `permissions.defaultMode` di `~/.claude/settings.json`. Untuk apa yang dibaca ekstensi VS Code, lihat [Alihkan mode izin](#switch-permission-modes) |116| Setiap sesi terminal yang Anda mulai di mesin ini | Atur `permissions.defaultMode` di `~/.claude/settings.json`. Untuk apa yang dibaca ekstensi VS Code, lihat [Alihkan mode izin](#switch-permission-modes) |

117| Setiap sesi terminal yang Anda mulai dalam satu proyek | Atur `permissions.defaultMode` di `.claude/settings.json` proyek. Sesi yang Anda mulai di terminal menghormati setiap nilai kecuali `auto` dan `bypassPermissions`; sesi yang dimulai ekstensi VS Code tidak membaca pengaturan proyek untuk mode izin awal |117| Setiap sesi terminal yang Anda mulai dalam satu proyek | Atur `permissions.defaultMode` di `.claude/settings.json` proyek. Sesi yang Anda mulai di terminal menghormati setiap nilai kecuali `auto` dan `bypassPermissions`; sesi yang dimulai ekstensi VS Code tidak membaca pengaturan proyek untuk mode izin awal |


166 **Selama sesi**: klik indikator mode di bagian bawah kotak prompt. Ini menggunakan label ini untuk mode di halaman ini:166 **Selama sesi**: klik indikator mode di bagian bawah kotak prompt. Ini menggunakan label ini untuk mode di halaman ini:

167 167 

168 | Label UI | Mode |168 | Label UI | Mode |

169 | :------------------- | :------------------ |169 | :- | :- |

170 | Manual | `default` |170 | Manual | `default` |

171 | Edit secara otomatis | `acceptEdits` |171 | Edit secara otomatis | `acceptEdits` |

172 | Plan | `plan` |172 | Plan | `plan` |


616Penulisan ke serangkaian jalur kecil tidak pernah disetujui otomatis, kecuali dalam mode `bypassPermissions` dan dalam sesi terminal interaktif mode plan dengan [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) tersedia. Ini mencegah kerusakan yang tidak disengaja dari status repositori dan konfigurasi Claude sendiri.616Penulisan ke serangkaian jalur kecil tidak pernah disetujui otomatis, kecuali dalam mode `bypassPermissions` dan dalam sesi terminal interaktif mode plan dengan [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) tersedia. Ini mencegah kerusakan yang tidak disengaja dari status repositori dan konfigurasi Claude sendiri.

617 617 

618| Mode | Penulisan jalur yang dilindungi |618| Mode | Penulisan jalur yang dilindungi |

619| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |619| :- | :- |

620| `default`, `acceptEdits` | Diminta |620| `default`, `acceptEdits` | Diminta |

621| `plan` | Diizinkan dalam sesi terminal interaktif dengan [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) tersedia. Jika tidak, dirutekan ke pengklasifikasi ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia selama perencanaan, dan diminta ketika tidak |621| `plan` | Diizinkan dalam sesi terminal interaktif dengan [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) tersedia. Jika tidak, dirutekan ke pengklasifikasi ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia selama perencanaan, dan diminta ketika tidak |

622| `auto` | Dirutekan ke pengklasifikasi |622| `auto` | Dirutekan ke pengklasifikasi |


661Apa yang terjadi sebagai gantinya bergantung pada mode izin Anda:661Apa yang terjadi sebagai gantinya bergantung pada mode izin Anda:

662 662 

663| Mode | Apa yang dilakukan Claude Code dengan penghapusan jalur kritis |663| Mode | Apa yang dilakukan Claude Code dengan penghapusan jalur kritis |

664| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |664| :- | :- |

665| `default`, `acceptEdits` | Meminta Anda untuk menyetujuinya |665| `default`, `acceptEdits` | Meminta Anda untuk menyetujuinya |

666| `plan` | Meminta Anda untuk menyetujuinya. Dengan [mode auto tersedia selama perencanaan](#analyze-before-you-edit-with-plan-mode) dan tidak ada bypass permissions tersedia, mengirimkannya ke pengklasifikasi sebagai gantinya |666| `plan` | Meminta Anda untuk menyetujuinya. Dengan [mode auto tersedia selama perencanaan](#analyze-before-you-edit-with-plan-mode) dan tidak ada bypass permissions tersedia, mengirimkannya ke pengklasifikasi sebagai gantinya |

667| `auto` | Mengirimkannya ke [pengklasifikasi](#eliminate-prompts-with-auto-mode) |667| `auto` | Mengirimkannya ke [pengklasifikasi](#eliminate-prompts-with-auto-mode) |

permissions.md +15 −15

Details

15Claude Code menggunakan sistem izin berjenjang untuk menyeimbangkan kekuatan dan keamanan. Tabel menunjukkan, untuk setiap jenis alat, apakah mode Manual meminta persetujuan sebelum tindakan dijalankan. [Mode izin](#permission-modes) lainnya mengubah mana dari ini yang meminta Anda; dalam mode otomatis pengklasifikasi meninjau tindakan alih-alih Anda, dan [bagaimana pengklasifikasi mengevaluasi tindakan](/docs/id/permission-modes#how-the-classifier-evaluates-actions) mencantumkan mana yang dilihatnya.15Claude Code menggunakan sistem izin berjenjang untuk menyeimbangkan kekuatan dan keamanan. Tabel menunjukkan, untuk setiap jenis alat, apakah mode Manual meminta persetujuan sebelum tindakan dijalankan. [Mode izin](#permission-modes) lainnya mengubah mana dari ini yang meminta Anda; dalam mode otomatis pengklasifikasi meninjau tindakan alih-alih Anda, dan [bagaimana pengklasifikasi mengevaluasi tindakan](/docs/id/permission-modes#how-the-classifier-evaluates-actions) mencantumkan mana yang dilihatnya.

16 16 

17| Jenis alat | Contoh | Persetujuan diperlukan | Perilaku "Ya, dan jangan tanya lagi" |17| Jenis alat | Contoh | Persetujuan diperlukan | Perilaku "Ya, dan jangan tanya lagi" |

18| :-------------- | :------------------- | :----------------------------------------------------------------------------------------------------------------------- | :------------------------------------------ |18| :- | :- | :- | :- |

19| Hanya baca | Pembacaan file, Grep | Tidak, dalam [direktori kerja dan direktori tambahan](#working-directories) | T/A |19| Hanya baca | Pembacaan file, Grep | Tidak, dalam [direktori kerja dan direktori tambahan](#working-directories) | T/A |

20| Perintah Bash | Eksekusi shell | Ya, kecuali serangkaian [perintah hanya baca](#read-only-commands) yang tertanam | Secara permanen per repositori dan perintah |20| Perintah Bash | Eksekusi shell | Ya, kecuali serangkaian [perintah hanya baca](#read-only-commands) yang tertanam | Secara permanen per repositori dan perintah |

21| Modifikasi file | Edit/tulis file | Ya | Hingga akhir sesi |21| Modifikasi file | Edit/tulis file | Ya | Hingga akhir sesi |


76Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/docs/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Untuk mengubah mode yang dimulai sesi, atur `defaultMode` dalam [file pengaturan](/docs/id/settings#where-settings-live) Anda. [Mode mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in) mencakup default bawaan untuk setiap paket dan apa yang dibaca ekstensi VS Code.76Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/docs/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Untuk mengubah mode yang dimulai sesi, atur `defaultMode` dalam [file pengaturan](/docs/id/settings#where-settings-live) Anda. [Mode mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in) mencakup default bawaan untuk setiap paket dan apa yang dibaca ekstensi VS Code.

77 77 

78| Mode | Deskripsi |78| Mode | Deskripsi |

79| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |79| :- | :- |

80| `default` | Meminta izin pada penggunaan pertama setiap alat. Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |80| `default` | Meminta izin pada penggunaan pertama setiap alat. Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |

81| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |81| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |

82| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda; dengan [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia, perintah yang disetujui classifier juga berjalan. Berlabel Plan di CLI dan ekstensi VS Code |82| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda; dengan [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia, perintah yang disetujui classifier juga berjalan. Berlabel Plan di CLI dan ekstensi VS Code |


103Untuk mencocokkan semua penggunaan alat, gunakan hanya nama alat tanpa tanda kurung:103Untuk mencocokkan semua penggunaan alat, gunakan hanya nama alat tanpa tanda kurung:

104 104 

105| Aturan | Efek |105| Aturan | Efek |

106| :--------- | :------------------------------------------- |106| :- | :- |

107| `Bash` | Mencocokkan semua perintah Bash |107| `Bash` | Mencocokkan semua perintah Bash |

108| `WebFetch` | Mencocokkan semua permintaan pengambilan web |108| `WebFetch` | Mencocokkan semua permintaan pengambilan web |

109| `Read` | Mencocokkan semua pembacaan file |109| `Read` | Mencocokkan semua pembacaan file |


117Tambahkan specifier dalam tanda kurung untuk mencocokkan penggunaan alat tertentu:117Tambahkan specifier dalam tanda kurung untuk mencocokkan penggunaan alat tertentu:

118 118 

119| Aturan | Efek |119| Aturan | Efek |

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

121| `Bash(npm run build)` | Mencocokkan perintah yang tepat `npm run build` |121| `Bash(npm run build)` | Mencocokkan perintah yang tepat `npm run build` |

122| `Read(./.env)` | Mencocokkan pembacaan file `.env` di direktori saat ini |122| `Read(./.env)` | Mencocokkan pembacaan file `.env` di direktori saat ini |

123| `WebFetch(domain:example.com)` | Mencocokkan permintaan pengambilan ke example.com |123| `WebFetch(domain:example.com)` | Mencocokkan permintaan pengambilan ke example.com |


133Aturan parameter cocok ketika Claude memanggil alat dengan parameter tersebut diatur ke nilai yang tepat. Aturan izin untuk satu nilai parameter tidak akan menetapkan bahwa panggilan aman secara keseluruhan, jadi aturan izin terus menggunakan sintaks specifier masing-masing alat. Ini berfungsi untuk parameter skalar apa pun yang diterima alat:133Aturan parameter cocok ketika Claude memanggil alat dengan parameter tersebut diatur ke nilai yang tepat. Aturan izin untuk satu nilai parameter tidak akan menetapkan bahwa panggilan aman secara keseluruhan, jadi aturan izin terus menggunakan sintaks specifier masing-masing alat. Ini berfungsi untuk parameter skalar apa pun yang diterima alat:

134 134 

135| Aturan | Cocok |135| Aturan | Cocok |

136| :----------------------------- | :---------------------------------------------- |136| :- | :- |

137| `Agent(model:opus)` | Panggilan Agent yang meminta tingkat model Opus |137| `Agent(model:opus)` | Panggilan Agent yang meminta tingkat model Opus |

138| `Agent(isolation:worktree)` | Panggilan Agent yang meminta git worktree |138| `Agent(isolation:worktree)` | Panggilan Agent yang meminta git worktree |

139| `Bash(run_in_background:true)` | Panggilan Bash yang berjalan di latar belakang |139| `Bash(run_in_background:true)` | Panggilan Bash yang berjalan di latar belakang |


178`*` dapat berada di mana saja dalam aturan: di awal, di tengah, atau di akhir. Setiap baris menunjukkan aturan, perintah yang cocok, dan perintah terdekat yang tidak cocok:178`*` dapat berada di mana saja dalam aturan: di awal, di tengah, atau di akhir. Setiap baris menunjukkan aturan, perintah yang cocok, dan perintah terdekat yang tidak cocok:

179 179 

180| Anda tulis | Cocok | Tidak cocok |180| Anda tulis | Cocok | Tidak cocok |

181| :--------------------- | :----------------------------------------------------------------------------------- | :------------------------------------- |181| :- | :- | :- |

182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |

183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |

184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |


265Aturan Bash cocok dengan teks perintah yang ditulis Claude, setelah Claude Code membagi [perintah gabungan](#compound-commands) dan menghilangkan [pembungkus](#process-wrappers). Aturan ini tidak cocok dengan program yang sama yang dipanggil dalam bentuk berbeda, jadi aturan tolak atau tanya mencakup invokasi yang biasanya dihasilkan Claude dan bukan batas keamanan di sekitar program. Aturan-aturan ini dalam `deny` atau `ask` menghentikan bentuk pertama dan bukan yang lain:265Aturan Bash cocok dengan teks perintah yang ditulis Claude, setelah Claude Code membagi [perintah gabungan](#compound-commands) dan menghilangkan [pembungkus](#process-wrappers). Aturan ini tidak cocok dengan program yang sama yang dipanggil dalam bentuk berbeda, jadi aturan tolak atau tanya mencakup invokasi yang biasanya dihasilkan Claude dan bukan batas keamanan di sekitar program. Aturan-aturan ini dalam `deny` atau `ask` menghentikan bentuk pertama dan bukan yang lain:

266 266 

267| Aturan | Menghentikan | Tidak menghentikan |267| Aturan | Menghentikan | Tidak menghentikan |

268| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |268| :- | :- | :- |

269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |


370Aturan Read dan Edit keduanya menggunakan sintaks pola [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda; untuk pola direktori segmen tunggal, kedalaman pencocokan juga bergantung pada jenis aturan, dijelaskan nanti di bagian ini:370Aturan Read dan Edit keduanya menggunakan sintaks pola [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda; untuk pola direktori segmen tunggal, kedalaman pencocokan juga bergantung pada jenis aturan, dijelaskan nanti di bagian ini:

371 371 

372| Pola | Arti | Contoh | Cocok |372| Pola | Arti | Contoh | Cocok |

373| -------------------- | ----------------------------------------- | -------------------------------- | ----------------------------------------------------------------- |373| - | - | - | - |

374| `//path` | Jalur absolut dari akar sistem file | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |374| `//path` | Jalur absolut dari akar sistem file | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

375| `~/path` | Jalur dari direktori rumah | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |375| `~/path` | Jalur dari direktori rumah | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

376| `/path` | Jalur relatif terhadap sumber pengaturan | `Edit(/src/**/*.ts)` | `<primary working directory>/src/**/*.ts` dalam pengaturan proyek |376| `/path` | Jalur relatif terhadap sumber pengaturan | `Edit(/src/**/*.ts)` | `<primary working directory>/src/**/*.ts` dalam pengaturan proyek |


383Pola `/path` berlabuh di direktori yang terkait dengan sumber pengaturan yang mendefinisikannya, jadi aturan yang sama cocok dengan lokasi berbeda tergantung di mana Anda menempatkannya:383Pola `/path` berlabuh di direktori yang terkait dengan sumber pengaturan yang mendefinisikannya, jadi aturan yang sama cocok dengan lokasi berbeda tergantung di mana Anda menempatkannya:

384 384 

385| Aturan didefinisikan dalam | `/path` diselesaikan ke |385| Aturan didefinisikan dalam | `/path` diselesaikan ke |

386| :------------------------------------------------ | :--------------------------------- |386| :- | :- |

387| Pengaturan proyek di `.claude/settings.json` | `<primary working directory>/path` |387| Pengaturan proyek di `.claude/settings.json` | `<primary working directory>/path` |

388| Pengaturan lokal di `.claude/settings.local.json` | `<primary working directory>/path` |388| Pengaturan lokal di `.claude/settings.local.json` | `<primary working directory>/path` |

389| Pengaturan pengguna di `~/.claude/settings.json` | `~/.claude/path` |389| Pengaturan pengguna di `~/.claude/settings.json` | `~/.claude/path` |


408Aturan hanya cocok dengan file di bawah jangkarnya; dalam batas itu, kedalaman pencocokan bergantung pada bentuk pola dan, untuk pola direktori segmen tunggal, jenis aturan, dijelaskan di bawah. Nama file telanjang mengikuti semantik gitignore dan cocok di kedalaman apa pun, jadi `Read(.env)` dan `Read(**/.env)` setara:408Aturan hanya cocok dengan file di bawah jangkarnya; dalam batas itu, kedalaman pencocokan bergantung pada bentuk pola dan, untuk pola direktori segmen tunggal, jenis aturan, dijelaskan di bawah. Nama file telanjang mengikuti semantik gitignore dan cocok di kedalaman apa pun, jadi `Read(.env)` dan `Read(**/.env)` setara:

409 409 

410| Aturan tolak | Memblokir | Tidak memblokir |410| Aturan tolak | Memblokir | Tidak memblokir |

411| --------------------------------- | -------------------------------------------------- | ---------------------------------------------- |411| - | - | - |

412| `Read(.env)` atau `Read(**/.env)` | `.env` apa pun di atau di bawah direktori saat ini | `.env` dalam direktori induk atau proyek lain |412| `Read(.env)` atau `Read(**/.env)` | `.env` apa pun di atau di bawah direktori saat ini | `.env` dalam direktori induk atau proyek lain |

413| `Read(//**/.env)` | `.env` apa pun di mana pun di sistem file | tidak ada; aturan berlabuh di akar sistem file |413| `Read(//**/.env)` | `.env` apa pun di mana pun di sistem file | tidak ada; aturan berlabuh di akar sistem file |

414 414 


432```432```

433 433 

434| Aturan | Cocok dengan `src/app.ts` | Cocok dengan `vendor/pkg/src/lib.js` |434| Aturan | Cocok dengan `src/app.ts` | Cocok dengan `vendor/pkg/src/lib.js` |

435| :--------------------------------------------- | :------------------------ | :----------------------------------- |435| :- | :- | :- |

436| `Edit(src/**)` sebagai aturan izin | Ya | Tidak |436| `Edit(src/**)` sebagai aturan izin | Ya | Tidak |

437| `Edit(src/**)` sebagai aturan tolak atau tanya | Ya | Ya |437| `Edit(src/**)` sebagai aturan tolak atau tanya | Ya | Ya |

438| `Edit(/src/**)` dalam jenis aturan apa pun | Ya | Tidak |438| `Edit(/src/**)` dalam jenis aturan apa pun | Ya | Tidak |


491Setiap baris menunjukkan apa yang dilakukan aturan dalam daftar `allow` dan dalam daftar `deny`:491Setiap baris menunjukkan apa yang dilakukan aturan dalam daftar `allow` dan dalam daftar `deny`:

492 492 

493| Aturan | Dalam `allow` | Dalam `deny` |493| Aturan | Dalam `allow` | Dalam `deny` |

494| :------------------- | :------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |494| :- | :- | :- |

495| `WebFetch` | Claude fetch tanpa meminta Anda. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. | Claude Code menghapus alat `WebFetch`, jadi Claude tidak dapat fetch sama sekali. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. |495| `WebFetch` | Claude fetch tanpa meminta Anda. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. | Claude Code menghapus alat `WebFetch`, jadi Claude tidak dapat fetch sama sekali. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. |

496| `WebFetch(domain:*)` | Claude fetch tanpa meminta Anda, dan perintah sandboxed dapat menjangkau host apa pun. | Claude Code menyimpan alat dan menolak setiap fetch, dan perintah sandboxed tidak dapat menjangkau host apa pun. |496| `WebFetch(domain:*)` | Claude fetch tanpa meminta Anda, dan perintah sandboxed dapat menjangkau host apa pun. | Claude Code menyimpan alat dan menolak setiap fetch, dan perintah sandboxed tidak dapat menjangkau host apa pun. |

497 497 


560Pola jalur berbagi jangkar `//`, `~/`, dan `/` dari [aturan Read dan Edit](#read-and-edit), tetapi pencocokan berlabuh pada seluruh jalur direktori daripada gaya gitignore. `*` cocok dengan tepat satu segmen jalur dan `**` cocok di seluruh segmen. `/**` di belakang juga cocok dengan akar yang dinamainya.560Pola jalur berbagi jangkar `//`, `~/`, dan `/` dari [aturan Read dan Edit](#read-and-edit), tetapi pencocokan berlabuh pada seluruh jalur direktori daripada gaya gitignore. `*` cocok dengan tepat satu segmen jalur dan `**` cocok di seluruh segmen. `/**` di belakang juga cocok dengan akar yang dinamainya.

561 561 

562| Aturan | Cocok | Tidak cocok |562| Aturan | Cocok | Tidak cocok |

563| --------------------- | --------------------------------------------------------------------------------- | -------------------------- |563| - | - | - |

564| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |564| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

565| `Cd(~/code/**)` | `~/code` dan direktori apa pun di bawahnya | direktori di luar `~/code` |565| `Cd(~/code/**)` | `~/code` dan direktori apa pun di bawahnya | direktori di luar `~/code` |

566| `Cd(**/node_modules)` | direktori `node_modules` apa pun di kedalaman apa pun di bawah direktori saat ini | `node_modules/pkg` |566| `Cd(**/node_modules)` | direktori `node_modules` apa pun di kedalaman apa pun di bawah direktori saat ini | `node_modules/pkg` |


627Jenis konfigurasi berikut dimuat dari direktori `--add-dir`:627Jenis konfigurasi berikut dimuat dari direktori `--add-dir`:

628 628 

629| Konfigurasi | Dimuat dari `--add-dir` |629| Konfigurasi | Dimuat dari `--add-dir` |

630| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |630| :- | :- |

631| [Skills](/docs/id/skills) di `.claude/skills/` | Ya, dengan live reload |631| [Skills](/docs/id/skills) di `.claude/skills/` | Ya, dengan live reload |

632| [File perintah](/docs/id/skills#where-skills-live) di `.claude/commands/` | Ya, tanpa live reload. Ketika direktori yang ditambahkan dan proyek Anda keduanya mendefinisikan perintah dengan nama yang sama, Claude Code menjalankan perintah proyek Anda |632| [File perintah](/docs/id/skills#where-skills-live) di `.claude/commands/` | Ya, tanpa live reload. Ketika direktori yang ditambahkan dan proyek Anda keduanya mendefinisikan perintah dengan nama yang sama, Claude Code menjalankan perintah proyek Anda |

633| [Subagents](/docs/id/sub-agents) di `.claude/agents/` | Ya, tanpa live reload |633| [Subagents](/docs/id/sub-agents) di `.claude/agents/` | Ya, tanpa live reload |


729Setiap baris adalah satu jenis konten yang dapat disediakan repositori. Kolom adalah dua situasi di mana Anda belum mempercayai folder itu sendiri: Anda hanya mempercayai folder induk, atau Anda menjalankan `claude -p` atau SDK di sana, yang tidak pernah menampilkan dialog kepercayaan. Kolom folder induk tidak berlaku di dalam [repositori bersarang](#project-allow-rules-and-workspace-trust): dalam sesi interaktif Claude Code menampilkan dialog kepercayaan untuk itu, dan jalankan `claude -p` atau SDK di sana mengikuti kolom `claude -p`.729Setiap baris adalah satu jenis konten yang dapat disediakan repositori. Kolom adalah dua situasi di mana Anda belum mempercayai folder itu sendiri: Anda hanya mempercayai folder induk, atau Anda menjalankan `claude -p` atau SDK di sana, yang tidak pernah menampilkan dialog kepercayaan. Kolom folder induk tidak berlaku di dalam [repositori bersarang](#project-allow-rules-and-workspace-trust): dalam sesi interaktif Claude Code menampilkan dialog kepercayaan untuk itu, dan jalankan `claude -p` atau SDK di sana mengikuti kolom `claude -p`.

730 730 

731| Apa yang disediakan repositori | Anda hanya mempercayai folder induk | `claude -p` atau SDK, folder tidak pernah dipercaya |731| Apa yang disediakan repositori | Anda hanya mempercayai folder induk | `claude -p` atau SDK, folder tidak pernah dipercaya |

732| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |732| :- | :- | :- |

733| [Hooks](/docs/id/hooks) dalam file pengaturan, blok [`env`](/docs/id/settings-reference#env) dan perintah pembantu seperti [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), dan [hooks](/docs/id/hooks#hooks-in-skills-and-agents) skill proyek dan [`allowed-tools`](/docs/id/skills#pre-approve-tools-for-a-skill) | Digunakan | Digunakan. Kepercayaan ruang kerja tidak pernah membatasi `allowed-tools` skill dalam sesi apa pun |733| [Hooks](/docs/id/hooks) dalam file pengaturan, blok [`env`](/docs/id/settings-reference#env) dan perintah pembantu seperti [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), dan [hooks](/docs/id/hooks#hooks-in-skills-and-agents) skill proyek dan [`allowed-tools`](/docs/id/skills#pre-approve-tools-for-a-skill) | Digunakan | Digunakan. Kepercayaan ruang kerja tidak pernah membatasi `allowed-tools` skill dalam sesi apa pun |

734| Aturan `permissions.allow` dan `additionalDirectories` dalam `.claude/settings.json` | Tidak digunakan sampai Anda menerima dialog kepercayaan, yang muncul lagi mencantumkannya | Tidak digunakan. Claude Code mencetak peringatan [`this workspace has not been trusted`](/docs/id/errors#workspace-has-not-been-trusted) ke stderr |734| Aturan `permissions.allow` dan `additionalDirectories` dalam `.claude/settings.json` | Tidak digunakan sampai Anda menerima dialog kepercayaan, yang muncul lagi mencantumkannya | Tidak digunakan. Claude Code mencetak peringatan [`this workspace has not been trusted`](/docs/id/errors#workspace-has-not-been-trusted) ke stderr |

735| Hooks frontmatter dalam [subagent](/docs/id/sub-agents#hooks-in-subagent-frontmatter) proyek, plugin [`@skills-dir`](/docs/id/plugins/loading#plugins-shared-through-a-repository) proyek, dan entri [`extraKnownMarketplaces`](/docs/id/settings-reference#extraknownmarketplaces) dari repositori atau direktori `--add-dir` | Tidak digunakan, dan tidak ada dialog yang ditawarkan | Tidak digunakan |735| Hooks frontmatter dalam [subagent](/docs/id/sub-agents#hooks-in-subagent-frontmatter) proyek, plugin [`@skills-dir`](/docs/id/plugins/loading#plugins-shared-through-a-repository) proyek, dan entri [`extraKnownMarketplaces`](/docs/id/settings-reference#extraknownmarketplaces) dari repositori atau direktori `--add-dir` | Tidak digunakan, dan tidak ada dialog yang ditawarkan | Tidak digunakan |

platforms.md +3 −3

Details

15Pilih platform berdasarkan cara Anda suka bekerja dan di mana proyek Anda berada.15Pilih platform berdasarkan cara Anda suka bekerja dan di mana proyek Anda berada.

16 16 

17| Platform | Terbaik untuk | Yang Anda dapatkan |17| Platform | Terbaik untuk | Yang Anda dapatkan |

18| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [CLI](/docs/id/quickstart) | Alur kerja terminal, scripting, server jarak jauh | Set fitur lengkap, [Agent SDK](/docs/id/headless), [penggunaan komputer](/docs/id/computer-use) di macOS (Pro dan Max), penyedia pihak ketiga |19| [CLI](/docs/id/quickstart) | Alur kerja terminal, scripting, server jarak jauh | Set fitur lengkap, [Agent SDK](/docs/id/headless), [penggunaan komputer](/docs/id/computer-use) di macOS (Pro dan Max), penyedia pihak ketiga |

20| [Desktop](/docs/id/desktop) | Tinjauan visual, sesi paralel, pengaturan terkelola | Penampil diff, pratinjau aplikasi, [penggunaan komputer](/docs/id/desktop#let-claude-use-your-computer) dan [Dispatch](/docs/id/desktop#sessions-from-dispatch) pada Pro dan Max |20| [Desktop](/docs/id/desktop) | Tinjauan visual, sesi paralel, pengaturan terkelola | Penampil diff, pratinjau aplikasi, [penggunaan komputer](/docs/id/desktop#let-claude-use-your-computer) dan [Dispatch](/docs/id/desktop#sessions-from-dispatch) pada Pro dan Max |

21| [VS Code](/docs/id/vs-code) | Bekerja di dalam VS Code tanpa beralih ke terminal | Diff inline, terminal terintegrasi, konteks file |21| [VS Code](/docs/id/vs-code) | Bekerja di dalam VS Code tanpa beralih ke terminal | Diff inline, terminal terintegrasi, konteks file |


34Integrasi memungkinkan Claude bekerja dengan layanan di luar basis kode Anda.34Integrasi memungkinkan Claude bekerja dengan layanan di luar basis kode Anda.

35 35 

36| Integrasi | Apa yang dilakukannya | Gunakan untuk |36| Integrasi | Apa yang dilakukannya | Gunakan untuk |

37| :----------------------------------------------- | :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |37| :- | :- | :- |

38| [Chrome](/docs/id/chrome) | Mengontrol browser Anda dengan sesi login Anda | Menguji aplikasi web, mengisi formulir, mengotomatisasi situs tanpa API |38| [Chrome](/docs/id/chrome) | Mengontrol browser Anda dengan sesi login Anda | Menguji aplikasi web, mengisi formulir, mengotomatisasi situs tanpa API |

39| [GitHub Actions](/docs/id/github-actions) | Menjalankan Claude dalam pipeline CI Anda | Tinjauan PR otomatis, triase masalah, pemeliharaan terjadwal |39| [GitHub Actions](/docs/id/github-actions) | Menjalankan Claude dalam pipeline CI Anda | Tinjauan PR otomatis, triase masalah, pemeliharaan terjadwal |

40| [GitLab CI/CD](/docs/id/gitlab-ci-cd) | Sama seperti GitHub Actions untuk GitLab | Otomasi berbasis CI di GitLab |40| [GitLab CI/CD](/docs/id/gitlab-ci-cd) | Sama seperti GitHub Actions untuk GitLab | Otomasi berbasis CI di GitLab |


51Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.51Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.

52 52 

53| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |53| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |

54| :------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |55| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

56| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |56| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

57| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |57| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

plugin-evals.md +10 −10

Details

358Sebagian besar waktu Anda menjalankan `claude plugin eval .` dari root plugin, yang menjalankan setiap kasus dalam suite dengan plugin yang Anda gunakan dimuat. Untuk menjalankan file kasus tunggal, atau untuk mengevaluasi plugin yang Anda instal daripada yang sedang Anda kembangkan, berikan target yang berbeda:358Sebagian besar waktu Anda menjalankan `claude plugin eval .` dari root plugin, yang menjalankan setiap kasus dalam suite dengan plugin yang Anda gunakan dimuat. Untuk menjalankan file kasus tunggal, atau untuk mengevaluasi plugin yang Anda instal daripada yang sedang Anda kembangkan, berikan target yang berbeda:

359 359 

360| Target | Apa yang berjalan |360| Target | Apa yang berjalan |

361| :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |361| :- | :- |

362| Direktori root plugin, seperti `.` | Setiap kasus di bawah direktori eval-nya, dengan plugin itu dimuat |362| Direktori root plugin, seperti `.` | Setiap kasus di bawah direktori eval-nya, dengan plugin itu dimuat |

363| File `prompt.md` atau `case.yaml` tunggal | Kasus itu, dengan plugin yang memuatnya dimuat |363| File `prompt.md` atau `case.yaml` tunggal | Kasus itu, dengan plugin yang memuatnya dimuat |

364| Plugin yang diinstal berdasarkan nama, `name` atau `name@marketplace` | Kasus dalam direktori eval salinan yang diinstal, dengan salinan yang diinstal dimuat. Hasil ditulis di bawah `./evals/results/` di direktori saat ini, atau `./<dir>/results/` dengan `--eval-dir` |364| Plugin yang diinstal berdasarkan nama, `name` atau `name@marketplace` | Kasus dalam direktori eval salinan yang diinstal, dengan salinan yang diinstal dimuat. Hasil ditulis di bawah `./evals/results/` di direktori saat ini, atau `./<dir>/results/` dengan `--eval-dir` |


392Tabel ini mencakup opsi untuk jumlah run, model, penilaian, biaya, pemberian izin alat, mock, dan output. Jalankan `claude plugin eval --help` untuk daftar lengkap, yang juga mencakup `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report`, dan `--verbose`.392Tabel ini mencakup opsi untuk jumlah run, model, penilaian, biaya, pemberian izin alat, mock, dan output. Jalankan `claude plugin eval --help` untuk daftar lengkap, yang juga mencakup `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report`, dan `--verbose`.

393 393 

394| Opsi | Default | Efek |394| Opsi | Default | Efek |

395| :------------------------- | :--------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |395| :- | :- | :- |

396| `--runs <n>` | `runs` setiap kasus, atau 3 | Run per kasus per arm |396| `--runs <n>` | `runs` setiap kasus, atau 3 | Run per kasus per arm |

397| `-j`, `--concurrency <n>` | `1` | Jalankan hingga banyak agent run sekaligus, dari 1 hingga 8. Mereka berbagi batas laju akun Anda, jadi ini mempersingkat waktu dinding daripada meningkatkan throughput melampaui batas itu. Hasil menjaga urutan kasus |397| `-j`, `--concurrency <n>` | `1` | Jalankan hingga banyak agent run sekaligus, dari 1 hingga 8. Mereka berbagi batas laju akun Anda, jadi ini mempersingkat waktu dinding daripada meningkatkan throughput melampaui batas itu. Hasil menjaga urutan kasus |

398| `--model <model>` | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code | Model untuk agent yang diuji. Pasangnya di CI sehingga rollout model tidak disalahartikan sebagai regresi plugin |398| `--model <model>` | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code | Model untuk agent yang diuji. Pasangnya di CI sehingga rollout model tidak disalahartikan sebagai regresi plugin |


431Kode keluar pekerjaan memberi tahu Anda apa yang terjadi:431Kode keluar pekerjaan memberi tahu Anda apa yang terjadi:

432 432 

433| Kode keluar | Arti |433| Kode keluar | Arti |

434| :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |434| :- | :- |

435| 0 | Setiap kasus mencetak skor pada atau di atas `--threshold` dan setiap file kasus dimuat |435| 0 | Setiap kasus mencetak skor pada atau di atas `--threshold` dan setiap file kasus dimuat |

436| 1 | Kasus mencetak skor di bawah threshold, file kasus gagal dimuat, tidak ada kasus yang ditemukan, run tidak dapat dimulai, direktori plugin tidak dipercaya dan `--trust-plugin` tidak dilewati, atau opsi tidak valid |436| 1 | Kasus mencetak skor di bawah threshold, file kasus gagal dimuat, tidak ada kasus yang ditemukan, run tidak dapat dimulai, direktori plugin tidak dipercaya dan `--trust-plugin` tidak dilewati, atau opsi tidak valid |

437| 2 | Run parsial: batas `--max-cost-usd` tercapai, atau kredensial Anda ditolak sebelum atau pada run pertama. `results.json` masih ditulis dengan `partial: true` dan alasannya |437| 2 | Run parsial: batas `--max-cost-usd` tercapai, atau kredensial Anda ditolak sebelum atau pada run pertama. `results.json` masih ditulis dengan `partial: true` dan alasannya |


484Ini adalah field yang biasanya dibaca skrip gating. Dokumen juga membawa konfigurasi suite, setiap definisi grader, dan hasil grader per-run dengan penjelasan dan bukti:484Ini adalah field yang biasanya dibaca skrip gating. Dokumen juga membawa konfigurasi suite, setiap definisi grader, dan hasil grader per-run dengan penjelasan dan bukti:

485 485 

486| Field | Arti |486| Field | Arti |

487| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |487| :- | :- |

488| `partial`, `partialReason` | `true` dengan `cost_ceiling`, `interrupted`, atau `auth_failed` ketika suite tidak selesai. Tinggalkan hasil parsial dari tren bagan |488| `partial`, `partialReason` | `true` dengan `cost_ceiling`, `interrupted`, atau `auth_failed` ketika suite tidak selesai. Tinggalkan hasil parsial dari tren bagan |

489| `aggregates.overallScore` | Skor kasus rata-rata di seluruh suite |489| `aggregates.overallScore` | Skor kasus rata-rata di seluruh suite |

490| `aggregates.casesPassed`, `aggregates.casesTotal` | Kasus pada atau di atas `--threshold`, dan totalnya |490| `aggregates.casesPassed`, `aggregates.casesTotal` | Kasus pada atau di atas `--threshold`, dan totalnya |


568Frontmatter `prompt.md` menerima field ini. Kunci yang tidak dikenal adalah kesalahan:568Frontmatter `prompt.md` menerima field ini. Kunci yang tidak dikenal adalah kesalahan:

569 569 

570| Field | Default | Tujuan |570| Field | Default | Tujuan |

571| :--------------------- | :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |571| :- | :- | :- |

572| `schema_version` | `"1.1"`, diatur untuk Anda | Versi format kasus. Kasus yang ditulis sebagai `prompt.md` mendapatkannya secara otomatis, jadi Anda jarang mengaturnya |572| `schema_version` | `"1.1"`, diatur untuk Anda | Versi format kasus. Kasus yang ditulis sebagai `prompt.md` mendapatkannya secara otomatis, jadi Anda jarang mengaturnya |

573| `name` | Nama direktori | Nama kasus. Glob `--case` cocok dengannya dan laporan kunci padanya |573| `name` | Nama direktori | Nama kasus. Glob `--case` cocok dengannya dan laporan kunci padanya |

574| `description` | | Untuk manusia. Tidak digunakan saat runtime |574| `description` | | Untuk manusia. Tidak digunakan saat runtime |


592Field ini hanya ada di `case.yaml`:592Field ini hanya ada di `case.yaml`:

593 593 

594| Field | Tujuan |594| Field | Tujuan |

595| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |595| :- | :- |

596| `context.scaffold_script` | Skrip Bash di direktori kasus yang berjalan di workspace kosong sebelum Claude dimulai, untuk membuat file fixture atau repositori git. Ini berjalan hanya ketika Anda lewati [`--scaffold`](#add-setup-or-history-with-case-yaml) |596| `context.scaffold_script` | Skrip Bash di direktori kasus yang berjalan di workspace kosong sebelum Claude dimulai, untuk membuat file fixture atau repositori git. Ini berjalan hanya ketika Anda lewati [`--scaffold`](#add-setup-or-history-with-case-yaml) |

597| `context.history_file` | Transkrip `.jsonl` di direktori kasus untuk dilanjutkan. Prompt kasus menjadi turn pengguna berikutnya |597| `context.history_file` | Transkrip `.jsonl` di direktori kasus untuk dilanjutkan. Prompt kasus menjadi turn pengguna berikutnya |

598| `context.add_dirs` | Direktori di dalam direktori kasus yang dapat dibaca Claude selama run, diberikan read-only |598| `context.add_dirs` | Direktori di dalam direktori kasus yang dapat dibaca Claude selama run, diberikan read-only |


606Setiap file grader di bawah `graders/` mengambil kunci ini di frontmatter, ditambah opsi untuk tipenya. Nama grader adalah nama file tanpa `.md`:606Setiap file grader di bawah `graders/` mengambil kunci ini di frontmatter, ditambah opsi untuk tipenya. Nama grader adalah nama file tanpa `.md`:

607 607 

608| Kunci | Default | Tujuan |608| Kunci | Default | Tujuan |

609| :------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |609| :- | :- | :- |

610| `type` | diperlukan | Salah satu [tipe grader](#grader-types) |610| `type` | diperlukan | Salah satu [tipe grader](#grader-types) |

611| `weight` | `1` | Bobot relatif dalam skor run. Angka positif apa pun |611| `weight` | `1` | Bobot relatif dalam skor run. Angka positif apa pun |

612| `arm` | tidak diatur | `with-only` mengecualikan grader dari penilaian dalam [run dua-arm](#compare-against-a-no-plugin-baseline); `both` memaksa grader yang Claude Code akan mengecualikan untuk dinilai di kedua arm |612| `arm` | tidak diatur | `with-only` mengecualikan grader dari penilaian dalam [run dua-arm](#compare-against-a-no-plugin-baseline); `both` memaksa grader yang Claude Code akan mengecualikan untuk dinilai di kedua arm |


618Grader `regex` mengambil `target` dan grader `llm` mengambil `focus`. Keduanya menerima nilai yang sama:618Grader `regex` mengambil `target` dan grader `llm` mengambil `focus`. Keduanya menerima nilai yang sama:

619 619 

620| Nilai | Apa yang dilihat grader |620| Nilai | Apa yang dilihat grader |

621| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |621| :- | :- |

622| `last_message` | Teks respons akhir Claude. Ini adalah default |622| `last_message` | Teks respons akhir Claude. Ini adalah default |

623| `trace` | Seluruh sesi sebagai JSON, satu pesan per baris. Grader `regex` melihat setiap pesan; judge `llm` melihat 12 pertama dan 12 terakhir. Kutipan dan baris baru di dalamnya adalah JSON-escaped, jadi regex cocok `\"` daripada `"` |623| `trace` | Seluruh sesi sebagai JSON, satu pesan per baris. Grader `regex` melihat setiap pesan; judge `llm` melihat 12 pertama dan 12 terakhir. Kutipan dan baris baru di dalamnya adalah JSON-escaped, jadi regex cocok `\"` daripada `"` |

624| `files` | Daftar jalur yang dibuat Claude selama run, satu per baris. Bukan kontennya, dan bukan file yang dibuat scaffold atau yang hanya dimodifikasi Claude |624| `files` | Daftar jalur yang dibuat Claude selama run, satu per baris. Bukan kontennya, dan bukan file yang dibuat scaffold atau yang hanya dimodifikasi Claude |


632Setiap tipe grader di bawah mencantumkan opsi dan kapan lulus:632Setiap tipe grader di bawah mencantumkan opsi dan kapan lulus:

633 633 

634| Tipe | Opsi | Lulus ketika |634| Tipe | Opsi | Lulus ketika |

635| :------------ | :------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |635| :- | :- | :- |

636| `regex` | `pattern`, `flags`, `match`, `target` | Regex JavaScript `pattern` ditemukan di target. Atur `match: not_contains` untuk memerlukan ketiadaan atau `match: "count:N"` untuk memerlukan tepat N kecocokan. Letakkan ketidakpekaan huruf besar-kecil di `flags: i`; inline `(?i)` tidak didukung |636| `regex` | `pattern`, `flags`, `match`, `target` | Regex JavaScript `pattern` ditemukan di target. Atur `match: not_contains` untuk memerlukan ketiadaan atau `match: "count:N"` untuk memerlukan tepat N kecocokan. Letakkan ketidakpekaan huruf besar-kecil di `flags: i`; inline `(?i)` tidak didukung |

637| `tool_used` | `tool`, `input_match`, `min`, `max` | Jumlah panggilan ke `tool` yang input JSON-encoded cocok dengan regex `input_match` opsional berada antara `min`, default 1, dan `max`, default unlimited. Untuk menegaskan alat tidak pernah dipanggil, atur keduanya `min: 0` dan `max: 0` |637| `tool_used` | `tool`, `input_match`, `min`, `max` | Jumlah panggilan ke `tool` yang input JSON-encoded cocok dengan regex `input_match` opsional berada antara `min`, default 1, dan `max`, default unlimited. Untuk menegaskan alat tidak pernah dipanggil, atur keduanya `min: 0` dan `max: 0` |

638| `tool_order` | `before`, `after` | Kedua alat dipanggil dan panggilan `before` pertama yang cocok mendahului panggilan `after` pertama yang cocok. Masing-masing adalah nama alat atau `{ tool, input_match }` |638| `tool_order` | `before`, `after` | Kedua alat dipanggil dan panggilan `before` pertama yang cocok mendahului panggilan `after` pertama yang cocok. Masing-masing adalah nama alat atau `{ tool, input_match }` |


647File `<tool>.md` di bawah `mocks/<server>/` menjawab satu alat. Bodynya adalah hasil alat, dengan substitusi `{{input.<field>}}` dan `{{file:fixtures/<name>}}`. Frontmatternya menerima kunci ini:647File `<tool>.md` di bawah `mocks/<server>/` menjawab satu alat. Bodynya adalah hasil alat, dengan substitusi `{{input.<field>}}` dan `{{file:fixtures/<name>}}`. Frontmatternya menerima kunci ini:

648 648 

649| Kunci | Default | Tujuan |649| Kunci | Default | Tujuan |

650| :----------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |650| :- | :- | :- |

651| `type` | `fixed` | `fixed` mengembalikan body seperti yang ditulis. `agent` memperlakukan body sebagai instruksi untuk model kecil yang memainkan server untuk run dan melihat panggilan sebelumnya sebagai riwayat |651| `type` | `fixed` | `fixed` mengembalikan body seperti yang ditulis. `agent` memperlakukan body sebagai instruksi untuk model kecil yang memainkan server untuk run dan melihat panggilan sebelumnya sebagai riwayat |

652| `expect` | tidak diatur | Peta dari jalur input bertitik ke nama tipe seperti `string`, `number`, `boolean`, `array`, atau `object`, `/regex/`, literal, atau daftar literal yang diizinkan. Panggilan yang melanggarnya membatalkan run dengan skor 0 dan dilaporkan sebagai `aborted` dengan server, alat, dan alasan |652| `expect` | tidak diatur | Peta dari jalur input bertitik ke nama tipe seperti `string`, `number`, `boolean`, `array`, atau `object`, `/regex/`, literal, atau daftar literal yang diizinkan. Panggilan yang melanggarnya membatalkan run dengan skor 0 dan dilaporkan sebagai `aborted` dengan server, alat, dan alasan |

653| `error` | `false` | `fixed` hanya. Kembalikan body sebagai kesalahan alat |653| `error` | `false` | `fixed` hanya. Kembalikan body sebagai kesalahan alat |

Details

77Tag mengambil tiga atribut, semuanya diperlukan:77Tag mengambil tiga atribut, semuanya diperlukan:

78 78 

79| Atribut | Deskripsi |79| Atribut | Deskripsi |

80| :------ | :----------------------------------------------------------- |80| :- | :- |

81| `v` | Versi protokol. `1` adalah satu-satunya nilai yang didukung |81| `v` | Versi protokol. `1` adalah satu-satunya nilai yang didukung |

82| `type` | Jenis hint. `plugin` adalah satu-satunya nilai yang didukung |82| `type` | Jenis hint. `plugin` adalah satu-satunya nilai yang didukung |

83| `value` | Pengenal plugin dalam bentuk `name@marketplace` |83| `value` | Pengenal plugin dalam bentuk `name@marketplace` |

Details

51Perintah ini tidak memiliki flag untuk lokasi lain. Untuk rangka kerja di dalam proyek, lihat [Buat plugin](/docs/id/plugins/create).51Perintah ini tidak memiliki flag untuk lokasi lain. Untuk rangka kerja di dalam proyek, lihat [Buat plugin](/docs/id/plugins/create).

52 52 

53| Flag | Deskripsi |53| Flag | Deskripsi |

54| :----------------------- | :------------------------------------------------------------------------------------------------------------ |54| :- | :- |

55| `--description <text>` | Deskripsi manifest |55| `--description <text>` | Deskripsi manifest |

56| `--author <name>` | Nama penulis. Default ke `git config user.name` |56| `--author <name>` | Nama penulis. Default ke `git config user.name` |

57| `--author-email <email>` | Email penulis. Default ke `git config user.email` |57| `--author-email <email>` | Email penulis. Default ke `git config user.email` |


85Sebagian besar plugin diinstal tanpa prompt. Untuk plugin yang entri marketplacenya [menjalankan perintah untuk menginstalnya](/docs/id/plugins/host-marketplace) atau [menetapkan `headersHelper` untuk downloadnya](/docs/id/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code terlebih dahulu mencetak perintah dan menanyakan `Run this command now? [y/N]`.85Sebagian besar plugin diinstal tanpa prompt. Untuk plugin yang entri marketplacenya [menjalankan perintah untuk menginstalnya](/docs/id/plugins/host-marketplace) atau [menetapkan `headersHelper` untuk downloadnya](/docs/id/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code terlebih dahulu mencetak perintah dan menanyakan `Run this command now? [y/N]`.

86 86 

87| Flag | Deskripsi |87| Flag | Deskripsi |

88| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| :- | :- |

89| `-s, --scope <scope>` | Cakupan instalasi: `user`, `project`, atau `local`. Default ke `user` |89| `-s, --scope <scope>` | Cakupan instalasi: `user`, `project`, atau `local`. Default ke `user` |

90| `--config <key=value>` | Tetapkan opsi [`userConfig`](/docs/id/plugins/manifest-reference) yang dideklarasikan manifest plugin. Ulangi flag untuk setiap opsi. Memerlukan Claude Code v2.1.147 atau lebih baru |90| `--config <key=value>` | Tetapkan opsi [`userConfig`](/docs/id/plugins/manifest-reference) yang dideklarasikan manifest plugin. Ulangi flag untuk setiap opsi. Memerlukan Claude Code v2.1.147 atau lebih baru |

91| `-y, --yes` | Terima perintah instal yang ditampilkan tanpa prompt `Run this command now?`. Diabaikan ketika perintah berjalan di dalam sesi Claude Code, seperti dari alat Bash atau hook. Memerlukan Claude Code v2.1.229 atau lebih baru |91| `-y, --yes` | Terima perintah instal yang ditampilkan tanpa prompt `Run this command now?`. Diabaikan ketika perintah berjalan di dalam sesi Claude Code, seperti dari alat Bash atau hook. Memerlukan Claude Code v2.1.229 atau lebih baru |


148```148```

149 149 

150| Flag | Deskripsi |150| Flag | Deskripsi |

151| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |151| :- | :- |

152| `-s, --scope <scope>` | Copot dari cakupan: `user`, `project`, atau `local`. Default ke `user` |152| `-s, --scope <scope>` | Copot dari cakupan: `user`, `project`, atau `local`. Default ke `user` |

153| `--keep-data` | Pertahankan direktori data persisten plugin, `~/.claude/plugins/data/<id>/` |153| `--keep-data` | Pertahankan direktori data persisten plugin, `~/.claude/plugins/data/<id>/` |

154| `--prune` | Juga hapus [dependensi](/docs/id/plugins/dependencies) yang diinstal otomatis yang tidak diperlukan plugin yang tersisa |154| `--prune` | Juga hapus [dependensi](/docs/id/plugins/dependencies) yang diinstal otomatis yang tidak diperlukan plugin yang tersisa |


174```174```

175 175 

176| Flag | Deskripsi |176| Flag | Deskripsi |

177| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |177| :- | :- |

178| `-s, --scope <scope>` | Cakupan untuk diaktifkan: `user`, `project`, atau `local`. Terdeteksi otomatis ketika dihilangkan |178| `-s, --scope <scope>` | Cakupan untuk diaktifkan: `user`, `project`, atau `local`. Terdeteksi otomatis ketika dihilangkan |

179| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |179| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |

180 180 


212```212```

213 213 

214| Flag | Deskripsi |214| Flag | Deskripsi |

215| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |215| :- | :- |

216| `-a, --all` | Nonaktifkan setiap plugin yang diaktifkan. Tidak dapat digabungkan dengan nama plugin atau `--scope` |216| `-a, --all` | Nonaktifkan setiap plugin yang diaktifkan. Tidak dapat digabungkan dengan nama plugin atau `--scope` |

217| `-s, --scope <scope>` | Cakupan untuk dinonaktifkan: `user`, `project`, atau `local`. Terdeteksi otomatis ketika dihilangkan |217| `-s, --scope <scope>` | Cakupan untuk dinonaktifkan: `user`, `project`, atau `local`. Terdeteksi otomatis ketika dihilangkan |

218| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |218| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |


245```245```

246 246 

247| Flag | Deskripsi |247| Flag | Deskripsi |

248| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |248| :- | :- |

249| `-s, --scope <scope>` | Cakupan untuk diperbarui: `user`, `project`, `local`, atau `managed`. Default ke cakupan tempat plugin diinstal |249| `-s, --scope <scope>` | Cakupan untuk diperbarui: `user`, `project`, `local`, atau `managed`. Default ke cakupan tempat plugin diinstal |

250| `-y, --yes` | Terima perintah instal yang berubah dari plugin [command-source](/docs/id/plugins/host-marketplace), tanpa prompt. Diperlukan ketika stdin atau stdout bukan TTY, kecuali Anda melewatkan `--accept-command`. Memerlukan Claude Code v2.1.229 atau lebih baru |250| `-y, --yes` | Terima perintah instal yang berubah dari plugin [command-source](/docs/id/plugins/host-marketplace), tanpa prompt. Diperlukan ketika stdin atau stdout bukan TTY, kecuali Anda melewatkan `--accept-command`. Memerlukan Claude Code v2.1.229 atau lebih baru |

251| `--accept-command <sha256>` | Terima perintah yang dideklarasikan marketplace yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Memerlukan Claude Code v2.1.271 atau lebih baru |251| `--accept-command <sha256>` | Terima perintah yang dideklarasikan marketplace yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Memerlukan Claude Code v2.1.271 atau lebih baru |


274```274```

275 275 

276| Flag | Deskripsi |276| Flag | Deskripsi |

277| :------------ | :----------------------------------------------------------------------------------------------------------- |277| :- | :- |

278| `--json` | Cetak daftar sebagai JSON |278| `--json` | Cetak daftar sebagai JSON |

279| `--available` | Juga daftar plugin yang ditawarkan marketplace Anda yang belum Anda instal. Tidak berpengaruh tanpa `--json` |279| `--available` | Juga daftar plugin yang ditawarkan marketplace Anda yang belum Anda instal. Tidak berpengaruh tanpa `--json` |

280 280 


294Dengan `--json`, Claude Code mencetak array dengan satu objek per instalasi. Setiap objek membawa field di bawah. `id`, `version`, `scope`, `enabled`, dan `installPath` selalu ada, dan yang lain muncul hanya ketika berlaku.294Dengan `--json`, Claude Code mencetak array dengan satu objek per instalasi. Setiap objek membawa field di bawah. `id`, `version`, `scope`, `enabled`, dan `installPath` selalu ada, dan yang lain muncul hanya ketika berlaku.

295 295 

296| Field | Tipe | Deskripsi |296| Field | Tipe | Deskripsi |

297| :------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |297| :- | :- | :- |

298| `id` | string | `name@marketplace` untuk instal, `name@inline` untuk plugin hanya sesi, `name@skills-dir` untuk plugin direktori skills, `name@synced` untuk plugin yang disinkronkan dari claude.ai |298| `id` | string | `name@marketplace` untuk instal, `name@inline` untuk plugin hanya sesi, `name@skills-dir` untuk plugin direktori skills, `name@synced` untuk plugin yang disinkronkan dari claude.ai |

299| `version` | string | Untuk instal marketplace, [versi yang Claude Code hitung](/docs/id/plugins/loading#versions-and-updates) saat instal. Untuk plugin hanya sesi, direktori skills, atau disinkronkan, `version` manifest, atau `unknown` ketika tidak mendeklarasikan |299| `version` | string | Untuk instal marketplace, [versi yang Claude Code hitung](/docs/id/plugins/loading#versions-and-updates) saat instal. Untuk plugin hanya sesi, direktori skills, atau disinkronkan, `version` manifest, atau `unknown` ketika tidak mendeklarasikan |

300| `scope` | string | `user`, `project`, `local`, atau `managed` untuk instal; `user` atau `project` untuk plugin direktori skills; `session` untuk plugin hanya sesi; `synced` untuk plugin yang disinkronkan dari claude.ai |300| `scope` | string | `user`, `project`, `local`, atau `managed` untuk instal; `user` atau `project` untuk plugin direktori skills; `session` untuk plugin hanya sesi; `synced` untuk plugin yang disinkronkan dari claude.ai |


312Dengan `--json --available`, Claude Code mencetak satu objek alih-alih array. Field `installed`-nya memegang array objek plugin yang diinstal, dan field `available`-nya memegang satu objek per plugin marketplace yang tidak diinstal dengan field di bawah.312Dengan `--json --available`, Claude Code mencetak satu objek alih-alih array. Field `installed`-nya memegang array objek plugin yang diinstal, dan field `available`-nya memegang satu objek per plugin marketplace yang tidak diinstal dengan field di bawah.

313 313 

314| Field | Tipe | Deskripsi |314| Field | Tipe | Deskripsi |

315| :---------------- | :--------------- | :---------------------------------------------------------------------------------------------------------- |315| :- | :- | :- |

316| `pluginId` | string | `name@marketplace` |316| `pluginId` | string | `name@marketplace` |

317| `name` | string | Nama plugin di marketplace |317| `name` | string | Nama plugin di marketplace |

318| `marketplaceName` | string | Marketplace yang menawarkannya |318| `marketplaceName` | string | Marketplace yang menawarkannya |


362```362```

363 363 

364| Flag | Deskripsi |364| Flag | Deskripsi |

365| :-------------------- | :---------------------------------------------------------------------- |365| :- | :- |

366| `-s, --scope <scope>` | Prune di cakupan: `user`, `project`, atau `local`. Default ke `user` |366| `-s, --scope <scope>` | Prune di cakupan: `user`, `project`, atau `local`. Default ke `user` |

367| `--dry-run` | Daftar apa yang akan dihapus tanpa menghapusnya |367| `--dry-run` | Daftar apa yang akan dihapus tanpa menghapusnya |

368| `-y, --yes` | Lewati prompt konfirmasi. Diperlukan ketika stdin atau stdout bukan TTY |368| `-y, --yes` | Lewati prompt konfirmasi. Diperlukan ketika stdin atau stdout bukan TTY |


382Apa yang dilakukan `prune` tergantung pada apakah terminal terpasang dan apakah Anda melewatkan `-y`:382Apa yang dilakukan `prune` tergantung pada apakah terminal terpasang dan apakah Anda melewatkan `-y`:

383 383 

384| Terminal dan flag | Apa yang terjadi |384| Terminal dan flag | Apa yang terjadi |

385| :---------------------------------------- | :----------------------------------------------------------------------------------------------- |385| :- | :- |

386| Terminal interaktif, tidak ada `-y` | Mencantumkan dependensi yatim piatu dan menanyakan `Remove? [y/N]` |386| Terminal interaktif, tidak ada `-y` | Mencantumkan dependensi yatim piatu dan menanyakan `Remove? [y/N]` |

387| Terminal apa pun, `-y` | Menghapusnya dan mencetak `Removed N auto-installed plugins: <names>` |387| Terminal apa pun, `-y` | Menghapusnya dan mencetak `Removed N auto-installed plugins: <names>` |

388| stdin atau stdout non-TTY, tidak ada `-y` | Mencetak daftar dan ``Not a TTY — run `claude plugin prune -y` to remove.``, menghapus tidak ada |388| stdin atau stdout non-TTY, tidak ada `-y` | Mencetak daftar dan ``Not a TTY — run `claude plugin prune -y` to remove.``, menghapus tidak ada |


413Tabel ini mencantumkan opsi yang paling banyak digunakan run. Jalankan `claude plugin eval --help` untuk set lengkap, termasuk `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp`, dan `--verbose`.413Tabel ini mencantumkan opsi yang paling banyak digunakan run. Jalankan `claude plugin eval --help` untuk set lengkap, termasuk `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp`, dan `--verbose`.

414 414 

415| Opsi | Deskripsi | Default |415| Opsi | Deskripsi | Default |

416| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------- |416| :- | :- | :- |

417| `--runs <n>` | Berjalan per kasus di setiap [arm](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` setiap kasus, atau 3 |417| `--runs <n>` | Berjalan per kasus di setiap [arm](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` setiap kasus, atau 3 |

418| `-j, --concurrency <n>` | Sesi agen untuk dijalankan sekaligus, 1 hingga 8. Mereka berbagi batas laju Anda | `1` |418| `-j, --concurrency <n>` | Sesi agen untuk dijalankan sekaligus, 1 hingga 8. Mereka berbagi batas laju Anda | `1` |

419| `--model <model>` | Model untuk agen di bawah pengujian | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code |419| `--model <model>` | Model untuk agen di bawah pengujian | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code |


432Kode keluar melaporkan bagaimana run berakhir. Untuk bertindak atas itu dalam pipeline, lihat [Jalankan eval dalam CI](/docs/id/plugin-evals#run-evals-in-ci).432Kode keluar melaporkan bagaimana run berakhir. Untuk bertindak atas itu dalam pipeline, lihat [Jalankan eval dalam CI](/docs/id/plugin-evals#run-evals-in-ci).

433 433 

434| Kode keluar | Arti |434| Kode keluar | Arti |

435| :---------- | :--------------------------------------------------------------------------- |435| :- | :- |

436| `0` | Setiap kasus memenuhi ambang |436| `0` | Setiap kasus memenuhi ambang |

437| `1` | Kasus yang gagal, kesalahan muat, atau direktori plugin yang tidak dipercaya |437| `1` | Kasus yang gagal, kesalahan muat, atau direktori plugin yang tidak dipercaya |

438| `2` | Run parsial |438| `2` | Run parsial |


464Perintah menerima opsi ini:464Perintah menerima opsi ini:

465 465 

466| Opsi | Deskripsi | Default |466| Opsi | Deskripsi | Default |

467| :------------------ | :------------------------------------------------------------------------------------------------ | :------------------------------------------ |467| :- | :- | :- |

468| `--bare` | Tulis `prompt.md` dan `graders/criteria.md` kosong untuk `<name>` alih-alih menjalankan wawancara | |468| `--bare` | Tulis `prompt.md` dan `graders/criteria.md` kosong untuk `<name>` alih-alih menjalankan wawancara | |

469| `-i, --interactive` | Perlukan wawancara. Gagal tanpa terminal alih-alih menulis template | |469| `-i, --interactive` | Perlukan wawancara. Gagal tanpa terminal alih-alih menulis template | |

470| `--eval-dir <dir>` | Direktori di bawah direktori saat ini untuk menulis kasus ke | `experimental.evals` manifest, atau `evals` |470| `--eval-dir <dir>` | Direktori di bawah direktori saat ini untuk menulis kasus ke | `experimental.evals` manifest, atau `evals` |


484`[path]` adalah direktori plugin, default ke direktori saat ini. Perintah menemukan entri marketplace dengan berjalan naik dari direktori itu ke `.claude-plugin/marketplace.json` yang mencantumkan plugin.484`[path]` adalah direktori plugin, default ke direktori saat ini. Perintah menemukan entri marketplace dengan berjalan naik dari direktori itu ke `.claude-plugin/marketplace.json` yang mencantumkan plugin.

485 485 

486| Flag | Deskripsi |486| Flag | Deskripsi |

487| :-------------------- | :--------------------------------------------------------------------------- |487| :- | :- |

488| `--push` | Dorong tag ke `--remote` setelah membuatnya |488| `--push` | Dorong tag ke `--remote` setelah membuatnya |

489| `--dry-run` | Cetak apa yang akan ditandai tanpa membuat tag |489| `--dry-run` | Cetak apa yang akan ditandai tanpa membuat tag |

490| `-f, --force` | Lewati pohon kerja kotor dan pemeriksaan tag-sudah-ada |490| `-f, --force` | Lewati pohon kerja kotor dan pemeriksaan tag-sudah-ada |


524```524```

525 525 

526| Flag | Deskripsi |526| Flag | Deskripsi |

527| :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |527| :- | :- |

528| `--strict` | Perlakukan peringatan sebagai kesalahan, jadi field yang tidak dikenali dan metadata yang hilang yang ditoleransi runtime gagal run. Memerlukan Claude Code v2.1.145 atau lebih baru |528| `--strict` | Perlakukan peringatan sebagai kesalahan, jadi field yang tidak dikenali dan metadata yang hilang yang ditoleransi runtime gagal run. Memerlukan Claude Code v2.1.145 atau lebih baru |

529| `--json` | Output laporan validasi sebagai satu objek JSON dengan kode keluar yang sama. Memerlukan Claude Code v2.1.259 atau lebih baru |529| `--json` | Output laporan validasi sebagai satu objek JSON dengan kode keluar yang sama. Memerlukan Claude Code v2.1.259 atau lebih baru |

530 530 


566Claude Code mencetak file yang divalidasi, kesalahan dan peringatan apa pun dengan jalurnya, dan baris putusan. Kode keluar mengikuti putusan:566Claude Code mencetak file yang divalidasi, kesalahan dan peringatan apa pun dengan jalurnya, dan baris putusan. Kode keluar mengikuti putusan:

567 567 

568| Kode keluar | Baris putusan | Arti |568| Kode keluar | Baris putusan | Arti |

569| :---------- | :-------------------------------------------------------------------------------- | :------------------------------------------------------------------ |569| :- | :- | :- |

570| `0` | `Validation passed` atau `Validation passed with warnings` | Manifest dimuat. Dengan `--strict`, tidak ada peringatan |570| `0` | `Validation passed` atau `Validation passed with warnings` | Manifest dimuat. Dengan `--strict`, tidak ada peringatan |

571| `1` | `Validation failed` atau `Validation failed (--strict treats warnings as errors)` | Kesalahan, atau peringatan di bawah `--strict` |571| `1` | `Validation failed` atau `Validation failed (--strict treats warnings as errors)` | Kesalahan, atau peringatan di bawah `--strict` |

572| `2` | `Unexpected error during validation: <reason>` | Validator sendiri gagal, seperti pada jalur yang tidak dapat dibaca |572| `2` | `Unexpected error during validation: <reason>` | Validator sendiri gagal, seperti pada jalur yang tidak dapat dibaca |


605```605```

606 606 

607| Flag | Deskripsi |607| Flag | Deskripsi |

608| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |608| :- | :- |

609| `--scope <scope>` | File pengaturan untuk mendeklarasikan marketplace: `user`, `project`, atau `local`. Default ke `user` |609| `--scope <scope>` | File pengaturan untuk mendeklarasikan marketplace: `user`, `project`, atau `local`. Default ke `user` |

610| `--sparse <paths...>` | Batasi checkout git ke direktori ini, untuk monorepo. Hanya sumber `github` dan `git` |610| `--sparse <paths...>` | Batasi checkout git ke direktori ini, untuk monorepo. Hanya sumber `github` dan `git` |

611| `--claudeai` | Baca argumen sebagai nama [marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) alih-alih sumber. Memerlukan Claude Code v2.1.273 atau lebih baru |611| `--claudeai` | Baca argumen sebagai nama [marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) alih-alih sumber. Memerlukan Claude Code v2.1.273 atau lebih baru |


613`<source>` mengambil salah satu bentuk dalam tabel di bawah, dan bentuknya memutuskan tipe sumber dan cara Claude Code mengambil marketplace. Untuk objek sumber yang dihasilkan, lihat [referensi marketplace](/docs/id/plugins/marketplace-reference).613`<source>` mengambil salah satu bentuk dalam tabel di bawah, dan bentuknya memutuskan tipe sumber dan cara Claude Code mengambil marketplace. Untuk objek sumber yang dihasilkan, lihat [referensi marketplace](/docs/id/plugins/marketplace-reference).

614 614 

615| Anda ketik | Tipe sumber | Cara Claude Code mengambilnya |615| Anda ketik | Tipe sumber | Cara Claude Code mengambilnya |

616| :---------------------------------------------------------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------- |616| :- | :- | :- |

617| `owner/repo`, `owner/repo#ref`, atau `owner/repo@ref` | `github` | Mengkloning repositori GitHub, disematkan ke `ref` ketika diberikan. Pemilik dan repo harus mengikuti aturan penamaan GitHub |617| `owner/repo`, `owner/repo#ref`, atau `owner/repo@ref` | `github` | Mengkloning repositori GitHub, disematkan ke `ref` ketika diberikan. Pemilik dan repo harus mengikuti aturan penamaan GitHub |

618| `user@host:path[.git][#ref]` | `git` | Mengkloning melalui SSH |618| `user@host:path[.git][#ref]` | `git` | Mengkloning melalui SSH |

619| `https://example.com/repo.git[#ref]`, atau URL yang berisi `/_git/` | `git` | Mengkloning melalui HTTPS, termasuk URL Azure DevOps |619| `https://example.com/repo.git[#ref]`, atau URL yang berisi `/_git/` | `git` | Mengkloning melalui HTTPS, termasuk URL Azure DevOps |


657```657```

658 658 

659| Flag | Deskripsi |659| Flag | Deskripsi |

660| :------- | :------------------------ |660| :- | :- |

661| `--json` | Cetak daftar sebagai JSON |661| `--json` | Cetak daftar sebagai JSON |

662 662 

663Claude Code mencetak `Configured marketplaces:` dan satu baris `Source:` per marketplace, atau `No marketplaces configured`.663Claude Code mencetak `Configured marketplaces:` dan satu baris `Source:` per marketplace, atau `No marketplaces configured`.


665Dengan `--json`, Claude Code mencetak array dengan satu objek per marketplace, membawa field di bawah. Setiap field adalah string.665Dengan `--json`, Claude Code mencetak array dengan satu objek per marketplace, membawa field di bawah. Setiap field adalah string.

666 666 

667| Field | Deskripsi |667| Field | Deskripsi |

668| :---------------- | :---------------------------------------------------------------------------------- |668| :- | :- |

669| `name` | Nama marketplace |669| `name` | Nama marketplace |

670| `source` | `github`, `git`, `url`, `directory`, `file`, atau `claudeai` |670| `source` | `github`, `git`, `url`, `directory`, `file`, atau `claudeai` |

671| `repo` | `owner/repo`. Hanya sumber `github` |671| `repo` | `owner/repo`. Hanya sumber `github` |


699`<name>` adalah nama marketplace yang ditunjukkan `plugin marketplace list`, bukan sumber yang Anda lewatkan ke `add`.699`<name>` adalah nama marketplace yang ditunjukkan `plugin marketplace list`, bukan sumber yang Anda lewatkan ke `add`.

700 700 

701| Flag | Deskripsi |701| Flag | Deskripsi |

702| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |702| :- | :- |

703| `--scope <scope>` | Hapus deklarasi dari satu cakupan pengaturan: `user`, `project`, atau `local`. Tanpanya, Claude Code menghapus deklarasi dari setiap cakupan |703| `--scope <scope>` | Hapus deklarasi dari satu cakupan pengaturan: `user`, `project`, atau `local`. Tanpanya, Claude Code menghapus deklarasi dari setiap cakupan |

704 704 

705Hapus marketplace dari setiap cakupan:705Hapus marketplace dari setiap cakupan:


745Tabel di bawah mencantumkan setiap bentuk sesi. Subperintah shell `init`, `update`, `details`, `prune`, `eval`, dan `eval init` tidak memiliki bentuk sesi.745Tabel di bawah mencantumkan setiap bentuk sesi. Subperintah shell `init`, `update`, `details`, `prune`, `eval`, dan `eval init` tidak memiliki bentuk sesi.

746 746 

747| Perintah | Alias | Apa yang dilakukan |747| Perintah | Alias | Apa yang dilakukan |

748| :-------------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |748| :- | :- | :- |

749| `/plugin` | | Membuka panel di tab **Discover**. Kata pertama yang tidak dikenali setelah `/plugin` melakukan hal yang sama |749| `/plugin` | | Membuka panel di tab **Discover**. Kata pertama yang tidak dikenali setelah `/plugin` melakukan hal yang sama |

750| `/plugin help` | `/plugin --help`, `/plugin -h` | Menampilkan daftar penggunaan subperintah `/plugin` |750| `/plugin help` | `/plugin --help`, `/plugin -h` | Menampilkan daftar penggunaan subperintah `/plugin` |

751| `/plugin list [--enabled\|--disabled]` | `ls` | Mencetak plugin yang diinstal marketplace Anda inline, dengan versi, cakupan, dan status. Flag filter menampilkan hanya status itu. Plugin yang status aktifnya belum diterapkan ditandai `— run /reload-plugins to apply`. Memerlukan Claude Code v2.1.163 atau lebih baru |751| `/plugin list [--enabled\|--disabled]` | `ls` | Mencetak plugin yang diinstal marketplace Anda inline, dengan versi, cakupan, dan status. Flag filter menampilkan hanya status itu. Plugin yang status aktifnya belum diterapkan ditandai `— run /reload-plugins to apply`. Memerlukan Claude Code v2.1.163 atau lebih baru |


781```781```

782 782 

783| Flag | Deskripsi |783| Flag | Deskripsi |

784| :-------- | :--------------------------------------------------------------------------------------------- |784| :- | :- |

785| `--force` | Terapkan reload bahkan ketika akan membatalkan cache prompt. `force` tanpa dash juga berfungsi |785| `--force` | Terapkan reload bahkan ketika akan membatalkan cache prompt. `force` tanpa dash juga berfungsi |

786 786 

787<h3 id="reload-summary">787<h3 id="reload-summary">


819Penulis plugin menggunakannya untuk menguji plugin sebelum menerbitkan. Untuk alur kerja muat-edit-muat ulang, lihat [Kembangkan tanpa marketplace](/docs/id/plugins/create#develop-without-a-marketplace).819Penulis plugin menggunakannya untuk menguji plugin sebelum menerbitkan. Untuk alur kerja muat-edit-muat ulang, lihat [Kembangkan tanpa marketplace](/docs/id/plugins/create#develop-without-a-marketplace).

820 820 

821| Flag | Deskripsi | Contoh |821| Flag | Deskripsi | Contoh |

822| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |822| :- | :- | :- |

823| `--plugin-dir <path>` | Muat plugin dari direktori atau arsip `.zip` darinya. Folder plugin memuat setiap folder anak yang memegang `.claude-plugin/plugin.json`. Setiap flag mengambil satu jalur | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |823| `--plugin-dir <path>` | Muat plugin dari direktori atau arsip `.zip` darinya. Folder plugin memuat setiap folder anak yang memegang `.claude-plugin/plugin.json`. Setiap flag mengambil satu jalur | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

824| `--plugin-url <url>` | Ambil arsip plugin `.zip` dari URL. Ulangi flag, atau lewatkan beberapa URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |824| `--plugin-url <url>` | Ambil arsip plugin `.zip` dari URL. Ulangi flag, atau lewatkan beberapa URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

825 825 

Details

29 Temukan bahasa Anda di tabel di bawah dan instal binary di barisnya. Jika bahasa Anda tidak terdaftar, lihat [Add a language without an official plugin](#add-a-language-without-an-official-plugin).29 Temukan bahasa Anda di tabel di bawah dan instal binary di barisnya. Jika bahasa Anda tidak terdaftar, lihat [Add a language without an official plugin](#add-a-language-without-an-official-plugin).

30 30 

31 | Language | Plugin | Binary |31 | Language | Plugin | Binary |

32 | :------------------------ | :--------------------------------------------------------------------------------------------------------------- | :------------------------------ |32 | :- | :- | :- |

33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |

34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |

35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |

Details

953Plugin dapat menyertakan color themes dan output styles. Keduanya muncul di picker yang sama dengan pengguna sendiri. Untuk salah satu, menetapkan kunci manifest menggantikan pemindaian folder.953Plugin dapat menyertakan color themes dan output styles. Keduanya muncul di picker yang sama dengan pengguna sendiri. Untuk salah satu, menetapkan kunci manifest menggantikan pemindaian folder.

954 954 

955| Komponen | Simpan sebagai | Format | Muncul di | Kunci manifest |955| Komponen | Simpan sebagai | Format | Muncul di | Kunci manifest |

956| :----------- | :------------------------ | :------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------- | :-------------------- |956| :- | :- | :- | :- | :- |

957| Tema | `themes/<slug>.json` | Format [file tema kustom](/docs/id/terminal-config#create-a-custom-theme) yang ditulis pengguna di `~/.claude/themes/` | `/theme`, di bawah `name` file | `experimental.themes` |957| Tema | `themes/<slug>.json` | Format [file tema kustom](/docs/id/terminal-config#create-a-custom-theme) yang ditulis pengguna di `~/.claude/themes/` | `/theme`, di bawah `name` file | `experimental.themes` |

958| Output style | `output-styles/<name>.md` | Format [output style kustom](/docs/id/output-styles#create-a-custom-output-style), dengan frontmatter `name` dan `description` | `/output-style`, sebagai `<plugin>:<name>` | `outputStyles` |958| Output style | `output-styles/<name>.md` | Format [output style kustom](/docs/id/output-styles#create-a-custom-output-style), dengan frontmatter `name` dan `description` | `/output-style`, sebagai `<plugin>:<name>` | `outputStyles` |

959 959 

Details

151Tabel mencantumkan direktori yang paling banyak digunakan plugin untuk memulai, dan [full layout](/docs/id/plugins/manifest-reference#standard-layout) mencantumkan sisanya.151Tabel mencantumkan direktori yang paling banyak digunakan plugin untuk memulai, dan [full layout](/docs/id/plugins/manifest-reference#standard-layout) mencantumkan sisanya.

152 152 

153| Lokasi | Isi |153| Lokasi | Isi |

154| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |154| :- | :- |

155| `.claude-plugin/plugin.json` | Manifest. Ketika Anda memuat plugin dengan `--plugin-dir` dan tidak memiliki manifest, Claude Code memberi nama plugin setelah direktorinya |155| `.claude-plugin/plugin.json` | Manifest. Ketika Anda memuat plugin dengan `--plugin-dir` dan tidak memiliki manifest, Claude Code memberi nama plugin setelah direktorinya |

156| `skills/` | Satu direktori `<name>/SKILL.md` per skill |156| `skills/` | Satu direktori `<name>/SKILL.md` per skill |

157| `commands/` | File Markdown datar, bentuk lama dari skills. Gunakan `skills/` untuk plugin baru |157| `commands/` | File Markdown datar, bentuk lama dari skills. Gunakan `skills/` untuk plugin baru |

Details

169Setiap entri plugin dalam `marketplace.json` memiliki `source` yang memberi tahu Claude Code tempat mengambil plugin itu. Pilih sumber berdasarkan tempat file plugin disimpan. Tabel mencantumkan sumber yang paling sering digunakan pemilik marketplace.169Setiap entri plugin dalam `marketplace.json` memiliki `source` yang memberi tahu Claude Code tempat mengambil plugin itu. Pilih sumber berdasarkan tempat file plugin disimpan. Tabel mencantumkan sumber yang paling sering digunakan pemilik marketplace.

170 170 

171| Sumber | Gunakan ketika | Nilai `source` minimal |171| Sumber | Gunakan ketika | Nilai `source` minimal |

172| :------------ | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- |172| :- | :- | :- |

173| Jalur relatif | File plugin berada di dalam direktori marketplace itu sendiri | `"./plugins/my-first-plugin"` |173| Jalur relatif | File plugin berada di dalam direktori marketplace itu sendiri | `"./plugins/my-first-plugin"` |

174| `github` | Plugin adalah repositori GitHub sendiri | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |174| `github` | Plugin adalah repositori GitHub sendiri | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |

175| `git-subdir` | Plugin adalah subdirektori dari beberapa repositori lain, seperti monorepo | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |175| `git-subdir` | Plugin adalah subdirektori dari beberapa repositori lain, seperti monorepo | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |

Details

50Untuk menetapkan batasan versi, gunakan objek dengan bidang-bidang ini, masing-masing berupa string:50Untuk menetapkan batasan versi, gunakan objek dengan bidang-bidang ini, masing-masing berupa string:

51 51 

52| Bidang | Deskripsi |52| Bidang | Deskripsi |

53| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :- | :- |

54| `name` | Nama plugin dependensi, seperti yang muncul dalam entri marketplace-nya. Claude Code mencarinya di marketplace yang sama dengan plugin yang mendeklarasikan kecuali Anda menetapkan `marketplace`. Diperlukan. |54| `name` | Nama plugin dependensi, seperti yang muncul dalam entri marketplace-nya. Claude Code mencarinya di marketplace yang sama dengan plugin yang mendeklarasikan kecuali Anda menetapkan `marketplace`. Diperlukan. |

55| `version` | Rentang [semantic-version](https://github.com/npm/node-semver#ranges) seperti `~2.1.0`, `^2.0`, `>=1.4`, atau `=2.1.0`. Dependensi menginstal pada tag git tertinggi yang memenuhi rentang ini, jadi pengelola dependensi harus [menandai rilis](#tag-plugin-releases-for-version-resolution). |55| `version` | Rentang [semantic-version](https://github.com/npm/node-semver#ranges) seperti `~2.1.0`, `^2.0`, `>=1.4`, atau `=2.1.0`. Dependensi menginstal pada tag git tertinggi yang memenuhi rentang ini, jadi pengelola dependensi harus [menandai rilis](#tag-plugin-releases-for-version-resolution). |

56| `marketplace` | Marketplace berbeda untuk menyelesaikan `name` di dalamnya. Daftar izin mengontrol dependensi lintas-marketplace, dijelaskan dalam [Bergantung pada plugin dari marketplace lain](#depend-on-a-plugin-from-another-marketplace). |56| `marketplace` | Marketplace berbeda untuk menyelesaikan `name` di dalamnya. Daftar izin mengontrol dependensi lintas-marketplace, dijelaskan dalam [Bergantung pada plugin dari marketplace lain](#depend-on-a-plugin-from-another-marketplace). |


228Ketika beberapa plugin yang terinstal membatasi dependensi yang sama, dependensi diselesaikan ke versi tertinggi yang memenuhi semua rentang mereka. Kombinasi umum diselesaikan seperti ini:228Ketika beberapa plugin yang terinstal membatasi dependensi yang sama, dependensi diselesaikan ke versi tertinggi yang memenuhi semua rentang mereka. Kombinasi umum diselesaikan seperti ini:

229 229 

230| Plugin A memerlukan | Plugin B memerlukan | Hasil |230| Plugin A memerlukan | Plugin B memerlukan | Hasil |

231| :------------------ | :------------------ | :------------------------------------------------------------------------------------------------------------------------------- |231| :- | :- | :- |

232| `^2.0` | `>=2.1` | Satu instalasi pada tag `2.x` tertinggi pada atau di atas `2.1.0`. Kedua plugin dimuat. |232| `^2.0` | `>=2.1` | Satu instalasi pada tag `2.x` tertinggi pada atau di atas `2.1.0`. Kedua plugin dimuat. |

233| `~2.1` | `~3.0` | Menginstal plugin B gagal dengan pesan `has conflicting version requirements`. Plugin A dan dependensi tetap seperti sebelumnya. |233| `~2.1` | `~3.0` | Menginstal plugin B gagal dengan pesan `has conflicting version requirements`. Plugin A dan dependensi tetap seperti sebelumnya. |

234| `=2.1.0` | tidak ada | Dependensi tetap pada `2.1.0`. Auto-update melewati versi yang lebih baru saat plugin A terinstal. |234| `=2.1.0` | tidak ada | Dependensi tetap pada `2.1.0`. Auto-update melewati versi yang lebih baru saat plugin A terinstal. |

Details

26Anda dapat menghost marketplace di GitHub, di host git lain, sebagai URL `marketplace.json` yang dihosting, atau di direktori pada filesystem bersama. Kirim perintah add kepada pengguna Anda untuk host Anda dan beri tahu mereka apa yang mereka butuhkan di mesin mereka:26Anda dapat menghost marketplace di GitHub, di host git lain, sebagai URL `marketplace.json` yang dihosting, atau di direktori pada filesystem bersama. Kirim perintah add kepada pengguna Anda untuk host Anda dan beri tahu mereka apa yang mereka butuhkan di mesin mereka:

27 27 

28| Host | Pengguna jalankan, dalam sesi Claude Code | Apa yang pengguna butuhkan |28| Host | Pengguna jalankan, dalam sesi Claude Code | Apa yang pengguna butuhkan |

29| :-------------------------------------------------------------- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |29| :- | :- | :- |

30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, dan untuk repositori pribadi akses yang dijelaskan di bawah [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, dan untuk repositori pribadi akses yang dijelaskan di bawah [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |

31| GitLab, Bitbucket, GitHub Enterprise Server, atau host git lain | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git`, dan akses ke host dari mesin mereka. Kirim URL lengkap, karena shorthand `owner/repo` selalu berarti github.com |31| GitLab, Bitbucket, GitHub Enterprise Server, atau host git lain | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git`, dan akses ke host dari mesin mereka. Kirim URL lengkap, karena shorthand `owner/repo` selalu berarti github.com |

32| URL `marketplace.json` yang dihosting | `/plugin marketplace add https://plugins.example.com/marketplace.json` | Akses HTTPS ke URL. Pengguna tidak memerlukan `git` untuk katalog itu sendiri |32| URL `marketplace.json` yang dihosting | `/plugin marketplace add https://plugins.example.com/marketplace.json` | Akses HTTPS ke URL. Pengguna tidak memerlukan `git` untuk katalog itu sendiri |


159Meluncurkan plugin ke perusahaan melibatkan Anda sebagai pemilik marketplace, administrator yang mengontrol pengaturan terkelola, dan setiap orang yang menggunakan Claude Code. Anda dapat menjalankan peluncuran tanpa administrator, dalam hal ini setiap orang menambahkan marketplace dan memasang plugin sendiri.159Meluncurkan plugin ke perusahaan melibatkan Anda sebagai pemilik marketplace, administrator yang mengontrol pengaturan terkelola, dan setiap orang yang menggunakan Claude Code. Anda dapat menjalankan peluncuran tanpa administrator, dalam hal ini setiap orang menambahkan marketplace dan memasang plugin sendiri.

160 160 

161| Siapa | Apa yang mereka lakukan | Di mana tercakup |161| Siapa | Apa yang mereka lakukan | Di mana tercakup |

162| :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |162| :- | :- | :- |

163| Anda, pemilik marketplace | Simpan katalog di repositori yang hanya dapat dibaca perusahaan, kirim perintah add untuk host Anda, dan katakan apa yang setiap orang butuhkan di mesin mereka | [Host your marketplace](#host-your-marketplace) dan [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |163| Anda, pemilik marketplace | Simpan katalog di repositori yang hanya dapat dibaca perusahaan, kirim perintah add untuk host Anda, dan katakan apa yang setiap orang butuhkan di mesin mereka | [Host your marketplace](#host-your-marketplace) dan [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |

164| Administrator | Mendaftarkan marketplace dan menyalakan plugin-nya untuk semua orang dengan `extraKnownMarketplaces` dan `enabledPlugins` dalam pengaturan terkelola, dan mengatur `autoUpdate` di sana | [Require a marketplace and its plugins](/docs/id/plugins/org#require-a-marketplace-and-its-plugins) dan [Set update policy](/docs/id/plugins/org#set-update-policy) |164| Administrator | Mendaftarkan marketplace dan menyalakan plugin-nya untuk semua orang dengan `extraKnownMarketplaces` dan `enabledPlugins` dalam pengaturan terkelola, dan mengatur `autoUpdate` di sana | [Require a marketplace and its plugins](/docs/id/plugins/org#require-a-marketplace-and-its-plugins) dan [Set update policy](/docs/id/plugins/org#set-update-policy) |

165| Setiap orang | Memerlukan akses baca ke repositori git pribadi, dengan kredensial sudah disimpan di mesin mereka. Tanpa administrator, mereka juga menjalankan perintah add dan install | [Add a private marketplace](/docs/id/plugins/install#add-a-private-marketplace) |165| Setiap orang | Memerlukan akses baca ke repositori git pribadi, dengan kredensial sudah disimpan di mesin mereka. Tanpa administrator, mereka juga menjalankan perintah add dan install | [Add a private marketplace](/docs/id/plugins/install#add-a-private-marketplace) |


331Tempat yang Anda pilih menentukan unduhan mana yang mendapatkan header dan kapan Claude Code menjalankan perintah:331Tempat yang Anda pilih menentukan unduhan mana yang mendapatkan header dan kapan Claude Code menjalankan perintah:

332 332 

333| Tempat | Unduhan yang mendapatkan header | Kapan Claude Code menjalankan `headersHelper` yang diatur di sana |333| Tempat | Unduhan yang mendapatkan header | Kapan Claude Code menjalankan `headersHelper` yang diatur di sana |

334| :----------------------- | :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |334| :- | :- | :- |

335| Sumber `url` Marketplace | Unduhan arsip pada asal URL marketplace, artinya skema, host, dan port yang sama | Sebelum setiap pengambilan `marketplace.json` marketplace dan sebelum setiap unduhan arsip pada asal tersebut. Claude Code menggunakan kembali output satu run selama hingga 60 detik |335| Sumber `url` Marketplace | Unduhan arsip pada asal URL marketplace, artinya skema, host, dan port yang sama | Sebelum setiap pengambilan `marketplace.json` marketplace dan sebelum setiap unduhan arsip pada asal tersebut. Claude Code menggunakan kembali output satu run selama hingga 60 detik |

336| Entri plugin | Hanya unduhan entri tersebut | Hanya ketika pengguna memasang atau memperbarui plugin tersebut saja dan [menerima perintah](#how-users-accept-a-headershelper-command) |336| Entri plugin | Hanya unduhan entri tersebut | Hanya ketika pengguna memasang atau memperbarui plugin tersebut saja dan [menerima perintah](#how-users-accept-a-headershelper-command) |

337 337 


415Anda mendeklarasikan `headersHelper` sumber `url` marketplace dalam file pengaturan, seperti entri [`extraKnownMarketplaces`](/docs/id/settings-reference#extraknownmarketplaces), daripada dalam katalog yang dipublikasikan marketplace. Claude Code oleh karena itu tidak meminta pengguna untuk menerimanya pada setiap pemasangan atau pembaruan. Sebagai gantinya, file pengaturan yang mendeklarasikannya menentukan kapan Claude Code menjalankannya:415Anda mendeklarasikan `headersHelper` sumber `url` marketplace dalam file pengaturan, seperti entri [`extraKnownMarketplaces`](/docs/id/settings-reference#extraknownmarketplaces), daripada dalam katalog yang dipublikasikan marketplace. Claude Code oleh karena itu tidak meminta pengguna untuk menerimanya pada setiap pemasangan atau pembaruan. Sebagai gantinya, file pengaturan yang mendeklarasikannya menentukan kapan Claude Code menjalankannya:

416 416 

417| File pengaturan | Kapan Claude Code menjalankan perintah |417| File pengaturan | Kapan Claude Code menjalankan perintah |

418| :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |418| :- | :- |

419| Pengaturan pengguna, file `--settings`, atau file pengaturan terkelola pada mesin | Tanpa bertanya, termasuk selama penyegaran marketplace latar belakang |419| Pengaturan pengguna, file `--settings`, atau file pengaturan terkelola pada mesin | Tanpa bertanya, termasuk selama penyegaran marketplace latar belakang |

420| `.claude/settings.json` atau `.claude/settings.local.json` proyek | Hanya setelah pengguna menerima [dialog kepercayaan ruang kerja](/docs/id/permissions#what-runs-before-you-trust-a-folder) untuk folder itu sendiri. Sesi `-p` atau SDK tidak dihitung sebagai menerimanya, dan kepercayaan yang diberikan ke folder induk juga tidak |420| `.claude/settings.json` atau `.claude/settings.local.json` proyek | Hanya setelah pengguna menerima [dialog kepercayaan ruang kerja](/docs/id/permissions#what-runs-before-you-trust-a-folder) untuk folder itu sendiri. Sesi `-p` atau SDK tidak dihitung sebagai menerimanya, dan kepercayaan yang diberikan ke folder induk juga tidak |

421| Pengaturan terkelola server | Dalam sesi interaktif, hanya setelah pengguna menyetujui pengaturan yang dikirimkan dalam [dialog persetujuan keamanan](/docs/id/server-managed-settings#security-approval-dialogs) |421| Pengaturan terkelola server | Dalam sesi interaktif, hanya setelah pengguna menyetujui pengaturan yang dikirimkan dalam [dialog persetujuan keamanan](/docs/id/server-managed-settings#security-approval-dialogs) |

Details

211Dalam sesi Claude Code, jalankan `/plugin marketplace add` diikuti oleh sumber marketplace: repository GitHub, repository git di host apa pun, direktori atau file lokal, atau `marketplace.json` yang dihosting.211Dalam sesi Claude Code, jalankan `/plugin marketplace add` diikuti oleh sumber marketplace: repository GitHub, repository git di host apa pun, direktori atau file lokal, atau `marketplace.json` yang dihosting.

212 212 

213| Source | What you type | Example |213| Source | What you type | Example |

214| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |214| :- | :- | :- |

215| GitHub repository | `owner/repo`. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add anthropics/claude-code`, atau `/plugin marketplace add your-org/plugins#v1.2.0` untuk menyematkan tag `v1.2.0` |215| GitHub repository | `owner/repo`. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add anthropics/claude-code`, atau `/plugin marketplace add your-org/plugins#v1.2.0` untuk menyematkan tag `v1.2.0` |

216| Git repository on any host | URL clone lengkap. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |216| Git repository on any host | URL clone lengkap. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

217| Local directory or file | Jalur relatif atau absolut ke direktori yang menyimpan `.claude-plugin/marketplace.json`, atau ke file JSON itu sendiri. Mulai jalur relatif dengan `./` atau `../`, karena Claude Code membaca `name/name` telanjang sebagai repository GitHub. | `/plugin marketplace add ./my-marketplace` |217| Local directory or file | Jalur relatif atau absolut ke direktori yang menyimpan `.claude-plugin/marketplace.json`, atau ke file JSON itu sendiri. Mulai jalur relatif dengan `./` atau `../`, karena Claude Code membaca `name/name` telanjang sebagai repository GitHub. | `/plugin marketplace add ./my-marketplace` |


400Anda juga dapat mencantumkan, memperbarui, dan menghapus marketplace dengan perintah, dari shell Anda atau dalam sesi:400Anda juga dapat mencantumkan, memperbarui, dan menghapus marketplace dengan perintah, dari shell Anda atau dalam sesi:

401 401 

402| Action | In your shell | Inside a session |402| Action | In your shell | Inside a session |

403| :----------------------------- | :---------------------------------------- | :---------------------------------- |403| :- | :- | :- |

404| List marketplaces | `claude plugin marketplace list` | `/plugin marketplace list` |404| List marketplaces | `claude plugin marketplace list` | `/plugin marketplace list` |

405| Update a marketplace's listing | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |405| Update a marketplace's listing | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |

406| Remove a marketplace | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |406| Remove a marketplace | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |

Details

53Setiap plugin memiliki id dalam bentuk `<name>@<origin>`, yang merupakan apa yang Anda lihat dalam file pengaturan dan dalam `claude plugin list --json`. Bagian setelah `@` memberi tahu Anda di mana Claude Code menemukan plugin:53Setiap plugin memiliki id dalam bentuk `<name>@<origin>`, yang merupakan apa yang Anda lihat dalam file pengaturan dan dalam `claude plugin list --json`. Bagian setelah `@` memberi tahu Anda di mana Claude Code menemukan plugin:

54 54 

55| ID berakhir dengan | Bagaimana plugin sampai di sana | Bagaimana Anda mengaktifkan atau menonaktifkannya |55| ID berakhir dengan | Bagaimana plugin sampai di sana | Bagaimana Anda mengaktifkan atau menonaktifkannya |

56| :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- |

57| `@<marketplace>` | Anda menginstalnya dari marketplace yang Anda tambahkan | `"<name>@<marketplace>": true` atau `false` di bawah `enabledPlugins` dalam file pengaturan |57| `@<marketplace>` | Anda menginstalnya dari marketplace yang Anda tambahkan | `"<name>@<marketplace>": true` atau `false` di bawah `enabledPlugins` dalam file pengaturan |

58| `@inline` | Anda memulai Claude Code dengan `--plugin-dir` atau `--plugin-url`, mengatur [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/id/env-vars#variables), atau aplikasi Agent SDK meneruskan opsi `plugins`. Plugin dimuat untuk sesi itu saja | Aktif untuk sesi kecuali manifest menetapkan `defaultEnabled: false` atau file pengaturan menetapkan `"<name>@inline": false` |58| `@inline` | Anda memulai Claude Code dengan `--plugin-dir` atau `--plugin-url`, mengatur [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/id/env-vars#variables), atau aplikasi Agent SDK meneruskan opsi `plugins`. Plugin dimuat untuk sesi itu saja | Aktif untuk sesi kecuali manifest menetapkan `defaultEnabled: false` atau file pengaturan menetapkan `"<name>@inline": false` |

59| `@skills-dir` | Anda menyimpan direktori plugin yang memiliki `.claude-plugin/plugin.json` di bawah `~/.claude/skills/` atau `.claude/skills/` proyek | `defaultEnabled` manifest, kecuali file pengaturan menetapkan `"<name>@skills-dir"` ke `true` atau `false` |59| `@skills-dir` | Anda menyimpan direktori plugin yang memiliki `.claude-plugin/plugin.json` di bawah `~/.claude/skills/` atau `.claude/skills/` proyek | `defaultEnabled` manifest, kecuali file pengaturan menetapkan `"<name>@skills-dir"` ke `true` atau `false` |


142Anda dapat mengatur entri `enabledPlugins` dalam salah satu dari enam sumber. Tabel mencantumnya dari preseden terendah ke tertinggi, dan siapa yang masing-masing berlaku. Untuk file pengaturan itu sendiri, lihat [File pengaturan dan siapa yang mereka pengaruhi](/docs/id/settings#where-settings-live).142Anda dapat mengatur entri `enabledPlugins` dalam salah satu dari enam sumber. Tabel mencantumnya dari preseden terendah ke tertinggi, dan siapa yang masing-masing berlaku. Untuk file pengaturan itu sendiri, lihat [File pengaturan dan siapa yang mereka pengaruhi](/docs/id/settings#where-settings-live).

143 143 

144| Sumber | Di mana Anda mengaturnya | Menjangkau |144| Sumber | Di mana Anda mengaturnya | Menjangkau |

145| :---------- | :--------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |145| :- | :- | :- |

146| `--add-dir` | `.claude/settings.json` atau `.claude/settings.local.json` dalam direktori yang Anda teruskan dengan `--add-dir` | Sesi ini saja. Hanya nilai `true` yang memiliki efek, dan setiap sumber lain menimpanya |146| `--add-dir` | `.claude/settings.json` atau `.claude/settings.local.json` dalam direktori yang Anda teruskan dengan `--add-dir` | Sesi ini saja. Hanya nilai `true` yang memiliki efek, dan setiap sumber lain menimpanya |

147| `user` | `~/.claude/settings.json` | Anda, dalam setiap proyek |147| `user` | `~/.claude/settings.json` | Anda, dalam setiap proyek |

148| `project` | `.claude/settings.json` | Semua orang yang mengklona repositori |148| `project` | `.claude/settings.json` | Semua orang yang mengklona repositori |


182Claude Code menyimpan file plugin dan catatan status di bawah satu root plugin, yaitu `~/.claude/plugins` kecuali Anda menetapkan [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/id/env-vars). Setiap path dalam tabel adalah relatif terhadap root tersebut.182Claude Code menyimpan file plugin dan catatan status di bawah satu root plugin, yaitu `~/.claude/plugins` kecuali Anda menetapkan [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/id/env-vars). Setiap path dalam tabel adalah relatif terhadap root tersebut.

183 183 

184| Path | Apa yang disimpannya |184| Path | Apa yang disimpannya |

185| :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | Satu direktori per versi plugin marketplace yang terinstal. `<plugin>` adalah nama entri marketplace dan `<version>` adalah [versi yang diselesaikan](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori ini |186| `cache/<marketplace>/<plugin>/<version>/` | Satu direktori per versi plugin marketplace yang terinstal. `<plugin>` adalah nama entri marketplace dan `<version>` adalah [versi yang diselesaikan](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori ini |

187| `data/<plugin-id>/` | Direktori persisten plugin, diekspos sebagai `${CLAUDE_PLUGIN_DATA}`. Untuk cara `<plugin-id>` dibentuk, lihat [Path variables and persistent data](/docs/id/plugins/components#path-variables-and-persistent-data). Claude Code membuatnya ketika komponen plugin pertama kali menggunakannya dan menyimpannya di seluruh pembaruan. Claude Code menghapusnya ketika Anda mencopot plugin dari scope terakhirnya, kecuali Anda melewatkan `--keep-data` |187| `data/<plugin-id>/` | Direktori persisten plugin, diekspos sebagai `${CLAUDE_PLUGIN_DATA}`. Untuk cara `<plugin-id>` dibentuk, lihat [Path variables and persistent data](/docs/id/plugins/components#path-variables-and-persistent-data). Claude Code membuatnya ketika komponen plugin pertama kali menggunakannya dan menyimpannya di seluruh pembaruan. Claude Code menghapusnya ketika Anda mencopot plugin dari scope terakhirnya, kecuali Anda melewatkan `--keep-data` |

188| `marketplaces/<name>/` | Klon atau unduhan marketplace yang ditambahkan dari GitHub, host Git lain, atau URL. Marketplace yang ditambahkan dari sumber `file` atau `directory` lokal tidak memiliki salinan di sini, dan `installLocation` dalam `known_marketplaces.json` adalah path yang Anda berikan |188| `marketplaces/<name>/` | Klon atau unduhan marketplace yang ditambahkan dari GitHub, host Git lain, atau URL. Marketplace yang ditambahkan dari sumber `file` atau `directory` lokal tidak memiliki salinan di sini, dan `installLocation` dalam `known_marketplaces.json` adalah path yang Anda berikan |


247Instalasi hanya berjalan ketika direktori root plugin berisi baik `package.json` maupun lockfile yang didukung. Lockfile menentukan perintah mana yang Claude Code jalankan:247Instalasi hanya berjalan ketika direktori root plugin berisi baik `package.json` maupun lockfile yang didukung. Lockfile menentukan perintah mana yang Claude Code jalankan:

248 248 

249| Lockfile | Perintah |249| Lockfile | Perintah |

250| :--------------------------------------------- | :----------------------------------------------- |250| :- | :- |

251| `bun.lock` atau `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |251| `bun.lock` atau `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

252| `npm-shrinkwrap.json` atau `package-lock.json` | `npm ci --ignore-scripts` |252| `npm-shrinkwrap.json` atau `package-lock.json` | `npm ci --ignore-scripts` |

253 253 


3153. Ketika tidak ada yang ditetapkan, versi berasal dari tipe sumber:3153. Ketika tidak ada yang ditetapkan, versi berasal dari tipe sumber:

316 316 

317| Tipe sumber | Versi ketika tidak ada bidang `version` yang ditetapkan |317| Tipe sumber | Versi ketika tidak ada bidang `version` yang ditetapkan |

318| :----------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |318| :- | :- |

319| `github`, `url`, atau `git-subdir` | SHA komit dari sumber, diperpendek menjadi 12 karakter. Versi `git-subdir` juga membawa hash dari jalur subdirektori |319| `github`, `url`, atau `git-subdir` | SHA komit dari sumber, diperpendek menjadi 12 karakter. Versi `git-subdir` juga membawa hash dari jalur subdirektori |

320| `archive` | Digest SHA-256, diperpendek menjadi 12 karakter: pin `sha256` dalam entri marketplace, atau digest file yang diunduh ketika tidak ada pin |320| `archive` | Digest SHA-256, diperpendek menjadi 12 karakter: pin `sha256` dalam entri marketplace, atau digest file yang diunduh ketika tidak ada pin |

321| Jalur relatif di dalam marketplace yang dihosting Git | SHA komit dari direktori yang diinstal |321| Jalur relatif di dalam marketplace yang dihosting Git | SHA komit dari direktori yang diinstal |


335Ketika Anda menginstal plugin, Claude Code mencarinya dalam salinan lokal katalog marketplace. Anda dapat menjalankan `/plugin install` dalam sesi atau `claude plugin install` dalam shell Anda, dan menamai plugin dengan atau tanpa marketplace-nya. Tabel menunjukkan kombinasi mana dari itu yang menyegarkan salinan lokal.335Ketika Anda menginstal plugin, Claude Code mencarinya dalam salinan lokal katalog marketplace. Anda dapat menjalankan `/plugin install` dalam sesi atau `claude plugin install` dalam shell Anda, dan menamai plugin dengan atau tanpa marketplace-nya. Tabel menunjukkan kombinasi mana dari itu yang menyegarkan salinan lokal.

336 336 

337| Nama plugin | Perintah | Apa yang Claude Code segarkan |337| Nama plugin | Perintah | Apa yang Claude Code segarkan |

338| :----------------- | :--------------------------------------------- | :----------------------------------------------------------------------------------- |338| :- | :- | :- |

339| `name@marketplace` | `/plugin install` atau `claude plugin install` | Marketplace yang dinamai, sebelum pencarian |339| `name@marketplace` | `/plugin install` atau `claude plugin install` | Marketplace yang dinamai, sebelum pencarian |

340| `name` saja | `/plugin install` | Hanya marketplace yang memiliki auto-update aktif, dan hanya setelah pencarian gagal |340| `name` saja | `/plugin install` | Hanya marketplace yang memiliki auto-update aktif, dan hanya setelah pencarian gagal |

341| `name` saja | `claude plugin install` | Tidak ada. Plugin membaca katalog cache tanpa menyegarkan |341| `name` saja | `claude plugin install` | Tidak ada. Plugin membaca katalog cache tanpa menyegarkan |

Details

125Untuk kunci komponen seperti `commands` dan `hooks`, [Component path forms](#component-path-forms) menunjukkan setiap bentuk yang diterima dengan contoh, dan setiap path mengikuti [path rules](#path-rules) untuk awalan `./`, ekstensi, dan containment.125Untuk kunci komponen seperti `commands` dan `hooks`, [Component path forms](#component-path-forms) menunjukkan setiap bentuk yang diterima dengan contoh, dan setiap path mengikuti [path rules](#path-rules) untuk awalan `./`, ekstensi, dan containment.

126 126 

127| Field | Type | Description |127| Field | Type | Description |

128| :----------------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |128| :- | :- | :- |

129| `$schema` | String | JSON Schema URL untuk autocomplete editor. Claude Code mengabaikannya saat waktu muat |129| `$schema` | String | JSON Schema URL untuk autocomplete editor. Claude Code mengabaikannya saat waktu muat |

130| [`name`](#name) | String | Identifier plugin, diperlukan. Gunakan kebab-case. Setiap komponen di-namespace di bawahnya |130| [`name`](#name) | String | Identifier plugin, diperlukan. Gunakan kebab-case. Setiap komponen di-namespace di bawahnya |

131| [`displayName`](#displayname) | String | Nama yang ditampilkan di UI sebagai pengganti `name` |131| [`displayName`](#displayname) | String | Nama yang ditampilkan di UI sebagai pengganti `name` |


234Setiap nilai menetapkan tepat satu dari `source` atau `content`, dan entri yang menetapkan keduanya atau tidak ada gagal validasi. Field lain dalam tabel ini opsional:234Setiap nilai menetapkan tepat satu dari `source` atau `content`, dan entri yang menetapkan keduanya atau tidak ada gagal validasi. Field lain dalam tabel ini opsional:

235 235 

236| Field | Type | Description |236| Field | Type | Description |

237| :------------- | :--------------- | :-------------------------------------------------------------------- |237| :- | :- | :- |

238| `source` | string | Path ke file Markdown perintah, relatif terhadap root plugin |238| `source` | string | Path ke file Markdown perintah, relatif terhadap root plugin |

239| `content` | string | Markdown inline untuk badan perintah, sebagai pengganti `source` |239| `content` | string | Markdown inline untuk badan perintah, sebagai pengganti `source` |

240| `description` | string | Deskripsi yang ditampilkan untuk perintah |240| `description` | string | Deskripsi yang ditampilkan untuk perintah |


290Nilai `mcpServers` mengambil salah satu bentuk berikut:290Nilai `mcpServers` mengambil salah satu bentuk berikut:

291 291 

292| Shape | Example value | What Claude Code does |292| Shape | Example value | What Claude Code does |

293| :---------------- | :------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |293| :- | :- | :- |

294| `.json` file path | `"./mcp/servers.json"` | Membaca file sebagai peta `mcpServers` |294| `.json` file path | `"./mcp/servers.json"` | Membaca file sebagai peta `mcpServers` |

295| MCP bundle path | `"./bundle.mcpb"` | Mengekstrak bundle `.mcpb` atau `.dxt` ke `.mcpb-cache/` di bawah root plugin dan membaca config servernya |295| MCP bundle path | `"./bundle.mcpb"` | Mengekstrak bundle `.mcpb` atau `.dxt` ke `.mcpb-cache/` di bawah root plugin dan membaca config servernya |

296| MCP bundle URL | `"https://example.com/server.mcpb"` | Mengunduh bundle ke `.mcpb-cache/`, kemudian membacanya |296| MCP bundle URL | `"https://example.com/server.mcpb"` | Mengunduh bundle ke `.mcpb-cache/`, kemudian membacanya |


309Setiap config server adalah objek ketat dengan field berikut. Kunci yang tidak diketahui gagal validasi.309Setiap config server adalah objek ketat dengan field berikut. Kunci yang tidak diketahui gagal validasi.

310 310 

311| Field | Required | Description |311| Field | Required | Description |

312| :---------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |312| :- | :- | :- |

313| `command` | Yes | Binary language server. Tanpa spasi kecuali nilai dimulai dengan `/`; letakkan argumen di `args` |313| `command` | Yes | Binary language server. Tanpa spasi kecuali nilai dimulai dengan `/`; letakkan argumen di `args` |

314| `extensionToLanguage` | Yes | Peta ekstensi file ke LSP language ID, setidaknya satu entri. Kunci dimulai dengan titik, seperti `".go"` |314| `extensionToLanguage` | Yes | Peta ekstensi file ke LSP language ID, setidaknya satu entri. Kunci dimulai dengan titik, seperti `".go"` |

315| `args` | No | Argumen yang dilewatkan ke server |315| `args` | No | Argumen yang dilewatkan ke server |


349Setiap entri adalah objek ketat dengan field berikut.349Setiap entri adalah objek ketat dengan field berikut.

350 350 

351| Field | Required | Description |351| Field | Required | Description |

352| :------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |352| :- | :- | :- |

353| `name` | Yes | Identifier unik dalam plugin |353| `name` | Yes | Identifier unik dalam plugin |

354| `command` | Yes | Perintah shell yang Claude Code jalankan sebagai proses latar belakang persisten dalam direktori kerja sesi |354| `command` | Yes | Perintah shell yang Claude Code jalankan sebagai proses latar belakang persisten dalam direktori kerja sesi |

355| `description` | Yes | Ringkasan singkat yang ditampilkan di panel tugas dan ringkasan notifikasi |355| `description` | Yes | Ringkasan singkat yang ditampilkan di panel tugas dan ringkasan notifikasi |


417Setiap nilai adalah objek ketat dengan field berikut. Kunci yang tidak diketahui gagal validasi.417Setiap nilai adalah objek ketat dengan field berikut. Kunci yang tidak diketahui gagal validasi.

418 418 

419| Field | Required | Description |419| Field | Required | Description |

420| :------------ | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |420| :- | :- | :- |

421| `type` | Yes | Salah satu dari `string`, `number`, `boolean`, `directory`, atau `file` |421| `type` | Yes | Salah satu dari `string`, `number`, `boolean`, `directory`, atau `file` |

422| `title` | Yes | Label yang ditampilkan dalam dialog konfigurasi |422| `title` | Yes | Label yang ditampilkan dalam dialog konfigurasi |

423| `description` | Yes | Teks bantuan yang ditampilkan di bawah field |423| `description` | Yes | Teks bantuan yang ditampilkan di bawah field |


500Tabel menunjukkan bagaimana nilai dapat mencapai setiap field ini sebagai gantinya.500Tabel menunjukkan bagaimana nilai dapat mencapai setiap field ini sebagai gantinya.

501 501 

502| Field | How the value can reach it |502| Field | How the value can reach it |

503| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |503| :- | :- |

504| Shell-form hook commands | Gunakan [exec form](/docs/id/hooks#exec-form-and-shell-form) dengan `args`, atau baca `CLAUDE_PLUGIN_OPTION_<KEY>` dari lingkungan hook |504| Shell-form hook commands | Gunakan [exec form](/docs/id/hooks#exec-form-and-shell-form) dengan `args`, atau baca `CLAUDE_PLUGIN_OPTION_<KEY>` dari lingkungan hook |

505| Monitor commands | Bukan melalui Claude Code. Proses monitor tidak menerima `CLAUDE_PLUGIN_OPTION_<KEY>`, jadi skrip monitor harus mendapatkan nilai sendiri |505| Monitor commands | Bukan melalui Claude Code. Proses monitor tidak menerima `CLAUDE_PLUGIN_OPTION_<KEY>`, jadi skrip monitor harus mendapatkan nilai sendiri |

506| MCP `headersHelper` | Bukan melalui Claude Code. Lingkungan helper membawa `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME`, dan `CLAUDE_CODE_MCP_SERVER_URL` tetapi tidak ada nilai opsi, jadi skrip helper harus mendapatkan nilai sendiri |506| MCP `headersHelper` | Bukan melalui Claude Code. Lingkungan helper membawa `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME`, dan `CLAUDE_CODE_MCP_SERVER_URL` tetapi tidak ada nilai opsi, jadi skrip helper harus mendapatkan nilai sendiri |


514Setiap entri adalah objek ketat yang terikat ke salah satu server MCP plugin, dengan field berikut:514Setiap entri adalah objek ketat yang terikat ke salah satu server MCP plugin, dengan field berikut:

515 515 

516| Field | Required | Description |516| Field | Required | Description |

517| :------------ | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |517| :- | :- | :- |

518| `server` | Yes | Kunci server MCP dalam `mcpServers` plugin ini yang saluran ikat ke |518| `server` | Yes | Kunci server MCP dalam `mcpServers` plugin ini yang saluran ikat ke |

519| `displayName` | No | Nama yang ditampilkan dalam judul dialog konfigurasi. Default ke nama server |519| `displayName` | No | Nama yang ditampilkan dalam judul dialog konfigurasi. Default ke nama server |

520| `userConfig` | No | Opsi untuk diminta, dalam bentuk yang sama seperti [`userConfig` tingkat atas](#user-configuration). Nilai yang disimpan disubstitusi ke referensi `${user_config.KEY}` dalam `env` server |520| `userConfig` | No | Opsi untuk diminta, dalam bentuk yang sama seperti [`userConfig` tingkat atas](#user-configuration). Nilai yang disimpan disubstitusi ke referensi `${user_config.KEY}` dalam `env` server |


554Claude Code menyediakan tiga variabel path ke komponen plugin. Referensikan sebagai `${NAME}` di field yang tercantum di bawah [Where each variable resolves](#where-each-variable-resolves), dan bacanya sebagai variabel lingkungan dalam proses yang menerimanya.554Claude Code menyediakan tiga variabel path ke komponen plugin. Referensikan sebagai `${NAME}` di field yang tercantum di bawah [Where each variable resolves](#where-each-variable-resolves), dan bacanya sebagai variabel lingkungan dalam proses yang menerimanya.

555 555 

556| Variable | Resolves to | Use it for |556| Variable | Resolves to | Use it for |

557| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- |557| :- | :- | :- |

558| `${CLAUDE_PLUGIN_ROOT}` | Path absolut dari versi plugin yang diinstal | Skrip, binary, dan file config yang dikemas dengan plugin |558| `${CLAUDE_PLUGIN_ROOT}` | Path absolut dari versi plugin yang diinstal | Skrip, binary, dan file config yang dikemas dengan plugin |

559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, dibuat pada referensi pertama dan disimpan di seluruh pembaruan plugin. `<id>` adalah identifier plugin dengan setiap karakter selain huruf, digit, `_`, atau `-` diganti dengan `-` | Dependensi yang diinstal seperti `node_modules`, kode yang dihasilkan, dan cache |559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, dibuat pada referensi pertama dan disimpan di seluruh pembaruan plugin. `<id>` adalah identifier plugin dengan setiap karakter selain huruf, digit, `_`, atau `-` diganti dengan `-` | Dependensi yang diinstal seperti `node_modules`, kode yang dihasilkan, dan cache |

560| `${CLAUDE_PROJECT_DIR}` | Root proyek | Skrip dan file config lokal proyek |560| `${CLAUDE_PROJECT_DIR}` | Root proyek | Skrip dan file config lokal proyek |


570Di setiap komponen plugin, referensi `${...}` diselesaikan inline di field tertentu, dan beberapa komponen juga menerima variabel di lingkungan proses mereka:570Di setiap komponen plugin, referensi `${...}` diselesaikan inline di field tertentu, dan beberapa komponen juga menerima variabel di lingkungan proses mereka:

571 571 

572| Plugin component | Fields where `${...}` resolves | Exported to the process |572| Plugin component | Fields where `${...}` resolves | Exported to the process |

573| :-------------------------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------- |573| :- | :- | :- |

574| Hook commands | Di mana saja dalam `command` dan `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR`, dan `CLAUDE_PLUGIN_OPTION_<KEY>` |574| Hook commands | Di mana saja dalam `command` dan `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR`, dan `CLAUDE_PLUGIN_OPTION_<KEY>` |

575| Monitor commands | Di mana saja dalam `command` | Tidak diekspor |575| Monitor commands | Di mana saja dalam `command` | Tidak diekspor |

576| MCP `stdio` servers | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |576| MCP `stdio` servers | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |


617Setiap tipe komponen memiliki lokasi default di bawah root plugin, digunakan saat manifest tidak menunjuk ke tempat lain.617Setiap tipe komponen memiliki lokasi default di bawah root plugin, digunakan saat manifest tidak menunjuk ke tempat lain.

618 618 

619| Component | Default location | Contents |619| Component | Default location | Contents |

620| :------------ | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |620| :- | :- | :- |

621| Manifest | `.claude-plugin/plugin.json` | Metadata dan konfigurasi plugin. Opsional |621| Manifest | `.claude-plugin/plugin.json` | Metadata dan konfigurasi plugin. Opsional |

622| Skills | `skills/` | Satu `<name>/SKILL.md` per skill. Plugin dengan `SKILL.md` di rootnya, tidak ada `skills/`, dan tidak ada kunci `skills` dimuat sebagai skill tunggal |622| Skills | `skills/` | Satu `<name>/SKILL.md` per skill. Plugin dengan `SKILL.md` di rootnya, tidak ada `skills/`, dan tidak ada kunci `skills` dimuat sebagai skill tunggal |

623| Commands | `commands/` | File perintah Markdown datar. Lebih suka `skills/` untuk plugin baru |623| Commands | `commands/` | File perintah Markdown datar. Lebih suka `skills/` untuk plugin baru |

Details

60Tabel mencantumkan setiap kunci yang Claude Code baca dari `marketplace.json`. `name`, `owner`, dan `plugins` diperlukan.60Tabel mencantumkan setiap kunci yang Claude Code baca dari `marketplace.json`. `name`, `owner`, dan `plugins` diperlukan.

61 61 

62| Field | Tipe | Deskripsi |62| Field | Tipe | Deskripsi |

63| :----------------------------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `name` | string | Pengenal marketplace. Tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional, tanpa `/` atau `\`, tanpa `..`, dan bukan `.`. Lihat [Nama yang dicadangkan](#reserved-names). Pengguna mengetiknya setelah `@` ketika mereka memasang plugin |64| `name` | string | Pengenal marketplace. Tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional, tanpa `/` atau `\`, tanpa `..`, dan bukan `.`. Lihat [Nama yang dicadangkan](#reserved-names). Pengguna mengetiknya setelah `@` ketika mereka memasang plugin |

65| `owner` | object | Informasi pengelola. `name` diperlukan; `email` dan `url` opsional |65| `owner` | object | Informasi pengelola. `name` diperlukan; `email` dan `url` opsional |

66| `plugins` | array | [Entri plugin](#plugin-entries). Setiap entri divalidasi sendiri, jadi satu entri yang tidak valid tidak gagal marketplace |66| `plugins` | array | [Entri plugin](#plugin-entries). Setiap entri divalidasi sendiri, jadi satu entri yang tidak valid tidak gagal marketplace |


84Tabel mencantumkan field entri sendiri dan field manifest yang maknanya berubah dalam entri.84Tabel mencantumkan field entri sendiri dan field manifest yang maknanya berubah dalam entri.

85 85 

86| Field | Tipe | Deskripsi |86| Field | Tipe | Deskripsi |

87| :--------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |87| :- | :- | :- |

88| `name` | string | Pengenal plugin, tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional. Pengguna mengetiknya sebelum `@` ketika mereka memasang, bahkan ketika `plugin.json` plugin sendiri menetapkan `name` yang berbeda |88| `name` | string | Pengenal plugin, tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional. Pengguna mengetiknya sebelum `@` ketika mereka memasang, bahkan ketika `plugin.json` plugin sendiri menetapkan `name` yang berbeda |

89| `source` | string or object | Di mana mengambil plugin. Lihat [Sumber plugin](#plugin-sources) |89| `source` | string or object | Di mana mengambil plugin. Lihat [Sumber plugin](#plugin-sources) |

90| `description` | string | Ditampilkan dalam daftar [`/plugin`](/docs/id/plugins/install) dan detail |90| `description` | string | Ditampilkan dalam daftar [`/plugin`](/docs/id/plugins/install) dan detail |


133`strict` memutuskan apa yang terjadi ketika plugin yang diambil memiliki `plugin.json` sendiri dan entri juga mendeklarasikan salah satu [field komponen](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles`, atau `themes`. Dengan `strict: true`, default, Claude Code menambahkan field komponen entri ke `plugin.json`, kecuali `hooks`, yang matcher-nya menggantikan manifest per acara. Dengan `strict: false`, entri yang mendeklarasikan field komponen apa pun adalah konflik, dan plugin gagal dimuat. Tabel menunjukkan setiap kombinasi `strict`, `plugin.json`, dan field komponen entri.133`strict` memutuskan apa yang terjadi ketika plugin yang diambil memiliki `plugin.json` sendiri dan entri juga mendeklarasikan salah satu [field komponen](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles`, atau `themes`. Dengan `strict: true`, default, Claude Code menambahkan field komponen entri ke `plugin.json`, kecuali `hooks`, yang matcher-nya menggantikan manifest per acara. Dengan `strict: false`, entri yang mendeklarasikan field komponen apa pun adalah konflik, dan plugin gagal dimuat. Tabel menunjukkan setiap kombinasi `strict`, `plugin.json`, dan field komponen entri.

134 134 

135| `strict` | `plugin.json` | Field komponen entri | Hasil |135| `strict` | `plugin.json` | Field komponen entri | Hasil |

136| :-------------- | :------------ | :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |136| :- | :- | :- | :- |

137| any | absent | any | Entri adalah manifest |137| any | absent | any | Entri adalah manifest |

138| `true`, default | present | any | `plugin.json` adalah otoritas. Claude Code menambahkan field komponen entri ke dalamnya, kecuali `hooks`, yang matcher-nya [menggantikan manifest per acara](/docs/id/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |138| `true`, default | present | any | `plugin.json` adalah otoritas. Claude Code menambahkan field komponen entri ke dalamnya, kecuali `hooks`, yang matcher-nya [menggantikan manifest per acara](/docs/id/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |

139| `false` | present | none | `plugin.json` adalah manifest, seperti dengan `true` |139| `false` | present | none | `plugin.json` adalah manifest, seperti dengan `true` |


148Tabel mencantumkan setiap tipe sumber plugin dan field-nya.148Tabel mencantumkan setiap tipe sumber plugin dan field-nya.

149 149 

150| Tipe | Field | Catatan |150| Tipe | Field | Catatan |

151| :------------ | :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |151| :- | :- | :- |

152| Jalur relatif | string itu sendiri | Direktori di dalam marketplace, diselesaikan dari akar marketplace. Harus dimulai dengan `./`, kecuali Anda menulis [nama bare di bawah `metadata.pluginRoot`](#relative-path-plugin-source). `"."` sendiri berarti akar itu sendiri |152| Jalur relatif | string itu sendiri | Direktori di dalam marketplace, diselesaikan dari akar marketplace. Harus dimulai dengan `./`, kecuali Anda menulis [nama bare di bawah `metadata.pluginRoot`](#relative-path-plugin-source). `"."` sendiri berarti akar itu sendiri |

153| `github` | `repo`, `ref`, `sha` | Repositori GitHub dalam bentuk `owner/repo` |153| `github` | `repo`, `ref`, `sha` | Repositori GitHub dalam bentuk `owner/repo` |

154| `url` | `url`, `ref`, `sha` | Repositori git apa pun menurut URL |154| `url` | `url`, `ref`, `sha` | Repositori git apa pun menurut URL |


372Nama tipe `url`, `git`, dan `github` berarti sesuatu yang berbeda dalam sumber marketplace daripada dalam [sumber plugin](#plugin-sources):372Nama tipe `url`, `git`, dan `github` berarti sesuatu yang berbeda dalam sumber marketplace daripada dalam [sumber plugin](#plugin-sources):

373 373 

374| Nama tipe | Sebagai sumber marketplace | Sebagai sumber plugin |374| Nama tipe | Sebagai sumber marketplace | Sebagai sumber plugin |

375| :-------- | :--------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |375| :- | :- | :- |

376| `url` | Tautan langsung ke file `marketplace.json`, dengan field `url`, `headers`, dan `headersHelper` | Repositori git untuk diklon, dengan field `url`, `ref`, dan `sha` |376| `url` | Tautan langsung ke file `marketplace.json`, dengan field `url`, `headers`, dan `headersHelper` | Repositori git untuk diklon, dengan field `url`, `ref`, dan `sha` |

377| `git` | Repositori git untuk diklon, dengan field `url`, `ref`, `path`, dan `sparsePaths` | Tidak ada |377| `git` | Repositori git untuk diklon, dengan field `url`, `ref`, `path`, dan `sparsePaths` | Tidak ada |

378| `github` | Repositori GitHub, dengan field `repo`, `ref`, `path`, dan `sparsePaths` | Repositori GitHub, dengan field `repo`, `ref`, dan `sha`, dan tidak ada `path` |378| `github` | Repositori GitHub, dengan field `repo`, `ref`, `path`, dan `sparsePaths` | Repositori GitHub, dengan field `repo`, `ref`, dan `sha`, dan tidak ada `path` |


380Tabel mencantumkan setiap tipe sumber marketplace dengan field-nya, input `claude plugin marketplace add` yang menghasilkannya, dan apa yang dilakukannya di masing-masing dari tiga kunci pengaturan.380Tabel mencantumkan setiap tipe sumber marketplace dengan field-nya, input `claude plugin marketplace add` yang menghasilkannya, dan apa yang dilakukannya di masing-masing dari tiga kunci pengaturan.

381 381 

382| Tipe | Field | Input `marketplace add` | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |382| Tipe | Field | Input `marketplace add` | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |

383| :------------ | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------- |383| :- | :- | :- | :- | :- | :- |

384| `url` | `url`, `headers`, `headersHelper` | URL `http://` atau `https://` yang tidak cocok dengan bentuk git | Dimuat | Memungkinkan URL yang sama | Memblokir URL yang sama |384| `url` | `url`, `headers`, `headersHelper` | URL `http://` atau `https://` yang tidak cocok dengan bentuk git | Dimuat | Memungkinkan URL yang sama | Memblokir URL yang sama |

385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, atau `owner/repo#ref` | Dimuat | Memungkinkan `repo`, `ref`, dan `path` yang sama. `repo` mungkin `owner/*` | Memblokir yang sama, dan URL `git` ke repositori yang sama |385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, atau `owner/repo#ref` | Dimuat | Memungkinkan `repo`, `ref`, dan `path` yang sama. `repo` mungkin `owner/*` | Memblokir yang sama, dan URL `git` ke repositori yang sama |

386| `git` | `url`, `ref`, `path`, `sparsePaths` | URL `user@host:path`, atau URL `https://` yang berakhir dengan `.git`, berisi `/_git/`, atau menamai repositori github.com atau gitlab.com. `#ref` menyematkan ref | Dimuat | Memungkinkan URL, `ref`, dan `path` yang sama | Memblokir yang sama, dan ejaan lain dari repositori github.com yang sama |386| `git` | `url`, `ref`, `path`, `sparsePaths` | URL `user@host:path`, atau URL `https://` yang berakhir dengan `.git`, berisi `/_git/`, atau menamai repositori github.com atau gitlab.com. `#ref` menyematkan ref | Dimuat | Memungkinkan URL, `ref`, dan `path` yang sama | Memblokir yang sama, dan ejaan lain dari repositori github.com yang sama |


399Tabel mencantumkan setiap field sumber marketplace yang memiliki default, batasan, atau makna khusus untuk tipenya.399Tabel mencantumkan setiap field sumber marketplace yang memiliki default, batasan, atau makna khusus untuk tipenya.

400 400 

401| Field | Tipe | Deskripsi |401| Field | Tipe | Deskripsi |

402| :-------------- | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| :- | :- | :- |

403| `url` | `url` | Tautan ke file `marketplace.json`. Claude Code hanya mengunduh file itu, jadi plugin marketplace tidak dapat menggunakan [sumber jalur relatif](#relative-path-plugin-source) |403| `url` | `url` | Tautan ke file `marketplace.json`. Claude Code hanya mengunduh file itu, jadi plugin marketplace tidak dapat menggunakan [sumber jalur relatif](#relative-path-plugin-source) |

404| `url` | `git` | Repositori git untuk diklon |404| `url` | `git` | Repositori git untuk diklon |

405| `headers` | `url` | Peta header HTTP yang Claude Code kirim dengan pengambilan, untuk host yang diautentikasi |405| `headers` | `url` | Peta header HTTP yang Claude Code kirim dengan pengambilan, untuk host yang diautentikasi |


472Tabel memetakan pesan tingkat marketplace ke field yang masing-masing tentang.472Tabel memetakan pesan tingkat marketplace ke field yang masing-masing tentang.

473 473 

474| Pesan | Level | Field |474| Pesan | Level | Field |

475| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------ |475| :- | :- | :- |

476| `Marketplace must have a name` | Error | `name` kosong |476| `Marketplace must have a name` | Error | `name` kosong |

477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |

478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |

Details

148Peristiwa OpenTelemetry dan atribut ini menjawab setiap pertanyaan plugin dari backend Anda:148Peristiwa OpenTelemetry dan atribut ini menjawab setiap pertanyaan plugin dari backend Anda:

149 149 

150| Pertanyaan | OpenTelemetry event atau atribut |150| Pertanyaan | OpenTelemetry event atau atribut |

151| :----------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |151| :- | :- |

152| Plugin mana yang dipasang, dan dari mana | [`claude_code.plugin_installed`](/docs/id/monitoring-usage#plugin-installed-event), satu per pemasangan |152| Plugin mana yang dipasang, dan dari mana | [`claude_code.plugin_installed`](/docs/id/monitoring-usage#plugin-installed-event), satu per pemasangan |

153| Plugin mana yang aktif dalam berapa banyak sesi | [`claude_code.plugin_loaded`](/docs/id/monitoring-usage#plugin-loaded-event), satu per plugin yang diaktifkan pada awal sesi |153| Plugin mana yang aktif dalam berapa banyak sesi | [`claude_code.plugin_loaded`](/docs/id/monitoring-usage#plugin-loaded-event), satu per plugin yang diaktifkan pada awal sesi |

154| Skill mana yang diaktifkan, dan plugin mana yang memilikinya | [`claude_code.skill_activated`](/docs/id/monitoring-usage#skill-activated-event), dengan `plugin.name` dan `marketplace.name` untuk plugin skills |154| Skill mana yang diaktifkan, dan plugin mana yang memilikinya | [`claude_code.skill_activated`](/docs/id/monitoring-usage#skill-activated-event), dengan `plugin.name` dan `marketplace.name` untuk plugin skills |


164Untuk mendapatkan nama asli pada beberapa peristiwa, atur variabel lingkungan [`OTEL_LOG_TOOL_DETAILS`](/docs/id/monitoring-usage#common-configuration-variables) ke `1` pada mesin yang mengekspor telemetri, misalnya di blok `env` dari [managed settings](/docs/id/monitoring-usage#administrator-configuration) yang sama yang mengonfigurasi exporter:164Untuk mendapatkan nama asli pada beberapa peristiwa, atur variabel lingkungan [`OTEL_LOG_TOOL_DETAILS`](/docs/id/monitoring-usage#common-configuration-variables) ke `1` pada mesin yang mengekspor telemetri, misalnya di blok `env` dari [managed settings](/docs/id/monitoring-usage#administrator-configuration) yang sama yang mengonfigurasi exporter:

165 165 

166| Event | Default | Dengan `OTEL_LOG_TOOL_DETAILS=1` |166| Event | Default | Dengan `OTEL_LOG_TOOL_DETAILS=1` |

167| :------------------------------------ | :----------------------------------------------------------------------------------------------------------- | :----------------------------------------------------- |167| :- | :- | :- |

168| `plugin_loaded` | `plugin.name` dan `marketplace.name` adalah string literal `third-party` | Nama asli |168| `plugin_loaded` | `plugin.name` dan `marketplace.name` adalah string literal `third-party` | Nama asli |

169| `plugin_installed`, `skill_activated` | `plugin.name` dan `marketplace.name` dihilangkan; pada `skill_activated`, `skill.name` adalah `custom_skill` | Nama asli |169| `plugin_installed`, `skill_activated` | `plugin.name` dan `marketplace.name` dihilangkan; pada `skill_activated`, `skill.name` adalah `custom_skill` | Nama asli |

170| Cost counter | `plugin.name` adalah `third-party`; `marketplace.name` tidak ada | `plugin.name` asli; `marketplace.name` masih tidak ada |170| Cost counter | `plugin.name` adalah `third-party`; `marketplace.name` tidak ada | `plugin.name` asli; `marketplace.name` masih tidak ada |

plugins/org.md +2 −2

Details

111Tabel menunjukkan kapan setiap jenis sesi Claude Code menerapkan `extraKnownMarketplaces` dan `enabledPlugins`, dari pengaturan terkelola dan dari `.claude/settings.json` repositori. Untuk Desktop app dan ekstensi IDE, lihat [Install a plugin](/docs/id/plugins/install#install-a-plugin).111Tabel menunjukkan kapan setiap jenis sesi Claude Code menerapkan `extraKnownMarketplaces` dan `enabledPlugins`, dari pengaturan terkelola dan dari `.claude/settings.json` repositori. Untuk Desktop app dan ekstensi IDE, lihat [Install a plugin](/docs/id/plugins/install#install-a-plugin).

112 112 

113| Permukaan | Managed `extraKnownMarketplaces` dan `enabledPlugins` | Repository `.claude/settings.json` |113| Permukaan | Managed `extraKnownMarketplaces` dan `enabledPlugins` | Repository `.claude/settings.json` |

114| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |114| :- | :- | :- |

115| Terminal, interaktif | Diterapkan pada awal sesi di setiap mesin yang menerima pengaturan | `extraKnownMarketplaces` diterapkan setelah kepercayaan; `enabledPlugins` diterapkan pada awal sesi |115| Terminal, interaktif | Diterapkan pada awal sesi di setiap mesin yang menerima pengaturan | `extraKnownMarketplaces` diterapkan setelah kepercayaan; `enabledPlugins` diterapkan pada awal sesi |

116| `-p` dan CI | Diterapkan pada awal sesi, dengan instalasi berjalan di latar belakang | `extraKnownMarketplaces` hanya dalam folder terpercaya; `enabledPlugins` diterapkan |116| `-p` dan CI | Diterapkan pada awal sesi, dengan instalasi berjalan di latar belakang | `extraKnownMarketplaces` hanya dalam folder terpercaya; `enabledPlugins` diterapkan |

117| Sesi cloud | Dalam lingkungan yang dihosting Anthropic, hanya pengaturan terkelola server yang mencapai sesi, yang menunggu mereka sebelum menginstal plugin. Kebijakan MDM dan file pengaturan terkelola tetap di mesin pengguna. Untuk lingkungan yang dihosting sendiri, lihat [Tempat dan kapan kebijakan berlaku](/docs/id/managed-settings#where-and-when-a-policy-applies) | Lihat tab **Cloud session** di bawah [Install a plugin](/docs/id/plugins/install#install-a-plugin) |117| Sesi cloud | Dalam lingkungan yang dihosting Anthropic, hanya pengaturan terkelola server yang mencapai sesi, yang menunggu mereka sebelum menginstal plugin. Kebijakan MDM dan file pengaturan terkelola tetap di mesin pengguna. Untuk lingkungan yang dihosting sendiri, lihat [Tempat dan kapan kebijakan berlaku](/docs/id/managed-settings#where-and-when-a-policy-applies) | Lihat tab **Cloud session** di bawah [Install a plugin](/docs/id/plugins/install#install-a-plugin) |


198Tabel mencantumkan setiap kunci kebijakan plugin, apa yang ditegakkannya, dan apa yang tidak dapat dilakukannya.198Tabel mencantumkan setiap kunci kebijakan plugin, apa yang ditegakkannya, dan apa yang tidak dapat dilakukannya.

199 199 

200| Kunci | Apa yang ditegakkannya | Apa yang tidak dapat dilakukannya |200| Kunci | Apa yang ditegakkannya | Apa yang tidak dapat dilakukannya |

201| :----------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |201| :- | :- | :- |

202| `strictKnownMarketplaces` | Allowlist sumber marketplace. `[]` memblokir setiap sumber, termasuk marketplace resmi. Alias: `allowedMarketplaces` | Tidak mendaftarkan marketplace, membatasi entri dalam marketplace yang diizinkan, atau memblokir `--plugin-dir` |202| `strictKnownMarketplaces` | Allowlist sumber marketplace. `[]` memblokir setiap sumber, termasuk marketplace resmi. Alias: `allowedMarketplaces` | Tidak mendaftarkan marketplace, membatasi entri dalam marketplace yang diizinkan, atau memblokir `--plugin-dir` |

203| `blockedMarketplaces` | Blocklist sumber marketplace, diperiksa sebelum allowlist | Tidak memblokir marketplace yang sudah didaftarkan dari sumber yang tidak cocok |203| `blockedMarketplaces` | Blocklist sumber marketplace, diperiksa sebelum allowlist | Tidak memblokir marketplace yang sudah didaftarkan dari sumber yang tidak cocok |

204| `syncClaudeAiPlugins` | Tetapkan `false` untuk menghentikan Claude Code mengunduh dan memuat plugin [disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins) untuk akun setiap pengguna. Memerlukan Claude Code v2.1.273 atau lebih baru | Tidak mematikan satu plugin yang disinkronkan. Untuk itu, tetapkan `"<name>@synced": false` dalam [`enabledPlugins`](/docs/id/settings-reference#enabledplugins) |204| `syncClaudeAiPlugins` | Tetapkan `false` untuk menghentikan Claude Code mengunduh dan memuat plugin [disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins) untuk akun setiap pengguna. Memerlukan Claude Code v2.1.273 atau lebih baru | Tidak mematikan satu plugin yang disinkronkan. Untuk itu, tetapkan `"<name>@synced": false` dalam [`enabledPlugins`](/docs/id/settings-reference#enabledplugins) |

Details

26Pilih opsi distribusi berdasarkan siapa yang perlu memasang plugin:26Pilih opsi distribusi berdasarkan siapa yang perlu memasang plugin:

27 27 

28| Rute | Siapa yang dapat memasang | Apa yang Anda butuhkan | Apakah pengguna mendapatkan pembaruan Anda secara otomatis? |28| Rute | Siapa yang dapat memasang | Apa yang Anda butuhkan | Apakah pengguna mendapatkan pembaruan Anda secara otomatis? |

29| :---------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |29| :- | :- | :- | :- |

30| [Tanpa marketplace](#share-a-plugin-without-a-marketplace) | Orang-orang yang Anda kirimkan folder plugin atau `.zip` darinya | Folder plugin | Tidak ada. Mereka memuat salinan yang Anda kirimkan |30| [Tanpa marketplace](#share-a-plugin-without-a-marketplace) | Orang-orang yang Anda kirimkan folder plugin atau `.zip` darinya | Folder plugin | Tidak ada. Mereka memuat salinan yang Anda kirimkan |

31| [Marketplace Anda sendiri](#publish-through-your-own-marketplace) | Siapa pun yang dapat menjangkau repositori, yang dapat berupa repositori pribadi yang dapat dikloning tim Anda | Repositori git atau host lain dengan `.claude-plugin/marketplace.json` yang mencantumkan plugin Anda | Mati |31| [Marketplace Anda sendiri](#publish-through-your-own-marketplace) | Siapa pun yang dapat menjangkau repositori, yang dapat berupa repositori pribadi yang dapat dikloning tim Anda | Repositori git atau host lain dengan `.claude-plugin/marketplace.json` yang mencantumkan plugin Anda | Mati |

32| [Marketplace komunitas Anthropic](#submit-to-the-community-marketplace) | Siapa pun yang menambahkan `anthropics/claude-plugins-community` | Pengajuan melalui formulir pengajuan direktori plugin | Mati |32| [Marketplace komunitas Anthropic](#submit-to-the-community-marketplace) | Siapa pun yang menambahkan `anthropics/claude-plugins-community` | Pengajuan melalui formulir pengajuan direktori plugin | Mati |

Details

86</h3>86</h3>

87 87 

88| Bidang | Tipe | Deskripsi |88| Bidang | Tipe | Deskripsi |

89| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |89| :- | :- | :- |

90| `topic` | string | Opsional. Frasa yang mengisi "Bekerja dengan *topic*?" dalam spinner tip. Default ke nama plugin dengan setiap segmen tanda hubung dikapitalisasi. Maksimal 64 karakter. |90| `topic` | string | Opsional. Frasa yang mengisi "Bekerja dengan *topic*?" dalam spinner tip. Default ke nama plugin dengan setiap segmen tanda hubung dikapitalisasi. Maksimal 64 karakter. |

91| `signals` | object | Pencocokan yang menentukan kapan plugin relevan. Claude Code menyarankan plugin hanya jika setidaknya satu sinyal diatur. Lihat [`relevance.signals`](#relevance-signals). |91| `signals` | object | Pencocokan yang menentukan kapan plugin relevan. Claude Code menyarankan plugin hanya jika setidaknya satu sinyal diatur. Lihat [`relevance.signals`](#relevance-signals). |

92 92 


99Objek `signals` menerima bidang berikut.99Objek `signals` menerima bidang berikut.

100 100 

101| Bidang | Tipe | Deskripsi | Batas |101| Bidang | Tipe | Deskripsi | Batas |

102| :------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------- |102| :- | :- | :- | :- |

103| `cwd` | array of strings | Pola glob yang dicocokkan terhadap direktori kerja sesi. Lihat [pencocokan direktori kerja](#working-directory-matching). | 10 pola dari 256 karakter masing-masing |103| `cwd` | array of strings | Pola glob yang dicocokkan terhadap direktori kerja sesi. Lihat [pencocokan direktori kerja](#working-directory-matching). | 10 pola dari 256 karakter masing-masing |

104| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["terraform"]`. Pencocokan tepat. Lihat [pencocokan nama perintah](#command-name-matching). | 10 entri dari 64 karakter masing-masing |104| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["terraform"]`. Pencocokan tepat. Lihat [pencocokan nama perintah](#command-name-matching). | 10 entri dari 64 karakter masing-masing |

105| `hosts` | array of strings | Nama host yang terlihat dalam URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["registry.terraform.io"]`. Hanya nama host huruf kecil telanjang: tidak ada skema, port, atau jalur. Pencocokan tepat tidak peka huruf besar-kecil. | 20 entri dari 128 karakter masing-masing |105| `hosts` | array of strings | Nama host yang terlihat dalam URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["registry.terraform.io"]`. Hanya nama host huruf kecil telanjang: tidak ada skema, port, atau jalur. Pencocokan tepat tidak peka huruf besar-kecil. | 20 entri dari 128 karakter masing-masing |

Details

52Tabel mencantumkan nama mana yang termasuk dalam setiap tingkat:52Tabel mencantumkan nama mana yang termasuk dalam setiap tingkat:

53 53 

54| Tingkat | Marketplace mana |54| Tingkat | Marketplace mana |

55| :---------- | :------------------------------------------------------------------------------------------ |55| :- | :- |

56| Official | [Nama marketplace official](#official-marketplace-names), seperti `claude-plugins-official` |56| Official | [Nama marketplace official](#official-marketplace-names), seperti `claude-plugins-official` |

57| Community | `claude-community`, `claude-plugins-community`, dan `healthcare` |57| Community | `claude-community`, `claude-plugins-community`, dan `healthcare` |

58| Third-party | Setiap marketplace lainnya |58| Third-party | Setiap marketplace lainnya |

Details

96Beberapa spelling command sedang digunakan yang Claude Code tidak miliki. Tabel di bawah memetakan masing-masing ke command yang sebenarnya. [Plugin commands reference](/docs/id/plugins/cli-reference) mencantumkan setiap subcommand dan flag.96Beberapa spelling command sedang digunakan yang Claude Code tidak miliki. Tabel di bawah memetakan masing-masing ke command yang sebenarnya. [Plugin commands reference](/docs/id/plugins/cli-reference) mencantumkan setiap subcommand dan flag.

97 97 

98| Anda mengetik | Apa yang Claude Code katakan | Gunakan sebagai gantinya |98| Anda mengetik | Apa yang Claude Code katakan | Gunakan sebagai gantinya |

99| :----------------------------------------- | :--------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |99| :- | :- | :- |

100| `claude plugin add <source>` | `error: unknown command 'add'` | `claude plugin marketplace add <source>` untuk menambahkan marketplace, atau `claude plugin install <plugin>@<marketplace>` untuk menginstal plugin |100| `claude plugin add <source>` | `error: unknown command 'add'` | `claude plugin marketplace add <source>` untuk menambahkan marketplace, atau `claude plugin install <plugin>@<marketplace>` untuk menginstal plugin |

101| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope project` |101| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope project` |

102| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>` |102| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>` |


569Tabel mencantumkan setiap pesan dan perbaikannya. Untuk mendeklarasikan dependensi sebagai penulis, lihat [Plugin dependencies](/docs/id/plugins/dependencies).569Tabel mencantumkan setiap pesan dan perbaikannya. Untuk mendeklarasikan dependensi sebagai penulis, lihat [Plugin dependencies](/docs/id/plugins/dependencies).

570 570 

571| Pesan | Arti | Cara menyelesaikan |571| Pesan | Arti | Cara menyelesaikan |

572| :------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |572| :- | :- | :- |

573| `Dependency "<dep>" is not installed` | Dependensi yang dideklarasikan tidak diinstal. | Instal di shell Anda dengan `claude plugin install <dep>@<marketplace>`, atau uninstal plugin. Jika marketplace dependensi belum terdaftar, tambahkan dan jalankan `/reload-plugins` dalam sesi Anda, yang menginstal dependensi yang hilang yang dapat diselesaikan. |573| `Dependency "<dep>" is not installed` | Dependensi yang dideklarasikan tidak diinstal. | Instal di shell Anda dengan `claude plugin install <dep>@<marketplace>`, atau uninstal plugin. Jika marketplace dependensi belum terdaftar, tambahkan dan jalankan `/reload-plugins` dalam sesi Anda, yang menginstal dependensi yang hilang yang dapat diselesaikan. |

574| `Dependency "<dep>" is disabled` | Dependensi diinstal tetapi dimatikan. | Aktifkan dependensi, atau uninstal plugin yang membutuhkannya. |574| `Dependency "<dep>" is disabled` | Dependensi diinstal tetapi dimatikan. | Aktifkan dependensi, atau uninstal plugin yang membutuhkannya. |

575| `Requires "<dep>" <range>, installed <version>` | Versi dependensi yang diinstal berada di luar rentang yang dideklarasikan plugin. | Perbarui dependensi ke versi dalam rentang, atau uninstal plugin. |575| `Requires "<dep>" <range>, installed <version>` | Versi dependensi yang diinstal berada di luar rentang yang dideklarasikan plugin. | Perbarui dependensi ke versi dalam rentang, atau uninstal plugin. |


905Tabel mencakup pesan yang menghentikan validasi dan dua peringatan, `No frontmatter block found` dan `Unknown field '<key>'`, yang menghentikannya hanya ketika Anda melewatkan `--strict`. Peringatan lain, seperti deskripsi yang hilang, tidak tercantum.905Tabel mencakup pesan yang menghentikan validasi dan dua peringatan, `No frontmatter block found` dan `Unknown field '<key>'`, yang menghentikannya hanya ketika Anda melewatkan `--strict`. Peringatan lain, seperti deskripsi yang hilang, tidak tercantum.

906 906 

907| Pesan | Penyebab | Perbaikan |907| Pesan | Penyebab | Perbaikan |

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

909| `File not found: <path>` | Path tidak memiliki manifest, atau tidak ada. | Jalankan command terhadap root plugin atau marketplace, direktori yang berisi `.claude-plugin/`. |909| `File not found: <path>` | Path tidak memiliki manifest, atau tidak ada. | Jalankan command terhadap root plugin atau marketplace, direktori yang berisi `.claude-plugin/`. |

910| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Direktori tidak memiliki manifest `.claude-plugin/`. | Buat manifest, atau tunjuk ke direktori yang benar. |910| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Direktori tidak memiliki manifest `.claude-plugin/`. | Buat manifest, atau tunjuk ke direktori yang benar. |

911| `Invalid JSON syntax: <parse error>` | Manifest, atau `hooks/hooks.json`, bukan JSON yang valid. | Perbaiki JSON. Sampai Anda memperbaiki `hooks/hooks.json`, sesi memuat plugin tanpa hooks dalam file itu. |911| `Invalid JSON syntax: <parse error>` | Manifest, atau `hooks/hooks.json`, bukan JSON yang valid. | Perbaiki JSON. Sampai Anda memperbaiki `hooks/hooks.json`, sesi memuat plugin tanpa hooks dalam file itu. |


966Tabel mencantumkan pesan tingkat marketplace. Pesan tingkat entri adalah pesan plugin di bawah [`claude plugin validate` reports errors](#claude-plugin-validate-reports-errors), diprefiks dengan `plugins[N] plugin.json →`.966Tabel mencantumkan pesan tingkat marketplace. Pesan tingkat entri adalah pesan plugin di bawah [`claude plugin validate` reports errors](#claude-plugin-validate-reports-errors), diprefiks dengan `plugins[N] plugin.json →`.

967 967 

968| Pesan | Jenis | Perbaikan |968| Pesan | Jenis | Perbaikan |

969| :-------------------------------------------------------------------------------------------------------------------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |969| :- | :- | :- |

970| `Duplicate plugin name "<name>" found in marketplace` | Kesalahan | Berikan setiap plugin `name` yang unik. |970| `Duplicate plugin name "<name>" found in marketplace` | Kesalahan | Berikan setiap plugin `name` yang unik. |

971| `Path contains "..": <path>` di bawah `plugins[N].source` | Kesalahan | Gunakan path relatif terhadap root marketplace tanpa segmen `..`. |971| `Path contains "..": <path>` di bawah `plugins[N].source` | Kesalahan | Gunakan path relatif terhadap root marketplace tanpa segmen `..`. |

972| `Marketplace name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari nama, seperti escape atau newline. |972| `Marketplace name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari nama, seperti escape atau newline. |

Details

25Untuk mendapatkan hasil maksimal dari pencocokan prefix, Claude Code mengurutkan setiap permintaan sehingga konten yang jarang berubah di antara giliran muncul terlebih dahulu:25Untuk mendapatkan hasil maksimal dari pencocokan prefix, Claude Code mengurutkan setiap permintaan sehingga konten yang jarang berubah di antara giliran muncul terlebih dahulu:

26 26 

27| Layer | Konten | Berubah ketika |27| Layer | Konten | Berubah ketika |

28| -------------- | -------------------------------------- | --------------------------------------------------- |28| - | - | - |

29| Prompt sistem | Instruksi inti, definisi alat | Set definisi alat yang dimuat berubah |29| Prompt sistem | Instruksi inti, definisi alat | Set definisi alat yang dimuat berubah |

30| Konteks proyek | CLAUDE.md, auto memory, unscoped rules | Sesi dimulai, atau setelah `/clear` atau `/compact` |30| Konteks proyek | CLAUDE.md, auto memory, unscoped rules | Sesi dimulai, atau setelah `/clear` atau `/compact` |

31| Percakapan | Pesan Anda, respons Claude, hasil alat | Setiap giliran |31| Percakapan | Pesan Anda, respons Claude, hasil alat | Setiap giliran |


318Kecuali Anda memilih TTL sendiri, Claude Code meminta TTL satu jam hanya pada langganan Claude dalam penggunaan yang disertakan paket Anda. Di sana ia meminta jam untuk percakapan utama, ditambah serangkaian kecil permintaan pembantu yang Anthropic kontrol di sisi server. Tabel ini memberikan TTL default setiap bucket di bawah kedua jenis penagihan.318Kecuali Anda memilih TTL sendiri, Claude Code meminta TTL satu jam hanya pada langganan Claude dalam penggunaan yang disertakan paket Anda. Di sana ia meminta jam untuk percakapan utama, ditambah serangkaian kecil permintaan pembantu yang Anthropic kontrol di sisi server. Tabel ini memberikan TTL default setiap bucket di bawah kedua jenis penagihan.

319 319 

320| Request bucket | Claude subscription, within plan usage | Usage credits, API key, or cloud provider |320| Request bucket | Claude subscription, within plan usage | Usage credits, API key, or cloud provider |

321| ----------------- | ------------------------------------------------------------------------------ | ----------------------------------------- |321| - | - | - |

322| Main conversation | One hour | Five minutes |322| Main conversation | One hour | Five minutes |

323| Everything else | Five minutes, except the server-controlled helper requests, which get one hour | Five minutes |323| Everything else | Five minutes, except the server-controlled helper requests, which get one hour | Five minutes |

324 324 


367Kinerja cache muncul sebagai dua hitungan token yang dilaporkan API pada setiap respons. Cara paling langsung untuk menontonnya secara langsung adalah [statusline script](/docs/id/statusline) yang membaca objek `current_usage`:367Kinerja cache muncul sebagai dua hitungan token yang dilaporkan API pada setiap respons. Cara paling langsung untuk menontonnya secara langsung adalah [statusline script](/docs/id/statusline) yang membaca objek `current_usage`:

368 368 

369| Field | Arti |369| Field | Arti |

370| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |370| - | - |

371| `cache_creation_input_tokens` | Token yang ditulis ke cache pada giliran ini, ditagih dengan tarif penulisan cache |371| `cache_creation_input_tokens` | Token yang ditulis ke cache pada giliran ini, ditagih dengan tarif penulisan cache |

372| `cache_read_input_tokens` | Token yang disajikan dari cache pada giliran ini, ditagih dengan [tarif token cache](/docs/id/about-claude/pricing) model, di bawah tarif input standar |372| `cache_read_input_tokens` | Token yang disajikan dari cache pada giliran ini, ditagih dengan [tarif token cache](/docs/id/about-claude/pricing) model, di bawah tarif input standar |

373 373 


403Menonaktifkan caching kadang-kadang berguna saat men-debug perilaku caching dengan model atau penyedia tertentu. Untuk mematikannya, atur salah satu variabel lingkungan ini ke `1`:403Menonaktifkan caching kadang-kadang berguna saat men-debug perilaku caching dengan model atau penyedia tertentu. Untuk mematikannya, atur salah satu variabel lingkungan ini ke `1`:

404 404 

405| Variable | Efek |405| Variable | Efek |

406| ------------------------------- | ----------------------------- |406| - | - |

407| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |407| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk Haiku saja |408| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk Haiku saja |

409| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk Sonnet saja |409| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk Sonnet saja |

quickstart.md +2 −2

Details

289**Perintah shell**289**Perintah shell**

290 290 

291| Perintah | Apa yang dilakukannya | Contoh |291| Perintah | Apa yang dilakukannya | Contoh |

292| ------------------- | -------------------------------------------------- | ----------------------------------- |292| - | - | - |

293| `claude` | Mulai mode interaktif | `claude` |293| `claude` | Mulai mode interaktif | `claude` |

294| `claude "task"` | Mulai mode interaktif dengan prompt awal | `claude "perbaiki kesalahan build"` |294| `claude "task"` | Mulai mode interaktif dengan prompt awal | `claude "perbaiki kesalahan build"` |

295| `claude -p "query"` | Jalankan kueri sekali, lalu keluar | `claude -p "jelaskan fungsi ini"` |295| `claude -p "query"` | Jalankan kueri sekali, lalu keluar | `claude -p "jelaskan fungsi ini"` |


299**Perintah sesi**299**Perintah sesi**

300 300 

301| Perintah | Apa yang dilakukannya | Contoh |301| Perintah | Apa yang dilakukannya | Contoh |

302| ---------------------------- | -------------------------------- | -------- |302| - | - | - |

303| `/clear` | Hapus riwayat percakapan | `/clear` |303| `/clear` | Hapus riwayat percakapan | `/clear` |

304| `/help` | Tampilkan perintah yang tersedia | `/help` |304| `/help` | Tampilkan perintah yang tersedia | `/help` |

305| `/exit` atau Ctrl+D dua kali | Keluar dari Claude Code | `/exit` |305| `/exit` atau Ctrl+D dua kali | Keluar dari Claude Code | `/exit` |

Details

59 Bendera yang tersedia:59 Bendera yang tersedia:

60 60 

61 | Bendera | Deskripsi |61 | Bendera | Deskripsi |

62 | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |62 | - | - |

63 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |63 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |

64 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default adalah nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |64 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default adalah nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |

65 | `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, alih-alih membuat yang baru. Lihat [Resume sesi setelah menghentikan server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |65 | `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, alih-alih membuat yang baru. Lihat [Resume sesi setelah menghentikan server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |


520Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.520Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.

521 521 

522| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |522| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |

523| :------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- |523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |524| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

525| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |525| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

526| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |526| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

routines.md +2 −2

Details

288Pemicu GitHub dapat berlangganan salah satu dari kategori peristiwa berikut. Dalam setiap kategori Anda dapat memilih tindakan spesifik, seperti `pull_request.opened`, atau bereaksi terhadap semua tindakan dalam kategori.288Pemicu GitHub dapat berlangganan salah satu dari kategori peristiwa berikut. Dalam setiap kategori Anda dapat memilih tindakan spesifik, seperti `pull_request.opened`, atau bereaksi terhadap semua tindakan dalam kategori.

289 289 

290| Peristiwa | Dipicu ketika |290| Peristiwa | Dipicu ketika |

291| :----------- | :------------------------------------------------------------------------------------- |291| :- | :- |

292| Pull request | PR dibuka, ditutup, ditugaskan, diberi label, disinkronkan, atau diperbarui sebaliknya |292| Pull request | PR dibuka, ditutup, ditugaskan, diberi label, disinkronkan, atau diperbarui sebaliknya |

293| Release | Rilis dibuat, dipublikasikan, diedit, atau dihapus |293| Release | Rilis dibuat, dipublikasikan, diedit, atau dihapus |

294 294 


299Gunakan filter untuk mempersempit permintaan tarik mana yang memulai sesi baru. Semua kondisi filter harus cocok untuk rutinitas dipicu. Bidang filter yang tersedia adalah:299Gunakan filter untuk mempersempit permintaan tarik mana yang memulai sesi baru. Semua kondisi filter harus cocok untuk rutinitas dipicu. Bidang filter yang tersedia adalah:

300 300 

301| Filter | Cocok |301| Filter | Cocok |

302| :---------- | :------------------------------ |302| :- | :- |

303| Author | Nama pengguna GitHub penulis PR |303| Author | Nama pengguna GitHub penulis PR |

304| Title | Teks judul PR |304| Title | Teks judul PR |

305| Body | Teks deskripsi PR |305| Body | Teks deskripsi PR |

Details

21Dua pendekatan pertama dalam tabel di bawah berjalan pada sistem operasi host tanpa container. Sisanya menempatkan Claude Code di dalam container atau mesin virtual.21Dua pendekatan pertama dalam tabel di bawah berjalan pada sistem operasi host tanpa container. Sisanya menempatkan Claude Code di dalam container atau mesin virtual.

22 22 

23| Pendekatan | Apa yang diisolasi | Memerlukan Docker | Upaya pengaturan |23| Pendekatan | Apa yang diisolasi | Memerlukan Docker | Upaya pengaturan |

24| :------------------------------------------ | :-------------------------------------------------------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- | :- |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Perintah Bash, PowerShell, dan Monitor serta proses anak mereka | Tidak | Minimal di macOS; rendah di Linux dan WSL2 |25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Perintah Bash, PowerShell, dan Monitor serta proses anak mereka | Tidak | Minimal di macOS; rendah di Linux dan WSL2 |

26| [Sandbox runtime](#sandbox-runtime) | Seluruh proses Claude Code, termasuk alat file, server MCP, dan hooks | Tidak | Rendah |26| [Sandbox runtime](#sandbox-runtime) | Seluruh proses Claude Code, termasuk alat file, server MCP, dan hooks | Tidak | Rendah |

27| [Dev container](#dev-containers) | Lingkungan pengembangan lengkap | Ya | Sedang |27| [Dev container](#dev-containers) | Lingkungan pengembangan lengkap | Ya | Sedang |


44Cocokkan tujuan Anda dengan baris di bawah, kemudian baca bagian detail yang mengikuti.44Cocokkan tujuan Anda dengan baris di bawah, kemudian baca bagian detail yang mengikuti.

45 45 

46| Anda ingin | Mulai dengan |46| Anda ingin | Mulai dengan |

47| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :- | :- |

48| Mengurangi prompt izin selama pekerjaan sehari-hari di mesin Anda sendiri | [Sandboxed Bash tool](/docs/id/sandboxing), dikonfigurasi dengan `/sandbox` |48| Mengurangi prompt izin selama pekerjaan sehari-hari di mesin Anda sendiri | [Sandboxed Bash tool](/docs/id/sandboxing), dikonfigurasi dengan `/sandbox` |

49| Biarkan Claude bekerja tanpa pengawasan dengan `--dangerously-skip-permissions` atau mode otomatis | [Dev container](/docs/id/devcontainer) yang telah dikonfigurasi sebelumnya, container atau VM apa pun, atau [sandbox runtime](#sandbox-runtime) |49| Biarkan Claude bekerja tanpa pengawasan dengan `--dangerously-skip-permissions` atau mode otomatis | [Dev container](/docs/id/devcontainer) yang telah dikonfigurasi sebelumnya, container atau VM apa pun, atau [sandbox runtime](#sandbox-runtime) |

50| Isolasi server MCP dan hooks serta Bash, tanpa Docker | Runtime sandbox |50| Isolasi server MCP dan hooks serta Bash, tanpa Docker | Runtime sandbox |

sandboxing.md +7 −7

Details

213Awalan jalur mengontrol bagaimana jalur diselesaikan:213Awalan jalur mengontrol bagaimana jalur diselesaikan:

214 214 

215| Awalan | Arti | Contoh |215| Awalan | Arti | Contoh |

216| :--------------------- | :-------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- |216| :- | :- | :- |

217| `/` | Jalur absolut dari akar filesystem | `/tmp/build` tetap `/tmp/build` |217| `/` | Jalur absolut dari akar filesystem | `/tmp/build` tetap `/tmp/build` |

218| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |218| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |

219| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |219| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |


223Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`. Ketika aturan baca tumpang tindih, jalur yang lebih spesifik menang:223Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`. Ketika aturan baca tumpang tindih, jalur yang lebih spesifik menang:

224 224 

225| Aturan contoh | Hasil |225| Aturan contoh | Hasil |

226| :-------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| :- | :- |

227| `"denyRead": ["~/"]` dengan `"allowRead": ["~/projects"]` | `~/projects` dapat dibaca dan sisa direktori home tetap diblokir. Izin yang lebih sempit membuka kembali bagian itu dari wilayah yang ditolak |227| `"denyRead": ["~/"]` dengan `"allowRead": ["~/projects"]` | `~/projects` dapat dibaca dan sisa direktori home tetap diblokir. Izin yang lebih sempit membuka kembali bagian itu dari wilayah yang ditolak |

228| `"allowRead": ["~/"]` dengan `"denyRead": ["~/.env"]` | `~/.env` tetap diblokir dan sisa direktori home dapat dibaca. Penolakan yang tepat berlaku di dalam izin yang lebih luas, jadi izin yang luas tidak dapat secara diam-diam membuka kembali rahasia |228| `"allowRead": ["~/"]` dengan `"denyRead": ["~/.env"]` | `~/.env` tetap diblokir dan sisa direktori home dapat dibaca. Penolakan yang tepat berlaku di dalam izin yang lebih luas, jadi izin yang luas tidak dapat secara diam-diam membuka kembali rahasia |

229| `"allowRead": ["~/"]` dengan `"denyRead": ["~/**/.env"]` | Setiap `.env` di bawah direktori home tetap diblokir dan sisanya dapat dibaca. [Wildcard deny](/docs/id/settings-reference#sandbox-path-prefixes) berlaku di dalam izin yang lebih luas dengan cara yang sama seperti jalur yang tepat |229| `"allowRead": ["~/"]` dengan `"denyRead": ["~/**/.env"]` | Setiap `.env` di bawah direktori home tetap diblokir dan sisanya dapat dibaca. [Wildcard deny](/docs/id/settings-reference#sandbox-path-prefixes) berlaku di dalam izin yang lebih luas dengan cara yang sama seperti jalur yang tepat |


287Apakah entri `credentials.files` terkelola menyematkan `filesystem.disabled`, mengunci kunci ke pengaturan terkelola sehingga pengembang tidak dapat mematikan isolasi filesystem, tergantung pada `mode` entri dan apa yang terjadi pada entri ketika sandbox dimulai:287Apakah entri `credentials.files` terkelola menyematkan `filesystem.disabled`, mengunci kunci ke pengaturan terkelola sehingga pengembang tidak dapat mematikan isolasi filesystem, tergantung pada `mode` entri dan apa yang terjadi pada entri ketika sandbox dimulai:

288 288 

289| Entri terkelola | Menyematkan `filesystem.disabled` | Apa yang melindungi file ketika isolasi mati |289| Entri terkelola | Menyematkan `filesystem.disabled` | Apa yang melindungi file ketika isolasi mati |

290| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |290| - | - | - |

291| `"mode": "deny"` | Ya | Tidak ada: blok baca adalah bagian dari lapisan filesystem |291| `"mode": "deny"` | Ya | Tidak ada: blok baca adalah bagian dari lapisan filesystem |

292| `"mode": "mask"`, diterapkan sebagai mask | Tidak | Masking itu sendiri: [sentinel copy dan proxy](#mask-credential-files) di Linux dan WSL2, aturan baca sandbox itu sendiri di macOS |292| `"mode": "mask"`, diterapkan sebagai mask | Tidak | Masking itu sendiri: [sentinel copy dan proxy](#mask-credential-files) di Linux dan WSL2, aturan baca sandbox itu sendiri di macOS |

293| `"mode": "mask"`, [jatuh kembali ke `deny`](#mask-credential-files) saat setup | Tidak | Tidak ada, sama seperti `deny`. Daftarkan jalur yang tidak dapat di-mask, seperti direktori, sebagai entri `deny` eksplisit, yang menyematkan kunci |293| `"mode": "mask"`, [jatuh kembali ke `deny`](#mask-credential-files) saat setup | Tidak | Tidak ada, sama seperti `deny`. Daftarkan jalur yang tidak dapat di-mask, seperti direktori, sebagai entri `deny` eksplisit, yang menyematkan kunci |


302Mengatur `filesystem.disabled` mengangkat perlindungan yang lapisan filesystem itu sendiri berlakukan. Perlindungan yang lapisan lain berlakukan terus berlaku:302Mengatur `filesystem.disabled` mengangkat perlindungan yang lapisan filesystem itu sendiri berlakukan. Perlindungan yang lapisan lain berlakukan terus berlaku:

303 303 

304| Perlindungan | Dengan isolasi filesystem mati |304| Perlindungan | Dengan isolasi filesystem mati |

305| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |305| - | - |

306| `filesystem.denyRead` dan [`credentials.files`](#protect-credentials) blok baca `deny` | Tidak diberlakukan. Lapisan filesystem menerapkan keduanya |306| `filesystem.denyRead` dan [`credentials.files`](#protect-credentials) blok baca `deny` | Tidak diberlakukan. Lapisan filesystem menerapkan keduanya |

307| `credentials.envVars` entri `deny` dan `mask` | Diberlakukan. Scrubbing variabel lingkungan independen dari lapisan filesystem |307| `credentials.envVars` entri `deny` dan `mask` | Diberlakukan. Scrubbing variabel lingkungan independen dari lapisan filesystem |

308| [`credentials.files` entri `mask`](#mask-credential-files) diterapkan sebagai mask | Diberlakukan: masking independen dari lapisan filesystem. Entri yang [jatuh kembali ke `deny`](#mask-credential-files) tidak diberlakukan, seperti entri `deny` apa pun |308| [`credentials.files` entri `mask`](#mask-credential-files) diterapkan sebagai mask | Diberlakukan: masking independen dari lapisan filesystem. Entri yang [jatuh kembali ke `deny`](#mask-credential-files) tidak diberlakukan, seperti entri `deny` apa pun |


459Tiga bentuk permintaan AWS membawa tanda tangan yang proxy tidak dapat menghitung ulang. Ketika permintaan seperti itu ditandatangani dengan placeholder pasangan yang di-mask, proxy gagalkan daripada teruskan tanda tangan yang rusak; permintaan yang ditandatangani dengan kredensial yang tidak di-mask tidak pernah terpengaruh. Pengaturan [`credentials.sigv4`](/docs/id/settings-reference#sandbox-credentials-sigv4), yang memerlukan Claude Code v2.1.224 atau lebih baru, melonggarkan ini per bentuk: mengatur kunci bentuk ke `passthrough` meneruskan permintaan dengan tanda tangan yang diturunkan placeholder-nya, jadi alat yang memanggil menerima penolakan AWS sendiri daripada kesalahan proxy. Seperti `awsPairs`, `sigv4` dihormati hanya dari pengaturan pengguna, pengaturan terkelola, dan bendera CLI `--settings`.459Tiga bentuk permintaan AWS membawa tanda tangan yang proxy tidak dapat menghitung ulang. Ketika permintaan seperti itu ditandatangani dengan placeholder pasangan yang di-mask, proxy gagalkan daripada teruskan tanda tangan yang rusak; permintaan yang ditandatangani dengan kredensial yang tidak di-mask tidak pernah terpengaruh. Pengaturan [`credentials.sigv4`](/docs/id/settings-reference#sandbox-credentials-sigv4), yang memerlukan Claude Code v2.1.224 atau lebih baru, melonggarkan ini per bentuk: mengatur kunci bentuk ke `passthrough` meneruskan permintaan dengan tanda tangan yang diturunkan placeholder-nya, jadi alat yang memanggil menerima penolakan AWS sendiri daripada kesalahan proxy. Seperti `awsPairs`, `sigv4` dihormati hanya dari pengaturan pengguna, pengaturan terkelola, dan bendera CLI `--settings`.

460 460 

461| Bentuk permintaan | Kunci `sigv4` | Mengapa proxy tidak dapat menandatangani ulang |461| Bentuk permintaan | Kunci `sigv4` | Mengapa proxy tidak dapat menandatangani ulang |

462| :----------------------------- | :------------ | :-------------------------------------------------------------------------------------------------------------------- |462| :- | :- | :- |

463| unggahan streaming aws-chunked | `streaming` | Tanda tangan per-chunk berantai dari tanda tangan seed, jadi menandatangani ulang akan memerlukan menulis ulang badan |463| unggahan streaming aws-chunked | `streaming` | Tanda tangan per-chunk berantai dari tanda tangan seed, jadi menandatangani ulang akan memerlukan menulis ulang badan |

464| URL yang sudah ditandatangani | `presigned` | Tanda tangan berada di URL itu sendiri, tanpa header `Authorization` |464| URL yang sudah ditandatangani | `presigned` | Tanda tangan berada di URL itu sendiri, tanpa header `Authorization` |

465| Tanda tangan asimetris SigV4A | `sigv4a` | Tidak ada HMAC kunci bersama untuk menghitung ulang |465| Tanda tangan asimetris SigV4A | `sigv4a` | Tidak ada HMAC kunci bersama untuk menghitung ulang |


637Pembatasan filesystem dan jaringan dikonfigurasi melalui pengaturan sandbox dan aturan izin:637Pembatasan filesystem dan jaringan dikonfigurasi melalui pengaturan sandbox dan aturan izin:

638 638 

639| Pengaturan atau aturan | Apa yang dilakukannya |639| Pengaturan atau aturan | Apa yang dilakukannya |

640| :--------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |640| :- | :- |

641| `sandbox.filesystem.allowWrite` | Memberikan akses tulis subprocess ke jalur di luar direktori kerja |641| `sandbox.filesystem.allowWrite` | Memberikan akses tulis subprocess ke jalur di luar direktori kerja |

642| `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead` | Memblokir akses subprocess ke jalur tertentu |642| `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead` | Memblokir akses subprocess ke jalur tertentu |

643| `sandbox.filesystem.allowRead` | Mengizinkan kembali pembacaan jalur tertentu dalam wilayah `denyRead` |643| `sandbox.filesystem.allowRead` | Mengizinkan kembali pembacaan jalur tertentu dalam wilayah `denyRead` |


659`/sandbox` bukan [permission mode](/docs/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:659`/sandbox` bukan [permission mode](/docs/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:

660 660 

661| | Apa yang dikontrol | Apa yang menggantikan prompt |661| | Apa yang dikontrol | Apa yang menggantikan prompt |

662| :----------------------------------------------------------------- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |662| :- | :- | :- |

663| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |663| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |

664| [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |664| [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |

665| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/docs/id/permission-modes#protected-paths) juga dilewati; [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) masih berlaku |665| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/docs/id/permission-modes#protected-paths) juga dilewati; [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) masih berlaku |

Details

17Claude Code menawarkan tiga cara untuk menjadwalkan pekerjaan berulang atau sekali jalan:17Claude Code menawarkan tiga cara untuk menjadwalkan pekerjaan berulang atau sekali jalan:

18 18 

19| | [Cloud](/docs/id/routines) | [Desktop](/docs/id/desktop-scheduled-tasks) | [`/loop`](/docs/id/scheduled-tasks) |19| | [Cloud](/docs/id/routines) | [Desktop](/docs/id/desktop-scheduled-tasks) | [`/loop`](/docs/id/scheduled-tasks) |

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

21| Berjalan di | Cloud, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |21| Berjalan di | Cloud, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |

22| Memerlukan mesin aktif | Tidak | Ya | Ya |22| Memerlukan mesin aktif | Tidak | Ya | Ya |

23| Memerlukan sesi terbuka | Tidak | Tidak | Ya |23| Memerlukan sesi terbuka | Tidak | Tidak | Ya |


39Skill `/loop` [bundled skill](/docs/id/commands) adalah cara tercepat untuk menjalankan prompt berulang sementara sesi tetap terbuka. Baik interval maupun prompt bersifat opsional, dan apa yang Anda berikan menentukan bagaimana loop berperilaku.39Skill `/loop` [bundled skill](/docs/id/commands) adalah cara tercepat untuk menjalankan prompt berulang sementara sesi tetap terbuka. Baik interval maupun prompt bersifat opsional, dan apa yang Anda berikan menentukan bagaimana loop berperilaku.

40 40 

41| Apa yang Anda berikan | Contoh | Apa yang terjadi |41| Apa yang Anda berikan | Contoh | Apa yang terjadi |

42| :------------------------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------- |42| :- | :- | :- |

43| Interval dan prompt | `/loop 5m check the deploy` | Prompt Anda berjalan pada [jadwal tetap](#run-on-a-fixed-interval) |43| Interval dan prompt | `/loop 5m check the deploy` | Prompt Anda berjalan pada [jadwal tetap](#run-on-a-fixed-interval) |

44| Hanya prompt | `/loop check the deploy` | Prompt Anda berjalan pada [interval yang dipilih Claude](#let-claude-choose-the-interval) setiap iterasi |44| Hanya prompt | `/loop check the deploy` | Prompt Anda berjalan pada [interval yang dipilih Claude](#let-claude-choose-the-interval) setiap iterasi |

45| Hanya interval, atau tidak ada apa-apa | `/loop` | [Prompt pemeliharaan bawaan](#run-the-built-in-maintenance-prompt) berjalan, atau `loop.md` Anda jika ada |45| Hanya interval, atau tidak ada apa-apa | `/loop` | [Prompt pemeliharaan bawaan](#run-the-built-in-maintenance-prompt) berjalan, atau `loop.md` Anda jika ada |


114Claude mencari file di dua lokasi dan menggunakan yang pertama ditemukannya.114Claude mencari file di dua lokasi dan menggunakan yang pertama ditemukannya.

115 115 

116| Path | Scope |116| Path | Scope |

117| :------------------ | :-------------------------------------------------------------------------------- |117| :- | :- |

118| `.claude/loop.md` | Project-level. Mengambil prioritas ketika kedua file ada. |118| `.claude/loop.md` | Project-level. Mengambil prioritas ketika kedua file ada. |

119| `~/.claude/loop.md` | User-level. Berlaku di proyek apa pun yang tidak mendefinisikan miliknya sendiri. |119| `~/.claude/loop.md` | User-level. Berlaku di proyek apa pun yang tidak mendefinisikan miliknya sendiri. |

120 120 


172Ini adalah alat yang mendasari yang digunakan Claude:172Ini adalah alat yang mendasari yang digunakan Claude:

173 173 

174| Alat | Tujuan |174| Alat | Tujuan |

175| :----------- | :--------------------------------------------------------------------------------------------------------------------------- |175| :- | :- |

176| `CronCreate` | Jadwalkan tugas baru. Menerima ekspresi cron 5-field, prompt untuk dijalankan, dan apakah itu berulang atau berjalan sekali. |176| `CronCreate` | Jadwalkan tugas baru. Menerima ekspresi cron 5-field, prompt untuk dijalankan, dan apakah itu berulang atau berjalan sekali. |

177| `CronList` | Buat daftar semua tugas terjadwal dengan ID, jadwal, dan prompt mereka. |177| `CronList` | Buat daftar semua tugas terjadwal dengan ID, jadwal, dan prompt mereka. |

178| `CronDelete` | Batalkan tugas berdasarkan ID. |178| `CronDelete` | Batalkan tugas berdasarkan ID. |


211`CronCreate` menerima ekspresi cron standar 5-field: `minute hour day-of-month month day-of-week`. Semua field mendukung wildcard (`*`), nilai tunggal (`5`), langkah (`*/15`), rentang (`1-5`), dan daftar yang dipisahkan koma (`1,15,30`).211`CronCreate` menerima ekspresi cron standar 5-field: `minute hour day-of-month month day-of-week`. Semua field mendukung wildcard (`*`), nilai tunggal (`5`), langkah (`*/15`), rentang (`1-5`), dan daftar yang dipisahkan koma (`1,15,30`).

212 212 

213| Contoh | Arti |213| Contoh | Arti |

214| :------------- | :-------------------------------- |214| :- | :- |

215| `*/5 * * * *` | Setiap 5 menit |215| `*/5 * * * *` | Setiap 5 menit |

216| `0 * * * *` | Setiap jam pada jam |216| `0 * * * *` | Setiap jam pada jam |

217| `7 * * * *` | Setiap jam pada 7 menit lewat |217| `7 * * * *` | Setiap jam pada 7 menit lewat |

Details

165```165```

166 166 

167| Field | Type | Description |167| Field | Type | Description |

168| :-------------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |168| :- | :- | :- |

169| `rule_name` | string | Identifier shown in the warning |169| `rule_name` | string | Identifier shown in the warning |

170| `reminder` | string | Warning text appended to Claude's context, capped at 1 KB |170| `reminder` | string | Warning text appended to Claude's context, capped at 1 KB |

171| `regex` | string | Python regex matched against the edited content |171| `regex` | string | Python regex matched against the edited content |


182Plugin mencari `claude-security-guidance.md` dan `security-patterns.yaml` di lokasi yang sama, terlepas dari bagaimana plugin diaktifkan:182Plugin mencari `claude-security-guidance.md` dan `security-patterns.yaml` di lokasi yang sama, terlepas dari bagaimana plugin diaktifkan:

183 183 

184| Scope | Path | Notes |184| Scope | Path | Notes |

185| :------------ | :------------------------------------------ | :-------------------------------------------------- |185| :- | :- | :- |

186| User | `~/.claude/claude-security-guidance.md` | Applies to every project on your machine |186| User | `~/.claude/claude-security-guidance.md` | Applies to every project on your machine |

187| Project | `.claude/claude-security-guidance.md` | Checked in with the repository |187| Project | `.claude/claude-security-guidance.md` | Checked in with the repository |

188| Project local | `.claude/claude-security-guidance.local.md` | For personal overrides; add it to your `.gitignore` |188| Project local | `.claude/claude-security-guidance.local.md` | For personal overrides; add it to your `.gitignore` |


206Untuk mematikan lapisan individual sambil menjaga sisanya, atur variabel lingkungan yang cocok:206Untuk mematikan lapisan individual sambil menjaga sisanya, atur variabel lingkungan yang cocok:

207 207 

208| Variable | Effect |208| Variable | Effect |

209| :------------------------------ | :------------------------------------------------------------------------- |209| :- | :- |

210| `ENABLE_PATTERN_RULES=0` | Disable the [per-edit pattern check](#on-each-file-edit) |210| `ENABLE_PATTERN_RULES=0` | Disable the [per-edit pattern check](#on-each-file-edit) |

211| `ENABLE_STOP_REVIEW=0` | Disable the [end-of-turn diff review](#at-the-end-of-each-turn) |211| `ENABLE_STOP_REVIEW=0` | Disable the [end-of-turn diff review](#at-the-end-of-each-turn) |

212| `ENABLE_COMMIT_REVIEW=0` | Disable the [commit and push review](#on-each-commit-or-push-claude-makes) |212| `ENABLE_COMMIT_REVIEW=0` | Disable the [commit and push review](#on-each-commit-or-push-claude-makes) |


234Plugin dibangun sepenuhnya di [hooks](/docs/id/hooks), mekanisme untuk menjalankan kode Anda sendiri pada titik tertentu dalam loop Claude. Ini mendaftarkan:234Plugin dibangun sepenuhnya di [hooks](/docs/id/hooks), mekanisme untuk menjalankan kode Anda sendiri pada titik tertentu dalam loop Claude. Ini mendaftarkan:

235 235 

236| Hook event | Tujuan |236| Hook event | Tujuan |

237| :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------ |237| :- | :- |

238| `SessionStart` | Bootstrap lingkungan Python plugin |238| `SessionStart` | Bootstrap lingkungan Python plugin |

239| `UserPromptSubmit` | Menangkap baseline working-tree yang digunakan oleh review akhir giliran untuk membuat diff |239| `UserPromptSubmit` | Menangkap baseline working-tree yang digunakan oleh review akhir giliran untuk membuat diff |

240| `PostToolUse` pada `Edit`, `Write`, dan `NotebookEdit` | Pencocokan pola per-edit |240| `PostToolUse` pada `Edit`, `Write`, dan `NotebookEdit` | Pencocokan pola per-edit |


250Plugin adalah satu lapisan dalam pendekatan pertahanan mendalam. Ini menangkap masalah paling awal, saat kode masih dalam editor, tetapi bukan jaminan dan tidak menggantikan pemeriksaan kemudian. Stack tipikal:250Plugin adalah satu lapisan dalam pendekatan pertahanan mendalam. Ini menangkap masalah paling awal, saat kode masih dalam editor, tetapi bukan jaminan dan tidak menggantikan pemeriksaan kemudian. Stack tipikal:

251 251 

252| Stage | Tool | What it covers |252| Stage | Tool | What it covers |

253| :--------------------- | :-------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |253| :- | :- | :- |

254| In session | Security guidance plugin | Common vulnerabilities in code Claude writes, fixed in the same session |254| In session | Security guidance plugin | Common vulnerabilities in code Claude writes, fixed in the same session |

255| On demand, single pass | [`/security-review`](/docs/id/commands#all-commands) | One-time security pass on the current branch, run when you ask |255| On demand, single pass | [`/security-review`](/docs/id/commands#all-commands) | One-time security pass on the current branch, run when you ask |

256| On demand, deep scan | [Claude Security plugin](/docs/id/claude-security) | Multi-agent vulnerability scan of a repository or diff, with independently reviewed findings and patches |256| On demand, deep scan | [Claude Security plugin](/docs/id/claude-security) | Multi-agent vulnerability scan of a repository or diff, with independently reviewed findings and patches |

Details

76Istilah-istilah ini muncul di seluruh halaman self-hosted:76Istilah-istilah ini muncul di seluruh halaman self-hosted:

77 77 

78| Istilah | Apa itu |78| Istilah | Apa itu |

79| :----------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :- | :- |

80| Environment | Grup bernama runner Anda, dibuat di pengaturan claude.ai. Sesi dirutekan ke environment, bukan ke runner individual. |80| Environment | Grup bernama runner Anda, dibuat di pengaturan claude.ai. Sesi dirutekan ke environment, bukan ke runner individual. |

81| Environment secret | Kredensial bersama tunggal yang digunakan runner untuk mengautentikasi dan mendaftar dengan environment. Ditampilkan sekali saat pembuatan environment, berlabel **environment key** di UI admin. |81| Environment secret | Kredensial bersama tunggal yang digunakan runner untuk mengautentikasi dan mendaftar dengan environment. Ditampilkan sekali saat pembuatan environment, berlabel **environment key** di UI admin. |

82| Runner | Proses jangka panjang yang Anda deploy. Runner mendaftar dengan environment, menerima token runner, dan polling untuk sesi. |82| Runner | Proses jangka panjang yang Anda deploy. Runner mendaftar dengan environment, menerima token runner, dan polling untuk sesi. |

Details

29Runner menetapkan yang berikut di lingkungan wrapper:29Runner menetapkan yang berikut di lingkungan wrapper:

30 30 

31| Variabel | Deskripsi |31| Variabel | Deskripsi |

32| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- |

33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | JWT sesi, diawali dengan `sk-ant-cc-`. Klaim `act` mengidentifikasi pembuat sesi, dengan email pembuat dan subjek penyedia identitas upstream ketika permukaan pembuatan merekamnya. Nilainya adalah token pada waktu pemijahan; penyegaran tiba melalui stdin anak, jadi wrapper hanya melihat nilai awal. Lihat [Verify session identity](/docs/id/self-hosted-environments-identity). |33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | JWT sesi, diawali dengan `sk-ant-cc-`. Klaim `act` mengidentifikasi pembuat sesi, dengan email pembuat dan subjek penyedia identitas upstream ketika permukaan pembuatan merekamnya. Nilainya adalah token pada waktu pemijahan; penyegaran tiba melalui stdin anak, jadi wrapper hanya melihat nilai awal. Lihat [Verify session identity](/docs/id/self-hosted-environments-identity). |

34| `CCR_SESSION_ACCOUNT_EMAIL` | Email pembuat sesi, pra-ekstrak oleh runner dari klaim `act.email` token tanpa verifikasi tanda tangan. Cocok untuk pelabelan, seperti trailer commit. Ketika email membuka akses penyediaan kredensial, verifikasi token dan baca klaim darinya; lihat [Provision credentials scoped to the session creator](#provision-credentials-scoped-to-the-session-creator). Tidak diatur ketika token tidak membawa email pembuat. Perlakukan sebagai informasi yang dapat diidentifikasi secara pribadi. |34| `CCR_SESSION_ACCOUNT_EMAIL` | Email pembuat sesi, pra-ekstrak oleh runner dari klaim `act.email` token tanpa verifikasi tanda tangan. Cocok untuk pelabelan, seperti trailer commit. Ketika email membuka akses penyediaan kredensial, verifikasi token dan baca klaim darinya; lihat [Provision credentials scoped to the session creator](#provision-credentials-scoped-to-the-session-creator). Tidak diatur ketika token tidak membawa email pembuat. Perlakukan sebagai informasi yang dapat diidentifikasi secara pribadi. |

35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | Permukaan klien yang membuat sesi, seperti `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli`, atau `scheduled_trigger`. Anthropic merekam nilainya sekali saat pembuatan sesi, jadi wrapper dan setiap hook siklus hidup melihat nilai yang sama. Gunakan untuk analitik adopsi dan pelabelan saja, bukan sebagai sinyal otorisasi. Tidak diatur ketika sesi tidak memiliki permukaan yang tercatat atau dikenali, jadi referensikan sebagai `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` di bawah `set -u`. Memerlukan Claude Code v2.1.229 atau lebih baru. |35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | Permukaan klien yang membuat sesi, seperti `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli`, atau `scheduled_trigger`. Anthropic merekam nilainya sekali saat pembuatan sesi, jadi wrapper dan setiap hook siklus hidup melihat nilai yang sama. Gunakan untuk analitik adopsi dan pelabelan saja, bukan sebagai sinyal otorisasi. Tidak diatur ketika sesi tidak memiliki permukaan yang tercatat atau dikenali, jadi referensikan sebagai `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` di bawah `set -u`. Memerlukan Claude Code v2.1.229 atau lebih baru. |


98Berjalan sekali per repositori, sebagai pengganti klon dan fetch bawaan runner. Gunakan hook untuk mengkloning dari cermin read-through, seed pohon kerja dari arsip, atau menerapkan auth git per-sesi. Runner menetapkan:98Berjalan sekali per repositori, sebagai pengganti klon dan fetch bawaan runner. Gunakan hook untuk mengkloning dari cermin read-through, seed pohon kerja dari arsip, atau menerapkan auth git per-sesi. Runner menetapkan:

99 99 

100| Variabel | Deskripsi |100| Variabel | Deskripsi |

101| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |101| :- | :- |

102| `CLAUDE_RUNNER_REPO_URL` | URL repositori untuk mengkloning, setelah `--git-host-rewrite` dan `--git-ssh-rewrite` apa pun telah diterapkan |102| `CLAUDE_RUNNER_REPO_URL` | URL repositori untuk mengkloning, setelah `--git-host-rewrite` dan `--git-ssh-rewrite` apa pun telah diterapkan |

103| `CLAUDE_RUNNER_REPO_REF` | Revisi untuk checkout: cabang, tag, atau commit SHA seperti yang diminta sesi. Kosong berarti cabang default repositori. |103| `CLAUDE_RUNNER_REPO_REF` | Revisi untuk checkout: cabang, tag, atau commit SHA seperti yang diminta sesi. Kosong berarti cabang default repositori. |

104| `CLAUDE_RUNNER_CHECKOUT_PATH` | Jalur absolut di mana pohon kerja harus ditinggalkan |104| `CLAUDE_RUNNER_CHECKOUT_PATH` | Jalur absolut di mana pohon kerja harus ditinggalkan |


130Hook menyala pada setiap akhir sesi di mana proses anak dipijahkan, apa pun penyebabnya; nilai `CLAUDE_RUNNER_EXIT_REASON` di bawah menghitung kasus. Itu tidak dapat menyala ketika runner berhenti tiba-tiba, seperti preemption VM atau kehilangan daya; jika Anda memerlukan jaminan terhadap penghentian tiba-tiba, snapshot secara berkala dari dalam sesi dengan hook Claude Code `PostToolUse` sebagai gantinya. Runner menetapkan:130Hook menyala pada setiap akhir sesi di mana proses anak dipijahkan, apa pun penyebabnya; nilai `CLAUDE_RUNNER_EXIT_REASON` di bawah menghitung kasus. Itu tidak dapat menyala ketika runner berhenti tiba-tiba, seperti preemption VM atau kehilangan daya; jika Anda memerlukan jaminan terhadap penghentian tiba-tiba, snapshot secara berkala dari dalam sesi dengan hook Claude Code `PostToolUse` sebagai gantinya. Runner menetapkan:

131 131 

132| Variabel | Deskripsi |132| Variabel | Deskripsi |

133| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |133| :- | :- |

134| `CLAUDE_RUNNER_SESSION_ID` | ID sesi dalam bentuk `session_...` yang ditandai |134| `CLAUDE_RUNNER_SESSION_ID` | ID sesi dalam bentuk `session_...` yang ditandai |

135| `CLAUDE_RUNNER_SESSION_UUID` | ID sesi yang sama dalam bentuk UUID kanonik |135| `CLAUDE_RUNNER_SESSION_UUID` | ID sesi yang sama dalam bentuk UUID kanonik |

136| `CLAUDE_RUNNER_EXIT_REASON` | Bagaimana sesi berakhir; lihat nilai di bawah tabel |136| `CLAUDE_RUNNER_EXIT_REASON` | Bagaimana sesi berakhir; lihat nilai di bawah tabel |


220Orchestrator menjalankan `${hooks-dir}/spawn-runner` sekali per permintaan pemijahan. Hook harus mengirimkan pekerjaan secara asinkron, tanpa menunggu runner boot, dan kembali dalam `--hook-timeout`, 60 detik secara default. Hook menerima:220Orchestrator menjalankan `${hooks-dir}/spawn-runner` sekali per permintaan pemijahan. Hook harus mengirimkan pekerjaan secara asinkron, tanpa menunggu runner boot, dan kembali dalam `--hook-timeout`, 60 detik secara default. Hook menerima:

221 221 

222| Variabel | Deskripsi |222| Variabel | Deskripsi |

223| :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |223| :- | :- |

224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Jalur ke file temp yang berisi JWT pesanan kerja yang ditandatangani yang didaftarkan runner baru. Dihapus setelah hook keluar. Jangan catat isi file. |224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Jalur ke file temp yang berisi JWT pesanan kerja yang ditandatangani yang didaftarkan runner baru. Dihapus setelah hook keluar. Jangan catat isi file. |

225| `CLAUDE_RUNNER_ORDER_ID` | Kunci idempotency yang buram, unik per permintaan pemijahan dan aman untuk nama sumber daya Kubernetes. Gunakan sebagai kunci dedup provisioner Anda. |225| `CLAUDE_RUNNER_ORDER_ID` | Kunci idempotency yang buram, unik per permintaan pemijahan dan aman untuk nama sumber daya Kubernetes. Gunakan sebagai kunci dedup provisioner Anda. |

226| `CLAUDE_RUNNER_SESSION_ID` | Sesi yang diminta ini untuk. Kosong untuk permintaan pre-warming, yang boot runner standby sebelum sesi spesifik apa pun ketika [`--min-idle`](/docs/id/self-hosted-environments-reference#orchestrator-cli-flags) diatur, jadi jangan asumsikan variabel diatur. |226| `CLAUDE_RUNNER_SESSION_ID` | Sesi yang diminta ini untuk. Kosong untuk permintaan pre-warming, yang boot runner standby sebelum sesi spesifik apa pun ketika [`--min-idle`](/docs/id/self-hosted-environments-reference#orchestrator-cli-flags) diatur, jadi jangan asumsikan variabel diatur. |

Details

53Host-host ini selalu diperlukan:53Host-host ini selalu diperlukan:

54 54 

55| Host | Port | Digunakan untuk |55| Host | Port | Digunakan untuk |

56| :------------------------------------------------------------------- | :-------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- |

57| `api.anthropic.com` | 443, HTTPS; WSS untuk konektor SCM saja | Bidang kontrol runner dan streaming sesi, inferensi model, flag fitur, analitik produk, pengambilan kunci [JWKS](/docs/id/self-hosted-environments-identity), penandatanganan komit, proxy git ketika `--use-anthropic-git-proxy` diatur, dan terowongan [SCM connector](/docs/id/self-hosted-environments-reference#scm-connector-flags) orchestrator ketika `--scm-connector-host` diatur |57| `api.anthropic.com` | 443, HTTPS; WSS untuk konektor SCM saja | Bidang kontrol runner dan streaming sesi, inferensi model, flag fitur, analitik produk, pengambilan kunci [JWKS](/docs/id/self-hosted-environments-identity), penandatanganan komit, proxy git ketika `--use-anthropic-git-proxy` diatur, dan terowongan [SCM connector](/docs/id/self-hosted-environments-reference#scm-connector-flags) orchestrator ketika `--scm-connector-host` diatur |

58| Host git Anda, seperti `github.com` atau host GitHub Enterprise Anda | 443 atau 22 | Kloning dan push repositori. Tidak diperlukan jika runner menggunakan `--use-anthropic-git-proxy`, yang merutekan lalu lintas git melalui `api.anthropic.com`. |58| Host git Anda, seperti `github.com` atau host GitHub Enterprise Anda | 443 atau 22 | Kloning dan push repositori. Tidak diperlukan jika runner menggunakan `--use-anthropic-git-proxy`, yang merutekan lalu lintas git melalui `api.anthropic.com`. |

59 59 

60Apakah host-host ini diperlukan tergantung pada konfigurasi Anda:60Apakah host-host ini diperlukan tergantung pada konfigurasi Anda:

61 61 

62| Host | Port | Ketika diperlukan |62| Host | Port | Ketika diperlukan |

63| :----------------------------------- | :--- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |63| :- | :- | :- |

64| `downloads.claude.ai` | 443 | Pada waktu instalasi, ketika Anda menginstal atau memperbarui Claude Code di host dengan installer asli; script `install.sh` itu sendiri disajikan dari `claude.ai`. Pada waktu runtime sesi, hanya ketika sesi menginstal plugin dari marketplace Anthropic resmi. |64| `downloads.claude.ai` | 443 | Pada waktu instalasi, ketika Anda menginstal atau memperbarui Claude Code di host dengan installer asli; script `install.sh` itu sendiri disajikan dari `claude.ai`. Pada waktu runtime sesi, hanya ketika sesi menginstal plugin dari marketplace Anthropic resmi. |

65| `storage.googleapis.com` | 443 | Pada waktu runtime sesi, untuk hitungan instalasi plugin dan metadata yang ditampilkan dalam `/plugin`. |65| `storage.googleapis.com` | 443 | Pada waktu runtime sesi, untuk hitungan instalasi plugin dan metadata yang ditampilkan dalam `/plugin`. |

66| `code.claude.com` dan `claude.com` | 443 | Pencarian dokumentasi oleh agen claude-code-guide built-in dan permintaan WebFetch yang telah disetujui sebelumnya selama sesi. Memblokir host-host ini hanya mempengaruhi pencarian dokumentasi. |66| `code.claude.com` dan `claude.com` | 443 | Pencarian dokumentasi oleh agen claude-code-guide built-in dan permintaan WebFetch yang telah disetujui sebelumnya selama sesi. Memblokir host-host ini hanya mempengaruhi pencarian dokumentasi. |

Details

204Tabel di bawah mencantumkan klaim token sesi yang relevan untuk verifikasi. Baca identitas dari namespace `ccr:*` dan rantai `act`; klaim duplikat backward-compatibility yang datar `account_email`, `organization_uuid`, dan `account_uuid` dapat dihapus. Sesi yang dibuat oleh identitas layanan organisasi Anda, termasuk sesi saluran Claude Tag, membawa subjek `agent:` dalam `act.sub` dan menghilangkan `act.email`, `ccr:account_id`, `account_email`, dan `account_uuid`. Dua klaim email bersifat opsional untuk sesi yang dibuat pengguna juga: Anthropic merekamnya saat pembuatan sesi hanya ketika kredensial permintaan pembuatan membawa email, dan sesi yang dikirim dari CLI dapat tidak memiliki keduanya, jadi kunci identitas pada `act.sub` atau `ccr:account_id` daripada pada email. Token juga dapat membawa klaim tambahan di luar tabel ini; abaikan klaim yang tidak Anda kenali.204Tabel di bawah mencantumkan klaim token sesi yang relevan untuk verifikasi. Baca identitas dari namespace `ccr:*` dan rantai `act`; klaim duplikat backward-compatibility yang datar `account_email`, `organization_uuid`, dan `account_uuid` dapat dihapus. Sesi yang dibuat oleh identitas layanan organisasi Anda, termasuk sesi saluran Claude Tag, membawa subjek `agent:` dalam `act.sub` dan menghilangkan `act.email`, `ccr:account_id`, `account_email`, dan `account_uuid`. Dua klaim email bersifat opsional untuk sesi yang dibuat pengguna juga: Anthropic merekamnya saat pembuatan sesi hanya ketika kredensial permintaan pembuatan membawa email, dan sesi yang dikirim dari CLI dapat tidak memiliki keduanya, jadi kunci identitas pada `act.sub` atau `ccr:account_id` daripada pada email. Token juga dapat membawa klaim tambahan di luar tabel ini; abaikan klaim yang tidak Anda kenali.

205 205 

206| Klaim | Tipe | Deskripsi |206| Klaim | Tipe | Deskripsi |

207| :------------------ | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |207| :- | :- | :- |

208| `iss` | string | Selalu `ccr`. |208| `iss` | string | Selalu `ccr`. |

209| `sub` | string | `ccr:session:<session_id>`. |209| `sub` | string | `ccr:session:<session_id>`. |

210| `aud` | array of strings | Selalu berisi `anthropic-api`. Untuk sesi di lingkungan yang di-host sendiri, array juga berisi ID lingkungan Anda, seperti `ccpool_...`. Verifikasi ID lingkungan, bukan `anthropic-api`. |210| `aud` | array of strings | Selalu berisi `anthropic-api`. Untuk sesi di lingkungan yang di-host sendiri, array juga berisi ID lingkungan Anda, seperti `ccpool_...`. Verifikasi ID lingkungan, bukan `anthropic-api`. |


228Klaim `act` merekam jalur delegasi lengkap dari identitas pengguna atau layanan yang membuat sesi hingga ke [lingkungan](/docs/id/self-hosted-environments#key-concepts) yang rahasianya mengakui runner, dan identitas yang membuat rahasia itu. Pembuat adalah aktor terluar, jadi `act.sub` mengidentifikasi mereka secara langsung.228Klaim `act` merekam jalur delegasi lengkap dari identitas pengguna atau layanan yang membuat sesi hingga ke [lingkungan](/docs/id/self-hosted-environments#key-concepts) yang rahasianya mengakui runner, dan identitas yang membuat rahasia itu. Pembuat adalah aktor terluar, jadi `act.sub` mengidentifikasi mereka secara langsung.

229 229 

230| Jalur | Deskripsi |230| Jalur | Deskripsi |

231| :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |231| :- | :- |

232| `act.sub` | ID pengguna Anthropic pengguna pembuat, dalam bentuk `user:<id>`, atau `agent:<id>` ketika identitas layanan organisasi Anda membuat sesi, seperti yang dilakukannya untuk sesi saluran Claude Tag. |232| `act.sub` | ID pengguna Anthropic pengguna pembuat, dalam bentuk `user:<id>`, atau `agent:<id>` ketika identitas layanan organisasi Anda membuat sesi, seperti yang dilakukannya untuk sesi saluran Claude Tag. |

233| `act.email` | Alamat email pengguna pembuat, ketika satu dicatat saat pembuatan sesi. Jangan memerlukan itu; kunci pada `act.sub`. |233| `act.email` | Alamat email pengguna pembuat, ketika satu dicatat saat pembuatan sesi. Jangan memerlukan itu; kunci pada `act.sub`. |

234| `act.attested_by` | Atestasi penyedia identitas hulu untuk pengguna pembuat, ketika tersedia. `act.attested_by.sub` adalah subjek yang dikeluarkan penyedia SSO Anda, seperti Google atau Okta. Lebih suka ini daripada `act.email` ketika memetakan ke identitas dalam sistem Anda sendiri. |234| `act.attested_by` | Atestasi penyedia identitas hulu untuk pengguna pembuat, ketika tersedia. `act.attested_by.sub` adalah subjek yang dikeluarkan penyedia SSO Anda, seperti Google atau Okta. Lebih suka ini daripada `act.email` ketika memetakan ke identitas dalam sistem Anda sendiri. |

Details

21Sebagian besar flag memiliki variabel lingkungan yang sesuai. Ketika keduanya diatur, flag mengambil prioritas. Flag durasi mengambil menit atau detik di CLI, tetapi variabel lingkungan yang dipasangkan selalu dalam milidetik, ditunjukkan oleh suffix `_MS`, dan kolom Default menunjukkan unit flag: `--exit-if-unused-min 10` setara dengan `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`, dan nilai Helm seperti `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"` berarti 15 milidetik, bukan default 15 menit.21Sebagian besar flag memiliki variabel lingkungan yang sesuai. Ketika keduanya diatur, flag mengambil prioritas. Flag durasi mengambil menit atau detik di CLI, tetapi variabel lingkungan yang dipasangkan selalu dalam milidetik, ditunjukkan oleh suffix `_MS`, dan kolom Default menunjukkan unit flag: `--exit-if-unused-min 10` setara dengan `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`, dan nilai Helm seperti `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"` berarti 15 milidetik, bukan default 15 menit.

22 22 

23| Flag | Env var | Default | Description |23| Flag | Env var | Default | Description |

24| :---------------------------------------- | :------------------------------------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- | :- |

25| `--api-url <url>` | none | `https://api.anthropic.com` | URL dasar API. Ganti hanya untuk pengujian. |25| `--api-url <url>` | none | `https://api.anthropic.com` | URL dasar API. Ganti hanya untuk pengujian. |

26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; tidak ada di Windows | Direktori untuk checkout repositori dan direktori kerja per-session. Runner memerlukan akses tulis ke path ini atau induknya. Runner membuat direktori saat startup dan keluar dengan `cannot create or write to base directory` ketika tidak dapat membuat atau menulis ke dalamnya. Sebelum v2.1.225, runner membuat direktori ketika session pertama dimulai, jadi path yang tidak dapat digunakan gagal session daripada startup. Di Windows, yang bukan host runner yang didukung, tidak ada default: runner keluar saat startup kecuali Anda melewatkan flag atau mengatur variabel. Gunakan nilai yang sama di setiap runner dalam lingkungan. Lihat [Keep the base directory and capacity identical across runners](/docs/id/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; tidak ada di Windows | Direktori untuk checkout repositori dan direktori kerja per-session. Runner memerlukan akses tulis ke path ini atau induknya. Runner membuat direktori saat startup dan keluar dengan `cannot create or write to base directory` ketika tidak dapat membuat atau menulis ke dalamnya. Sebelum v2.1.225, runner membuat direktori ketika session pertama dimulai, jadi path yang tidak dapat digunakan gagal session daripada startup. Di Windows, yang bukan host runner yang didukung, tidak ada default: runner keluar saat startup kecuali Anda melewatkan flag atau mengatur variabel. Gunakan nilai yang sama di setiap runner dalam lingkungan. Lihat [Keep the base directory and capacity identical across runners](/docs/id/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |

27| `--capacity <n>` | none | `1` | Maksimum session bersamaan yang ditangani runner ini. Semua session milik [owner](/docs/id/self-hosted-environments#key-concepts) yang terkunci sama. Gunakan nilai yang sama di setiap runner dalam lingkungan; lihat [Keep the base directory and capacity identical across runners](/docs/id/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |27| `--capacity <n>` | none | `1` | Maksimum session bersamaan yang ditangani runner ini. Semua session milik [owner](/docs/id/self-hosted-environments#key-concepts) yang terkunci sama. Gunakan nilai yang sama di setiap runner dalam lingkungan; lihat [Keep the base directory and capacity identical across runners](/docs/id/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |


69Subperintah `self-hosted-runner orchestrator`, yang menghasilkan [on-demand runners](/docs/id/self-hosted-environments-configuration#on-demand-runners), menerima `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, dan `--log-level` dengan default yang sama seperti runner dan, di mana flag runner memiliki satu, variabel lingkungan yang sama, kecuali bahwa `--hooks-dir` diperlukan dan harus berisi hook `spawn-runner`. Ini juga mengambil flag sendiri:69Subperintah `self-hosted-runner orchestrator`, yang menghasilkan [on-demand runners](/docs/id/self-hosted-environments-configuration#on-demand-runners), menerima `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, dan `--log-level` dengan default yang sama seperti runner dan, di mana flag runner memiliki satu, variabel lingkungan yang sama, kecuali bahwa `--hooks-dir` diperlukan dan harus berisi hook `spawn-runner`. Ini juga mengambil flag sendiri:

70 70 

71| Flag | Default | Description |71| Flag | Default | Description |

72| :------------------------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72| :- | :- | :- |

73| `--hook-concurrency <n>` | `4` | Maksimum hook `spawn-runner` berjalan secara paralel. Juga membatasi berapa banyak permintaan spawn yang diklaim per poll. |73| `--hook-concurrency <n>` | `4` | Maksimum hook `spawn-runner` berjalan secara paralel. Juga membatasi berapa banyak permintaan spawn yang diklaim per poll. |

74| `--hook-timeout <sec>` | `60` | Hentikan pohon proses hook setelah banyak detik ini. Timeout plus grace kill 5-detiknya harus tetap di bawah `--expected-spawn-seconds`; orchestrator memberlakukan ini saat startup. |74| `--hook-timeout <sec>` | `60` | Hentikan pohon proses hook setelah banyak detik ini. Timeout plus grace kill 5-detiknya harus tetap di bawah `--expected-spawn-seconds`; orchestrator memberlakukan ini saat startup. |

75| `--expected-spawn-seconds <sec>` | `120` | Expected p99 boot time untuk runner yang dihasilkan, dalam range yang diberlakukan server 10 hingga 3600. Dikirim pada setiap poll sebagai lease server-side; jika tidak ada runner yang mendaftar sebelum itu berlalu, session ditawarkan kembali dengan ID pesanan segar. Semua replika harus berbagi nilai ini. |75| `--expected-spawn-seconds <sec>` | `120` | Expected p99 boot time untuk runner yang dihasilkan, dalam range yang diberlakukan server 10 hingga 3600. Dikirim pada setiap poll sebagai lease server-side; jika tidak ada runner yang mendaftar sebelum itu berlalu, session ditawarkan kembali dengan ID pesanan segar. Semua replika harus berbagi nilai ini. |


83Orchestrator dapat menahan koneksi WebSocket berdiri ke control plane Anthropic sehingga hosted pre-session flow, seperti repository picker dan branch atau ref resolver, dapat menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Connector tetap off kecuali Anda mengatur `--scm-connector-host`.83Orchestrator dapat menahan koneksi WebSocket berdiri ke control plane Anthropic sehingga hosted pre-session flow, seperti repository picker dan branch atau ref resolver, dapat menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Connector tetap off kecuali Anda mengatur `--scm-connector-host`.

84 84 

85| Flag | Default | Description |85| Flag | Default | Description |

86| :------------------------------------------------------ | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |86| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | unset | Hostname GitHub Enterprise Server untuk meneruskan permintaan ke. Port default ke `443`. Mengatur flag ini mengaktifkan connector. |87| `--scm-connector-host <host[:port]>` | unset | Hostname GitHub Enterprise Server untuk meneruskan permintaan ke. Port default ke `443`. Mengatur flag ini mengaktifkan connector. |

88| `--scm-connector-id <n>` | required with `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. Hubungi tim akun Anthropic Anda untuk nilai ketika Anda mengaktifkan connector. |88| `--scm-connector-id <n>` | required with `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. Hubungi tim akun Anthropic Anda untuk nilai ketika Anda mengaktifkan connector. |

89| `--scm-connector-provider <slug>` | `ghe` | Segmen path mengidentifikasi provider, cocok dengan `^[a-z0-9-]{1,32}$`. |89| `--scm-connector-provider <slug>` | `ghe` | Segmen path mengidentifikasi provider, cocok dengan `^[a-z0-9-]{1,32}$`. |


99Pengaturan runner ini dibaca dari lingkungan saja dan mencakup perilaku yang sebagian besar deployment tinggalkan di default:99Pengaturan runner ini dibaca dari lingkungan saja dan mencakup perilaku yang sebagian besar deployment tinggalkan di default:

100 100 

101| Env var | Default | Description |101| Env var | Default | Description |

102| :----------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |102| :- | :- | :- |

103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Berapa lama runner menganggap session sibuk setelah background task selesai sementara turn follow-up yang membaca hasil belum dimulai. Baris [`--drain-wait-sec` dan `--release-idle-session-min`](#runner-cli-flags) menjelaskan di mana hold berlaku pada drain dan idle release, dan [Runner lifecycle](/docs/id/self-hosted-environments#runner-lifecycle) menjelaskan di mana itu berlaku pada pensiun `--retire-at`. `0` atau nilai yang tidak dapat digunakan kembali ke default, jadi hold tidak dapat dimatikan. Memerlukan Claude Code v2.1.228 atau lebih baru. |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Berapa lama runner menganggap session sibuk setelah background task selesai sementara turn follow-up yang membaca hasil belum dimulai. Baris [`--drain-wait-sec` dan `--release-idle-session-min`](#runner-cli-flags) menjelaskan di mana hold berlaku pada drain dan idle release, dan [Runner lifecycle](/docs/id/self-hosted-environments#runner-lifecycle) menjelaskan di mana itu berlaku pada pensiun `--retire-at`. `0` atau nilai yang tidak dapat digunakan kembali ke default, jadi hold tidak dapat dimatikan. Memerlukan Claude Code v2.1.228 atau lebih baru. |

104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Direktori ditangkap ke snapshot startup runner dan disemai ke `CLAUDE_CONFIG_DIR` setiap session; perubahan di disk berlaku setelah restart runner. Mengatur variabel juga memindahkan di mana runner membaca `.claude.json` untuk [MCP seeding](/docs/id/self-hosted-environments-configuration#mcp-servers), jadi mengaturnya, termasuk ke default sendiri, merelokasi lookup itu; arahkan ke direktori kosong untuk menonaktifkan seeding sepenuhnya. |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Direktori ditangkap ke snapshot startup runner dan disemai ke `CLAUDE_CONFIG_DIR` setiap session; perubahan di disk berlaku setelah restart runner. Mengatur variabel juga memindahkan di mana runner membaca `.claude.json` untuk [MCP seeding](/docs/id/self-hosted-environments-configuration#mcp-servers), jadi mengaturnya, termasuk ke default sendiri, merelokasi lookup itu; arahkan ke direktori kosong untuk menonaktifkan seeding sepenuhnya. |

105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Berapa lama runner menunggu setelah session mencapai batas `--kill-session-after-min`, untuk turn yang sedang berjalan selesai atau release selesai, sebelum itu menghentikan session |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Berapa lama runner menunggu setelah session mencapai batas `--kill-session-after-min`, untuk turn yang sedang berjalan selesai atau release selesai, sebelum itu menghentikan session |


149Setiap runner melayani metrik Prometheus di `GET /metrics` pada port yang sama seperti `/healthz`. Seri kunci:149Setiap runner melayani metrik Prometheus di `GET /metrics` pada port yang sama seperti `/healthz`. Seri kunci:

150 150 

151| Series | Notes |151| Series | Notes |

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

153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Selalu `1`; berguna untuk inventori fleet dan deteksi version-drift |153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Selalu `1`; berguna untuk inventori fleet dan deteksi version-drift |

154| `claude_code_self_hosted_runner_capacity` | `--capacity` yang dikonfigurasi |154| `claude_code_self_hosted_runner_capacity` | `--capacity` yang dikonfigurasi |

155| `claude_code_self_hosted_runner_active_sessions` | Session yang sedang berjalan |155| `claude_code_self_hosted_runner_active_sessions` | Session yang sedang berjalan |


169Orchestrator melayani seri sendiri di `GET /metrics` pada port yang sama seperti `/healthz`:169Orchestrator melayani seri sendiri di `GET /metrics` pada port yang sama seperti `/healthz`:

170 170 

171| Series | Notes |171| Series | Notes |

172| :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |172| :- | :- |

173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Selalu `1` |173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Selalu `1` |

174| `claude_code_self_hosted_orchestrator_connected` | `1` ketika poll terbaru berhasil; turun ke `0` setelah poll yang gagal, apa pun jenis kegagalan |174| `claude_code_self_hosted_orchestrator_connected` | `1` ketika poll terbaru berhasil; turun ke `0` setelah poll yang gagal, apa pun jenis kegagalan |

175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Detik sejak upaya poll terakhir, sukses atau gagal, tidak seperti metrik runner yang identik, yang mengukur sejak sukses terakhir; pasangkan dengan `connected` untuk menangkap poll yang gagal. Poll loop orchestrator menunggu eksekusi hook, jadi alert di atas `--hook-timeout` plus margin, sekitar 90 detik di default, daripada flat 60. |175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Detik sejak upaya poll terakhir, sukses atau gagal, tidak seperti metrik runner yang identik, yang mengukur sejak sukses terakhir; pasangkan dengan `connected` untuk menangkap poll yang gagal. Poll loop orchestrator menunggu eksekusi hook, jadi alert di atas `--hook-timeout` plus margin, sekitar 90 detik di default, daripada flat 60. |


327Gunakan seri dalam tabel ini untuk goal yang sesuai daripada counter terminal:327Gunakan seri dalam tabel ini untuk goal yang sesuai daripada counter terminal:

328 328 

329| Goal | Use |329| Goal | Use |

330| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |330| :- | :- |

331| Throughput | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, counter pada orchestrator long-lived yang menambah sekali per hook `spawn-runner` yang berhasil dan tetap bermakna di bawah `rate()`. Ini menghitung invokasi hook daripada session, jadi pre-warming dan spawn berulang untuk session yang sama menyimpang itu dari session count. |331| Throughput | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, counter pada orchestrator long-lived yang menambah sekali per hook `spawn-runner` yang berhasil dan tetap bermakna di bawah `rate()`. Ini menghitung invokasi hook daripada session, jadi pre-warming dan spawn berulang untuk session yang sama menyimpang itu dari session count. |

332| Utilization | `sum(claude_code_self_hosted_runner_active_sessions)` terhadap `sum(claude_code_self_hosted_runner_capacity)`, kedua gauge valid di setiap scrape terlepas dari lifetime runner |332| Utilization | `sum(claude_code_self_hosted_runner_active_sessions)` terhadap `sum(claude_code_self_hosted_runner_capacity)`, kedua gauge valid di setiap scrape terlepas dari lifetime runner |

333| Backlog | `claude_code_self_hosted_orchestrator_pool_pending_sessions` untuk queue depth, dan `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alert jika di atas nol |333| Backlog | `claude_code_self_hosted_orchestrator_pool_pending_sessions` untuk queue depth, dan `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alert jika di atas nol |

Details

29Claude Code mendukung dua pendekatan untuk konfigurasi terpusat. Pengaturan yang dikelola server mengirimkan konfigurasi dari server Anthropic. [Pengaturan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms) digunakan langsung ke perangkat melalui kebijakan OS asli (preferensi terkelola macOS, registri Windows) atau file pengaturan terkelola.29Claude Code mendukung dua pendekatan untuk konfigurasi terpusat. Pengaturan yang dikelola server mengirimkan konfigurasi dari server Anthropic. [Pengaturan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms) digunakan langsung ke perangkat melalui kebijakan OS asli (preferensi terkelola macOS, registri Windows) atau file pengaturan terkelola.

30 30 

31| Pendekatan | Terbaik untuk | Model keamanan |31| Pendekatan | Terbaik untuk | Model keamanan |

32| :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |32| :- | :- | :- |

33| **Pengaturan yang dikelola server** | Organisasi tanpa MDM, atau pengguna pada perangkat yang tidak dikelola | Pengaturan yang Claude Code ambil dari server Anthropic saat startup dan segarkan setiap jam selama sesi |33| **Pengaturan yang dikelola server** | Organisasi tanpa MDM, atau pengguna pada perangkat yang tidak dikelola | Pengaturan yang Claude Code ambil dari server Anthropic saat startup dan segarkan setiap jam selama sesi |

34| **[Pengaturan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms)** | Organisasi dengan MDM atau manajemen endpoint | Pengaturan digunakan ke perangkat melalui profil konfigurasi MDM, kebijakan registri, atau file pengaturan terkelola |34| **[Pengaturan yang dikelola endpoint](/docs/id/managed-settings#delivery-mechanisms)** | Organisasi dengan MDM atau manajemen endpoint | Pengaturan digunakan ke perangkat melalui profil konfigurasi MDM, kebijakan registri, atau file pengaturan terkelola |

35 35 


363Pengaturan yang dikelola server menyediakan penegakan kebijakan terpusat, tetapi mereka beroperasi sebagai kontrol sisi klien, bukan batas keamanan. Pada perangkat yang tidak dikelola, pengguna tidak perlu akses admin atau sudo untuk melewatinya.363Pengaturan yang dikelola server menyediakan penegakan kebijakan terpusat, tetapi mereka beroperasi sebagai kontrol sisi klien, bukan batas keamanan. Pada perangkat yang tidak dikelola, pengguna tidak perlu akses admin atau sudo untuk melewatinya.

364 364 

365| Skenario | Perilaku |365| Skenario | Perilaku |

366| :---------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |366| :- | :- |

367| Pengguna mengedit file pengaturan yang di-cache | File yang dirusak berlaku pada startup, kecuali untuk [nilai yang Claude Code tahan](#fetch-and-caching-behavior) sampai server mengonfirmasi payload. Pengambilan server berikutnya memulihkan pengaturan yang benar, kecuali untuk [kunci yang hanya berlaku pada peluncuran berikutnya](#fetch-and-caching-behavior), seperti `model` atau variabel yang ditambahkan ke blok `env`, yang tetap berlaku sampai reluncur |367| Pengguna mengedit file pengaturan yang di-cache | File yang dirusak berlaku pada startup, kecuali untuk [nilai yang Claude Code tahan](#fetch-and-caching-behavior) sampai server mengonfirmasi payload. Pengambilan server berikutnya memulihkan pengaturan yang benar, kecuali untuk [kunci yang hanya berlaku pada peluncuran berikutnya](#fetch-and-caching-behavior), seperti `model` atau variabel yang ditambahkan ke blok `env`, yang tetap berlaku sampai reluncur |

368| Pengguna menghapus file pengaturan yang di-cache | [Perilaku peluncuran pertama](#fetch-and-caching-behavior) terjadi |368| Pengguna menghapus file pengaturan yang di-cache | [Perilaku peluncuran pertama](#fetch-and-caching-behavior) terjadi |

369| Pengguna menjalankan biner Claude Code yang dimodifikasi | Pengguna yang dapat menjalankan klien yang dimodifikasi dapat melewati kontrol sisi klien apa pun |369| Pengguna menjalankan biner Claude Code yang dimodifikasi | Pengguna yang dapat menjalankan klien yang dimodifikasi dapat melewati kontrol sisi klien apa pun |

sessions.md +7 −7

Details

17Sesi disimpan secara berkelanjutan ke [file transkrip lokal](#export-and-locate-session-data) saat Anda bekerja, sehingga Anda dapat kembali ke satu setelah keluar atau menjalankan `/clear`. Gunakan titik masuk ini:17Sesi disimpan secara berkelanjutan ke [file transkrip lokal](#export-and-locate-session-data) saat Anda bekerja, sehingga Anda dapat kembali ke satu setelah keluar atau menjalankan `/clear`. Gunakan titik masuk ini:

18 18 

19| Perintah | Apa yang dilakukannya |19| Perintah | Apa yang dilakukannya |

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

21| `claude --continue` | Membuka kembali percakapan terbaru di direktori saat ini |21| `claude --continue` | Membuka kembali percakapan terbaru di direktori saat ini |

22| `claude --resume` | Membuka [pemilih sesi](#use-the-session-picker) |22| `claude --resume` | Membuka [pemilih sesi](#use-the-session-picker) |

23| `claude --resume <name>` | Melanjutkan sesi bernama secara langsung |23| `claude --resume <name>` | Melanjutkan sesi bernama secara langsung |


61Memulihkan mode rencana pada jalur non-interaktif dan VS Code memerlukan Claude Code v2.1.246 atau lebih baru. Setiap baris menyebutkan mode izin yang diakhiri sesi, jalur terminal, non-interaktif, dan VS Code mana yang Anda lanjutkan, dan mode izin yang dimulai Claude Code dalam sesi yang dilanjutkan.61Memulihkan mode rencana pada jalur non-interaktif dan VS Code memerlukan Claude Code v2.1.246 atau lebih baru. Setiap baris menyebutkan mode izin yang diakhiri sesi, jalur terminal, non-interaktif, dan VS Code mana yang Anda lanjutkan, dan mode izin yang dimulai Claude Code dalam sesi yang dilanjutkan.

62 62 

63| Sesi berakhir dalam | Cara Anda melanjutkan | Mode izin setelah Anda melanjutkan |63| Sesi berakhir dalam | Cara Anda melanjutkan | Mode izin setelah Anda melanjutkan |

64| :------------------ | :----------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64| :- | :- | :- |

65| `bypassPermissions` | Terminal | Mode izin yang akan dimulai oleh sesi baru. Untuk [melewati izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) lagi, aktifkan saat peluncuran dengan salah satu bendera peluncurannya atau `permissions.defaultMode: "bypassPermissions"` dalam [pengaturan pengguna, `--settings`, atau terkelola](/docs/id/settings-reference#permissions-defaultmode) |65| `bypassPermissions` | Terminal | Mode izin yang akan dimulai oleh sesi baru. Untuk [melewati izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) lagi, aktifkan saat peluncuran dengan salah satu bendera peluncurannya atau `permissions.defaultMode: "bypassPermissions"` dalam [pengaturan pengguna, `--settings`, atau terkelola](/docs/id/settings-reference#permissions-defaultmode) |

66| `plan` | Terminal | Mode izin yang akan dimulai oleh sesi baru |66| `plan` | Terminal | Mode izin yang akan dimulai oleh sesi baru |

67| `auto` | Terminal | `auto`, hanya ketika akun Anda masih memenuhi [persyaratan mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) |67| `auto` | Terminal | `auto`, hanya ketika akun Anda masih memenuhi [persyaratan mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) |


115Melanjutkan berdasarkan nama diselesaikan di seluruh repositori saat ini dan worktree-nya. Kedua bentuk mencari kecocokan yang tepat dan melanjutkannya secara langsung bahkan jika berada di worktree berbeda:115Melanjutkan berdasarkan nama diselesaikan di seluruh repositori saat ini dan worktree-nya. Kedua bentuk mencari kecocokan yang tepat dan melanjutkannya secara langsung bahkan jika berada di worktree berbeda:

116 116 

117| Perintah | Kecocokan tepat | Nama ambigu |117| Perintah | Kecocokan tepat | Nama ambigu |

118| :----------------------- | :-------------------------- | :-------------------------------------------------------------------------------- |118| :- | :- | :- |

119| `claude --resume <name>` | Melanjutkan secara langsung | Membuka pemilih sesi dengan nama yang sudah diisi sebagai istilah pencarian |119| `claude --resume <name>` | Melanjutkan secara langsung | Membuka pemilih sesi dengan nama yang sudah diisi sebagai istilah pencarian |

120| `/resume <name>` | Melanjutkan secara langsung | Melaporkan kesalahan; jalankan `/resume` tanpa argumen untuk membuka pemilih sesi |120| `/resume <name>` | Melanjutkan secara langsung | Melaporkan kesalahan; jalankan `/resume` tanpa argumen untuk membuka pemilih sesi |

121 121 


126Berikan sesi nama deskriptif sehingga mudah ditemukan di pemilih sesi dan dapat dilanjutkan berdasarkan nama. Hal ini paling penting ketika Anda mengerjakan beberapa tugas secara paralel.126Berikan sesi nama deskriptif sehingga mudah ditemukan di pemilih sesi dan dapat dilanjutkan berdasarkan nama. Hal ini paling penting ketika Anda mengerjakan beberapa tugas secara paralel.

127 127 

128| Kapan | Cara mengatur nama |128| Kapan | Cara mengatur nama |

129| :---------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |129| :- | :- |

130| Saat startup | `claude -n auth-refactor` |130| Saat startup | `claude -n auth-refactor` |

131| Selama sesi | `/rename auth-refactor`. Nama juga muncul di bilah prompt |131| Selama sesi | `/rename auth-refactor`. Nama juga muncul di bilah prompt |

132| Dari pemilih sesi | Sorot sesi dan tekan `Ctrl+R` |132| Dari pemilih sesi | Sorot sesi dan tekan `Ctrl+R` |


162Jalankan `/resume` di dalam sesi, atau `claude --resume` tanpa argumen, untuk membuka pemilih sesi interaktif. Gunakan pintasan keyboard ini untuk menavigasi, mencari, dan memperluas daftar:162Jalankan `/resume` di dalam sesi, atau `claude --resume` tanpa argumen, untuk membuka pemilih sesi interaktif. Gunakan pintasan keyboard ini untuk menavigasi, mencari, dan memperluas daftar:

163 163 

164| Pintasan | Tindakan |164| Pintasan | Tindakan |

165| :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |165| :- | :- |

166| `↑` / `↓` | Navigasi antar sesi |166| `↑` / `↓` | Navigasi antar sesi |

167| `→` / `←` | Perluas atau ciutkan sesi yang dikelompokkan |167| `→` / `←` | Perluas atau ciutkan sesi yang dikelompokkan |

168| `Enter` | Lanjutkan sesi yang disorot |168| `Enter` | Lanjutkan sesi yang disorot |


205`/branch` menyalin transkrip dan beralih proses Claude Code yang berjalan untuk menulis ke dalamnya. Perbedaan itu menentukan apa yang diwarisi cabang:205`/branch` menyalin transkrip dan beralih proses Claude Code yang berjalan untuk menulis ke dalamnya. Perbedaan itu menentukan apa yang diwarisi cabang:

206 206 

207| Keadaan | Setelah `/branch` |207| Keadaan | Setelah `/branch` |

208| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |208| :- | :- |

209| Riwayat percakapan | Disalin ke dalam cabang hingga titik Anda menjalankan `/branch` |209| Riwayat percakapan | Disalin ke dalam cabang hingga titik Anda menjalankan `/branch` |

210| Pemberian izin "Izinkan untuk sesi ini" | Dibawa; cabang berjalan dalam proses yang sama, jadi hibah yang ada masih berlaku. Jika Anda melakukan fork ke proses terpisah dengan `--fork-session`, proses baru dimulai tanpa mereka dan Anda menyetujui ulang di sana |210| Pemberian izin "Izinkan untuk sesi ini" | Dibawa; cabang berjalan dalam proses yang sama, jadi hibah yang ada masih berlaku. Jika Anda melakukan fork ke proses terpisah dengan `--fork-session`, proses baru dimulai tanpa mereka dan Anda menyetujui ulang di sana |

211| [Subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dan [perintah Bash latar belakang](/docs/id/interactive-mode#background-bash-commands) yang sedang berlangsung | Terus berjalan. Output mereka muncul di cabang baru yang Anda alihkan, bukan di sesi asli |211| [Subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dan [perintah Bash latar belakang](/docs/id/interactive-mode#background-bash-commands) yang sedang berlangsung | Terus berjalan. Output mereka muncul di cabang baru yang Anda alihkan, bukan di sesi asli |


259Lokasi, retensi, dan perilaku penulisan dapat dikonfigurasi:259Lokasi, retensi, dan perilaku penulisan dapat dikonfigurasi:

260 260 

261| Untuk | Atur | Di mana |261| Untuk | Atur | Di mana |

262| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |262| - | - | - |

263| Pindahkan penyimpanan dari `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) | Variabel lingkungan |263| Pindahkan penyimpanan dari `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) | Variabel lingkungan |

264| [Beri nama direktori `<project>` sendiri](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/env-vars) | Variabel lingkungan |264| [Beri nama direktori `<project>` sendiri](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/env-vars) | Variabel lingkungan |

265| Ubah retensi 30 hari | [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays) | `settings.json` |265| Ubah retensi 30 hari | [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays) | `settings.json` |

settings.md +2 −2

Details

403Claude Code membaca pengaturan dari empat file, dan organisasi juga dapat mengirimkan pengaturan terkelola dari konsol claude.ai. Setiap sumber memiliki cakupan: set orang dan proyek yang pengaturan yang disimpan di dalamnya berlaku, baik itu hanya Anda, semua orang dalam proyek, atau semua orang di organisasi Anda.403Claude Code membaca pengaturan dari empat file, dan organisasi juga dapat mengirimkan pengaturan terkelola dari konsol claude.ai. Setiap sumber memiliki cakupan: set orang dan proyek yang pengaturan yang disimpan di dalamnya berlaku, baik itu hanya Anda, semua orang dalam proyek, atau semua orang di organisasi Anda.

404 404 

405| Cakupan | File | Siapa yang terpengaruh | Gunakan untuk |405| Cakupan | File | Siapa yang terpengaruh | Gunakan untuk |

406| :------------- | :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |406| :- | :- | :- | :- |

407| Pengguna | `~/.claude/settings.json` | Anda, di setiap proyek di mesin ini | Preferensi pribadi: tema, mode editor, model default, aturan izin Anda sendiri |407| Pengguna | `~/.claude/settings.json` | Anda, di setiap proyek di mesin ini | Preferensi pribadi: tema, mode editor, model default, aturan izin Anda sendiri |

408| Proyek bersama | `.claude/settings.json` | Semua orang yang bekerja di folder yang memuatnya. Di repositori git, commit itu sehingga rekan kerja mendapatkannya | Izin tim, hooks, plugins, dan variabel lingkungan yang dibutuhkan proyek |408| Proyek bersama | `.claude/settings.json` | Semua orang yang bekerja di folder yang memuatnya. Di repositori git, commit itu sehingga rekan kerja mendapatkannya | Izin tim, hooks, plugins, dan variabel lingkungan yang dibutuhkan proyek |

409| Proyek lokal | `.claude/settings.local.json` | Anda, hanya di proyek ini. Claude Code menyimpannya di luar git saat membuat file; jika Anda membuatnya dengan tangan, tambahkan ke `.gitignore` sendiri | Penggantian pribadi untuk satu proyek, dan pengujian sebelum Anda berbagi |409| Proyek lokal | `.claude/settings.local.json` | Anda, hanya di proyek ini. Claude Code menyimpannya di luar git saat membuat file; jika Anda membuatnya dengan tangan, tambahkan ke `.gitignore` sendiri | Penggantian pribadi untuk satu proyek, dan pengujian sebelum Anda berbagi |


788Untuk beberapa kunci yang nilainya membatasi sesi, Claude Code menghormati nilai yang membatasi dari cakupan yang sebaliknya tidak dapat menimpa pengaturan yang dikelola. Temukan kunci dalam tabel ini untuk melihat nilai mana yang dihormatinya dan dari mana.788Untuk beberapa kunci yang nilainya membatasi sesi, Claude Code menghormati nilai yang membatasi dari cakupan yang sebaliknya tidak dapat menimpa pengaturan yang dikelola. Temukan kunci dalam tabel ini untuk melihat nilai mana yang dihormatinya dan dari mana.

789 789 

790| Kunci | Nilai yang dihormati Claude Code | Catatan |790| Kunci | Nilai yang dihormati Claude Code | Catatan |

791| :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :- | :- | :- |

792| [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber yang dikelola menetapkan `false` |792| [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber yang dikelola menetapkan `false` |

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

794| [`isolatePeerMachines`](/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber yang dikelola menetapkan `false` |794| [`isolatePeerMachines`](/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber yang dikelola menetapkan `false` |

Details

590/>590/>

591 591 

592| Kunci | Deskripsi | Topik | Scope |592| Kunci | Deskripsi | Topik | Scope |

593| :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------- | :---------------------- |593| :- | :- | :- | :- |

594| [`advisorModel`](#advisormodel) | Pilih model mana yang menjawab ketika Claude menggunakan [alat advisor](/docs/id/advisor) | Model dan respons | Any file |594| [`advisorModel`](#advisormodel) | Pilih model mana yang menjawab ketika Claude menggunakan [alat advisor](/docs/id/advisor) | Model dan respons | Any file |

595| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, alat, dan modelnya | Agents, sessions, and worktrees | Any file |595| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, alat, dan modelnya | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Biarkan Claude mengirim [notifikasi push ke ponsel Anda](/docs/id/remote-control#mobile-push-notifications) ketika Claude memutuskan untuk melakukannya | Remote, desktop, and notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Biarkan Claude mengirim [notifikasi push ke ponsel Anda](/docs/id/remote-control#mobile-push-notifications) ketika Claude memutuskan untuk melakukannya | Remote, desktop, and notifications | Any file |


1133Kunci mengambil dua field, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan lineup bawaan atau menambahnya.1133Kunci mengambil dua field, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan lineup bawaan atau menambahnya.

1134 1134 

1135| Field | Type | Apa yang dilakukannya |1135| Field | Type | Apa yang dilakukannya |

1136| :---------------------- | :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1136| :- | :- | :- |

1137| `options` | array baris, masing-masing dengan `model` yang diperlukan dan `label` dan `description` opsional | Baris yang ditampilkan pemilih, dalam urutan ini, kecuali baris yang digelapkan bergerak ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang diketahuinya, atau ID model sebaliknya, dan tanpa `description` itu menulis baris kedua generik |1137| `options` | array baris, masing-masing dengan `model` yang diperlukan dan `label` dan `description` opsional | Baris yang ditampilkan pemilih, dalam urutan ini, kecuali baris yang digelapkan bergerak ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang diketahuinya, atau ID model sebaliknya, dan tanpa `description` itu menulis baris kedua generik |

1138| `replaceBuiltInOptions` | Boolean, default `false` | Atur ke `true` untuk menampilkan hanya baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak diatur untuk menambahkan baris ini setelah lineup bawaan |1138| `replaceBuiltInOptions` | Boolean, default `false` | Atur ke `true` untuk menampilkan hanya baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak diatur untuk menambahkan baris ini setelah lineup bawaan |

1139 1139 


1190</h4>1190</h4>

1191 1191 

1192| Field | Type | Apa yang dilakukannya |1192| Field | Type | Apa yang dilakukannya |

1193| :----------- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1193| :- | :- | :- |

1194| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, apakah baris `overrides` mencakupnya atau tidak. Di bawah 1 adalah diskon, di atas 1 adalah markup |1194| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, apakah baris `overrides` mencakupnya atau tidak. Di bawah 1 adalah diskon, di atas 1 adalah markup |

1195| `overrides` | peta ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD-per-juta-token untuk model itu, keempat diperlukan. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang berlaku baris modelPricing](#which-models-a-modelpricing-row-applies-to) |1195| `overrides` | peta ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD-per-juta-token untuk model itu, keempat diperlukan. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang berlaku baris modelPricing](#which-models-a-modelpricing-row-applies-to) |

1196 1196 


1535Setiap baris menunjukkan satu bentuk aturan dan apa yang cocok.1535Setiap baris menunjukkan satu bentuk aturan dan apa yang cocok.

1536 1536 

1537| Rule | What it matches |1537| Rule | What it matches |

1538| :----------------------------- | :------------------------------- |1538| :- | :- |

1539| `Bash` | Every Bash command |1539| `Bash` | Every Bash command |

1540| `Bash(npm run *)` | Commands starting with `npm run` |1540| `Bash(npm run *)` | Commands starting with `npm run` |

1541| `Read(./.env)` | Reads of the `.env` file |1541| `Read(./.env)` | Reads of the `.env` file |


1934Jalur di `allowWrite`, `denyWrite`, `denyRead`, `allowRead`, dan [`credentials.files`](#sandbox-credentials-files) diselesaikan dengan awalan mereka:1934Jalur di `allowWrite`, `denyWrite`, `denyRead`, `allowRead`, dan [`credentials.files`](#sandbox-credentials-files) diselesaikan dengan awalan mereka:

1935 1935 

1936| Awalan | Arti | Contoh |1936| Awalan | Arti | Contoh |

1937| :--------------------- | :-------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |1937| :- | :- | :- |

1938| `/` | Jalur absolut dari akar sistem file | `/tmp/build` tetap `/tmp/build` |1938| `/` | Jalur absolut dari akar sistem file | `/tmp/build` tetap `/tmp/build` |

1939| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |1939| `~/` | Relatif terhadap direktori home | `~/.kube` menjadi `$HOME/.kube` |

1940| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` di `.claude/settings.json` diselesaikan ke `<project-root>/output` |1940| `./` atau tanpa awalan | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` di `.claude/settings.json` diselesaikan ke `<project-root>/output` |


2337Entri `mask` menerima bidang opsional ini. Tanpa `extract` atau `decode`, Claude Code mengganti seluruh konten file dengan satu sentinel. Di macOS dengan isolasi sistem file aktif, Claude Code menerapkan entri `mask` sebagai `deny` sebelum `extract` atau `decode` berjalan; lihat [Mask credential files](/docs/id/sandboxing#mask-credential-files).2337Entri `mask` menerima bidang opsional ini. Tanpa `extract` atau `decode`, Claude Code mengganti seluruh konten file dengan satu sentinel. Di macOS dengan isolasi sistem file aktif, Claude Code menerapkan entri `mask` sebagai `deny` sebelum `extract` atau `decode` berjalan; lihat [Mask credential files](/docs/id/sandboxing#mask-credential-files).

2338 2338 

2339| Bidang | Tipe | Apa yang dilakukannya |2339| Bidang | Tipe | Apa yang dilakukannya |

2340| :----------------- | :---------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2340| :- | :- | :- |

2341| `extract` | string, ekspresi reguler dengan setidaknya satu grup penangkap | Samarkan hanya teks yang ditangkap oleh grup 1 dari setiap kecocokan, jadi sisa file tetap dapat diurai. Dengan `decode` juga diatur, Claude Code memeriksa setiap penangkapan sebagai JWT yang mungkin daripada menggantinya langsung. Memerlukan v2.1.221 atau lebih baru |2341| `extract` | string, ekspresi reguler dengan setidaknya satu grup penangkap | Samarkan hanya teks yang ditangkap oleh grup 1 dari setiap kecocokan, jadi sisa file tetap dapat diurai. Dengan `decode` juga diatur, Claude Code memeriksa setiap penangkapan sebagai JWT yang mungkin daripada menggantinya langsung. Memerlukan v2.1.221 atau lebih baru |

2342| `onExtractNoMatch` | `"warn"`, `"deny"`, atau `"error"`; default `"warn"` | Apa yang terjadi ketika `extract` atau `decode` tidak menemukan apa pun untuk disamarkan. `warn` membiarkan file dapat dibaca apa adanya di dalam sandbox, `deny` membuatnya tidak dapat dibaca, dan `error` menghentikan penyiapan sandbox sampai Anda memperbaiki konfigurasi. Claude Code memperlakukan `deny` sebagai `error` ketika blok baca tidak akan diberlakukan, karena Anda [menonaktifkan isolasi sistem file](/docs/id/sandboxing#disable-filesystem-isolation) atau entri [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) membuka kembali jalur. Memerlukan v2.1.221 atau lebih baru; kasus `decode` memerlukan v2.1.224 atau lebih baru |2342| `onExtractNoMatch` | `"warn"`, `"deny"`, atau `"error"`; default `"warn"` | Apa yang terjadi ketika `extract` atau `decode` tidak menemukan apa pun untuk disamarkan. `warn` membiarkan file dapat dibaca apa adanya di dalam sandbox, `deny` membuatnya tidak dapat dibaca, dan `error` menghentikan penyiapan sandbox sampai Anda memperbaiki konfigurasi. Claude Code memperlakukan `deny` sebagai `error` ketika blok baca tidak akan diberlakukan, karena Anda [menonaktifkan isolasi sistem file](/docs/id/sandboxing#disable-filesystem-isolation) atau entri [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) membuka kembali jalur. Memerlukan v2.1.221 atau lebih baru; kasus `decode` memerlukan v2.1.224 atau lebih baru |

2343| `decode` | string `"jwt"` | Temukan JSON Web Tokens (JWTs) di file, dengan pola bawaan atau dengan `extract` ketika diatur, verifikasi setiap kandidat, dan ganti dengan token palsu yang valid secara struktural, jadi kode di dalam sandbox yang mendekode token tetap bekerja. Ketika tidak ada kandidat yang memverifikasi, `onExtractNoMatch` mengatur hasil. Memerlukan v2.1.224 atau lebih baru |2343| `decode` | string `"jwt"` | Temukan JSON Web Tokens (JWTs) di file, dengan pola bawaan atau dengan `extract` ketika diatur, verifikasi setiap kandidat, dan ganti dengan token palsu yang valid secara struktural, jadi kode di dalam sandbox yang mendekode token tetap bekerja. Ketika tidak ada kandidat yang memverifikasi, `onExtractNoMatch` mengatur hasil. Memerlukan v2.1.224 atau lebih baru |


2412Entri `mask` menerima bidang opsional ini. Tanpa `extract` atau `decode`, Claude Code mengganti seluruh nilai dengan satu sentinel. `extract` dan `decode` tidak dapat digabungkan pada entri yang sama.2412Entri `mask` menerima bidang opsional ini. Tanpa `extract` atau `decode`, Claude Code mengganti seluruh nilai dengan satu sentinel. `extract` dan `decode` tidak dapat digabungkan pada entri yang sama.

2413 2413 

2414| Bidang | Tipe | Apa yang dilakukannya |2414| Bidang | Tipe | Apa yang dilakukannya |

2415| :----------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2415| :- | :- | :- |

2416| `extract` | string, ekspresi reguler dengan setidaknya satu grup penangkap | Samarkan hanya teks yang ditangkap oleh grup 1 dari setiap kecocokan, seperti kata sandi di dalam string koneksi `DATABASE_URL`, jadi sisa nilai tetap dapat diurai. Memerlukan v2.1.224 atau lebih baru |2416| `extract` | string, ekspresi reguler dengan setidaknya satu grup penangkap | Samarkan hanya teks yang ditangkap oleh grup 1 dari setiap kecocokan, seperti kata sandi di dalam string koneksi `DATABASE_URL`, jadi sisa nilai tetap dapat diurai. Memerlukan v2.1.224 atau lebih baru |

2417| `onExtractNoMatch` | `"warn"`, `"deny"`, atau `"error"`; default `"warn"`. Pada entri dengan `decode`, hanya `"warn"` yang diterima | Apa yang terjadi ketika `extract` tidak cocok dengan apa pun. `warn` meneruskan variabel tanpa topeng, `deny` membatalkan pengaturannya di dalam sandbox, dan `error` menghentikan penyiapan sandbox sampai Anda memperbaiki konfigurasi. Memerlukan v2.1.224 atau lebih baru |2417| `onExtractNoMatch` | `"warn"`, `"deny"`, atau `"error"`; default `"warn"`. Pada entri dengan `decode`, hanya `"warn"` yang diterima | Apa yang terjadi ketika `extract` tidak cocok dengan apa pun. `warn` meneruskan variabel tanpa topeng, `deny` membatalkan pengaturannya di dalam sandbox, dan `error` menghentikan penyiapan sandbox sampai Anda memperbaiki konfigurasi. Memerlukan v2.1.224 atau lebih baru |

2418| `decode` | string `"jwt"` | Verifikasi seluruh nilai adalah JWT dan ganti dengan token palsu yang valid secara struktural, jadi kode di dalam sandbox yang mendekode token tetap bekerja; proxy mengganti seluruh token nyata pada egress. Nilai yang tidak memverifikasi meneruskan tanpa topeng dengan peringatan. Memerlukan v2.1.224 atau lebih baru |2418| `decode` | string `"jwt"` | Verifikasi seluruh nilai adalah JWT dan ganti dengan token palsu yang valid secara struktural, jadi kode di dalam sandbox yang mendekode token tetap bekerja; proxy mengganti seluruh token nyata pada egress. Nilai yang tidak memverifikasi meneruskan tanpa topeng dengan peringatan. Memerlukan v2.1.224 atau lebih baru |


3391Setiap URL, label, dan jumlah lencana entri dibatasi sebagai berikut:3391Setiap URL, label, dan jumlah lencana entri dibatasi sebagai berikut:

3392 3392 

3393| Constraint | Behavior |3393| Constraint | Behavior |

3394| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3394| :- | :- |

3395| URL origin | Nilai yang ditangkap dikodekan URL dan URL yang dibangun harus berbagi asal literal template. Penangkapan dapat mengisi segmen jalur atau nilai query tetapi tidak dapat mengubah tempat tautan menunjuk |3395| URL origin | Nilai yang ditangkap dikodekan URL dan URL yang dibangun harus berbagi asal literal template. Penangkapan dapat mengisi segmen jalur atau nilai query tetapi tidak dapat mengubah tempat tautan menunjuk |

3396| URL length | URL yang dibangun lebih panjang dari 2048 karakter dijatuhkan |3396| URL length | URL yang dibangun lebih panjang dari 2048 karakter dijatuhkan |

3397| URL scheme | Harus `https`, `http`, atau skema deep-link editor atau workspace yang diakui: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |3397| URL scheme | Harus `https`, `http`, atau skema deep-link editor atau workspace yang diakui: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |


3580Setiap entri `tips` adalah string biasa atau objek dengan field ini:3580Setiap entri `tips` adalah string biasa atau objek dengan field ini:

3581 3581 

3582| Field | Required | Description |3582| Field | Required | Description |

3583| :----------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3583| :- | :- | :- |

3584| `id` | Yes | Hingga 64 huruf, digit, `.`, `_`, atau `-`. Claude Code mengetik riwayat tampilan tip padanya, jadi cooldown tip bertahan pengurutan ulang daftar. Dari dua entri dengan id yang sama, Claude Code menggunakan yang pertama |3584| `id` | Yes | Hingga 64 huruf, digit, `.`, `_`, atau `-`. Claude Code mengetik riwayat tampilan tip padanya, jadi cooldown tip bertahan pengurutan ulang daftar. Dari dua entri dengan id yang sama, Claude Code menggunakan yang pertama |

3585| `text` | Yes | Tip, satu baris hingga 500 karakter. Claude Code menghapus escape ANSI dan karakter kontrol dan meruntuhkan spasi |3585| `text` | Yes | Tip, satu baris hingga 500 karakter. Claude Code menghapus escape ANSI dan karakter kontrol dan meruntuhkan spasi |

3586| `cooldownSessions` | No | Sesi Claude Code menunggu sebelum menampilkan tip lagi, `0` hingga `1000`, default `0` |3586| `cooldownSessions` | No | Sesi Claude Code menunggu sebelum menampilkan tip lagi, `0` hingga `1000`, default `0` |


4654Setiap entri di bawah menunjukkan satu entri daftar allowlist per tipe sumber dan bidang yang diterimanya. Sebagian besar tipe cocok persis; `hostPattern` dan `pathPattern` cocok dengan regex, dan entri `github` dapat menggunakan [wildcard pemilik](#owner-wildcards).4654Setiap entri di bawah menunjukkan satu entri daftar allowlist per tipe sumber dan bidang yang diterimanya. Sebagian besar tipe cocok persis; `hostPattern` dan `pathPattern` cocok dengan regex, dan entri `github` dapat menggunakan [wildcard pemilik](#owner-wildcards).

4655 4655 

4656| Source | Contoh entri | Bidang |4656| Source | Contoh entri | Bidang |

4657| :------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |4657| :- | :- | :- |

4658| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` diperlukan; `ref` adalah cabang atau tag; `path` adalah subdirektori |4658| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` diperlukan; `ref` adalah cabang atau tag; `path` adalah subdirektori |

4659| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` diperlukan; `ref` dan `path` seperti untuk `github` |4659| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` diperlukan; `ref` dan `path` seperti untuk `github` |

4660| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` diperlukan; `headers` menambahkan header HTTP untuk akses yang diautentikasi |4660| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` diperlukan; `headers` menambahkan header HTTP untuk akses yang diautentikasi |


4699Aturan pencocokan berbeda antara dua pengaturan:4699Aturan pencocokan berbeda antara dua pengaturan:

4700 4700 

4701| Aturan | `strictKnownMarketplaces` | `blockedMarketplaces` |4701| Aturan | `strictKnownMarketplaces` | `blockedMarketplaces` |

4702| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |4702| - | - | - |

4703| Pencocokan ejaan sumber | Bentuk `owner/repo` saja. URL git yang mengkloning repositori yang sama tidak cocok | Ejaan apa pun, termasuk URL git yang diselesaikan ke repositori github.com yang sama |4703| Pencocokan ejaan sumber | Bentuk `owner/repo` saja. URL git yang mengkloning repositori yang sama tidak cocok | Ejaan apa pun, termasuk URL git yang diselesaikan ke repositori github.com yang sama |

4704| Kasus pemilik | Peka huruf besar-kecil, seperti pencocokan entri yang tepat | Tidak peka huruf besar-kecil |4704| Kasus pemilik | Peka huruf besar-kecil, seperti pencocokan entri yang tepat | Tidak peka huruf besar-kecil |

4705| `ref` | Mengikuti aturan entri yang tepat: entri dengan `ref` hanya cocok dengan sumber dengan ref yang tepat itu, dan entri tanpa satu cocok hanya dengan sumber yang tidak menentukan ref | Entri tanpa `ref` memblokir semua ref dari repositori yang cocok dengannya |4705| `ref` | Mengikuti aturan entri yang tepat: entri dengan `ref` hanya cocok dengan sumber dengan ref yang tepat itu, dan entri tanpa satu cocok hanya dengan sumber yang tidak menentukan ref | Entri tanpa `ref` memblokir semua ref dari repositori yang cocok dengannya |


4749Dua kunci melakukan pekerjaan berbeda. Tabel ini membandingkannya:4749Dua kunci melakukan pekerjaan berbeda. Tabel ini membandingkannya:

4750 4750 

4751| Aspek | `strictKnownMarketplaces` | `extraKnownMarketplaces` |4751| Aspek | `strictKnownMarketplaces` | `extraKnownMarketplaces` |

4752| ------------------ | ----------------------------------------- | -------------------------------------------------------------------------------------------------- |4752| - | - | - |

4753| Tujuan | Penegakan kebijakan organisasi | Kenyamanan tim |4753| Tujuan | Penegakan kebijakan organisasi | Kenyamanan tim |

4754| File pengaturan | Hanya managed settings | File pengaturan apa pun |4754| File pengaturan | Hanya managed settings | File pengaturan apa pun |

4755| Perilaku | Memblokir penambahan yang tidak diizinkan | Mendaftarkan marketplace yang hilang |4755| Perilaku | Memblokir penambahan yang tidak diizinkan | Mendaftarkan marketplace yang hilang |


6265Di bawah `"merge"`, Claude Code menggabungkan setiap kunci berdasarkan jenisnya. Tabel ini memberikan aturan untuk setiap jenis. Baris daftar pembatasan, nilai-diambil-utuh, dan hanya-sumber-tertinggi menyebutkan setiap kunci yang mereka tutupi, dan baris lainnya memberikan contoh:6265Di bawah `"merge"`, Claude Code menggabungkan setiap kunci berdasarkan jenisnya. Tabel ini memberikan aturan untuk setiap jenis. Baris daftar pembatasan, nilai-diambil-utuh, dan hanya-sumber-tertinggi menyebutkan setiap kunci yang mereka tutupi, dan baris lainnya memberikan contoh:

6266 6266 

6267| Jenis kunci | Bagaimana Claude Code menggabungkannya | Kunci |6267| Jenis kunci | Bagaimana Claude Code menggabungkannya | Kunci |

6268| :----------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6268| :- | :- | :- |

6269| Lists | Menggabungkan entri dari setiap sumber | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains), dan kunci daftar lainnya |6269| Lists | Menggabungkan entri dari setiap sumber | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains), dan kunci daftar lainnya |

6270| Locks | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun. Ketika tidak ada sumber yang menetapkan nilai ketat, menerapkan nilai yang lebih longgar hanya dari sumber tertinggi | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode), dan kunci boolean atau enum lock lainnya |6270| Locks | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun. Ketika tidak ada sumber yang menetapkan nilai ketat, menerapkan nilai yang lebih longgar hanya dari sumber tertinggi | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode), dan kunci boolean atau enum lock lainnya |

6271| Restriction allowlists | Mengambil daftar utuh dari sumber tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins), dan rantai [`fallbackModel`](#fallbackmodel) |6271| Restriction allowlists | Mengambil daftar utuh dari sumber tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins), dan rantai [`fallbackModel`](#fallbackmodel) |

setup.md +1 −1

Details

116Anda dapat menjalankan Claude Code secara asli di Windows atau di dalam WSL. Pilih berdasarkan di mana proyek Anda berada dan fitur apa yang Anda butuhkan:116Anda dapat menjalankan Claude Code secara asli di Windows atau di dalam WSL. Pilih berdasarkan di mana proyek Anda berada dan fitur apa yang Anda butuhkan:

117 117 

118| Opsi | Memerlukan | [Sandboxing](/docs/id/sandboxing) | Kapan digunakan |118| Opsi | Memerlukan | [Sandboxing](/docs/id/sandboxing) | Kapan digunakan |

119| ------------ | --------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------- |119| - | - | - | - |

120| Windows Asli | Tidak ada; [Git for Windows](https://git-scm.com/downloads/win) bersifat opsional | Tidak didukung | Proyek dan alat Windows asli |120| Windows Asli | Tidak ada; [Git for Windows](https://git-scm.com/downloads/win) bersifat opsional | Tidak didukung | Proyek dan alat Windows asli |

121| WSL 2 | WSL 2 diaktifkan | Didukung | Toolchain Linux atau eksekusi perintah bersandbox |121| WSL 2 | WSL 2 diaktifkan | Didukung | Toolchain Linux atau eksekusi perintah bersandbox |

122| WSL 1 | WSL 1 diaktifkan | Tidak didukung | Jika WSL 2 tidak tersedia |122| WSL 1 | WSL 1 diaktifkan | Tidak didukung | Jika WSL 2 tidak tersedia |

skills.md +10 −10

Details

43Tiga bundled skills bekerja bersama untuk meluncurkan aplikasi Anda dan mengonfirmasi perubahan terhadap aplikasi yang berjalan daripada hanya tes:43Tiga bundled skills bekerja bersama untuk meluncurkan aplikasi Anda dan mengonfirmasi perubahan terhadap aplikasi yang berjalan daripada hanya tes:

44 44 

45| Skill | Purpose |45| Skill | Purpose |

46| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |46| :- | :- |

47| `/run` | Luncurkan dan jalankan aplikasi Anda untuk melihat perubahan bekerja |47| `/run` | Luncurkan dan jalankan aplikasi Anda untuk melihat perubahan bekerja |

48| `/verify` | Bangun dan jalankan aplikasi Anda untuk mengonfirmasi perubahan kode melakukan apa yang seharusnya, tanpa kembali ke tes atau pemeriksaan tipe |48| `/verify` | Bangun dan jalankan aplikasi Anda untuk mengonfirmasi perubahan kode melakukan apa yang seharusnya, tanpa kembali ke tes atau pemeriksaan tipe |

49| `/run-skill-generator` | Ajarkan `/run` dan `/verify` cara membangun dan meluncurkan proyek Anda |49| `/run-skill-generator` | Ajarkan `/run` dan `/verify` cara membangun dan meluncurkan proyek Anda |


123Tempat Anda menyimpan skill menentukan sesi mana yang memuatnya. Simpan di bawah direktori home Anda untuk mendapatkannya di setiap proyek, commit ke repositori untuk membagikannya dengan semua orang yang bekerja di sana, atau distribusikan melalui plugin atau managed settings untuk menjangkau seluruh tim.123Tempat Anda menyimpan skill menentukan sesi mana yang memuatnya. Simpan di bawah direktori home Anda untuk mendapatkannya di setiap proyek, commit ke repositori untuk membagikannya dengan semua orang yang bekerja di sana, atau distribusikan melalui plugin atau managed settings untuk menjangkau seluruh tim.

124 124 

125| Lokasi | Path | Dimuat di |125| Lokasi | Path | Dimuat di |

126| :------------------- | :--------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |126| :- | :- | :- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` di [direktori managed settings](/docs/id/managed-settings#delivery-mechanisms) | Semua pengguna di mesin tempat organisasi Anda menerapkannya |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` di [direktori managed settings](/docs/id/managed-settings#delivery-mechanisms) | Semua pengguna di mesin tempat organisasi Anda menerapkannya |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda di mesin ini, tetapi bukan [sesi Cowork atau cloud](#skills-in-cowork-and-cloud-sessions) |128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda di mesin ini, tetapi bukan [sesi Cowork atau cloud](#skills-in-cowork-and-cloud-sessions) |

129| Project | `.claude/skills/<skill-name>/SKILL.md` | Sesi di repositori ini. Commit agar tim Anda juga mendapatkannya |129| Project | `.claude/skills/<skill-name>/SKILL.md` | Sesi di repositori ini. Commit agar tim Anda juga mendapatkannya |


171Ketika dua skills berbagi nama, tempat asal masing-masing menentukan yang mana `/name` jalankan. Tabel mencakup lokasi enterprise, personal, project, nested, plugin, dan claude.ai, skills bundel, dan file perintah:171Ketika dua skills berbagi nama, tempat asal masing-masing menentukan yang mana `/name` jalankan. Tabel mencakup lokasi enterprise, personal, project, nested, plugin, dan claude.ai, skills bundel, dan file perintah:

172 172 

173| Nama yang sama di | Yang mana yang berjalan |173| Nama yang sama di | Yang mana yang berjalan |

174| :--------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |174| :- | :- |

175| Dua dari enterprise, personal, dan project | Enterprise di atas personal, dan personal di atas project. Dengan `deploy` di `~/.claude/skills/` dan `.claude/skills/` proyek, `/deploy` menjalankan yang personal |175| Dua dari enterprise, personal, dan project | Enterprise di atas personal, dan personal di atas project. Dengan `deploy` di `~/.claude/skills/` dan `.claude/skills/` proyek, `/deploy` menjalankan yang personal |

176| Salah satu dari lokasi itu dan [bundled skill](#bundled-skills) | Skill Anda menggantikan perintah bundel, tetapi bukan aliasnya. Skill `code-review` proyek menggantikan `/code-review`, dan alias bundel `/review` tidak pernah menjalankan skill Anda |176| Salah satu dari lokasi itu dan [bundled skill](#bundled-skills) | Skill Anda menggantikan perintah bundel, tetapi bukan aliasnya. Skill `code-review` proyek menggantikan `/code-review`, dan alias bundel `/review` tidak pernah menjalankan skill Anda |

177| Skill dan file di `.claude/commands/` | Skill itu |177| Skill dan file di `.claude/commands/` | Skill itu |


359Bidang Boolean menerima `yes`, `no`, `on`, `off`, `1`, dan `0` dalam huruf apa pun, selain `true` dan `false`. Sebelum v2.1.218, Claude Code hanya mengenali `true` dan `false`.359Bidang Boolean menerima `yes`, `no`, `on`, `off`, `1`, dan `0` dalam huruf apa pun, selain `true` dan `false`. Sebelum v2.1.218, Claude Code hanya mengenali `true` dan `false`.

360 360 

361| Field | Required | Description |361| Field | Required | Description |

362| :------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |362| :- | :- | :- |

363| `name` | No | Display name shown in skill listings. Defaults to the directory name. See [How a skill gets its command name](#how-a-skill-gets-its-command-name) for how the field interacts with the name you type to invoke the skill. |363| `name` | No | Display name shown in skill listings. Defaults to the directory name. See [How a skill gets its command name](#how-a-skill-gets-its-command-name) for how the field interacts with the name you type to invoke the skill. |

364| `description` | Recommended | What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first non-empty line of the markdown content. Put the key use case first: the combined `description` and `when_to_use` text is truncated at 1,536 characters in the skill listing to reduce context usage. |364| `description` | Recommended | What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first non-empty line of the markdown content. Put the key use case first: the combined `description` and `when_to_use` text is truncated at 1,536 characters in the skill listing to reduce context usage. |

365| `when_to_use` | No | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap. |365| `when_to_use` | No | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap. |


388Claude Code menerima setiap bidang dalam tabel di atas. Di luar Claude Code, Anda hanya dapat menggunakan bidang dalam spesifikasi [Agent Skills](https://agentskills.io):388Claude Code menerima setiap bidang dalam tabel di atas. Di luar Claude Code, Anda hanya dapat menggunakan bidang dalam spesifikasi [Agent Skills](https://agentskills.io):

389 389 

390| Distribution path | Frontmatter fields you can use |390| Distribution path | Frontmatter fields you can use |

391| :-------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |391| :- | :- |

392| Claude Code skills at [any level](#where-skills-live), including [plugin](/docs/id/plugins/overview) skills | Every field in the table above |392| Claude Code skills at [any level](#where-skills-live), including [plugin](/docs/id/plugins/overview) skills | Every field in the table above |

393| claude.ai skill uploads, the Skills API, and packaging with `package_skill.py` from [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |393| claude.ai skill uploads, the Skills API, and packaging with `package_skill.py` from [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

394 394 


411Tabel di bawah menunjukkan dari mana nama perintah berasal untuk setiap tata letak:411Tabel di bawah menunjukkan dari mana nama perintah berasal untuk setiap tata letak:

412 412 

413| Skill location | Command name source | Example |413| Skill location | Command name source | Example |

414| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------- |414| :- | :- | :- |

415| Skill directory under `~/.claude/skills/` or `.claude/skills/` | Directory name | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |415| Skill directory under `~/.claude/skills/` or `.claude/skills/` | Directory name | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

416| [Nested](#where-skills-live) `.claude/skills/` directory, when the name clashes with another skill | Subdirectory path relative to the working directory, then the skill directory name | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |416| [Nested](#where-skills-live) `.claude/skills/` directory, when the name clashes with another skill | Subdirectory path relative to the working directory, then the skill directory name | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

417| File under `.claude/commands/` | File name without extension | `.claude/commands/deploy.md` → `/deploy` |417| File under `.claude/commands/` | File name without extension | `.claude/commands/deploy.md` → `/deploy` |


433Skills mendukung substitusi string untuk nilai dinamis dalam konten skill:433Skills mendukung substitusi string untuk nilai dinamis dalam konten skill:

434 434 

435| Variable | Description |435| Variable | Description |

436| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |436| :- | :- |

437| `$ARGUMENTS` | All arguments passed when invoking the skill. When no placeholder receives an argument, Claude Code appends them as `ARGUMENTS: <value>`. See [Pass arguments to skills](#pass-arguments-to-skills). |437| `$ARGUMENTS` | All arguments passed when invoking the skill. When no placeholder receives an argument, Claude Code appends them as `ARGUMENTS: <value>`. See [Pass arguments to skills](#pass-arguments-to-skills). |

438| `$ARGUMENTS[N]` | Access a specific argument by 0-based index, such as `$ARGUMENTS[0]` for the first argument. |438| `$ARGUMENTS[N]` | Access a specific argument by 0-based index, such as `$ARGUMENTS[0]` for the first argument. |

439| `$N` | Shorthand for `$ARGUMENTS[N]`, such as `$0` for the first argument or `$1` for the second. |439| `$N` | Shorthand for `$ARGUMENTS[N]`, such as `$0` for the first argument or `$1` for the second. |


540Berikut adalah bagaimana dua bidang mempengaruhi invokasi dan pemuatan konteks:540Berikut adalah bagaimana dua bidang mempengaruhi invokasi dan pemuatan konteks:

541 541 

542| Frontmatter | You can invoke | Claude can invoke | When loaded into context |542| Frontmatter | You can invoke | Claude can invoke | When loaded into context |

543| :------------------------------- | :------------- | :---------------- | :----------------------------------------------------------- |543| :- | :- | :- | :- |

544| (default) | Yes | Yes | Description always in context, full skill loads when invoked |544| (default) | Yes | Yes | Description always in context, full skill loads when invoked |

545| `disable-model-invocation: true` | Yes | No | Description not in context, full skill loads when you invoke |545| `disable-model-invocation: true` | Yes | No | Description not in context, full skill loads when you invoke |

546| `user-invocable: false` | No | Yes | Description always in context, full skill loads when invoked |546| `user-invocable: false` | No | Yes | Description always in context, full skill loads when invoked |


764Skills dan [subagents](/docs/id/sub-agents) bekerja bersama dalam dua arah:764Skills dan [subagents](/docs/id/sub-agents) bekerja bersama dalam dua arah:

765 765 

766| Pendekatan | System prompt | Tugas | Juga memuat |766| Pendekatan | System prompt | Tugas | Juga memuat |

767| :----------------------------- | :-------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------ |767| :- | :- | :- | :- |

768| Skill dengan `context: fork` | Dari tipe agen | Konten SKILL.md | CLAUDE.md, sesuai dengan [startup context](/docs/id/sub-agents#what-loads-at-startup) agen |768| Skill dengan `context: fork` | Dari tipe agen | Konten SKILL.md | CLAUDE.md, sesuai dengan [startup context](/docs/id/sub-agents#what-loads-at-startup) agen |

769| Subagent dengan field `skills` | Isi markdown subagent | Pesan delegasi Claude | Skills yang dimuat sebelumnya + CLAUDE.md, sesuai dengan [startup context](/docs/id/sub-agents#what-loads-at-startup) subagent |769| Subagent dengan field `skills` | Isi markdown subagent | Pesan delegasi Claude | Skills yang dimuat sebelumnya + CLAUDE.md, sesuai dengan [startup context](/docs/id/sub-agents#what-loads-at-startup) subagent |

770 770 


847Setiap kunci adalah nama skill dan setiap nilai adalah salah satu dari empat status:847Setiap kunci adalah nama skill dan setiap nilai adalah salah satu dari empat status:

848 848 

849| Nilai | Terdaftar ke Claude | Dalam menu `/` |849| Nilai | Terdaftar ke Claude | Dalam menu `/` |

850| :---------------------- | :------------------ | :------------- |850| :- | :- | :- |

851| `"on"` | Nama dan deskripsi | Ya |851| `"on"` | Nama dan deskripsi | Ya |

852| `"name-only"` | Nama saja | Ya |852| `"name-only"` | Nama saja | Ya |

853| `"user-invocable-only"` | Tersembunyi | Ya |853| `"user-invocable-only"` | Tersembunyi | Ya |

slack.md +4 −4

Details

33Sebelum menggunakan Claude Code di Slack, pastikan Anda memiliki hal berikut:33Sebelum menggunakan Claude Code di Slack, pastikan Anda memiliki hal berikut:

34 34 

35| Persyaratan | Detail |35| Persyaratan | Detail |

36| :---------------- | :----------------------------------------------------------------------------------------------------------- |36| :- | :- |

37| Claude Plan | Pro, Max, Team, atau Enterprise dengan akses Claude Code (kursi premium atau Chat + Claude Code seats) |37| Claude Plan | Pro, Max, Team, atau Enterprise dengan akses Claude Code (kursi premium atau Chat + Claude Code seats) |

38| Cloud sessions | [Cloud sessions](/docs/id/claude-code-on-the-web) diaktifkan untuk akun Anda |38| Cloud sessions | [Cloud sessions](/docs/id/claude-code-on-the-web) diaktifkan untuk akun Anda |

39| Akun GitHub | Terhubung di [claude.ai/code](https://claude.ai/code) dengan setidaknya satu repositori yang terauthentikasi |39| Akun GitHub | Terhubung di [claude.ai/code](https://claude.ai/code) dengan setidaknya satu repositori yang terauthentikasi |


69 Setelah menghubungkan akun Anda, konfigurasi bagaimana Claude menangani pesan Anda di Slack. Buka Claude App Home di Slack untuk menemukan pengaturan **Routing Mode**.69 Setelah menghubungkan akun Anda, konfigurasi bagaimana Claude menangani pesan Anda di Slack. Buka Claude App Home di Slack untuk menemukan pengaturan **Routing Mode**.

70 70 

71 | Mode | Perilaku |71 | Mode | Perilaku |

72 | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72 | :- | :- |

73 | **Code only** | Claude merutkan semua @mentions ke sesi Claude Code. Terbaik untuk tim yang menggunakan Claude di Slack secara eksklusif untuk tugas pengembangan. |73 | **Code only** | Claude merutkan semua @mentions ke sesi Claude Code. Terbaik untuk tim yang menggunakan Claude di Slack secara eksklusif untuk tugas pengembangan. |

74 | **Code + Chat** | Claude menganalisis setiap pesan dan secara cerdas merutkan antara Claude Code (untuk tugas coding) dan Claude Chat (untuk penulisan, analisis, dan pertanyaan umum). Terbaik untuk tim yang menginginkan satu titik masuk @Claude untuk semua jenis pekerjaan. |74 | **Code + Chat** | Claude menganalisis setiap pesan dan secara cerdas merutkan antara Claude Code (untuk tugas coding) dan Claude Chat (untuk penulisan, analisis, dan pertanyaan umum). Terbaik untuk tim yang menginginkan satu titik masuk @Claude untuk semua jenis pekerjaan. |

75 75 


152</h3>152</h3>

153 153 

154| Jenis Akses | Persyaratan |154| Jenis Akses | Persyaratan |

155| :---------------------- | :----------------------------------------------------------------------------------- |155| :- | :- |

156| Sesi Claude Code | Setiap pengguna menjalankan sesi di bawah akun Claude mereka sendiri |156| Sesi Claude Code | Setiap pengguna menjalankan sesi di bawah akun Claude mereka sendiri |

157| Penggunaan & Batas Laju | Sesi dihitung terhadap batas rencana pengguna individual |157| Penggunaan & Batas Laju | Sesi dihitung terhadap batas rencana pengguna individual |

158| Akses Repositori | Pengguna hanya dapat mengakses repositori yang telah mereka hubungkan secara pribadi |158| Akses Repositori | Pengguna hanya dapat mengakses repositori yang telah mereka hubungkan secara pribadi |


165Administrator workspace Slack mengontrol apakah aplikasi Claude tersedia di workspace mereka:165Administrator workspace Slack mengontrol apakah aplikasi Claude tersedia di workspace mereka:

166 166 

167| Kontrol | Deskripsi |167| Kontrol | Deskripsi |

168| :------------------------- | :------------------------------------------------------------------------------------------------------------------------ |168| :- | :- |

169| Instalasi aplikasi | Admin workspace memutuskan apakah akan menginstal aplikasi Claude dari Slack App Marketplace |169| Instalasi aplikasi | Admin workspace memutuskan apakah akan menginstal aplikasi Claude dari Slack App Marketplace |

170| Distribusi Enterprise Grid | Untuk organisasi Enterprise Grid, admin organisasi dapat mengontrol workspace mana yang memiliki akses ke aplikasi Claude |170| Distribusi Enterprise Grid | Untuk organisasi Enterprise Grid, admin organisasi dapat mengontrol workspace mana yang memiliki akses ke aplikasi Claude |

171| Penghapusan aplikasi | Menghapus aplikasi dari workspace segera mencabut akses untuk semua pengguna di workspace tersebut |171| Penghapusan aplikasi | Menghapus aplikasi dari workspace segera mencabut akses untuk semua pengguna di workspace tersebut |

statusline.md +2 −2

Details

184Claude Code mengirim bidang JSON berikut ke skrip Anda melalui stdin:184Claude Code mengirim bidang JSON berikut ke skrip Anda melalui stdin:

185 185 

186| Bidang | Deskripsi |186| Bidang | Deskripsi |

187| -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |187| - | - |

188| `model.id`, `model.display_name` | Pengidentifikasi model saat ini dan nama tampilan |188| `model.id`, `model.display_name` | Pengidentifikasi model saat ini dan nama tampilan |

189| `cwd`, `workspace.current_dir` | Direktori kerja saat ini. Kedua bidang berisi nilai yang sama; `workspace.current_dir` lebih disukai untuk konsistensi dengan `workspace.project_dir`. |189| `cwd`, `workspace.current_dir` | Direktori kerja saat ini. Kedua bidang berisi nilai yang sama; `workspace.current_dir` lebih disukai untuk konsistensi dengan `workspace.project_dir`. |

190| `workspace.project_dir` | Direktori tempat Claude Code diluncurkan, yang mungkin berbeda dari `cwd` jika direktori kerja berubah selama sesi |190| `workspace.project_dir` | Direktori tempat Claude Code diluncurkan, yang mungkin berbeda dari `cwd` jika direktori kerja berubah selama sesi |


396Tabel mencantumkan setiap bidang dengan artinya. Stempel waktu adalah detik epoch Unix, unit yang sama dengan `rate_limits.*.resets_at`. Baris status pendek biasanya menunjukkan satu atau dua dari ini; `warm` dan `hit_ratio` merangkum status cache paling langsung.396Tabel mencantumkan setiap bidang dengan artinya. Stempel waktu adalah detik epoch Unix, unit yang sama dengan `rate_limits.*.resets_at`. Baris status pendek biasanya menunjukkan satu atau dua dari ini; `warm` dan `hit_ratio` merangkum status cache paling langsung.

397 397 

398| Bidang | Deskripsi |398| Bidang | Deskripsi |

399| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |399| - | - |

400| `warm` | Apakah awalan cache masih dalam TTL-nya. `false` ketika respons terakhir tidak melaporkan token cache, bahkan saat `caching_observed` adalah `true` |400| `warm` | Apakah awalan cache masih dalam TTL-nya. `false` ketika respons terakhir tidak melaporkan token cache, bahkan saat `caching_observed` adalah `true` |

401| `caching_observed` | Apakah respons apa pun sesi ini melaporkan token cache. `false` berarti prompt caching dimatikan, atau penyedia atau gateway Anda tidak melaporkannya |401| `caching_observed` | Apakah respons apa pun sesi ini melaporkan token cache. `false` berarti prompt caching dimatikan, atau penyedia atau gateway Anda tidak melaporkannya |

402| `ttl` | [Masa hidup cache](/docs/id/prompt-caching#cache-lifetime) dari awalan cache saat ini: `"5m"` atau `"1h"` |402| `ttl` | [Masa hidup cache](/docs/id/prompt-caching#cache-lifetime) dari awalan cache saat ini: `"5m"` atau `"1h"` |

sub-agents.md +9 −9

Details

75 Claude Code mencakup agen pembantu tambahan untuk tugas tertentu. Ini biasanya dipanggil secara otomatis, jadi Anda tidak perlu menggunakannya secara langsung.75 Claude Code mencakup agen pembantu tambahan untuk tugas tertentu. Ini biasanya dipanggil secara otomatis, jadi Anda tidak perlu menggunakannya secara langsung.

76 76 

77 | Agen | Model | Kapan Claude menggunakannya |77 | Agen | Model | Kapan Claude menggunakannya |

78 | :---------------- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78 | :- | :- | :- |

79 | claude | Tidak ada miliknya sendiri; mengikuti [urutan model](#choose-a-model) ketika Claude menelurkannya sebagai subagent | Ketika tugas tidak sesuai dengan agen yang lebih khusus. Catch-all dengan setiap alat [tersedia untuk subagent](#available-tools). Juga agen default untuk [sesi latar belakang](/docs/id/agent-view) yang dikirim; [mode izin mana yang dimulainya](/docs/id/agent-view#permission-mode-model-and-effort) tergantung pada cara sesi dimulai |79 | claude | Tidak ada miliknya sendiri; mengikuti [urutan model](#choose-a-model) ketika Claude menelurkannya sebagai subagent | Ketika tugas tidak sesuai dengan agen yang lebih khusus. Catch-all dengan setiap alat [tersedia untuk subagent](#available-tools). Juga agen default untuk [sesi latar belakang](/docs/id/agent-view) yang dikirim; [mode izin mana yang dimulainya](/docs/id/agent-view#permission-mode-model-and-effort) tergantung pada cara sesi dimulai |

80 | statusline-setup | Sonnet | Ketika Anda menjalankan `/statusline` untuk mengonfigurasi baris status Anda |80 | statusline-setup | Sonnet | Ketika Anda menjalankan `/statusline` untuk mengonfigurasi baris status Anda |

81 | claude-code-guide | Haiku | Ketika Anda mengajukan pertanyaan tentang fitur Claude Code |81 | claude-code-guide | Haiku | Ketika Anda mengajukan pertanyaan tentang fitur Claude Code |


169Simpan file subagent di lokasi berbeda tergantung pada cakupan. Ketika beberapa subagent berbagi nama yang sama, Claude Code menggunakan yang dari lokasi dengan prioritas lebih tinggi.169Simpan file subagent di lokasi berbeda tergantung pada cakupan. Ketika beberapa subagent berbagi nama yang sama, Claude Code menggunakan yang dari lokasi dengan prioritas lebih tinggi.

170 170 

171| Lokasi | Cakupan | Prioritas | Cara membuat |171| Lokasi | Cakupan | Prioritas | Cara membuat |

172| :------------------------- | :----------------------- | :------------ | :----------------------------------------------------- |172| :- | :- | :- | :- |

173| Pengaturan terkelola | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [pengaturan terkelola](/docs/id/settings) |173| Pengaturan terkelola | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [pengaturan terkelola](/docs/id/settings) |

174| Flag CLI `--agents` | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |174| Flag CLI `--agents` | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |

175| `.claude/agents/` | Proyek saat ini | 3 | Tanyakan Claude, atau buat file secara manual |175| `.claude/agents/` | Proyek saat ini | 3 | Tanyakan Claude, atau buat file secara manual |


304Nama bidang multi-kata menggunakan camelCase, seperti `maxTurns` dan `disallowedTools`, dan harus cocok dengan tabel dengan tepat: Claude Code mengabaikan bidang yang tidak dikenalinya tanpa melaporkan kesalahan. Untuk mengetahui mengapa file subagent tidak dimuat, lihat [File subagent yang Claude Code lewati](#subagent-files-claude-code-skips).304Nama bidang multi-kata menggunakan camelCase, seperti `maxTurns` dan `disallowedTools`, dan harus cocok dengan tabel dengan tepat: Claude Code mengabaikan bidang yang tidak dikenalinya tanpa melaporkan kesalahan. Untuk mengetahui mengapa file subagent tidak dimuat, lihat [File subagent yang Claude Code lewati](#subagent-files-claude-code-skips).

305 305 

306| Bidang | Diperlukan | Deskripsi |306| Bidang | Diperlukan | Deskripsi |

307| :---------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

308| `name` | Ya | Pengenal unik, seperti `code-reviewer` atau `reviewer-v2`. [Hooks](/docs/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok. Nama tidak dapat berisi `:`, yang dicadangkan untuk [pengenal yang dibatasi cakupan plugin](/docs/id/plugins/overview) seperti `my-plugin:reviewer`. Claude Code tidak memuat file yang namanya berisi satu dan mencatat kesalahan ke debug log. Sebelum v2.1.218, nama seperti itu diterima |308| `name` | Ya | Pengenal unik, seperti `code-reviewer` atau `reviewer-v2`. [Hooks](/docs/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok. Nama tidak dapat berisi `:`, yang dicadangkan untuk [pengenal yang dibatasi cakupan plugin](/docs/id/plugins/overview) seperti `my-plugin:reviewer`. Claude Code tidak memuat file yang namanya berisi satu dan mencatat kesalahan ke debug log. Sebelum v2.1.218, nama seperti itu diterima |

309| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |309| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |

310| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent, sebagai string yang dipisahkan koma seperti `Read, Grep, Bash` atau daftar YAML. Mewarisi setiap alat yang tersedia untuk subagent jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent biasanya [gagal diluncurkan](/docs/id/errors#agent-would-be-spawned-with-zero-tools) dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |310| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent, sebagai string yang dipisahkan koma seperti `Read, Grep, Bash` atau daftar YAML. Mewarisi setiap alat yang tersedia untuk subagent jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent biasanya [gagal diluncurkan](/docs/id/errors#agent-would-be-spawned-with-zero-tools) dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |


597`permissionMode` menerima nilai ini, dan `manual` sebagai alias untuk `default`:597`permissionMode` menerima nilai ini, dan `manual` sebagai alias untuk `default`:

598 598 

599| Mode | Perilaku |599| Mode | Perilaku |

600| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |600| :- | :- |

601| `default` | Mode manual: meminta izin |601| `default` | Mode manual: meminta izin |

602| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |602| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |

603| `auto` | [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |603| `auto` | [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |


653Pilih cakupan berdasarkan seberapa luas memori harus diterapkan:653Pilih cakupan berdasarkan seberapa luas memori harus diterapkan:

654 654 

655| Cakupan | Lokasi | Gunakan ketika |655| Cakupan | Lokasi | Gunakan ketika |

656| :-------- | :-------------------------------------------- | :--------------------------------------------------------------------------------------- |656| :- | :- | :- |

657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | subagent harus mengingat pembelajaran di seluruh semua proyek |657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | subagent harus mengingat pembelajaran di seluruh semua proyek |

658| `project` | `.claude/agent-memory/<name-of-agent>/` | pengetahuan subagent spesifik proyek dan dapat dibagikan melalui kontrol versi |658| `project` | `.claude/agent-memory/<name-of-agent>/` | pengetahuan subagent spesifik proyek dan dapat dibagikan melalui kontrol versi |

659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | pengetahuan subagent spesifik proyek tetapi tidak boleh diperiksa ke dalam kontrol versi |659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | pengetahuan subagent spesifik proyek tetapi tidak boleh diperiksa ke dalam kontrol versi |


782Semua [hook events](/docs/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:782Semua [hook events](/docs/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:

783 783 

784| Peristiwa | Input Matcher | Kapan itu terjadi |784| Peristiwa | Input Matcher | Kapan itu terjadi |

785| :------------ | :------------ | :------------------------------------------------------------------ |785| :- | :- | :- |

786| `PreToolUse` | Nama alat | Sebelum subagent menggunakan alat |786| `PreToolUse` | Nama alat | Sebelum subagent menggunakan alat |

787| `PostToolUse` | Nama alat | Setelah subagent menggunakan alat |787| `PostToolUse` | Nama alat | Setelah subagent menggunakan alat |

788| `Stop` | (tidak ada) | Ketika subagent selesai (dikonversi ke `SubagentStop` saat runtime) |788| `Stop` | (tidak ada) | Ketika subagent selesai (dikonversi ke `SubagentStop` saat runtime) |


816Konfigurasi hooks dalam `settings.json` yang merespons peristiwa siklus hidup subagent dalam sesi utama.816Konfigurasi hooks dalam `settings.json` yang merespons peristiwa siklus hidup subagent dalam sesi utama.

817 817 

818| Peristiwa | Input Matcher | Kapan itu terjadi |818| Peristiwa | Input Matcher | Kapan itu terjadi |

819| :-------------- | :-------------- | :------------------------------- |819| :- | :- | :- |

820| `SubagentStart` | Nama jenis agen | Ketika subagent mulai dijalankan |820| `SubagentStart` | Nama jenis agen | Ketika subagent mulai dijalankan |

821| `SubagentStop` | Nama jenis agen | Ketika subagent selesai |821| `SubagentStop` | Nama jenis agen | Ketika subagent selesai |

822 822 


1247Gunakan kunci ini untuk berinteraksi dengan panel:1247Gunakan kunci ini untuk berinteraksi dengan panel:

1248 1248 

1249| Kunci | Tindakan |1249| Kunci | Tindakan |

1250| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1250| :- | :- |

1251| `↑` / `↓` | Pindah antar baris |1251| `↑` / `↓` | Pindah antar baris |

1252| `Enter` | Buka transkrip fork yang dipilih dan kirimkan pesan tindak lanjut |1252| `Enter` | Buka transkrip fork yang dipilih dan kirimkan pesan tindak lanjut |

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


1262Fork mewarisi segalanya yang dimiliki sesi utama pada saat spawn. Subagent lainnya dimulai segar dari definisinya.1262Fork mewarisi segalanya yang dimiliki sesi utama pada saat spawn. Subagent lainnya dimulai segar dari definisinya.

1263 1263 

1264| | Fork | Subagent non-fork |1264| | Fork | Subagent non-fork |

1265| :--------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------- |1265| :- | :- | :- |

1266| Konteks | Riwayat percakapan lengkap | Konteks segar dengan prompt yang Anda lewatkan |1266| Konteks | Riwayat percakapan lengkap | Konteks segar dengan prompt yang Anda lewatkan |

1267| Prompt sistem dan alat | Sama dengan sesi utama | Dari [file definisi](#write-subagent-files) subagent, [disaring untuk run latar belakang](#available-tools) |1267| Prompt sistem dan alat | Sama dengan sesi utama | Dari [file definisi](#write-subagent-files) subagent, [disaring untuk run latar belakang](#available-tools) |

1268| Model | Sama dengan sesi utama | Dari bidang `model` subagent |1268| Model | Sama dengan sesi utama | Dari bidang `model` subagent |

Details

27Di sebagian besar terminal Anda juga dapat menekan Shift+Enter, tetapi dukungan bervariasi menurut emulator terminal:27Di sebagian besar terminal Anda juga dapat menekan Shift+Enter, tetapi dukungan bervariasi menurut emulator terminal:

28 28 

29| Terminal | Shift+Enter untuk newline |29| Terminal | Shift+Enter untuk newline |

30| :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |30| :- | :- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Berfungsi tanpa setup |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Berfungsi tanpa setup |

32| Terminal lain yang mendukung protokol keyboard kitty, seperti foot dan Alacritty 0.16 atau lebih baru | Berfungsi tanpa setup. Memerlukan Claude Code v2.1.269 atau lebih baru |32| Terminal lain yang mendukung protokol keyboard kitty, seperti foot dan Alacritty 0.16 atau lebih baru | Berfungsi tanpa setup. Memerlukan Claude Code v2.1.269 atau lebih baru |

33| VS Code, Cursor, Devin Desktop, Alacritty sebelum 0.16, Zed | Jalankan `/terminal-setup` sekali |33| VS Code, Cursor, Devin Desktop, Alacritty sebelum 0.16, Zed | Jalankan `/terminal-setup` sekali |


161Setiap tema khusus adalah file JSON di `~/.claude/themes/`. Nama file tanpa ekstensi `.json` adalah slug tema, dan memilih tema menyimpan `custom:<slug>` sebagai preferensi tema Anda. File memiliki tiga bidang opsional:161Setiap tema khusus adalah file JSON di `~/.claude/themes/`. Nama file tanpa ekstensi `.json` adalah slug tema, dan memilih tema menyimpan `custom:<slug>` sebagai preferensi tema Anda. File memiliki tiga bidang opsional:

162 162 

163| Field | Type | Description |163| Field | Type | Description |

164| :---------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------- |164| :- | :- | :- |

165| `name` | string | Label tampilan yang ditampilkan di `/theme`. Default ke slug nama file |165| `name` | string | Label tampilan yang ditampilkan di `/theme`. Default ke slug nama file |

166| `base` | string | Preset bawaan yang dimulai dari tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, atau `light-ansi`. Default ke `dark` |166| `base` | string | Preset bawaan yang dimulai dari tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, atau `light-ansi`. Default ke `dark` |

167| `overrides` | object | Peta nama token warna ke nilai warna. Token yang tidak tercantum di sini jatuh kembali ke preset dasar |167| `overrides` | object | Peta nama token warna ke nilai warna. Token yang tidak tercantum di sini jatuh kembali ke preset dasar |


210 Kontrol aksen merek utama dan nuansa teks latar depan yang digunakan di seluruh antarmuka.210 Kontrol aksen merek utama dan nuansa teks latar depan yang digunakan di seluruh antarmuka.

211 211 

212 | Token | Controls |212 | Token | Controls |

213 | :------------ | :------------------------------------------------------------------------- |213 | :- | :- |

214 | `claude` | Aksen merek utama, digunakan untuk spinner dan label asisten |214 | `claude` | Aksen merek utama, digunakan untuk spinner dan label asisten |

215 | `text` | Teks latar depan default |215 | `text` | Teks latar depan default |

216 | `inverseText` | Teks yang digambar di atas latar belakang berwarna, seperti lencana status |216 | `inverseText` | Teks yang digambar di atas latar belakang berwarna, seperti lencana status |


227 Sinyal keberhasilan, kegagalan, dan status peringatan di seluruh pesan dan indikator.227 Sinyal keberhasilan, kegagalan, dan status peringatan di seluruh pesan dan indikator.

228 228 

229 | Token | Controls |229 | Token | Controls |

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

231 | `success` | Pesan kesuksesan dan pemeriksaan yang lulus |231 | `success` | Pesan kesuksesan dan pemeriksaan yang lulus |

232 | `error` | Pesan kesalahan dan kegagalan |232 | `error` | Pesan kesalahan dan kegagalan |

233 | `warning` | Peringatan, pesan hati-hati, dan indikator mode otomatis |233 | `warning` | Peringatan, pesan hati-hati, dan indikator mode otomatis |


240 Atur warna batas kotak input dan aksen yang ditampilkan saat mode izin atau indikator aktif.240 Atur warna batas kotak input dan aksen yang ditampilkan saat mode izin atau indikator aktif.

241 241 

242 | Token | Controls |242 | Token | Controls |

243 | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |243 | :- | :- |

244 | `promptBorder` | Batas kotak input |244 | `promptBorder` | Batas kotak input |

245 | `planMode` | Aksen Plan mode, pesan plan, dan dialog plan-mode |245 | `planMode` | Aksen Plan mode, pesan plan, dan dialog plan-mode |

246 | `autoAccept` | Aksen mode Accept-edits |246 | `autoAccept` | Aksen mode Accept-edits |


256 Warna kode yang ditambahkan dan dihapus dalam edit dan ulasan file.256 Warna kode yang ditambahkan dan dihapus dalam edit dan ulasan file.

257 257 

258 | Token | Controls |258 | Token | Controls |

259 | :------------------ | :----------------------------------------------------------------------------------------------------- |259 | :- | :- |

260 | `diffAdded` | Latar belakang baris yang ditambahkan |260 | `diffAdded` | Latar belakang baris yang ditambahkan |

261 | `diffRemoved` | Latar belakang baris yang dihapus |261 | `diffRemoved` | Latar belakang baris yang dihapus |

262 | `diffAddedDimmed` | Latar belakang baris yang ditambahkan dalam diff yang digelapkan ditampilkan setelah Anda menolak edit |262 | `diffAddedDimmed` | Latar belakang baris yang ditambahkan dalam diff yang digelapkan ditampilkan setelah Anda menolak edit |


271 Claude Code melukis `userMessageBackground`, `bashMessageBackgroundColor`, dan `memoryBackgroundColor` di kedua renderer default dan fullscreen. Ini menggunakan `userMessageBackgroundHover` dan `selectionBg` hanya dalam [mode rendering fullscreen](/docs/id/fullscreen).271 Claude Code melukis `userMessageBackground`, `bashMessageBackgroundColor`, dan `memoryBackgroundColor` di kedua renderer default dan fullscreen. Ini menggunakan `userMessageBackgroundHover` dan `selectionBg` hanya dalam [mode rendering fullscreen](/docs/id/fullscreen).

272 272 

273 | Token | Controls |273 | Token | Controls |

274 | :--------------------------- | :--------------------------------------------------------------- |274 | :- | :- |

275 | `userMessageBackground` | Latar belakang di balik pesan Anda dalam transkrip |275 | `userMessageBackground` | Latar belakang di balik pesan Anda dalam transkrip |

276 | `userMessageBackgroundHover` | Latar belakang di balik pesan saat melayang atau diperluas |276 | `userMessageBackgroundHover` | Latar belakang di balik pesan saat melayang atau diperluas |

277 | `bashMessageBackgroundColor` | Latar belakang di balik entri perintah shell `!` dalam transkrip |277 | `bashMessageBackgroundColor` | Latar belakang di balik entri perintah shell `!` dalam transkrip |


285 Sesuaikan bilah yang ditampilkan dalam tampilan `/usage` dan label yang membedakan pesan Anda dari Claude.285 Sesuaikan bilah yang ditampilkan dalam tampilan `/usage` dan label yang membedakan pesan Anda dari Claude.

286 286 

287 | Token | Controls |287 | Token | Controls |

288 | :----------------- | :-------------------------------------------- |288 | :- | :- |

289 | `rate_limit_fill` | Bagian yang diisi dari meter penggunaan |289 | `rate_limit_fill` | Bagian yang diisi dari meter penggunaan |

290 | `rate_limit_empty` | Bagian yang tidak diisi dari meter penggunaan |290 | `rate_limit_empty` | Bagian yang tidak diisi dari meter penggunaan |

291 | `briefLabelYou` | Warna label `You` pada pesan Anda |291 | `briefLabelYou` | Warna label `You` pada pesan Anda |

Details

17</Info>17</Info>

18 18 

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

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

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

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

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 |


80Semua ini menerima format aturan yang sama, `ToolName(specifier)`. Specifier tergantung pada tools, dan beberapa tools berbagi format:80Semua ini menerima format aturan yang sama, `ToolName(specifier)`. Specifier tergantung pada tools, dan beberapa tools berbagi format:

81 81 

82| Format aturan | Berlaku untuk | Detail |82| Format aturan | Berlaku untuk | Detail |

83| :----------------------------- | :------------------------ | :------------------------------------------------------------------------- |83| :- | :- | :- |

84| `Bash(npm run *)` | Bash, Monitor | [Pencocokan pola perintah](/docs/id/permissions#bash) |84| `Bash(npm run *)` | Bash, Monitor | [Pencocokan pola perintah](/docs/id/permissions#bash) |

85| `PowerShell(Get-ChildItem *)` | PowerShell | [Pencocokan pola perintah](/docs/id/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [Pencocokan pola perintah](/docs/id/permissions#powershell) |

86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pencocokan pola jalur](/docs/id/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pencocokan pola jalur](/docs/id/permissions#read-and-edit) |


179Claude Code mengalirkan output perintah ke file kerja saat perintah berjalan; perintah yang outputnya melampaui 5 GB dibunuh. Ketika perintah selesai, Claude Code membaca output kembali dari file itu, hingga jendela read-back yang dijelaskan di bawah. Berapa banyak output yang mencapai Claude secara inline tergantung pada apakah Claude Code memperlakukan hasil sebagai kegagalan:179Claude Code mengalirkan output perintah ke file kerja saat perintah berjalan; perintah yang outputnya melampaui 5 GB dibunuh. Ketika perintah selesai, Claude Code membaca output kembali dari file itu, hingga jendela read-back yang dijelaskan di bawah. Berapa banyak output yang mencapai Claude secara inline tergantung pada apakah Claude Code memperlakukan hasil sebagai kegagalan:

180 180 

181| Hasil | Apa yang Claude dapatkan |181| Hasil | Apa yang Claude dapatkan |

182| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |182| :- | :- |

183| Valid | Inline hingga kira-kira 30.000 karakter secara default; melampaui itu, jalur file yang disimpan ke direktori sesi dan dipotong melampaui 64 MiB, ditambah pratinjau hingga 2.000 karakter pertama, dan Claude membaca atau mencari file ketika membutuhkan sisanya |183| Valid | Inline hingga kira-kira 30.000 karakter secara default; melampaui itu, jalur file yang disimpan ke direktori sesi dan dipotong melampaui 64 MiB, ditambah pratinjau hingga 2.000 karakter pertama, dan Claude membaca atau mencari file ketika membutuhkan sisanya |

184| Kegagalan | Inline hingga kira-kira 10.000 karakter; melampaui itu, kutipan kepala-dan-ekor ukuran itu dipotong dari jendela read-back, tanpa jalur file |184| Kegagalan | Inline hingga kira-kira 10.000 karakter; melampaui itu, kutipan kepala-dan-ekor ukuran itu dipotong dari jendela read-back, tanpa jalur file |

185 185 


396Watch WebSocket mengambil input `ws` sebagai pengganti `command`, dan satu panggilan Monitor tidak dapat menggabungkan keduanya. Input `ws` memiliki dua bidang:396Watch WebSocket mengambil input `ws` sebagai pengganti `command`, dan satu panggilan Monitor tidak dapat menggabungkan keduanya. Input `ws` memiliki dua bidang:

397 397 

398| Field | Required | Description |398| Field | Required | Description |

399| :---------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |399| :- | :- | :- |

400| `url` | Yes | Endpoint untuk terhubung. Harus berupa URL `ws://` atau `wss://` tanpa kredensial tertanam atau spasi, hanya menggunakan karakter ASCII |400| `url` | Yes | Endpoint untuk terhubung. Harus berupa URL `ws://` atau `wss://` tanpa kredensial tertanam atau spasi, hanya menggunakan karakter ASCII |

401| `protocols` | No | Nama subprotokol WebSocket untuk ditawarkan selama handshake. Setiap entri harus berupa token subprotokol yang valid, dan daftar tidak dapat berisi duplikat |401| `protocols` | No | Nama subprotokol WebSocket untuk ditawarkan selama handshake. Setiap entri harus berupa token subprotokol yang valid, dan daftar tidak dapat berisi duplikat |

402 402 

Details

15Cocokkan pesan kesalahan atau gejala yang Anda lihat dengan perbaikan:15Cocokkan pesan kesalahan atau gejala yang Anda lihat dengan perbaikan:

16 16 

17| Apa yang Anda lihat | Solusi |17| Apa yang Anda lihat | Solusi |

18| :------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- |

19| `command not found: claude` atau `'claude' is not recognized` | [Perbaiki PATH Anda](#command-not-found-claude-after-installation) |19| `command not found: claude` atau `'claude' is not recognized` | [Perbaiki PATH Anda](#command-not-found-claude-after-installation) |

20| `syntax error near unexpected token '<'` | [Install script mengembalikan HTML](#install-script-returns-html-instead-of-a-shell-script) |20| `syntax error near unexpected token '<'` | [Install script mengembalikan HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [Install script mengembalikan 403](#install-script-returns-html-instead-of-a-shell-script) |21| `curl: (22) The requested URL returned error: 403` | [Install script mengembalikan 403](#install-script-returns-html-instead-of-a-shell-script) |


403Instalasi selesai tetapi `claude` tidak berfungsi. Error yang tepat bervariasi menurut platform:403Instalasi selesai tetapi `claude` tidak berfungsi. Error yang tepat bervariasi menurut platform:

404 404 

405| Platform | Pesan error |405| Platform | Pesan error |

406| :---------- | :--------------------------------------------------------------------- |406| :- | :- |

407| macOS | `zsh: command not found: claude` |407| macOS | `zsh: command not found: claude` |

408| Linux | `bash: claude: command not found` |408| Linux | `bash: claude: command not found` |

409| Windows CMD | `'claude' is not recognized as an internal or external command` |409| Windows CMD | `'claude' is not recognized as an internal or external command` |

Details

9Halaman ini mencakup masalah kinerja, stabilitas, dan pencarian setelah Claude Code berjalan. Untuk masalah lainnya, mulai dengan halaman yang sesuai dengan tempat Anda terjebak:9Halaman ini mencakup masalah kinerja, stabilitas, dan pencarian setelah Claude Code berjalan. Untuk masalah lainnya, mulai dengan halaman yang sesuai dengan tempat Anda terjebak:

10 10 

11| Gejala | Buka |11| Gejala | Buka |

12| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------- |12| :- | :- |

13| `command not found`, instalasi gagal, masalah PATH, `EACCES`, kesalahan TLS | [Troubleshoot installation and login](/docs/id/troubleshoot-install) |13| `command not found`, instalasi gagal, masalah PATH, `EACCES`, kesalahan TLS | [Troubleshoot installation and login](/docs/id/troubleshoot-install) |

14| Pembaruan atau instalasi unduhan gagal dengan `The connection dropped while downloading the update` atau `aborted` | [Error reference](/docs/id/errors#the-connection-dropped-while-downloading-the-update) |14| Pembaruan atau instalasi unduhan gagal dengan `The connection dropped while downloading the update` atau `aborted` | [Error reference](/docs/id/errors#the-connection-dropped-while-downloading-the-update) |

15| Loop login, kesalahan OAuth, `403 Forbidden`, "organization disabled", kredensial Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | [Troubleshoot installation and login](/docs/id/troubleshoot-install#login-and-authentication) |15| Loop login, kesalahan OAuth, `403 Forbidden`, "organization disabled", kredensial Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | [Troubleshoot installation and login](/docs/id/troubleshoot-install#login-and-authentication) |

ultrareview.md +3 −3

Details

131Ultrareview adalah fitur premium yang ditagih terhadap penggunaan ekstra daripada penggunaan yang disertakan dalam paket Anda.131Ultrareview adalah fitur premium yang ditagih terhadap penggunaan ekstra daripada penggunaan yang disertakan dalam paket Anda.

132 132 

133| Paket | Run gratis yang disertakan | Setelah run gratis |133| Paket | Run gratis yang disertakan | Setelah run gratis |

134| ------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |134| - | - | - |

135| Pro | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |135| Pro | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |

136| Max | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |136| Max | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |

137| Team dan Enterprise | tidak ada | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |137| Team dan Enterprise | tidak ada | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |


186Pesan kemajuan dan URL sesi langsung pergi ke stderr sehingga stdout tetap dapat diurai. Gunakan bendera ini untuk mengontrol output, timeout, dan apakah akan memposting temuan:186Pesan kemajuan dan URL sesi langsung pergi ke stderr sehingga stdout tetap dapat diurai. Gunakan bendera ini untuk mengontrol output, timeout, dan apakah akan memposting temuan:

187 187 

188| Bendera | Deskripsi |188| Bendera | Deskripsi |

189| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |189| - | - |

190| `--json` | Cetak payload `bugs.json` mentah daripada temuan yang diformat |190| `--json` | Cetak payload `bugs.json` mentah daripada temuan yang diformat |

191| `--timeout <minutes>` | Menit maksimal untuk menunggu tinjauan selesai. Default ke 45 |191| `--timeout <minutes>` | Menit maksimal untuk menunggu tinjauan selesai. Default ke 45 |

192| `--post` | [Posting temuan yang selesai](#post-findings-to-the-pull-request) ke pull request sebagai satu komentar biasa dari akun GitHub Anda. Bekerja pada target pull request `github.com`; pada target lain, Claude Code mengabaikan bendera dan mengatakan demikian. Memerlukan Claude Code v2.1.227 atau lebih baru |192| `--post` | [Posting temuan yang selesai](#post-findings-to-the-pull-request) ke pull request sebagai satu komentar biasa dari akun GitHub Anda. Bekerja pada target pull request `github.com`; pada target lain, Claude Code mengabaikan bendera dan mengatakan demikian. Memerlukan Claude Code v2.1.227 atau lebih baru |


216Kedua tinjauan menguji kode, tetapi Anda menggunakannya pada tahap alur kerja yang berbeda.216Kedua tinjauan menguji kode, tetapi Anda menggunakannya pada tahap alur kerja yang berbeda.

217 217 

218| | `/code-review` | `/code-review ultra` |218| | `/code-review` | `/code-review ultra` |

219| ------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------- |219| - | - | - |

220| Target | diff kerja Anda, permintaan tarik, cabang, atau jalur | diff kerja Anda atau permintaan tarik |220| Target | diff kerja Anda, permintaan tarik, cabang, atau jalur | diff kerja Anda atau permintaan tarik |

221| Berjalan | secara lokal di sesi Anda | di sandbox cloud |221| Berjalan | secara lokal di sesi Anda | di sandbox cloud |

222| Kedalaman | skala dengan argumen effort | armada multi-agen dengan verifikasi independen |222| Kedalaman | skala dengan argumen effort | armada multi-agen dengan verifikasi independen |

Details

40`/voice` menerima argumen mode opsional:40`/voice` menerima argumen mode opsional:

41 41 

42| Perintah | Efek |42| Perintah | Efek |

43| :------------ | :--------------------------------------------------- |43| :- | :- |

44| `/voice` | Alihkan aktif atau mati, pertahankan mode saat ini |44| `/voice` | Alihkan aktif atau mati, pertahankan mode saat ini |

45| `/voice hold` | Aktifkan dalam [mode tahan](#hold-to-record) |45| `/voice hold` | Aktifkan dalam [mode tahan](#hold-to-record) |

46| `/voice tap` | Aktifkan dalam [mode ketuk](#tap-to-record-and-send) |46| `/voice tap` | Aktifkan dalam [mode ketuk](#tap-to-record-and-send) |


119 119 

120<Accordion title="Bahasa dikte yang didukung">120<Accordion title="Bahasa dikte yang didukung">

121 | Bahasa | Kode |121 | Bahasa | Kode |

122 | :-------- | :--- |122 | :- | :- |

123 | Ceko | `cs` |123 | Ceko | `cs` |

124 | Denmark | `da` |124 | Denmark | `da` |

125 | Belanda | `nl` |125 | Belanda | `nl` |

vs-code.md +6 −6

Details

365URL mengambil dua parameter query:365URL mengambil dua parameter query:

366 366 

367| Parameter | Deskripsi |367| Parameter | Deskripsi |

368| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |368| - | - |

369| `plugin` | Nama plugin seperti yang tercantum di marketplace-nya. Diperlukan. |369| `plugin` | Nama plugin seperti yang tercantum di marketplace-nya. Diperlukan. |

370| `marketplace` | Tempat plugin berasal: repositori GitHub `owner/repo`, URL `https://`, atau URL git SSH seperti `git@github.com:owner/repo.git`. Default ke `anthropics/claude-plugins-official` ketika dihilangkan. |370| `marketplace` | Tempat plugin berasal: repositori GitHub `owner/repo`, URL `https://`, atau URL git SSH seperti `git@github.com:owner/repo.git`. Default ke `anthropics/claude-plugins-official` ketika dihilangkan. |

371 371 


427</Note>427</Note>

428 428 

429| Perintah | Pintasan Keyboard | Deskripsi |429| Perintah | Pintasan Keyboard | Deskripsi |

430| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |430| - | - | - |

431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Beralih fokus antara editor dan Claude |431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Beralih fokus antara editor dan Claude |

432| Focus last message | - | Pindahkan fokus keyboard ke pesan terbaru dalam percakapan, atau ke prompt izin yang menunggu, sehingga Anda dapat membaca dari sana dengan keyboard atau pembaca layar. Tidak tersedia dalam [mode terminal](#switch-to-terminal-mode). Memerlukan Claude Code v2.1.268 atau lebih baru |432| Focus last message | - | Pindahkan fokus keyboard ke pesan terbaru dalam percakapan, atau ke prompt izin yang menunggu, sehingga Anda dapat membaca dari sana dengan keyboard atau pembaca layar. Tidak tersedia dalam [mode terminal](#switch-to-terminal-mode). Memerlukan Claude Code v2.1.268 atau lebih baru |

433| Open in Side Bar | - | Buka Claude di sidebar |433| Open in Side Bar | - | Buka Claude di sidebar |


487Penanganan menerima dua parameter kueri opsional:487Penanganan menerima dua parameter kueri opsional:

488 488 

489| Parameter | Deskripsi |489| Parameter | Deskripsi |

490| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |490| - | - |

491| `prompt` | Teks untuk pra-isi di kotak prompt. Harus dikodekan URL. Prompt pra-isi tetapi tidak dikirim secara otomatis. |491| `prompt` | Teks untuk pra-isi di kotak prompt. Harus dikodekan URL. Prompt pra-isi tetapi tidak dikirim secara otomatis. |

492| `session` | ID sesi untuk melanjutkan alih-alih memulai percakapan baru. Sesi harus milik ruang kerja yang saat ini terbuka di VS Code. Jika sesi tidak ditemukan, percakapan segar dimulai sebagai gantinya. Jika sesi sudah terbuka di tab, tab itu difokuskan. Untuk menangkap ID sesi secara terprogram, lihat [Lanjutkan percakapan](/docs/id/headless#continue-conversations). |492| `session` | ID sesi untuk melanjutkan alih-alih memulai percakapan baru. Sesi harus milik ruang kerja yang saat ini terbuka di VS Code. Jika sesi tidak ditemukan, percakapan segar dimulai sebagai gantinya. Jika sesi sudah terbuka di tab, tab itu difokuskan. Untuk menangkap ID sesi secara terprogram, lihat [Lanjutkan percakapan](/docs/id/headless#continue-conversations). |

493 493 


519VS Code membaca `initialPermissionMode` dari pengaturan pengguna Anda dan mengabaikan nilai workspace. Sebelum v2.1.225, VS Code menganggap pengaturan default ke `default` dan menerapkan nilai workspace.519VS Code membaca `initialPermissionMode` dari pengaturan pengguna Anda dan mengabaikan nilai workspace. Sebelum v2.1.225, VS Code menganggap pengaturan default ke `default` dan menerapkan nilai workspace.

520 520 

521| Pengaturan | Default | Deskripsi |521| Pengaturan | Default | Deskripsi |

522| ----------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |522| - | - | - |

523| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |523| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |

524| `initialPermissionMode` | - | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. `manual` adalah alias untuk `default` dan memilih mode yang diberi label **Manual** dalam indikator mode. Ketika Anda membiarkannya tidak diatur, ekstensi memilih mode izin awal seperti yang dijelaskan dalam [Switch permission modes](/docs/id/permission-modes#switch-permission-modes). |524| `initialPermissionMode` | - | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. `manual` adalah alias untuk `default` dan memilih mode yang diberi label **Manual** dalam indikator mode. Ketika Anda membiarkannya tidak diatur, ekstensi memilih mode izin awal seperti yang dijelaskan dalam [Switch permission modes](/docs/id/permission-modes#switch-permission-modes). |

525| `preferredLocation` | `panel` | Tempat Claude membuka: `sidebar` (kanan) atau `panel` (tab baru) |525| `preferredLocation` | `panel` | Tempat Claude membuka: `sidebar` (kanan) atau `panel` (tab baru) |


584Claude Code tersedia sebagai ekstensi VS Code (panel grafis) dan CLI (antarmuka baris perintah di terminal). Beberapa fitur hanya tersedia di CLI. Jika Anda memerlukan fitur khusus CLI, jalankan `claude` di terminal terintegrasi VS Code. Ini memerlukan [instalasi CLI mandiri](/docs/id/setup): ekstensi tidak menambahkan `claude` ke PATH Anda. Lihat [Jalankan CLI di VS Code](#run-cli-in-vs-code).584Claude Code tersedia sebagai ekstensi VS Code (panel grafis) dan CLI (antarmuka baris perintah di terminal). Beberapa fitur hanya tersedia di CLI. Jika Anda memerlukan fitur khusus CLI, jalankan `claude` di terminal terintegrasi VS Code. Ini memerlukan [instalasi CLI mandiri](/docs/id/setup): ekstensi tidak menambahkan `claude` ke PATH Anda. Lihat [Jalankan CLI di VS Code](#run-cli-in-vs-code).

585 585 

586| Fitur | CLI | Ekstensi VS Code |586| Fitur | CLI | Ekstensi VS Code |

587| ---------------------- | --------------------- | --------------------------------------------------------------------------------------------------- |587| - | - | - |

588| Perintah dan skills | [Semua](/docs/id/commands) | Subset (ketik `/` untuk melihat yang tersedia) |588| Perintah dan skills | [Semua](/docs/id/commands) | Subset (ketik `/` untuk melihat yang tersedia) |

589| Konfigurasi server MCP | Ya | Ya ([tambahkan dan kelola server](#connect-to-external-tools-with-mcp) dengan `/mcp` di panel chat) |589| Konfigurasi server MCP | Ya | Ya ([tambahkan dan kelola server](#connect-to-external-tools-with-mcp) dengan `/mcp` di panel chat) |

590| Checkpoints | Ya | Ya |590| Checkpoints | Ya | Ya |


731**Alat yang diekspos ke model.** Server menampilkan selusin alat, tetapi hanya dua yang terlihat oleh model. Sisanya adalah RPC internal yang digunakan CLI untuk UI-nya sendiri — membuka diff, membaca pilihan, menyimpan file — dan disaring sebelum daftar alat mencapai Claude.731**Alat yang diekspos ke model.** Server menampilkan selusin alat, tetapi hanya dua yang terlihat oleh model. Sisanya adalah RPC internal yang digunakan CLI untuk UI-nya sendiri — membuka diff, membaca pilihan, menyimpan file — dan disaring sebelum daftar alat mencapai Claude.

732 732 

733| Nama alat (seperti yang terlihat oleh hook) | Apa yang dilakukannya | Hanya baca |733| Nama alat (seperti yang terlihat oleh hook) | Apa yang dilakukannya | Hanya baca |

734| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ---------- |734| - | - | - |

735| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik language-server — kesalahan dan peringatan di panel Problems VS Code. Secara opsional dibatasi pada satu file. | Ya |735| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik language-server — kesalahan dan peringatan di panel Problems VS Code. Secara opsional dibatasi pada satu file. | Ya |

736| `mcp__ide__executeCode` | Menjalankan kode Python di kernel notebook Jupyter yang aktif. Lihat alur konfirmasi di bawah. | Tidak |736| `mcp__ide__executeCode` | Menjalankan kode Python di kernel notebook Jupyter yang aktif. Lihat alur konfirmasi di bawah. | Tidak |

737 737 

Details

43Claude Code berperilaku sama di mana pun. Yang berubah adalah tempat sesi berjalan dan apakah konfigurasi lokal Anda tersedia:43Claude Code berperilaku sama di mana pun. Yang berubah adalah tempat sesi berjalan dan apakah konfigurasi lokal Anda tersedia:

44 44 

45| | Sesi cloud | Sesi lokal | Sesi lokal dengan [Remote Control](/docs/id/remote-control) |45| | Sesi cloud | Sesi lokal | Sesi lokal dengan [Remote Control](/docs/id/remote-control) |

46| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |46| :- | :- | :- | :- |

47| **Kode berjalan di** | Cloud VM, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |47| **Kode berjalan di** | Cloud VM, dikelola Anthropic secara default | Mesin Anda | Mesin Anda |

48| **Anda memulainya dari** | claude.ai/code, aplikasi Claude mobile, aplikasi Desktop dengan **Cloud** dipilih, atau `claude --cloud` | Terminal Anda, IDE Anda, atau aplikasi Desktop dengan **Local** dipilih | Terminal Anda, ekstensi VS Code, atau aplikasi Desktop |48| **Anda memulainya dari** | claude.ai/code, aplikasi Claude mobile, aplikasi Desktop dengan **Cloud** dipilih, atau `claude --cloud` | Terminal Anda, IDE Anda, atau aplikasi Desktop dengan **Local** dipilih | Terminal Anda, ekstensi VS Code, atau aplikasi Desktop |

49| **Anda chat dari** | claude.ai, aplikasi mobile, atau aplikasi Desktop | Tempat Anda memulainya | claude.ai atau aplikasi mobile, serta tempat Anda memulainya |49| **Anda chat dari** | claude.ai, aplikasi mobile, atau aplikasi Desktop | Tempat Anda memulainya | claude.ai atau aplikasi mobile, serta tempat Anda memulainya |


175Anda dapat mengisi sebelumnya prompt, repositori, dan lingkungan untuk sesi baru dengan menambahkan parameter query ke URL [claude.ai/code](https://claude.ai/code). Gunakan ini untuk membangun integrasi seperti tombol di pelacak masalah Anda yang membuka Claude Code dengan deskripsi masalah sebagai prompt.175Anda dapat mengisi sebelumnya prompt, repositori, dan lingkungan untuk sesi baru dengan menambahkan parameter query ke URL [claude.ai/code](https://claude.ai/code). Gunakan ini untuk membangun integrasi seperti tombol di pelacak masalah Anda yang membuka Claude Code dengan deskripsi masalah sebagai prompt.

176 176 

177| Parameter | Deskripsi |177| Parameter | Deskripsi |

178| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |178| :- | :- |

179| `prompt` | Teks prompt untuk diisi sebelumnya di kotak input. Alias `q` juga diterima. |179| `prompt` | Teks prompt untuk diisi sebelumnya di kotak input. Alias `q` juga diterima. |

180| `prompt_url` | URL untuk mengambil teks prompt dari, untuk prompt yang terlalu panjang untuk disematkan dalam string query. URL harus memungkinkan permintaan lintas asal. Diabaikan ketika `prompt` juga diatur. |180| `prompt_url` | URL untuk mengambil teks prompt dari, untuk prompt yang terlalu panjang untuk disematkan dalam string query. URL harus memungkinkan permintaan lintas asal. Diabaikan ketika `prompt` juga diatur. |

181| `repositories` | Daftar slug `owner/repo` yang dipisahkan koma untuk dipilih sebelumnya. Alias `repo` juga diterima. |181| `repositories` | Daftar slug `owner/repo` yang dipisahkan koma untuk dipilih sebelumnya. Alias `repo` juga diterima. |

workflows.md +6 −6

Details

21[Subagen](/docs/id/sub-agents), [skills](/docs/id/skills), [tim agen](/docs/id/agent-teams), dan alur kerja semuanya dapat menjalankan tugas multi-langkah. Perbedaannya adalah siapa yang memegang rencana:21[Subagen](/docs/id/sub-agents), [skills](/docs/id/skills), [tim agen](/docs/id/agent-teams), dan alur kerja semuanya dapat menjalankan tugas multi-langkah. Perbedaannya adalah siapa yang memegang rencana:

22 22 

23| | Subagen | Skills | Tim agen | Alur kerja |23| | Subagen | Skills | Tim agen | Alur kerja |

24| :-------------------------------------------------- | :-------------------------------------------- | :---------------------------- | :----------------------------------- | :------------------------------------- |24| :- | :- | :- | :- | :- |

25| Apa itu | Pekerja Claude yang dihasilkan | Instruksi yang diikuti Claude | Agen utama yang mengawasi sesi rekan | Skrip yang dijalankan runtime |25| Apa itu | Pekerja Claude yang dihasilkan | Instruksi yang diikuti Claude | Agen utama yang mengawasi sesi rekan | Skrip yang dijalankan runtime |

26| Siapa yang memutuskan apa yang berjalan selanjutnya | Claude, giliran demi giliran | Claude, mengikuti prompt | Agen utama, giliran demi giliran | Skrip |26| Siapa yang memutuskan apa yang berjalan selanjutnya | Claude, giliran demi giliran | Claude, mengikuti prompt | Agen utama, giliran demi giliran | Skrip |

27| Di mana hasil antara tinggal | Jendela konteks Claude | Jendela konteks Claude | Daftar tugas bersama | Variabel skrip |27| Di mana hasil antara tinggal | Jendela konteks Claude | Jendela konteks Claude | Daftar tugas bersama | Variabel skrip |


80Claude Code menyertakan `/deep-research` sebagai alur kerja bawaan:80Claude Code menyertakan `/deep-research` sebagai alur kerja bawaan:

81 81 

82| Perintah | Apa yang dilakukannya |82| Perintah | Apa yang dilakukannya |

83| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :- | :- |

84| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](/docs/id/tools-reference#websearch-tool-behavior) tersedia |84| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](/docs/id/tools-reference#websearch-tool-behavior) tersedia |

85 85 

86`/deep-research` berjalan hanya ketika Anda menjalankannya.86`/deep-research` berjalan hanya ketika Anda menjalankannya.


96Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:96Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:

97 97 

98| Kunci | Tindakan |98| Kunci | Tindakan |

99| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------ |99| :- | :- |

100| `↑` / `↓` | Pilih fase atau agen |100| `↑` / `↓` | Pilih fase atau agen |

101| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke detail agen. Dalam detail, `Enter` memperluas atau meruntuhkannya |101| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke detail agen. Dalam detail, `Enter` memperluas atau meruntuhkannya |

102| `Esc` atau `←` | Kembali satu level. Dalam v2.1.203 hingga v2.1.205, `←` tidak melangkah keluar dari fase atau agen; gunakan `Esc` pada versi tersebut |102| `Esc` atau `←` | Kembali satu level. Dalam v2.1.203 hingga v2.1.205, `←` tidak melangkah keluar dari fase atau agen; gunakan `Esc` pada versi tersebut |


191Apakah Anda melihat prompt ini tergantung pada [mode izin](/docs/id/permission-modes) Anda:191Apakah Anda melihat prompt ini tergantung pada [mode izin](/docs/id/permission-modes) Anda:

192 192 

193| Mode izin | Kapan Anda diminta |193| Mode izin | Kapan Anda diminta |

194| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |194| :- | :- |

195| Auto | Peluncuran pertama saja. Setiap **Yes** mencatat persetujuan dalam pengaturan pengguna Anda, dan peluncuran nanti dimulai tanpa meminta. Dilewati sepenuhnya ketika ultracode aktif |195| Auto | Peluncuran pertama saja. Setiap **Yes** mencatat persetujuan dalam pengaturan pengguna Anda, dan peluncuran nanti dimulai tanpa meminta. Dilewati sepenuhnya ketika ultracode aktif |

196| Manual, accept edits | Setiap run, kecuali Anda telah memilih **Yes, and don't ask again** untuk alur kerja itu di proyek ini |196| Manual, accept edits | Setiap run, kecuali Anda telah memilih **Yes, and don't ask again** untuk alur kerja itu di proyek ini |

197| Bypass permissions | Claude Code tidak meminta Anda. Run dimulai segera |197| Bypass permissions | Claude Code tidak meminta Anda. Run dimulai segera |


402Runtime menerapkan batasan berikut:402Runtime menerapkan batasan berikut:

403 403 

404| Batasan | Alasan |404| Batasan | Alasan |

405| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |405| :- | :- |

406| Tidak ada input pengguna di tengah run | Run dijeda dengan sendirinya hanya untuk prompt izin agent dan [tunggu batas penggunaan](#when-a-run-hits-your-usage-limit). Untuk persetujuan antar tahap, jalankan setiap tahap sebagai workflow terpisahnya |406| Tidak ada input pengguna di tengah run | Run dijeda dengan sendirinya hanya untuk prompt izin agent dan [tunggu batas penggunaan](#when-a-run-hits-your-usage-limit). Untuk persetujuan antar tahap, jalankan setiap tahap sebagai workflow terpisahnya |

407| Tidak ada akses filesystem atau shell langsung dari workflow itu sendiri | Agent membaca, menulis, dan menjalankan perintah. Script mengoordinasikan agent |407| Tidak ada akses filesystem atau shell langsung dari workflow itu sendiri | Agent membaca, menulis, dan menjalankan perintah. Script mengoordinasikan agent |

408| Tidak ada pemuatan modul: script yang berisi `import()` gagal sebelum run dimulai | Badan script adalah JavaScript biasa. Letakkan pekerjaan yang memerlukan library dalam task agent |408| Tidak ada pemuatan modul: script yang berisi `import()` gagal sebelum run dimulai | Badan script adalah JavaScript biasa. Letakkan pekerjaan yang memerlukan library dalam task agent |


490Setiap nilai memetakan ke jumlah agen:490Setiap nilai memetakan ke jumlah agen:

491 491 

492| Nilai | Jumlah agen yang ditargetkan Claude |492| Nilai | Jumlah agen yang ditargetkan Claude |

493| :------------- | :----------------------------------------------------- |493| :- | :- |

494| `unrestricted` | Tidak ada panduan: Claude mengukur alur kerja ke tugas |494| `unrestricted` | Tidak ada panduan: Claude mengukur alur kerja ke tugas |

495| `small` | Lebih sedikit dari 5 agen |495| `small` | Lebih sedikit dari 5 agen |

496| `medium` | Lebih sedikit dari 10 agen |496| `medium` | Lebih sedikit dari 10 agen |

worktrees.md +1 −1

Details

393Saat Anda melanjutkan sesi secara interaktif dan Claude Code tidak dapat mengembalikannya ke worktree-nya, Claude Code mengatakan demikian dengan salah satu pesan di bawah. Saat Claude Code menghapus pengikatan worktree, itu mencatat penghapusan dalam transkrip sesi. Jika Anda [menekan penulisan transkrip](/docs/id/sessions#where-transcripts-are-stored), pesan mengatakan sebagai gantinya bahwa pengikatan tidak dapat dihapus dan bahwa Claude Code akan memeriksa kembali worktree pada resume yang lebih baru.393Saat Anda melanjutkan sesi secara interaktif dan Claude Code tidak dapat mengembalikannya ke worktree-nya, Claude Code mengatakan demikian dengan salah satu pesan di bawah. Saat Claude Code menghapus pengikatan worktree, itu mencatat penghapusan dalam transkrip sesi. Jika Anda [menekan penulisan transkrip](/docs/id/sessions#where-transcripts-are-stored), pesan mengatakan sebagai gantinya bahwa pengikatan tidak dapat dihapus dan bahwa Claude Code akan memeriksa kembali worktree pada resume yang lebih baru.

394 394 

395| Pesan dimulai dengan | Apa yang terjadi dan apa yang harus dilakukan |395| Pesan dimulai dengan | Apa yang terjadi dan apa yang harus dilakukan |

396| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |396| :- | :- |

397| `Your worktree <path> no longer exists` | Direktori worktree dihapus. Sesi berlanjut di direktori saat ini tanpa isolasi, dan Claude Code menghapus pengikatan worktree. Tidak ada tindakan yang diperlukan. |397| `Your worktree <path> no longer exists` | Direktori worktree dihapus. Sesi berlanjut di direktori saat ini tanpa isolasi, dan Claude Code menghapus pengikatan worktree. Tidak ada tindakan yang diperlukan. |

398| `Could not verify your worktree <path> this time` | Claude Code tidak dapat memverifikasi worktree, biasanya karena alasan sementara; pengikatan disimpan, dan sesi berlanjut di direktori saat ini tanpa isolasi. Lanjutkan lagi untuk mencoba ulang; jika terus terjadi, masuki worktree dalam sesi baru dan cocokkan pesan penolakan di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree), yang dapat menamai metadata checkout utama daripada worktree. |398| `Could not verify your worktree <path> this time` | Claude Code tidak dapat memverifikasi worktree, biasanya karena alasan sementara; pengikatan disimpan, dan sesi berlanjut di direktori saat ini tanpa isolasi. Lanjutkan lagi untuk mencoba ulang; jika terus terjadi, masuki worktree dalam sesi baru dan cocokkan pesan penolakan di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree), yang dapat menamai metadata checkout utama daripada worktree. |

399| `Did not re-enter your worktree <path>` | Claude Code menolak pengikatan worktree sebagai tidak aman; itu menghapus pengikatan dan sesi berlanjut tanpa isolasi. Pesan mencakup penolakan spesifik: cocokkan di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree), karena perbaikannya adalah rekreasi untuk beberapa penolakan dan perubahan jalur untuk yang lain. |399| `Did not re-enter your worktree <path>` | Claude Code menolak pengikatan worktree sebagai tidak aman; itu menghapus pengikatan dan sesi berlanjut tanpa isolasi. Pesan mencakup penolakan spesifik: cocokkan di bawah [Claude Code refuses to use a worktree](#claude-code-refuses-to-use-a-worktree), karena perbaikannya adalah rekreasi untuk beberapa penolakan dan perubahan jalur untuk yang lain. |

Details

50ZDR tidak berlaku untuk hal-hal berikut, bahkan untuk organisasi dengan ZDR diaktifkan. Fitur-fitur ini mengikuti [kebijakan retensi data standar](/docs/id/data-usage#data-retention):50ZDR tidak berlaku untuk hal-hal berikut, bahkan untuk organisasi dengan ZDR diaktifkan. Fitur-fitur ini mengikuti [kebijakan retensi data standar](/docs/id/data-usage#data-retention):

51 51 

52| Fitur | Detail |52| Fitur | Detail |

53| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |53| - | - |

54| Chat di claude.ai | Percakapan chat melalui antarmuka web Claude for Enterprise tidak dicakup oleh ZDR. |54| Chat di claude.ai | Percakapan chat melalui antarmuka web Claude for Enterprise tidak dicakup oleh ZDR. |

55| Cowork | Sesi Cowork tidak dicakup oleh ZDR. |55| Cowork | Sesi Cowork tidak dicakup oleh ZDR. |

56| Claude Code Analytics | Tidak menyimpan prompt atau respons model, tetapi mengumpulkan metadata produktivitas seperti email akun dan statistik penggunaan. Metrik kontribusi tidak tersedia untuk organisasi ZDR; [dashboard analytics](/docs/id/analytics) menampilkan metrik penggunaan saja. |56| Claude Code Analytics | Tidak menyimpan prompt atau respons model, tetapi mengumpulkan metadata produktivitas seperti email akun dan statistik penggunaan. Metrik kontribusi tidak tersedia untuk organisasi ZDR; [dashboard analytics](/docs/id/analytics) menampilkan metrik penggunaan saja. |


64Ketika ZDR diaktifkan untuk organisasi Claude Code di Claude for Enterprise, fitur-fitur tertentu yang memerlukan penyimpanan prompt atau completion secara otomatis dinonaktifkan di tingkat backend:64Ketika ZDR diaktifkan untuk organisasi Claude Code di Claude for Enterprise, fitur-fitur tertentu yang memerlukan penyimpanan prompt atau completion secara otomatis dinonaktifkan di tingkat backend:

65 65 

66| Fitur | Alasan |66| Fitur | Alasan |

67| ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |67| - | - |

68| [Cloud sessions](/docs/id/claude-code-on-the-web), termasuk yang dimulai dari [aplikasi Desktop](/docs/id/desktop#cloud-sessions) | Memerlukan penyimpanan data sesi di sisi server, termasuk riwayat percakapan dengan prompt dan completion. |68| [Cloud sessions](/docs/id/claude-code-on-the-web), termasuk yang dimulai dari [aplikasi Desktop](/docs/id/desktop#cloud-sessions) | Memerlukan penyimpanan data sesi di sisi server, termasuk riwayat percakapan dengan prompt dan completion. |

69| [Claude Tag](https://claude.com/docs/claude-tag) | Mempertahankan memori saluran dan transkrip sesi. |69| [Claude Tag](https://claude.com/docs/claude-tag) | Mempertahankan memori saluran dan transkrip sesi. |

70| [Artifacts](/docs/id/artifacts) | Memerlukan penyimpanan konten halaman yang dipublikasikan di infrastruktur yang dioperasikan Anthropic. |70| [Artifacts](/docs/id/artifacts) | Memerlukan penyimpanan konten halaman yang dipublikasikan di infrastruktur yang dioperasikan Anthropic. |