SpyBara
Go Premium

Documentation 2026-10-20 23:00 UTC to 2026-10-21 23:02 UTC

92 files changed +1,327 −398. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +2 −2

Details

59 59 

60Secara default, WSL hanya membaca jalur file Linux di `/etc/claude-code`. Untuk memperluas kebijakan registry Windows dan `C:\Program Files\ClaudeCode` Anda ke WSL pada mesin yang sama, atur [`wslInheritsWindowsSettings: true`](/docs/id/settings-reference#wslinheritswindowssettings) di salah satu sumber Windows yang hanya admin.60Secara default, WSL hanya membaca jalur file Linux di `/etc/claude-code`. Untuk memperluas kebijakan registry Windows dan `C:\Program Files\ClaudeCode` Anda ke WSL pada mesin yang sama, atur [`wslInheritsWindowsSettings: true`](/docs/id/settings-reference#wslinheritswindowssettings) di salah satu sumber Windows yang hanya admin.

61 61 

62Mekanisme apa pun yang Anda pilih, nilai terkelola diutamakan daripada pengaturan pengguna dan proyek, terlepas dari beberapa [pengecualian](/docs/id/settings#exceptions-to-managed-settings-precedence) yang sensitif terhadap keamanan. Pengaturan array seperti `permissions.allow` dan `permissions.deny` menggabungkan entri dari semua sumber, jadi pengembang dapat memperluas daftar terkelola tetapi tidak menghapusnya. Untuk `fallbackModel`, `availableModels`, dan [`modelPicker`](/docs/id/settings-reference#modelpicker), nilai terkelola menggantikan lapisan yang lebih rendah daripada menggabungkan.62Mekanisme apa pun yang Anda pilih, nilai terkelola diutamakan daripada pengaturan pengguna dan proyek, dengan beberapa [pengecualian](/docs/id/settings#exceptions-to-managed-settings-precedence) yang sensitif terhadap keamanan. Pengaturan array seperti `permissions.allow` dan `permissions.deny` menggabungkan entri dari semua sumber, jadi pengembang dapat memperluas daftar terkelola tetapi tidak menghapusnya. Untuk `fallbackModel`, `availableModels`, dan [`modelPicker`](/docs/id/settings-reference#modelpicker), nilai terkelola menggantikan lapisan yang lebih rendah daripada menggabungkan.

63 63 

64### Sesi WSL di Claude Code Desktop64### Sesi WSL di Claude Code Desktop

65 65 


91| [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` |91| [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` |

92| [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. [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan kapan ekstensi VS Code membaca `defaultMode` yang Anda atur | `permissions.defaultMode`, `permissions.disableAutoMode` |92| [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. [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan kapan ekstensi VS Code membaca `defaultMode` yang Anda atur | `permissions.defaultMode`, `permissions.disableAutoMode` |

93| [Sandboxing](/docs/id/sandboxing) | Isolasi filesystem dan jaringan tingkat OS dengan daftar allowlist domain | `sandbox.enabled`, `sandbox.network.allowedDomains` |93| [Sandboxing](/docs/id/sandboxing) | Isolasi filesystem dan jaringan tingkat OS dengan daftar allowlist domain | `sandbox.enabled`, `sandbox.network.allowedDomains` |

94| [Managed policy CLAUDE.md](/docs/id/memory#deploy-organization-wide-claude-md) | Instruksi di seluruh organisasi dimuat di setiap sesi, tidak dapat dikecualikan | File di jalur kebijakan terkelola |94| [Managed policy CLAUDE.md](/docs/id/memory#deploy-organization-wide-claude-md) | Panduan perilaku di seluruh organisasi untuk Claude, bukan aturan yang diberlakukan oleh klien | File di jalur kebijakan terkelola |

95| [MCP server control](/docs/id/managed-mcp) | Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna, terapkan set tetap, atau sediakan server jarak jauh kepada setiap pengguna bersama dengan server mereka sendiri | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, atau file `managed-mcp.json` yang diterapkan |95| [MCP server control](/docs/id/managed-mcp) | Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna, terapkan set tetap, atau sediakan server jarak jauh kepada setiap pengguna bersama dengan server mereka sendiri | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, atau file `managed-mcp.json` yang diterapkan |

96| [Plugin marketplace control](/docs/id/plugins/org#restrict-what-users-can-install) | Batasi sumber marketplace mana yang dapat ditambahkan dan diinstal pengguna, tolak flag CLI yang memuat plugin, agent, dan server MCP untuk satu kali berjalan, blokir [sumber plugin `command`](/docs/id/plugins/marketplace-reference#command-plugin-source), dan daftar allowlist plugin marketplace mana yang dapat disarankan | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |96| [Plugin marketplace control](/docs/id/plugins/org#restrict-what-users-can-install) | Batasi sumber marketplace mana yang dapat ditambahkan dan diinstal pengguna, tolak flag CLI yang memuat plugin, agent, dan server MCP untuk satu kali berjalan, blokir [sumber plugin `command`](/docs/id/plugins/marketplace-reference#command-plugin-source), dan daftar allowlist plugin marketplace mana yang dapat disarankan | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

97| [Customization lockdown](/docs/id/settings-reference#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola. Mengunci skills juga menghentikan [skills yang diaktifkan pengembang Anda di claude.ai](/docs/id/skills#where-synced-skills-load) dari sinkronisasi | `strictPluginOnlyCustomization` |97| [Customization lockdown](/docs/id/settings-reference#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola. Mengunci skills juga menghentikan [skills yang diaktifkan pengembang Anda di claude.ai](/docs/id/skills#where-synced-skills-load) dari sinkronisasi | `strictPluginOnlyCustomization` |

advisor.md +1 −1

Details

83 83 

84Jika Anda memulai [sesi latar belakang](/docs/id/agent-view) dengan `--advisor` dan salah satu dari ini berlaku, Claude Code memulai sesi tanpa advisor sebagai gantinya dari keluar.84Jika Anda memulai [sesi latar belakang](/docs/id/agent-view) dengan `--advisor` dan salah satu dari ini berlaku, Claude Code memulai sesi tanpa advisor sebagai gantinya dari keluar.

85 85 

86Jika model yang diminta dapat bertindak sebagai advisor tetapi [berperingkat di bawah](#choose-an-advisor-model) model utama sesi, Claude Code tetap memulai sesi. Di luar sesi latar belakang, Claude Code juga memperingatkan saat peluncuran bahwa model tersebut `cannot advise` model utama.86Jika model yang Anda teruskan dapat bertindak sebagai advisor tetapi [berperingkat di bawah model utama Anda](#choose-an-advisor-model), sesi tetap dimulai, baik itu sesi latar belakang maupun bukan. Model utama Anda kemudian berjalan tanpa advisor.

87 87 

88## Pilih model advisor88## Pilih model advisor

89 89 

Details

372 372 

373### Konfigurasi tools yang diizinkan373### Konfigurasi tools yang diizinkan

374 374 

375Opsi `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.375Opsi `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 mengikutsertakan sesi tersebut.

376 376 

377| Opsi | Lapisan | Efek |377| Opsi | Lapisan | Efek |

378| :- | :- | :- |378| :- | :- | :- |

Details

20 20 

21Aplikasi di [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) adalah demo untuk pengembangan lokal, dari klien email hingga sistem penelitian multi-agen. Klon demo yang bentuknya sesuai dengan apa yang Anda bangun.21Aplikasi di [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) adalah demo untuk pengembangan lokal, dari klien email hingga sistem penelitian multi-agen. Klon demo yang bentuknya sesuai dengan apa yang Anda bangun.

22 22 

23## Fork proyek lengkap

24 

25Untuk membangun shopping agent atau merchant agent dengan Python SDK, mulailah dari [implementasi referensi Claude for commerce](https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-agents).

26 

23## Bekerja melalui resep Python27## Bekerja melalui resep Python

24 28 

25Seri Agent SDK Claude Cookbook adalah urutan resep, masing-masing notebook Python, yang berkembang dari agen penelitian sederhana hingga sistem multi-agen yang canggih. Setiap notebook dibangun di atas yang sebelumnya, memperkenalkan konsep dan kemampuan baru. Mulai dengan [agen penelitian satu baris](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) dan lanjutkan ke depan.29Seri Agent SDK Claude Cookbook adalah urutan resep, masing-masing notebook Python, yang berkembang dari agen penelitian sederhana hingga sistem multi-agen yang canggih. Setiap notebook dibangun di atas yang sebelumnya, memperkenalkan konsep dan kemampuan baru. Mulai dengan [agen penelitian satu baris](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) dan lanjutkan ke depan.

Details

638 638 

639* [`permission_prompt`](/docs/id/hooks#notification) sekali permintaan permission telah menunggu sekitar enam detik di callback [`canUseTool`](/docs/id/agent-sdk/user-input) Anda. Memerlukan TypeScript Agent SDK v0.3.233 atau lebih baru, atau Python Agent SDK v0.2.139 atau lebih baru639* [`permission_prompt`](/docs/id/hooks#notification) sekali permintaan permission telah menunggu sekitar enam detik di callback [`canUseTool`](/docs/id/agent-sdk/user-input) Anda. Memerlukan TypeScript Agent SDK v0.3.233 atau lebih baru, atau Python Agent SDK v0.2.139 atau lebih baru

640* `elicitation_complete` dan `elicitation_response` untuk alur elicitation user-prompt640* `elicitation_complete` dan `elicitation_response` untuk alur elicitation user-prompt

641* `plugin_notification` ketika sebuah [mod](/docs/id/plugins/mods/api#show-something-without-starting-a-turn) memanggil `$.ui.notify`

641 642 

642Claude Code memancarkan tipe lainnya, seperti `idle_prompt`, `auth_success`, dan `elicitation_dialog`, dari UI interaktif yang sesi SDK tidak jalankan.643Claude Code memancarkan tipe lainnya, seperti `idle_prompt`, `auth_success`, dan `elicitation_dialog`, dari UI interaktif yang sesi SDK tidak jalankan.

643 644 

agent-sdk/mcp.md +29 −11

Details

142 142 

143## Waktu koneksi143## Waktu koneksi

144 144 

145Claude 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:145Claude Code mulai menghubungkan server MCP Anda saat sesi dimulai, dan mengirimkan [pesan init](#error-handling) setelah penantian giliran pertama, jika ada, berakhir. Berapa lama giliran pertama menunggu sebuah server tergantung pada tempat Anda mengonfigurasinya. Jika Anda menetapkan `permissionPromptToolName`, giliran pertama selalu menunggu server tool tersebut, hingga `MCP_TIMEOUT`, di mana pun Anda mengonfigurasinya.

146 

147Untuk server dalam `options.mcpServers`, temukan jenisnya di kolom pertama untuk melihat berapa lama giliran pertama menunggunya.

146 148 

147| Jenis server | Menunda putaran pertama? | Batas waktu tunggu putaran pertama |149| Jenis server | Menunda putaran pertama? | Batas waktu tunggu putaran pertama |

148| :- | :- | :- |150| :- | :- | :- |


150| 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 |152| 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 |

151| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default, per upaya koneksi; koneksi gagal pada batas waktu tersebut |153| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default, per upaya koneksi; koneksi gagal pada batas waktu tersebut |

152 154 

153Server yang dimuat dari [file pengaturan](#from-a-config-file) seperti `.mcp.json` atau dari plugin biasanya menunjukkan `pending` dalam pesan init. Ketika `options.mcpServers` menyimpan server stdio, HTTP, atau SSE, putaran pertama menunggu server yang tertunda ini juga, hingga `MCP_TIMEOUT`. Ketika `options.mcpServers` kosong atau hanya menyimpan server SDK, putaran pertama menunggu hingga 2 detik sebagai gantinya:155Server memiliki daftar tool yang di-cache hanya ketika [cache penemuan MCP](/docs/id/mcp#server-status-detail) aktif.

156 

157Server dari [file pengaturan](#from-a-config-file) seperti `.mcp.json`, atau dari plugin, sering kali masih menunjukkan `pending` dalam pesan init. Berapa lama giliran pertama menunggunya tergantung pada `options.mcpServers` dan pencarian tool:

158 

159* **`options.mcpServers` menyertakan server stdio, HTTP, atau SSE**: giliran pertama juga menunggu server file pengaturan dan plugin yang tertunda, hingga `MCP_TIMEOUT`.

160* **Jika tidak, ketika `ANTHROPIC_BASE_URL` mengarah ke [gateway](/docs/id/mcp#tool-search-through-a-gateway) dan [`ENABLE_TOOL_SEARCH`](/docs/id/mcp#configure-tool-search) tidak diatur**: giliran pertama menunggu hingga 2 detik untuk setiap server file pengaturan dan plugin yang tertunda.

161* **Jika tidak, dengan [pencarian tool](/docs/id/agent-sdk/tool-search) aktif, yang merupakan default**: giliran pertama menunggu hingga 2 detik, dan hanya untuk server tertunda yang menetapkan [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral) atau yang Anda [sebutkan namanya](#named-servers). Server lainnya terus terhubung di latar belakang, dan Claude [menjangkau tool-nya](/docs/id/mcp#tool-availability) setelah server tersebut terhubung.

162* **Jika tidak, dengan pencarian tool nonaktif**: giliran pertama menunggu hingga 2 detik untuk setiap server file pengaturan dan plugin yang tertunda. Pencarian tool nonaktif ketika [nilai `ENABLE_TOOL_SEARCH` atau model](/docs/id/agent-sdk/tool-search#configure-tool-search) Anda mematikannya, atau ketika Anda mengecualikan tool `ToolSearch`, misalnya melalui `disallowedTools`.

163 

164### Server yang disebutkan namanya

165 

166Anda menyebutkan nama sebuah server dengan mencantumkan salah satu tool-nya, seperti `mcp__github__list_issues` atau `mcp__github__*`, dalam [`allowedTools`](#allow-mcp-tools) atau dalam aturan `permissions.allow` pada opsi `settings`. [Hook `mcp_tool`](/docs/id/hooks#mcp-tool-hook-fields) juga menyebutkan nama server yang dipanggilnya ketika Anda mengonfigurasinya pada event pengiriman prompt, penggunaan tool, izin, subagent, task, elicitation, atau worktree. Sebelum v2.1.284, menyebutkan nama server tidak berpengaruh pada penantian giliran pertama.

167 

168### Menetapkan sendiri penantian giliran pertama

169 

170Untuk menentukan sendiri penantian giliran pertama, atur `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` dalam [opsi `env`](/docs/id/agent-sdk/configuration#set-environment-variables), misalnya `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Giliran pertama kemudian menunggu hingga sebanyak milidetik tersebut untuk server file pengaturan dan plugin yang tertunda, terlepas dari apakah pencarian tool aktif atau tidak. Batas yang sama menggantikan penantian `MCP_TIMEOUT` untuk server stdio, HTTP, dan SSE dalam `options.mcpServers`.

154 171 

155* **Dengan [pencarian alat](/docs/id/agent-sdk/tool-search), default**: penundaan mencakup server yang masih tertunda yang dikonfigurasi dengan [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral) dan bukan sisanya. Sisanya terus terhubung di latar belakang. [Ketersediaan alat](/docs/id/mcp#tool-availability) menjelaskan bagaimana Claude mencapai alat mereka setelah terhubung.172Tiga penantian berlaku berapa pun nilai yang Anda tetapkan, termasuk `0`:

156* **Tanpa pencarian alat**: penundaan mencakup setiap server yang tertunda. [Konfigurasi pencarian alat](/docs/id/agent-sdk/tool-search#configure-tool-search) mencakup apa yang mematikan pencarian alat. Jika Anda mengecualikan alat `ToolSearch` dari sesi, misalnya melalui `disallowedTools`, sesi juga berjalan tanpa pencarian alat.

157 173 

158Jika Anda menetapkan `permissionPromptToolName`, putaran pertama juga menunggu server alat tersebut dalam setiap kasus, hingga `MCP_TIMEOUT`.174* **Server `permissionPromptToolName`**: hingga `MCP_TIMEOUT`.

175* **[Server SDK](#sdk-mcp-servers) dalam proses**: hingga `MCP_TIMEOUT` per upaya koneksi.

176* **[Server yang disebutkan namanya](#named-servers) yang masih terhubung**: setidaknya hingga 2 detik, sehingga nilai di bawah `2000` tidak mempersingkat penantiannya.

159 177 

160Untuk menetapkan penundaan putaran pertama sendiri, tambahkan `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` ke [opsi `env`](/docs/id/agent-sdk/configuration#set-environment-variables), misalnya `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Putaran pertama kemudian menunggu hingga banyak milidetik untuk setiap server yang tertunda, terlepas dari apakah pencarian alat tersedia. Batas waktu ini juga menggantikan penundaan putaran pertama `MCP_TIMEOUT` untuk server stdio, HTTP, dan SSE dalam `options.mcpServers`. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` memerlukan Claude Code v2.1.274 atau lebih baru.178Atur variabel ke `0` untuk melewati penantian bagi setiap server lainnya. Server yang masih tertunda ketika penantian berakhir terus terhubung di latar belakang. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` memerlukan Claude Code v2.1.274 atau lebih baru.

161 179 

162Server yang masih tertunda ketika penundaan berakhir terus terhubung di latar belakang. Atur variabel ke `0` untuk melewati penundaan. Server `permissionPromptToolName` mempertahankan penundaan `MCP_TIMEOUT` sendiri terlepas dari nilainya.180### Membuat startup menunggu server

163 181 

164Untuk memblokir startup itu sendiri pada fase terpisah yang lebih awal daripada penundaan putaran pertama, sebelum pesan init dikirim:182Dua pengaturan membuat startup itu sendiri menunggu, sebelum Claude Code mengirimkan pesan init:

165 183 

166* Atur [`MCP_CONNECTION_NONBLOCKING`](/docs/id/env-vars) ke `0` untuk memblokir seluruh batch koneksi. Claude Code membatasi penundaan tersebut pada 5 detik secara default. Sesuaikan batas dengan variabel lingkungan [`MCP_CONNECT_TIMEOUT_MS`](/docs/id/env-vars), dalam milidetik. Server yang masih tertunda pada batas waktu tersebut terus terhubung di latar belakang.184* **[`MCP_CONNECTION_NONBLOCKING`](/docs/id/env-vars) diatur ke `0`**: startup menunggu seluruh batch koneksi, hingga 5 detik secara default. Atur [`MCP_CONNECT_TIMEOUT_MS`](/docs/id/env-vars), dalam milidetik, untuk mengubah batas tersebut. Server yang masih tertunda pada batas tersebut terus terhubung di latar belakang.

167* Atur `alwaysLoad: true` pada konfigurasi server untuk membuat alatnya tersedia pada skema lengkap mereka pada putaran pertama, [dikecualikan dari penundaan pencarian alat](/docs/id/mcp#exempt-a-server-from-deferral). Claude Code menunggu saat startup untuk alat server tersebut, dibatasi pada batas waktu yang sama, sementara server lain terus terhubung di latar belakang; server jarak jauh dengan daftar alat yang di-cache menyediakannya tanpa terhubung, sesuai tabel di atas.185* **`alwaysLoad: true` pada konfigurasi server**: startup menunggu hingga batas yang sama untuk tool server tersebut, sehingga giliran pertama memilikinya dengan skema lengkap, [dikecualikan dari penundaan pencarian tool](/docs/id/mcp#exempt-a-server-from-deferral). Server jarak jauh dengan daftar tool yang di-cache menyediakannya tanpa terhubung atau menahan startup.

168 186 

169Pesan `system` dengan subtipe `init` melaporkan status setiap server pada saat pesan tersebut dikirim; lihat [Penanganan kesalahan](#error-handling) untuk membaca status tersebut.187Pesan init melaporkan status setiap server pada saat Claude Code mengirimkannya.

170 188 

171## Izinkan alat MCP189## Izinkan alat MCP

172 190 

Details

69 69 

70## Aturan izin dan penolakan70## Aturan izin dan penolakan

71 71 

72`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.72`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 mengikutsertakan sesi tersebut. 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.

73 73 

74| Opsi | Efek |74| Opsi | Efek |

75| :- | :- |75| :- | :- |


78| `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. |78| `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. |

79| `disallowed_tools=["*"]` | Setiap definisi alat dihapus dari permintaan. Glob nama alat didukung dalam aturan penolakan: `"*"` cocok dengan setiap alat dan `"mcp__*"` cocok dengan setiap alat MCP di semua server. |79| `disallowed_tools=["*"]` | Setiap definisi alat dihapus dari permintaan. Glob nama alat didukung dalam aturan penolakan: `"*"` cocok dengan setiap alat dan `"mcp__*"` cocok dengan setiap alat MCP di semua server. |

80 80 

81Aturan izin menerima glob nama alat hanya setelah awalan `mcp__<server>__` literal. Segmen server harus bebas glob sehingga aturan menyebutkan server spesifik yang Anda konfigurasi: `mcp__puppeteer__*` cocok dengan setiap alat dari server `puppeteer`, dan `mcp__github__get_*` cocok dengan alat `get_` miliknya. Entri yang tidak berlabuh seperti `allowed_tools=["*"]` atau `allowed_tools=["mcp__*"]` diabaikan dengan peringatan startup dan tidak menyetujui apa pun secara otomatis.81Aturan izin menerima glob nama tool hanya setelah awalan `mcp__<server>__` literal. Segmen server harus bebas glob sehingga aturan menyebutkan server spesifik yang Anda konfigurasi: `mcp__puppeteer__*` cocok dengan setiap tool dari server `puppeteer`, dan `mcp__github__get_*` cocok dengan tool `get_` miliknya. Entri yang tidak berlabuh seperti `allowed_tools=["*"]` atau `allowed_tools=["mcp__*"]` diabaikan dan tidak menyetujui apa pun secara otomatis.

82 82 

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

84 84 

Details

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

184| `idempotentHint` | `bool \| None` | `False` | Jika `True`, panggilan berulang dengan argumen yang sama tidak memiliki efek tambahan (hanya bermakna ketika `readOnlyHint` adalah `False`) |184| `idempotentHint` | `bool \| None` | `False` | Jika `True`, panggilan berulang dengan argumen yang sama tidak memiliki efek tambahan (hanya bermakna ketika `readOnlyHint` adalah `False`) |

185| `openWorldHint` | `bool \| None` | `True` | Jika `True`, tool berinteraksi dengan entitas eksternal (misalnya, pencarian web). Jika `False`, domain tool ditutup (misalnya, tool memori) |185| `openWorldHint` | `bool \| None` | `True` | Jika `True`, tool berinteraksi dengan entitas eksternal (misalnya, pencarian web). Jika `False`, domain tool ditutup (misalnya, tool memori) |

186| `maxResultSizeChars` | `int \| None` | `None` | Jumlah karakter hingga mana Claude Code menyimpan hasil teks tool ini secara inline dalam percakapan alih-alih menyimpannya ke file, hingga 500.000. Hasil yang berisi gambar tidak terpengaruh. Pengaturan Claude Code daripada petunjuk MCP: SDK mengirimnya dalam `_meta` tool sebagai `anthropic/maxResultSizeChars`. Lihat [Raise the limit for a specific tool](/docs/id/mcp#raise-the-limit-for-a-specific-tool) |186| `maxResultSizeChars` | `int \| None` | `None` | Jumlah karakter hingga mana Claude Code menyimpan hasil teks tool ini secara inline dalam percakapan alih-alih menyimpannya ke file, hingga 500.000. Hasil yang berisi gambar tidak terpengaruh. Pengaturan Claude Code daripada petunjuk MCP: SDK mengirimnya dalam `_meta` tool sebagai `anthropic/maxResultSizeChars`. Lihat [Tingkatkan batas untuk tool tertentu](/docs/id/mcp#raise-the-limit-for-a-specific-tool) |

187 187 

188```python theme={null}188```python theme={null}

189from claude_agent_sdk import tool, ToolAnnotations189from claude_agent_sdk import tool, ToolAnnotations


535| `set_model(model)` | Ubah model untuk sesi saat ini. Teruskan `None` untuk reset ke [model default Claude Code](/docs/id/model-config). Sesi dalam `auto` mode [berubah ke mode `default`](/docs/id/agent-sdk/permissions#auto-mode-auto) jika model baru tidak mendukung auto mode |535| `set_model(model)` | Ubah model untuk sesi saat ini. Teruskan `None` untuk reset ke [model default Claude Code](/docs/id/model-config). Sesi dalam `auto` mode [berubah ke mode `default`](/docs/id/agent-sdk/permissions#auto-mode-auto) jika model baru tidak mendukung auto mode |

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

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

538| `get_context_usage()` | Dapatkan rincian penggunaan jendela konteks berdasarkan kategori, skill, dan tool. Data yang sama yang ditampilkan `/context` dalam sesi interaktif. Mengembalikan [`ContextUsageResponse`](#contextusageresponse). Untuk menghitung rinciannya, Claude Code membuat beberapa permintaan API penghitungan token yang tidak muncul dalam aliran pesan; lihat [bagaimana permintaan ini ditangani](#contextusageresponse) |538| `get_context_usage()` | Dapatkan rincian penggunaan context window berdasarkan kategori, skill, dan tool. Mencakup data yang ditampilkan `/context` dalam sesi interaktif. Mengembalikan [`ContextUsageResponse`](#contextusageresponse). Untuk menghitung rinciannya, Claude Code membuat beberapa permintaan API penghitungan token yang tidak muncul dalam aliran pesan; lihat [bagaimana permintaan ini ditangani](#contextusageresponse) |

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

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

541| `stop_task(task_id)` | Hentikan tugas latar belakang yang sedang berjalan. [`TaskNotificationMessage`](#tasknotificationmessage) dengan status `"stopped"` mengikuti dalam aliran pesan |541| `stop_task(task_id)` | Hentikan tugas latar belakang yang sedang berjalan. [`TaskNotificationMessage`](#tasknotificationmessage) dengan status `"stopped"` mengikuti dalam aliran pesan |


872| Properti | Tipe | Default | Deskripsi |872| Properti | Tipe | Default | Deskripsi |

873| :- | :- | :- | :- |873| :- | :- | :- | :- |

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

875| `allowed_tools` | `list[str]` | `[]` | Tools untuk auto-approve tanpa prompt, kecuali pembacaan dari [jalur jaringan](/docs/id/permissions#network-paths). 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) |875| `allowed_tools` | `list[str]` | `[]` | Tool yang disetujui otomatis tanpa meminta konfirmasi, kecuali pembacaan dari [jalur jaringan](/docs/id/permissions#network-paths). Ini tidak membatasi Claude hanya pada tool ini. Jika Anda menyebutkan salah satu [tool pelacakan tugas](/docs/id/agent-sdk/todo-tracking#model-availability) di sini, Claude Code juga mengikutsertakan sesi tersebut. Tool lain yang tidak tercantum diteruskan ke `permission_mode` dan `can_use_tool`. Gunakan `disallowed_tools` untuk memblokir tool. Lihat [Izin](/docs/id/agent-sdk/permissions#allow-and-deny-rules) |

876| `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) |876| `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) |

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

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


1524 1524 

1525### `ContextUsageResponse`1525### `ContextUsageResponse`

1526 1526 

1527Respons dari [`ClaudeSDKClient.get_context_usage()`](#methods). Ini adalah payload yang sama yang Claude Code render untuk perintah `/context` dalam sesi interaktif, jadi di samping hitungan token itu membawa field tampilan seperti `color` dan `gridRows` yang Claude Code gunakan untuk menggambar grid penggunaan `/context`.1527Respons dari [`ClaudeSDKClient.get_context_usage()`](#methods). Respons ini menyertakan payload yang Claude Code render untuk perintah `/context` dalam sesi interaktif. Di samping hitungan token, payload tersebut membawa field tampilan seperti `color` dan `gridRows` yang Claude Code gunakan untuk menggambar grid penggunaan `/context`.

1528 1528 

1529Claude Code membangun payload ini dengan mengirim beberapa permintaan ke API [token-counting](https://platform.claude.com/docs/en/build-with-claude/token-counting). Permintaan ini tidak muncul dalam aliran pesan, jadi pelacakan biaya yang membaca aliran tidak akan melihatnya. Pada Anthropic API, penghitungan token tidak ditagih.1529Claude Code membangun payload ini dengan mengirim beberapa permintaan ke API [token-counting](https://platform.claude.com/docs/en/build-with-claude/token-counting). Permintaan ini tidak muncul dalam aliran pesan, jadi pelacakan biaya yang membaca aliran tidak akan melihatnya. Pada Anthropic API, penghitungan token tidak ditagih.

1530 1530 


1715 1715 

1716Beberapa field membawa detail diagnostik tentang bagaimana percakapan berakhir:1716Beberapa field membawa detail diagnostik tentang bagaimana percakapan berakhir:

1717 1717 

1718* `is_error`: `True` ketika percakapan berakhir dalam status error. Selalu `True` pada subtype `error_*`. Pada `subtype="success"` ini adalah `True` ketika permintaan model terakhir gagal, berarti loop agent selesai tetapi panggilan API terakhir mengembalikan error.1718* `is_error`: `True` ketika percakapan berakhir dalam status error. Selalu `True` pada subtype `error_*`. Pada `subtype="success"` nilainya `True` dalam tiga kasus. Periksa `stop_reason` untuk membedakannya:

1719 * `"refusal"`: model menolak untuk merespons. Baca teks penolakan di `result`, atau di `AssistantMessage` sebelumnya ketika `result` kosong.

1720 * `"tool_deferred_unavailable"`: [tool yang ditangguhkan](/docs/id/hooks#defer-a-tool-call-for-later) tidak lagi tersedia ketika Anda melanjutkan sesi, misalnya karena server MCP-nya tidak terhubung. Dalam dua kasus di bawah ini, prompt yang Anda kirim setelah melanjutkan sesi dihitung sama seperti prompt yang diteruskan bersama resume:

1721 * Tanpa prompt: panggilan masih tertunda. Jadikan tool tersebut tersedia dan lanjutkan lagi tanpa prompt, maka panggilan tersebut dijalankan terlebih dahulu.

1722 * Dengan prompt: Claude Code menjawabnya tanpa hasil tool, dan panggilan yang ditangguhkan hilang. Kirim prompt baru jika Anda masih memerlukan tool tersebut dipanggil.

1723 * Nilai lainnya: giliran berakhir pada error yang dilaporkan Claude Code sebagai pengganti respons model, seperti error API. Baca `terminal_reason` untuk penyebabnya, `result` untuk pesannya, dan `api_error_status` untuk status HTTP ketika API mengembalikannya.

1719* `api_error_status`: kode status HTTP dari error API yang mengakhiri. `None` ketika giliran berakhir tanpa satu. Diisi hanya pada `subtype="success"`.1724* `api_error_status`: kode status HTTP dari error API yang mengakhiri. `None` ketika giliran berakhir tanpa satu. Diisi hanya pada `subtype="success"`.

1720* `result`: teks pesan asisten terakhir pada `subtype="success"`, atau `None` pada subtype `error_*`. Ketika `subtype="success"` dan `is_error=True`, ini menyimpan string error API jika tersedia tetapi dapat kosong, jadi periksa `api_error_status` dan konten `AssistantMessage` sebelumnya untuk detail.1725* `result`: teks pesan asisten terakhir pada `subtype="success"`, atau `None` pada subtype `error_*`. Ketika `subtype="success"` dan `is_error=True`, ini menyimpan string error API jika tersedia tetapi dapat kosong, jadi periksa `api_error_status` dan konten `AssistantMessage` sebelumnya untuk detail.

1721* `errors`: string error tingkat loop seperti pesan max-turns. Diisi hanya pada subtype `error_*`.1726* `errors`: string error tingkat loop seperti pesan max-turns. Diisi hanya pada subtype `error_*`.


2062 errors: list[str] # an empty list when the result message reported none2067 errors: list[str] # an empty list when the result message reported none

2063 result: str | None2068 result: str | None

2064 api_error_status: int | None2069 api_error_status: int | None

2065 terminal_reason: str | None # "max_turns", "api_error", ...; check this before subtype2070 terminal_reason: str | None # "max_turns", "api_error", ...; check after data["stop_reason"], before subtype

2066 session_id: str | None2071 session_id: str | None

2067 data: dict[str, Any] # the raw result message payload2072 data: dict[str, Any] # the raw result message payload

2068```2073```

2069 2074 

2070Untuk membedakan kegagalan, periksa `terminal_reason` sebelum `subtype`. Ketika permintaan akhir gagal, seperti pada error API, Claude Code melaporkan `subtype` `"success"` dengan penyebab dalam `terminal_reason`, misalnya `"api_error"`; ketika batas yang Anda tetapkan mengakhiri run, seperti `max_turns` atau `max_budget_usd`, itu melaporkan subtype `error_*`.2075Untuk membedakan kegagalan, periksa `data["stop_reason"]` terlebih dahulu, lalu `terminal_reason`, lalu `subtype`. Respons yang ditolak memiliki `stop_reason` `"refusal"`, biasanya dengan `subtype` `"success"`; `terminal_reason`-nya tidak membedakannya dan dapat berisi `"completed"` atau `"api_error"`. Permintaan akhir yang gagal memiliki `subtype` `"success"` dan penyebabnya dalam `terminal_reason`, seperti `"api_error"` untuk error API. Ketika run mencapai batas yang Anda tetapkan, seperti `max_turns` atau `max_budget_usd`, Anda mendapatkan subtype `error_*`.

2071 2076 

2072### `CLIJSONDecodeError`2077### `CLIJSONDecodeError`

2073 2078 


2574 "subagent_type": str | None, # Jenis agent khusus yang digunakan2579 "subagent_type": str | None, # Jenis agent khusus yang digunakan

2575 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Override model untuk agent ini2580 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Override model untuk agent ini

2576 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Tingkat upaya penalaran untuk agent ini2581 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Tingkat upaya penalaran untuk agent ini

2577 "run_in_background": bool | None, # Agent berjalan di latar belakang secara default; atur ke False untuk menjalankan secara sinkron2582 "run_in_background": bool | None, # Default ketika dihilangkan: panggilan dari agent utama Anda menjalankan agent baru di latar belakang, dan panggilan dari subagent menunggunya

2578 "name": str | None, # Nama untuk agent yang dihasilkan2583 "name": str | None, # Nama untuk agent yang dihasilkan

2579 "team_name": str | None, # Tidak digunakan lagi; diabaikan2584 "team_name": str | None, # Tidak digunakan lagi; diabaikan

2580 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Tidak digunakan lagi; diabaikan. Aturan pewarisan subagent memutuskan mode izin subagent2585 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Tidak digunakan lagi; diabaikan. Aturan pewarisan subagent memutuskan mode izin subagent


2584 2589 

2585Meluncurkan agent baru untuk menangani tugas kompleks multi-langkah secara otonom.2590Meluncurkan agent baru untuk menangani tugas kompleks multi-langkah secara otonom.

2586 2591 

2592Ketika Claude tidak menyertakan `run_in_background` dalam panggilan `Agent`, secara default agent utama Anda tidak menunggu agent baru, sedangkan subagent menunggu:

2593 

2594* **Dari agent utama Anda**: agent baru berjalan di latar belakang, dan hasilnya memiliki `status: "async_launched"`. Agar agent utama Anda menunggu agent baru, lihat [Choose whether Claude waits for subagents](/docs/id/agent-sdk/subagents#choose-whether-claude-waits-for-subagents).

2595* **Dari salah satu subagent Anda**: subagent yang memanggil [menunggu agent baru](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents). Agent baru justru berjalan di latar belakang ketika definisinya mengatur [`background`](#agentdefinition) ke `True`, atau ketika Anda [mematikan mode fork](/docs/id/sub-agents#turn-fork-mode-on-or-off) dengan mengatur `CLAUDE_CODE_FORK_SUBAGENT` ke `0`.

2596 

2597Sebelum Python SDK v0.2.169, agent yang dimulai oleh subagent Anda juga berjalan di latar belakang secara default. Rilis tersebut adalah yang pertama menggabungkan Claude Code v2.1.302 atau lebih baru.

2598 

2587**Output (status: `"completed"`):**2599**Output (status: `"completed"`):**

2588 2600 

2589```python theme={null}2601```python theme={null}


3519 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"3531 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"

3520 )3532 )

3521 # Catch ResultError before ProcessError, which it subclasses. Its message3533 # Catch ResultError before ProcessError, which it subclasses. Its message

3522 # carries the error text. A failed final request, such as an API error,3534 # carries the error text. A refusal and a failed final request both usually

3523 # arrives with subtype "success", so branch on terminal_reason first.3535 # arrive with subtype "success", so check stop_reason, then terminal_reason.

3524 except ResultError as e:3536 except ResultError as e:

3525 if e.terminal_reason == "api_error":3537 if e.data.get("stop_reason") == "refusal":

3538 print(f"Model declined to respond: {e}")

3539 elif e.terminal_reason == "api_error":

3526 print(f"API request failed: {e}")3540 print(f"API request failed: {e}")

3527 else:3541 else:

3528 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")3542 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")

Details

23Claude Code mencakup beberapa fitur keamanan yang mengatasi kekhawatiran umum. Lihat [dokumentasi keamanan](/docs/id/security) untuk detail lengkap.23Claude Code mencakup beberapa fitur keamanan yang mengatasi kekhawatiran umum. Lihat [dokumentasi keamanan](/docs/id/security) untuk detail lengkap.

24 24 

25* **Sistem izin**: Setiap alat dan perintah bash dapat dikonfigurasi untuk mengizinkan, memblokir, atau meminta persetujuan pengguna. Gunakan pola glob untuk membuat aturan seperti "izinkan semua perintah npm" atau "blokir perintah apa pun dengan sudo". Organisasi dapat menetapkan kebijakan yang berlaku di semua pengguna. Lihat [permissions](/docs/id/permissions).25* **Sistem izin**: Setiap alat dan perintah bash dapat dikonfigurasi untuk mengizinkan, memblokir, atau meminta persetujuan pengguna. Gunakan pola glob untuk membuat aturan seperti "izinkan semua perintah npm" atau "blokir perintah apa pun dengan sudo". Organisasi dapat menetapkan kebijakan yang berlaku di semua pengguna. Lihat [permissions](/docs/id/permissions).

26* **Parsing perintah untuk izin**: Sebelum menjalankan perintah bash, Claude Code menguraikannya menjadi AST dan mencocokkan hasilnya dengan aturan izin Anda. Perintah yang tidak dapat diuraikan dengan bersih, atau yang tidak cocok dengan aturan izin, memerlukan persetujuan eksplisit. Serangkaian kecil konstruksi seperti `eval` selalu memerlukan persetujuan terlepas dari aturan izin. Ini adalah gerbang izin, bukan sandbox; terlepas dari pemeriksaan keamanan bawaan seperti [pemeriksaan jalur kritis](/docs/id/permission-modes#critical-paths) pada `rm` dan `rmdir` dan daftar [jalur terlindungi](/docs/id/permission-modes#protected-paths), ini tidak menyimpulkan apakah perintah berbahaya dari jalur target atau efeknya.26* **Parsing perintah untuk izin**: Sebelum menjalankan perintah bash, Claude Code menguraikannya menjadi AST dan mencocokkan hasilnya dengan aturan izin Anda. Perintah yang tidak dapat diuraikan dengan bersih, atau yang tidak cocok dengan aturan allow, memerlukan persetujuan eksplisit. Serangkaian kecil konstruksi seperti `eval` selalu memerlukan persetujuan terlepas dari aturan allow. Ini adalah gerbang izin, bukan sandbox; kecuali untuk pemeriksaan keamanan bawaan seperti [pemeriksaan jalur kritis](/docs/id/permission-modes#critical-paths) pada `rm` dan `rmdir` dan daftar [jalur terlindungi](/docs/id/permission-modes#protected-paths), ini tidak menyimpulkan apakah perintah berbahaya dari jalur target atau efeknya.

27* **Ringkasan pencarian web**: Hasil pencarian diringkas daripada melewatkan konten mentah langsung ke dalam konteks, mengurangi risiko prompt injection dari konten web berbahaya.27* **Ringkasan pencarian web**: Hasil pencarian diringkas daripada melewatkan konten mentah langsung ke dalam konteks, mengurangi risiko prompt injection dari konten web berbahaya.

28* **Mode sandbox**: Perintah Bash dapat berjalan di lingkungan sandbox yang membatasi akses filesystem dan jaringan. Lihat [dokumentasi sandboxing](/docs/id/sandboxing) untuk detail.28* **Mode sandbox**: Perintah Bash dapat berjalan di lingkungan sandbox yang membatasi akses filesystem dan jaringan. Lihat [dokumentasi sandboxing](/docs/id/sandboxing) untuk detail.

29 29 

Details

318 318 

319## Keterbatasan yang Diketahui319## Keterbatasan yang Diketahui

320 320 

321* **Structured output**: dengan partial messages diaktifkan, JSON mengalir sebagai chunks `input_json_delta` yang tidak divalidasi dari tool call, dan hanya hasil yang divalidasi yang mencapai `ResultMessage.structured_output` akhir. Lihat [structured outputs](/docs/id/agent-sdk/structured-outputs) untuk detail.321* **Structured output**: dengan partial messages diaktifkan, JSON mengalir sebagai chunks `input_json_delta` yang tidak divalidasi dari panggilan tool, dan hanya hasil yang divalidasi yang mencapai `ResultMessage.structured_output` akhir. [Mengenali panggilan tool StructuredOutput](/docs/id/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) menjelaskan bagaimana panggilan tersebut muncul di stream Anda.

322 322 

323## Langkah selanjutnya323## Langkah selanjutnya

324 324 

Details

368asyncio.run(main())368asyncio.run(main())

369```369```

370 370 

371## Mengenali panggilan tool StructuredOutput

372 

373Saat Anda menetapkan `outputFormat` di TypeScript atau `output_format` di Python, aliran pesan Anda membawa panggilan tool bernama `StructuredOutput` yang tidak pernah Anda definisikan. Claude Code menambahkan tool ini ke sesi, dan agent memanggilnya untuk mengembalikan jawabannya. [Pesan init sistem](/docs/id/agent-sdk/typescript#sdksystemmessage) mencantumkannya dalam array `tools`, dan setiap panggilan tiba sebagai dua blok:

374 

375* Blok `tool_use` bernama `StructuredOutput`, yang inputnya adalah objek yang dihasilkan agent untuk skema Anda

376* Blok `tool_result` yang berbunyi `Structured output provided successfully`

377 

378Ketika objek tersebut tidak cocok dengan skema Anda, `tool_result` justru membawa `is_error: true` dan agent memanggil `StructuredOutput` lagi, sehingga aliran Anda dapat berisi beberapa panggilan untuk satu kueri. Baca data yang telah divalidasi dari `structured_output` pada pesan hasil, bukan dari blok `tool_use`, dan lihat [Penanganan kesalahan](#error-handling) untuk hasil yang Anda dapatkan ketika tidak ada upaya yang berhasil.

379 

380Jika aplikasi Anda menampilkan atau mencatat panggilan tool, lewati panggilan yang bernama `StructuredOutput` agar mekanisme ini tidak muncul sebagai langkah yang dipilih oleh agent. Blok `tool_result` tidak membawa nama tool, hanya `tool_use_id` dari panggilan yang dijawabnya, jadi cocokkan nilai tersebut dengan `id` dari setiap panggilan yang Anda lewati.

381 

371## Penanganan kesalahan382## Penanganan kesalahan

372 383 

373Pembuatan output terstruktur dapat gagal ketika agent tidak dapat menghasilkan JSON yang valid sesuai dengan skema Anda. Ini biasanya terjadi ketika skema terlalu kompleks untuk tugas, tugas itu sendiri ambigu, atau agent mencapai batas retry-nya saat mencoba memperbaiki kesalahan validasi. Ini juga dapat terjadi tanpa ada kegagalan validasi: [fallback model](/docs/id/model-config#automatic-model-fallback) dapat menarik kembali output yang sudah selesai di tengah aliran, dan jika tidak ada retry yang menggantinya, jalannya berakhir dengan kesalahan yang sama. Periksa daftar `errors` pada pesan hasil kesalahan untuk membedakan dua penyebab tersebut sebelum men-debug skema Anda.384Pembuatan output terstruktur dapat gagal ketika agent tidak dapat menghasilkan JSON yang valid sesuai dengan skema Anda. Ini biasanya terjadi ketika skema terlalu kompleks untuk tugas, tugas itu sendiri ambigu, atau agent mencapai batas retry-nya saat mencoba memperbaiki kesalahan validasi. Ini juga dapat terjadi tanpa ada kegagalan validasi: [fallback model](/docs/id/model-config#automatic-model-fallback) dapat menarik kembali output yang sudah selesai di tengah aliran, dan jika tidak ada retry yang menggantinya, jalannya berakhir dengan kesalahan yang sama. Periksa daftar `errors` pada pesan hasil kesalahan untuk membedakan dua penyebab tersebut sebelum men-debug skema Anda.

Details

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

148| `disallowedTools` | `string[]` | Tidak | Array nama tool yang akan dihapus dari set tool agen. Pola tingkat server MCP juga diterima: `mcp__server` atau `mcp__server__*` menghapus setiap tool dari server tersebut, dan `mcp__*` menghapus setiap tool MCP dari server apa pun |148| `disallowedTools` | `string[]` | Tidak | Array nama tool yang akan dihapus dari set tool agen. Pola tingkat server MCP juga diterima: `mcp__server` atau `mcp__server__*` menghapus setiap tool dari server tersebut, dan `mcp__*` menghapus setiap tool MCP dari server apa pun |

149| `model` | `string` | Tidak | Penggantian model untuk agen ini. Menerima alias seperti `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, atau ID model lengkap. `'inherit'` menggunakan model utama. Ketika Anda menghilangkannya, Claude Code memilih model dalam [urutan model subagen](/docs/id/sub-agents#choose-a-model) |149| `model` | `string` | Tidak | Penggantian model untuk agen ini. Menerima alias seperti `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, atau ID model lengkap. `'inherit'` menggunakan model utama. Ketika Anda menghilangkannya, Claude Code memilih model dalam [urutan model subagen](/docs/id/sub-agents#choose-a-model) |

150| `skills` | `string[]` | Tidak | Daftar nama skill yang dimuat sebelumnya ke dalam konteks agen saat startup. Skill yang tidak terdaftar tetap dapat dipanggil melalui tool Skill |150| `skills` | `string[]` | Tidak | Daftar nama skill yang dimuat sebelumnya ke dalam konteks agent saat startup. Paling banyak [32 nama berbeda pertama](/docs/id/sub-agents#preload-skills-into-subagents) dalam daftar yang dimuat sebelumnya. Skill yang tidak terdaftar tetap dapat dipanggil melalui tool Skill |

151| `memory` | `'user' \| 'project' \| 'local'` | Tidak | Sumber memori untuk agen ini |151| `memory` | `'user' \| 'project' \| 'local'` | Tidak | Sumber memori untuk agen ini |

152| `mcpServers` | `(string \| object)[]` | Tidak | Server MCP yang tersedia untuk agen ini, berdasarkan nama atau konfigurasi inline |152| `mcpServers` | `(string \| object)[]` | Tidak | Server MCP yang tersedia untuk agen ini, berdasarkan nama atau konfigurasi inline |

153| `initialPrompt` | `string` | Tidak | Otomatis dikirimkan sebagai giliran pengguna pertama ketika agen ini berjalan sebagai agen thread utama. Diabaikan ketika agen dipanggil sebagai subagen |153| `initialPrompt` | `string` | Tidak | Otomatis dikirimkan sebagai giliran pengguna pertama ketika agen ini berjalan sebagai agen thread utama. Diabaikan ketika agen dipanggil sebagai subagen |


323 323 

324Claude memanggil subagent melalui tool Agent. Untuk mendeteksi ketika subagent dipanggil, periksa blok `tool_use` di mana `name` adalah `"Agent"`.324Claude memanggil subagent melalui tool Agent. Untuk mendeteksi ketika subagent dipanggil, periksa blok `tool_use` di mana `name` adalah `"Agent"`.

325 325 

326Pesan dari dalam konteks subagent mencakup field `parent_tool_use_id`. Di TypeScript, setiap pesan assistant dan user yang dihasilkan subagent juga membawa [`agent_id`](/docs/id/agent-sdk/typescript#sdkassistantmessage): `task_id` dari [event task](/docs/id/agent-sdk/typescript#sdktaskstartedmessage) subagent tersebut. `agent_id` memerlukan TypeScript Agent SDK v0.3.292 atau yang lebih baru.326Pesan dari dalam konteks subagent mencakup field `parent_tool_use_id`. Di TypeScript, setiap pesan assistant dan user yang dihasilkan subagent juga membawa [`agent_id`](/docs/id/agent-sdk/typescript#sdkassistantmessage): `task_id` dari [event task](/docs/id/agent-sdk/typescript#sdktaskstartedmessage) subagent tersebut. `agent_id` tetap sama ketika Anda [melanjutkan subagent](#resume-subagents). `agent_id` memerlukan TypeScript Agent SDK v0.3.292 atau yang lebih baru.

327 327 

328> [!NOTE]328> [!NOTE]

329>329>

Details

8 8 

9Claude Code menyediakan [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) secara default hanya pada model yang tercantum di bawah [Ketersediaan model](#model-availability). Model yang lebih baru melacak pekerjaan multi-langkah tanpa daftar todo tertulis, jadi pada model tersebut Anda tidak memerlukan apa pun di halaman ini agar Claude dapat menyelesaikan tugas multi-langkah.9Claude Code menyediakan [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) secara default hanya pada model yang tercantum di bawah [Ketersediaan model](#model-availability). Model yang lebih baru melacak pekerjaan multi-langkah tanpa daftar todo tertulis, jadi pada model tersebut Anda tidak memerlukan apa pun di halaman ini agar Claude dapat menyelesaikan tugas multi-langkah.

10 10 

11Dalam sesi yang memiliki alat pelacakan tugas, Claude menyimpan daftar todo tertulis, memperbarui status setiap item saat bekerja. Anda melihat setiap perubahan dalam aliran pesan sebagai panggilan alat terstruktur. Pilih sesi hanya ketika aplikasi Anda membaca panggilan alat tersebut, baik untuk mencatat aktivitas tugas atau untuk merender tampilan kemajuan sendiri.11Dalam sesi yang memiliki alat pelacakan tugas, Claude menyimpan daftar todo tertulis, memperbarui status setiap item saat bekerja. Anda melihat setiap perubahan dalam aliran pesan sebagai panggilan alat terstruktur. Ikutsertakan sesi hanya ketika aplikasi Anda membaca panggilan alat tersebut, baik untuk mencatat aktivitas tugas atau untuk merender tampilan kemajuan sendiri.

12 12 

13## Ketersediaan model13## Ketersediaan model

14 14 


26>26>

27> Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.27> Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.

28 28 

29Pada model yang tidak memiliki alat secara default, kecuali Anda memilih sesi, Anda tidak melihat blok `tool_use` untuk mereka dalam aliran pesan. Agent SDK menerapkan default ini melalui biner Claude Code yang disertakannya. Jika Anda menunjuk `pathToClaudeCodeExecutable` (TypeScript) atau `cli_path` (Python) ke instalasi Claude Code Anda sendiri, Anda mendapatkan alat apa pun yang disediakan instalasi tersebut, di bawah default-nya sendiri. Untuk melihat set yang tepat dalam sesi yang berjalan, [periksa alat mana yang tersedia](/docs/id/tools-reference#check-which-tools-are-available). Untuk memilih sesi, lakukan salah satu dari berikut:29Pada model yang tidak memiliki alat secara default, kecuali Anda mengikutsertakan sesi, Anda tidak melihat blok `tool_use` untuk mereka dalam aliran pesan. Agent SDK menerapkan default ini melalui biner Claude Code yang disertakannya. Jika Anda menunjuk `pathToClaudeCodeExecutable` (TypeScript) atau `cli_path` (Python) ke instalasi Claude Code Anda sendiri, Anda mendapatkan alat apa pun yang disediakan instalasi tersebut, di bawah default-nya sendiri. Untuk melihat set yang tepat dalam sesi yang berjalan, [periksa alat mana yang tersedia](/docs/id/tools-reference#check-which-tools-are-available). Untuk mengikutsertakan sesi, lakukan salah satu hal berikut:

30 30 

31* Beri nama salah satu alat dalam opsi [`allowedTools`](/docs/id/agent-sdk/permissions#allow-and-deny-rules) (TypeScript) atau `allowed_tools` (Python)31* Beri nama salah satu alat dalam opsi [`allowedTools`](/docs/id/agent-sdk/permissions#allow-and-deny-rules) (TypeScript) atau `allowed_tools` (Python)

32* Daftar alat dalam opsi `tools`, yang membatasi alat bawaan sesi ke yang dinamainya. Sertakan alat yang Anda inginkan bersama alat bawaan lain yang Anda gunakan32* Daftar alat dalam opsi `tools`, yang membatasi alat bawaan sesi ke yang dinamainya. Sertakan alat yang Anda inginkan bersama alat bawaan lain yang Anda gunakan

Details

660| `supportedModels()` | Mengembalikan model yang tersedia beserta info tampilan |660| `supportedModels()` | Mengembalikan model yang tersedia beserta info tampilan |

661| `supportedAgents()` | Mengembalikan subagent yang tersedia sebagai [`AgentInfo`](#agentinfo)`[]` |661| `supportedAgents()` | Mengembalikan subagent yang tersedia sebagai [`AgentInfo`](#agentinfo)`[]` |

662| `mcpServerStatus()` | Mengembalikan status server MCP yang terhubung sebagai [`McpServerStatus`](#mcpserverstatus)`[]` |662| `mcpServerStatus()` | Mengembalikan status server MCP yang terhubung sebagai [`McpServerStatus`](#mcpserverstatus)`[]` |

663| `getContextUsage(opts?)` | Mengembalikan [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) yang merinci penggunaan context window sesi berdasarkan kategori, skill, dan tool. Dengan `detail` default, ini adalah data yang sama yang ditampilkan `/context` dalam sesi interaktif, dihitung dengan permintaan API penghitungan token yang tidak muncul dalam stream pesan; lihat [cara permintaan ini ditangani](#sdkcontrolgetcontextusageresponse). [Opsi `detail`](#sdkcontrolgetcontextusageresponse) memerlukan Agent SDK v0.3.257 atau lebih baru |663| `getContextUsage(opts?)` | Mengembalikan [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) yang merinci penggunaan context window sesi berdasarkan kategori, skill, dan tool. Dengan `detail` default, respons ini menyertakan data yang ditampilkan `/context` dalam sesi interaktif, yang dihitung dengan permintaan API penghitungan token yang tidak muncul dalam aliran pesan; lihat [bagaimana permintaan ini ditangani](#sdkcontrolgetcontextusageresponse). [Opsi `detail`](#sdkcontrolgetcontextusageresponse) memerlukan Agent SDK v0.3.257 atau lebih baru |

664| `readFile(path, options?)` | Membaca file dari filesystem sesi. Claude Code meresolusi path terhadap `cwd`; [Apa yang dapat dibaca `readFile()`](#what-readfile-can-read) mencantumkan file yang dilayaninya. Teruskan `{ maxBytes }` untuk mengubah batas baca (default 1 MB, maksimum 10 MB) dan `{ encoding: 'base64' }` untuk file biner seperti gambar. Diselesaikan dengan [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), atau `null` jika izin ditolak, file tidak ada, atau terjadi error transport. Memerlukan TypeScript SDK v0.2.121 atau lebih baru |664| `readFile(path, options?)` | Membaca file dari filesystem sesi. Claude Code meresolusi path terhadap `cwd`; [Apa yang dapat dibaca `readFile()`](#what-readfile-can-read) mencantumkan file yang dilayaninya. Teruskan `{ maxBytes }` untuk mengubah batas baca (default 1 MB, maksimum 10 MB) dan `{ encoding: 'base64' }` untuk file biner seperti gambar. Diselesaikan dengan [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), atau `null` jika izin ditolak, file tidak ada, atau terjadi error transport. Memerlukan TypeScript SDK v0.2.121 atau lebih baru |

665| `reloadPlugins(options?)` | Memuat ulang plugin dari disk, sehingga plugin yang Anda instal atau edit di tengah sesi sampai ke sesi yang sedang berjalan. Diselesaikan dengan [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) yang mencantumkan perintah, subagent, plugin, dan status server MCP sesi. Memerlukan Agent SDK v0.2.85 atau lebih baru. [Opsi `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) memerlukan Agent SDK v0.3.268 atau lebih baru |665| `reloadPlugins(options?)` | Memuat ulang plugin dari disk, sehingga plugin yang Anda instal atau edit di tengah sesi sampai ke sesi yang sedang berjalan. Diselesaikan dengan [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) yang mencantumkan perintah, subagent, plugin, dan status server MCP sesi. Memerlukan Agent SDK v0.2.85 atau lebih baru. [Opsi `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) memerlukan Agent SDK v0.3.268 atau lebih baru |

666| `reloadSkills()` | Memuat ulang skill dari disk, sehingga skill yang Anda tambahkan atau edit di tengah sesi menjadi tersedia bagi sesi yang sedang berjalan. Diselesaikan dengan [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) yang mencantumkan skill yang tersedia setelah pemuatan ulang. Memerlukan Agent SDK v0.3.163 atau lebih baru |666| `reloadSkills()` | Memuat ulang skill dari disk, sehingga skill yang Anda tambahkan atau edit di tengah sesi menjadi tersedia bagi sesi yang sedang berjalan. Diselesaikan dengan [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) yang mencantumkan skill yang tersedia setelah pemuatan ulang. Memerlukan Agent SDK v0.3.163 atau lebih baru |


863 863 

864### `SDKControlGetContextUsageResponse`864### `SDKControlGetContextUsageResponse`

865 865 

866Tipe kembalian dari [`getContextUsage()`](#query-object). Dengan `detail` default, ini adalah payload yang sama yang dirender Claude Code untuk perintah `/context` dalam sesi interaktif, sehingga selain jumlah token, payload ini membawa field tampilan seperti `color` dan `gridRows` yang digunakan Claude Code untuk menggambar grid penggunaan `/context`.866Tipe kembalian dari [`getContextUsage()`](#query-object). Dengan `detail` default, respons menyertakan payload yang dirender Claude Code untuk perintah `/context` dalam sesi interaktif. Selain jumlah token, payload tersebut membawa field tampilan seperti `color` dan `gridRows` yang digunakan Claude Code untuk menggambar grid penggunaan `/context`.

867 867 

868Argumen opsional `detail` dari metode ini memilih cara Claude Code menghitung setiap kategori. Argumen `detail` memerlukan Agent SDK v0.3.257 atau lebih baru.868Argumen opsional `detail` dari metode ini memilih cara Claude Code menghitung setiap kategori. Argumen `detail` memerlukan Agent SDK v0.3.257 atau lebih baru.

869 869 


872 872 

873Ketika Anda mengirim `/context` sebagai prompt alih-alih memanggil metode ini, Claude Code melampirkan payload [`SDKContextUsage`](#sdkcontextusage) ke field `context_usage` dari pesan assistant yang menyampaikan hasilnya. Field tersebut memerlukan Agent SDK v0.3.232 atau lebih baru.873Ketika Anda mengirim `/context` sebagai prompt alih-alih memanggil metode ini, Claude Code melampirkan payload [`SDKContextUsage`](#sdkcontextusage) ke field `context_usage` dari pesan assistant yang menyampaikan hasilnya. Field tersebut memerlukan Agent SDK v0.3.232 atau lebih baru.

874 874 

875Dalam `SDKControlGetContextUsageResponse`, `categories[].id`, `mcpInstructions`, serta field `pluginId` dan `path` dari entri `agents` dan `skills.skillFrontmatter` memerlukan Agent SDK v0.3.304 atau lebih baru.

876 

875```typescript theme={null}877```typescript theme={null}

876type SDKControlGetContextUsageResponse = {878type SDKControlGetContextUsageResponse = {

877 categories: {879 categories: {

880 id?:

881 | "system_prompt"

882 | "system_tools"

883 | "mcp_tools"

884 | "mcp_instructions"

885 | "mcp_tools_deferred"

886 | "system_tools_deferred"

887 | "custom_agents"

888 | "memory_files"

889 | "skills"

890 | "messages"

891 | "autocompact_buffer"

892 | "compact_buffer"

893 | "free_space";

878 name: string;894 name: string;

879 tokens: number;895 tokens: number;

880 color: string;896 color: string;


905 tokens: number;921 tokens: number;

906 isLoaded?: boolean;922 isLoaded?: boolean;

907 }[];923 }[];

924 mcpInstructions?: {

925 serverName: string;

926 tokens: number;

927 }[];

908 deferredBuiltinTools?: {928 deferredBuiltinTools?: {

909 name: string;929 name: string;

910 tokens: number;930 tokens: number;


921 agents: {941 agents: {

922 agentType: string;942 agentType: string;

923 source: string;943 source: string;

944 pluginId?: string;

945 path?: string;

924 tokens: number;946 tokens: number;

925 }[];947 }[];

926 slashCommands?: {948 slashCommands?: {


935 skillFrontmatter: {957 skillFrontmatter: {

936 name: string;958 name: string;

937 source: string;959 source: string;

960 pluginName?: string;

961 pluginId?: string;

962 path?: string;

938 tokens: number;963 tokens: number;

939 }[];964 }[];

940 };965 };


978 1003 

979Claude Code tidak mengisi diagnostik opsional `deferredBuiltinTools`, `systemTools`, dan `systemPromptSections`, jadi anggap field tersebut tidak ada meskipun tipe mendeklarasikannya.1004Claude Code tidak mengisi diagnostik opsional `deferredBuiltinTools`, `systemTools`, dan `systemPromptSections`, jadi anggap field tersebut tidak ada meskipun tipe mendeklarasikannya.

980 1005 

1006#### Menemukan baris berdasarkan ID, token instruksi server, atau plugin dan file dari sebuah entri

1007 

1008Instruksi server MCP adalah catatan penggunaan yang disediakan server yang terhubung dan ditambahkan Claude Code ke konteks, dan baris `mcp_instructions` dari `categories` menghitung token-nya. Gunakan field [`getContextUsage()`](#query-object) berikut untuk memilih satu baris `categories` berdasarkan `id`, membagi token `mcp_instructions` per server, atau menemukan plugin dan file di balik entri agent atau skill:

1009 

1010| Field | Ditemukan pada | Isinya |

1011| :- | :- | :- |

1012| `id` | Setiap baris `categories` | Pengenal baris, salah satu nilai yang dicantumkan oleh [tipe respons](#sdkcontrolgetcontextusageresponse), seperti `mcp_instructions`. Cocokkan berdasarkan `id` untuk memilih satu baris, atau berdasarkan `kind` untuk mengelompokkan baris. Versi Claude Code yang lebih baru dapat mengirim nilai yang tidak dicantumkan oleh tipe yang terinstal pada Anda, jadi anggap `id` yang tidak Anda kenali sebagai tidak ada |

1013| `mcpInstructions` | Respons | Satu entri `{ serverName, tokens }` per server MCP terhubung yang menyediakan instruksi, atau array kosong jika tidak ada. Nilai `tokens` adalah estimasi yang jumlahnya sama dengan `tokens` pada baris `mcp_instructions`. `serverName` adalah `name` yang dilaporkan [`mcpServerStatus()`](#query-object) untuk server tersebut |

1014| `pluginId` | Entri `agents` dan `skills.skillFrontmatter` | Menyebutkan plugin asal entri, sebagai ID dalam bentuk `name@marketplace`, dan tidak ada untuk entri yang tidak berasal dari plugin. Ketika plugin tidak berasal dari marketplace, bagian setelah `@` menyebutkan [asalnya](/docs/id/plugins/loading#find-where-a-plugin-came-from) sebagai gantinya, seperti `inline` untuk plugin yang Anda muat melalui opsi [`plugins`](#options) |

1015| `path` | Entri `agents` dan `skills.skillFrontmatter` | Path absolut dari file yang mendefinisikan agent atau skill, pada mesin tempat Claude Code berjalan. Field ini tidak ada ketika tidak ada file yang mendefinisikan entri tersebut, misalnya agent dari opsi [`agents`](#options) atau skill bawaan Claude Code |

1016 

1017Sebagai contoh pencocokan berdasarkan `id`, sampel ini menemukan baris `mcp_instructions`:

1018 

1019```typescript theme={null}

1020// q is the Query object that query() returned

1021const usage = await q.getContextUsage();

1022// undefined if no connected server supplies instructions

1023const row = usage.categories.find((c) => c.id === "mcp_instructions");

1024```

1025 

981### `SDKControlReadFileResponse`1026### `SDKControlReadFileResponse`

982 1027 

983Tipe kembalian dari [`readFile()`](#query-object).1028Tipe kembalian dari [`readFile()`](#query-object).


2991 3036 

2992Dokumentasi skema input untuk tool Claude Code bawaan. Jenis-jenis ini diekspor dari `@anthropic-ai/claude-agent-sdk/sdk-tools` dan dapat digunakan untuk interaksi tool yang aman tipe.3037Dokumentasi skema input untuk tool Claude Code bawaan. Jenis-jenis ini diekspor dari `@anthropic-ai/claude-agent-sdk/sdk-tools` dan dapat digunakan untuk interaksi tool yang aman tipe.

2993 3038 

3039Tool `StructuredOutput` tidak memiliki jenis di sini: Claude Code membangun skema inputnya dari skema yang Anda berikan ke `outputFormat`, sehingga tidak ada yang tetap untuk diekspor. Lihat [Mengenali panggilan tool StructuredOutput](/docs/id/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) untuk melihat seperti apa panggilan tersebut dalam aliran pesan Anda.

3040 

2994### `ToolInputSchemas`3041### `ToolInputSchemas`

2995 3042 

2996Gabungan jenis input tool yang diekspor dari `@anthropic-ai/claude-agent-sdk/sdk-tools`; anggota mencakup:3043Gabungan jenis input tool yang diekspor dari `@anthropic-ai/claude-agent-sdk/sdk-tools`; anggota mencakup:


5206* **Server yang tidak disebutkan dalam panggilan**: di luar [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code memutuskan koneksi server yang ditambahkan oleh panggilan `setMcpServers()` sebelumnya dan server SDK dalam proses, lalu mencantumkannya dalam `removed`. Server lainnya tetap berjalan dan tidak dicantumkan dalam `removed`, di antaranya server stdio, HTTP, dan SSE dari opsi [`mcpServers`](#options), server dari file pengaturan, dan server yang disediakan plugin.5253* **Server yang tidak disebutkan dalam panggilan**: di luar [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code memutuskan koneksi server yang ditambahkan oleh panggilan `setMcpServers()` sebelumnya dan server SDK dalam proses, lalu mencantumkannya dalam `removed`. Server lainnya tetap berjalan dan tidak dicantumkan dalam `removed`, di antaranya server stdio, HTTP, dan SSE dari opsi [`mcpServers`](#options), server dari file pengaturan, dan server yang disediakan plugin.

5207* **Server yang disebutkan dalam panggilan**: Claude Code mengganti server stdio, HTTP, atau SSE yang ditambahkan oleh panggilan `setMcpServers()` sebelumnya hanya ketika konfigurasinya berbeda dari yang Anda teruskan. Server SDK dalam proses yang sudah terdaftar dengan nama tersebut tetap seperti apa adanya, jadi untuk menggantinya, keluarkan server itu dari satu panggilan dan tambahkan pada panggilan berikutnya.5254* **Server yang disebutkan dalam panggilan**: Claude Code mengganti server stdio, HTTP, atau SSE yang ditambahkan oleh panggilan `setMcpServers()` sebelumnya hanya ketika konfigurasinya berbeda dari yang Anda teruskan. Server SDK dalam proses yang sudah terdaftar dengan nama tersebut tetap seperti apa adanya, jadi untuk menggantinya, keluarkan server itu dari satu panggilan dan tambahkan pada panggilan berikutnya.

5208* **Server bawaan yang dimulai CLI saat startup**: jika panggilan menyebutkan salah satunya, Claude Code menghapus entri itu dan melaporkannya dalam `errors`.5255* **Server bawaan yang dimulai CLI saat startup**: jika panggilan menyebutkan salah satunya, Claude Code menghapus entri itu dan melaporkannya dalam `errors`.

5256* **Server stdio, HTTP, atau SSE yang memiliki nama yang sama dengan server dari cakupan instalasi MCP seperti `.mcp.json`**: dengan nama tersebut, sesi menggunakan tool server Anda alih-alih tool [server cakupan instalasi](/docs/id/mcp#mcp-installation-scopes). Sebelum Claude Code v2.1.305, Claude Code dapat memutuskan koneksi server Anda dan menghubungkan server cakupan instalasi ketika aplikasi Anda [memuat ulang plugin](#query-object).

5209 5257 

5210Promise diselesaikan setelah server stdio, HTTP, dan SSE yang baru ditambahkan terhubung atau gagal, jadi tool dari server yang terhubung tersedia pada giliran berikutnya.5258Promise diselesaikan setelah server stdio, HTTP, dan SSE yang baru ditambahkan terhubung atau gagal, jadi tool dari server yang terhubung tersedia pada giliran berikutnya.

5211 5259 


5868>5916>

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

5870>5918>

5871> Jika `permissionMode` diatur ke `bypassPermissions` dan `allowUnsandboxedCommands` diaktifkan, model dapat secara otonom mengeksekusi perintah di luar sandbox tanpa prompt persetujuan apa pun, terlepas dari [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.5919> Jika `permissionMode` diatur ke `bypassPermissions` dan `allowUnsandboxedCommands` diaktifkan, model dapat secara otonom mengeksekusi perintah di luar sandbox tanpa prompt persetujuan apa pun, kecuali [tindakan yang tidak disetujui otomatis oleh mode mana pun](/docs/id/permission-modes#actions-no-mode-auto-approves). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.

5872 5920 

5873## Lihat juga5921## Lihat juga

5874 5922 

agent-teams.md +5 −3

Details

34| | Subagents | Tim agent |34| | Subagents | Tim agent |

35| :- | :- | :- |35| :- | :- | :- |

36| **Context** | Context window sendiri; hasil kembali ke pemanggil | Context window sendiri; sepenuhnya independen |36| **Context** | Context window sendiri; hasil kembali ke pemanggil | Context window sendiri; sepenuhnya independen |

37| **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 |37| **Komunikasi** | Mengembalikan hasil ke pemanggil. Subagent yang Claude [beri nama](/docs/id/sub-agents#subagent-names) saat memunculkannya juga dapat [saling mengirim pesan](/docs/id/sub-agents#what-loads-at-startup) | Rekan tim saling mengirim pesan secara langsung |

38| **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) |38| **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) |

39| **Terbaik untuk** | Tugas terfokus di mana hanya hasil yang penting | Pekerjaan kompleks yang memerlukan diskusi dan kolaborasi |39| **Terbaik untuk** | Tugas terfokus di mana hanya hasil yang penting | Pekerjaan kompleks yang memerlukan diskusi dan kolaborasi |

40| **Biaya token** | Lebih rendah: hasil diringkas kembali ke context utama | Lebih tinggi: setiap rekan tim adalah instance Claude terpisah |40| **Biaya token** | Lebih rendah: hasil diringkas kembali ke context utama | Lebih tinggi: setiap rekan tim adalah instance Claude terpisah |


166Spawn an architect teammate to refactor the authentication module.166Spawn an architect teammate to refactor the authentication module.

167```167```

168 168 

169Ketika rekan tim selesai merencanakan, mereka mengirim permintaan persetujuan rencana ke lead. Claude Code menyetujui rencana dalam session lead segera setelah permintaan tiba, tanpa lead meninjau. Edit dan perintah rekan tim masih melalui prompt izin yang dijelaskan dalam [Permissions](#permissions). Setelah disetujui, rekan tim keluar dari plan mode dan mulai implementasi.169Ketika rekan tim tersebut selesai merencanakan, ia mengirim permintaan persetujuan rencana ke lead. Jika Anda belum mengubah mode izin rekan tim tersebut sejak di-spawn, Claude Code menyetujui rencana segera setelah permintaan tiba, tanpa lead meninjaunya. Edit dan perintah rekan tim masih melalui permintaan izin yang dijelaskan dalam [Permissions](#permissions). Setelah disetujui, rekan tim keluar dari plan mode dan mulai implementasi.

170 

171Jika Anda menempatkan rekan tim in-process yang sedang berjalan ke dalam plan mode dengan menekan [`Shift+Tab`](/docs/id/permission-modes#switch-permission-modes) saat melihat sesinya, lead meninjau rencana dari run tersebut alih-alih Claude Code yang menyetujuinya. Anda tidak diminta untuk menyetujuinya; lead menyetujuinya atau mengembalikannya untuk revisi.

170 172 

171### Berbicara dengan rekan tim secara langsung173### Berbicara dengan rekan tim secara langsung

172 174 


286 288 

287Rekan kerja dimulai dengan mode izin pemimpin, kecuali mode [`dontAsk`](/docs/id/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), yang tidak mereka warisi. Jika pemimpin berjalan dengan `--dangerously-skip-permissions`, semua rekan kerja juga demikian. Setelah diluncurkan, Anda dapat mengubah mode izin rekan kerja individual, tetapi Anda tidak dapat menetapkan mode izin per-rekan kerja pada waktu spawn.289Rekan kerja dimulai dengan mode izin pemimpin, kecuali mode [`dontAsk`](/docs/id/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), yang tidak mereka warisi. Jika pemimpin berjalan dengan `--dangerously-skip-permissions`, semua rekan kerja juga demikian. Setelah diluncurkan, Anda dapat mengubah mode izin rekan kerja individual, tetapi Anda tidak dapat menetapkan mode izin per-rekan kerja pada waktu spawn.

288 290 

289Prompt izin rekan kerja muncul dalam sesi pemimpin, jadi setujui mereka di sana sendiri. [Persetujuan rencana](#have-teammates-plan-before-implementing) adalah pengecualian yang dirancang: sesi pemimpin memberikan persetujuan rencana rekan kerja tanpa prompt terpisah kepada Anda.291Permintaan izin rekan kerja muncul dalam sesi pemimpin, jadi setujui mereka di sana sendiri. Anda tidak perlu menyetujui [rencana rekan kerja](#have-teammates-plan-before-implementing).

290 292 

291#### Pesan antar agent293#### Pesan antar agent

292 294 

agent-view.md +93 −35

Details

276 276 

277Setelah sekitar sepuluh detik, Claude Code mengirim sesi ke latar belakang tanpa menunggu lebih lama, kecuali dalam kasus seperti berikut:277Setelah sekitar sepuluh detik, Claude Code mengirim sesi ke latar belakang tanpa menunggu lebih lama, kecuali dalam kasus seperti berikut:

278 278 

279* **Subagent latar depan masih berjalan**: Claude Code terus menunggu sehingga pekerjaan [subagent latar depan](/docs/id/sub-agents#run-subagents-in-foreground-or-background) yang dimulai Claude terbawa, dan menampilkan `Still backgrounding after the current tool`. Tekan `←` lagi untuk mengirim ke latar belakang tanpa menunggu, yang memulai ulang subagent tersebut dari awal.279* **Subagent foreground masih berjalan**: Claude Code terus menunggu agar pekerjaan [subagent foreground](/docs/id/sub-agents#run-subagents-in-foreground-or-background) yang dimulai Claude tetap berlanjut, dan menampilkan `Still backgrounding after the current tool`. Tekan `←` lagi untuk memindahkan ke latar belakang tanpa menunggu, yang akan memulai ulang subagent tersebut dari awal.

280* **Permintaan izin atau pertanyaan sedang menunggu jawaban Anda**: saat permintaan izin atau pertanyaan yang diajukan Claude sedang menunggu, Claude Code terus menunggu dan menampilkan `Still backgrounding after the current tool — a question is waiting for your answer.` Jika jawaban Anda memungkinkan giliran berlanjut, seperti **Yes** pada permintaan izin, Claude Code mengirim sesi ke latar belakang ketika tool saat ini selesai.280* **Permintaan izin atau pertanyaan sedang menunggu jawaban Anda**: saat permintaan izin atau pertanyaan yang diajukan Claude sedang menunggu, Claude Code terus menunggu dan menampilkan `Still backgrounding after the current tool — a question is waiting for your answer.` Jika jawaban Anda memungkinkan giliran berlanjut, seperti **Yes** pada permintaan izin, Claude Code mengirim sesi ke latar belakang ketika tool saat ini selesai.

281* **Anda mengetik ke dalam input prompt**: Claude Code membatalkan peralihan, karena teks yang belum dikirim tetap berada di kotak input terminal Anda dan tidak akan pindah ke sesi latar belakang. Claude Code menampilkan `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`281* **Anda mengetik ke dalam input prompt**: Claude Code membatalkan peralihan, karena teks yang belum dikirim tetap berada di kotak input terminal Anda dan tidak akan pindah ke sesi latar belakang. Claude Code menampilkan `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` Claude tetap bekerja di latar depan.

282* **Anda menghentikan giliran**: Claude Code membatalkan peralihan dan menampilkan `Backgrounding cancelled — the turn was stopped.` Misalnya, giliran berhenti ketika Anda [menginterupsi Claude dengan `Esc`](/docs/id/interactive-mode#general-controls) atau memilih **No** [tanpa komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) pada permintaan izin dari percakapan utama, atau menekan `Esc` pada pertanyaan yang diajukan Claude di sana. Tekan `←` lagi untuk mengirim sesi ke latar belakang.282* **Anda menghentikan giliran**: Claude Code membatalkan peralihan dan menampilkan `Backgrounding cancelled — the turn was stopped.` Misalnya, giliran berhenti ketika Anda [menginterupsi Claude dengan `Esc`](/docs/id/interactive-mode#general-controls) atau memilih **No** [tanpa komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) pada permintaan izin dari percakapan utama, atau menekan `Esc` pada pertanyaan yang diajukan Claude di sana. Tekan `←` lagi untuk mengirim sesi ke latar belakang.

283* **Pesan dalam antrean tidak dapat dipindahkan**: pesan yang Anda [masukkan ke antrean saat Claude sedang bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) berpindah ke sesi latar belakang bersama percakapan. Ketika salah satunya tidak dapat berpindah, sesi tetap berada di latar depan dan Claude Code menampilkan pemberitahuan seperti `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`283* **Pesan dalam antrean tidak dapat dipindahkan**: pesan yang Anda [masukkan ke antrean saat Claude sedang bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) berpindah ke sesi latar belakang bersama percakapan. Ketika salah satunya tidak dapat berpindah, sesi tetap berada di latar depan dan Claude Code menampilkan pemberitahuan seperti `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

284 284 


288 288 

289Anda dapat mematikan pintasan ini untuk sesi latar depan dengan pengaturan [`leftArrowOpensAgents`](/docs/id/settings-reference#leftarrowopensagents) di `/config`.289Anda dapat mematikan pintasan ini untuk sesi latar depan dengan pengaturan [`leftArrowOpensAgents`](/docs/id/settings-reference#leftarrowopensagents) di `/config`.

290 290 

291##### Prompt yang dikirim saat sesi berpindah ke latar belakang

292 

293Jika Anda memasukkan prompt atau perintah shell `!` tepat saat sesi berpindah ke latar belakang, prompt atau perintah tersebut dihentikan atau tidak terkirim:

294 

295* **Dikirim saat percakapan ditutup**: respons atau perintah berhenti ketika percakapan ditutup dan tampilan agent terbuka

296* **Masih menunggu [hook](/docs/id/hooks) pada saat itu**: prompt tidak dikirim, dan tidak ada apa pun di layar yang memberitahukannya. Ini termasuk prompt yang Anda ketik saat [hook `SessionStart`](/docs/id/hooks#sessionstart) masih berjalan

297 

298Dalam kedua kasus, teks yang Anda ketik disimpan dalam [riwayat prompt](/docs/id/interactive-mode#command-history). Untuk mengirimnya lagi, buka sesi yang telah dikirim ke latar belakang dan tekan `↑` di prompt-nya untuk mengembalikan teks tersebut.

299 

291### Atur daftar300### Atur daftar

292 301 

293Tampilan agent mengelompokkan sesi sehingga yang membutuhkan masukan berada di atas, dengan `Ready for review` dan `Needs input` di atas `Working` dan `Completed`. Nama grup ini tidak memetakan satu-ke-satu ke [status](#read-session-state) di atas: sesi berpindah ke `Ready for review` ketika memiliki pull request terbuka yang membutuhkan tinjauan atau memiliki pemeriksaan yang gagal, dan `Completed` mengumpulkan sesi yang selesai, gagal, dan dihentikan bersama-sama.302Tampilan agent mengelompokkan sesi sehingga yang membutuhkan masukan berada di atas, dengan `Ready for review` dan `Needs input` di atas `Working` dan `Completed`. Nama grup ini tidak memetakan satu-ke-satu ke [status](#read-session-state) di atas: sesi berpindah ke `Ready for review` ketika memiliki pull request terbuka yang membutuhkan tinjauan atau memiliki pemeriksaan yang gagal, dan `Completed` mengumpulkan sesi yang selesai, gagal, dan dihentikan bersama-sama.


300* Tekan `Shift+↑` atau `Shift+↓` untuk mengatur ulang urutan sesi309* Tekan `Shift+↑` atau `Shift+↓` untuk mengatur ulang urutan sesi

301* Tekan `Ctrl+R` untuk mengganti nama sesi310* Tekan `Ctrl+R` untuk mengganti nama sesi

302* Tekan `Enter` pada header grup untuk menciutkannya, kecuali saat [filter](#filter-sessions) aktif, ketika setiap grup tetap terbuka311* Tekan `Enter` pada header grup untuk menciutkannya, kecuali saat [filter](#filter-sessions) aktif, ketika setiap grup tetap terbuka

312* Tekan `Ctrl+X` untuk menghentikan sesi dan `Ctrl+X` lagi dalam dua detik untuk menghapusnya dari daftar, atau `Esc` untuk membatalkan konfirmasi tanpa menghapus. Tekanan kedua menghapus sesi bahkan ketika upaya penghentian gagal, misalnya karena [layanan latar belakang tidak merespons](#agent-view-says-the-background-service-did-not-respond). Dalam kasus itu, konfirmasi tetap aktif selama dua detik lagi, dan penghapusan mengakhiri proses sesi itu sendiri

303 313 

304Untuk menghapus sesi dari daftar, tekan `Ctrl+X` untuk menghentikannya dan `Ctrl+X` lagi dalam dua detik untuk menghapusnya. Menekan `Ctrl+X` pada header grup menghapus setiap sesi dalam grup itu setelah konfirmasi.314Menekan `Ctrl+X` pada header grup menghapus setiap sesi dalam grup itu setelah konfirmasi. Kecuali dalam kasus yang dipertahankan yang tercakup dalam [Apa yang dihapus saat menghapus sesi](#what-deleting-a-session-removes), penghapusan menghapus sesi dari daftar. Worktree yang dibuat Claude untuknya dihapus, dipertahankan, atau dibiarkan di tempat tergantung pada cara Anda menghapus dan apa isi worktree. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume`.

305 315 

306Tekanan kedua menghapus sesi bahkan ketika upaya penghentian gagal, misalnya karena [layanan latar belakang tidak merespons](#agent-view-says-the-background-service-did-not-respond): konfirmasi tetap aktif selama dua detik lagi, dan penghapusan mengakhiri proses sesi itu sendiri. Tekan `Esc` untuk membatalkan konfirmasi tanpa menghapus.316Sesi yang selesai yang tidak muat di layar dilipat menjadi baris `… N more`. Grup `Completed` mengisi ruang vertikal yang tersisa setelah grup aktif. Di terminal pendek, header dipadatkan menjadi satu baris ringkasan sehingga sesi yang bekerja atau membutuhkan masukan tetap terlihat.

307 317 

308Kecuali dalam kasus yang dipertahankan yang tercakup dalam [Apa yang dihapus saat menghapus sesi](#what-deleting-a-session-removes), penghapusan menghapus sesi dari daftar, dan worktree yang dibuat Claude untuknya dihapus, dipertahankan, atau dibiarkan di tempat tergantung pada cara Anda menghapus dan apa isi worktree. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume`.318#### Bawa kembali sesi masa lalu

309 319 

310Untuk membawa sesi kembali pada Claude Code v2.1.212 atau lebih baru, ketik `/resume` dalam input pengiriman. Pemilih terbuka dengan sesi masa lalu dari repositori tempat Anda membuka tampilan agent, terbaru terlebih dahulu, termasuk sesi yang Anda hapus dari daftar; sesi yang sudah memiliki baris tidak tercantum. `↑`/`↓` memindahkan pilihan, `Enter` melanjutkan sesi yang dipilih sebagai sesi latar belakang sehingga kembali masuk ke daftar sebagai baris, dan `Esc` menutup pemilih.320Untuk membawa sesi kembali pada Claude Code v2.1.212 atau lebih baru, ketik `/resume` dalam [input pengiriman](#dispatch-an-agent-from-agent-view). Pemilih terbuka dengan sesi masa lalu dari repositori tempat Anda membuka tampilan agent, terbaru terlebih dahulu, termasuk sesi yang Anda hapus dari daftar. Sesi yang sudah memiliki baris tidak tercantum. Tekan `Enter` untuk melanjutkan sesi yang dipilih sebagai sesi latar belakang, sehingga kembali masuk ke daftar sebagai baris.

311 321 

312Pemilih terbuka hanya untuk `/resume` tanpa argumen. Resume yang ditargetkan, dibatasi cakupannya, atau dibatasi tidak dapat dilayani oleh pemilih, jadi tampilan agent menunjukkan petunjuk `attach to a session to run it` sebagai gantinya ketika:322`/resume` gagal dengan `isn't available in agent view` ketika:

313 323 

314* `/resume` menyebutkan id atau istilah pencarian324* `/resume` menyebutkan id atau istilah pencarian

315* tampilan dibatasi dengan `--cwd`325* tampilan dibatasi dengan `--cwd`

316* tampilan dimulai dengan [`--safe-mode`](/docs/id/cli-reference#cli-flags)326* tampilan dimulai dengan [`--safe-mode`](/docs/id/cli-reference#cli-flags)

317* tampilan dibuka dengan flag seperti `--permission-mode` atau `--settings`327* tampilan dibuka dengan flag seperti `--permission-mode` atau `--settings`

318 328 

319Sesi yang selesai yang tidak muat di layar dilipat menjadi baris `… N more`. Grup `Completed` mengisi ruang vertikal yang tersisa setelah grup aktif, dan di terminal pendek header dipadatkan menjadi satu baris ringkasan sehingga sesi yang bekerja atau membutuhkan masukan tetap terlihat.329Jika Anda mengetik sesuatu setelah `/resume`, ketik ulang tanpanya. Jika Anda menggunakan salah satu flag tersebut, jalankan `claude agents` di shell Anda tanpa flag itu, lalu ketik `/resume` saja.

320 330 

321### Filter sesi331### Filter sesi

322 332 


361| `Ctrl+X` | Hentikan sesi; tekan lagi dalam dua detik untuk menghapusnya |371| `Ctrl+X` | Hentikan sesi; tekan lagi dalam dua detik untuk menghapusnya |

362| `Shift+↑` / `Shift+↓` | Atur ulang urutan sesi yang dipilih |372| `Shift+↑` / `Shift+↓` | Atur ulang urutan sesi yang dipilih |

363| `Esc` | Tutup panel intip, hapus input, atau keluar. Ketika Anda membuka tampilan agent dengan mengirim sesi Anda ke latar belakang dengan `←`, `Esc` terakhir kembali ke percakapan itu alih-alih keluar. Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `Esc` dalam input beralih dari mode INSERT ke mode NORMAL dan menyimpan teks Anda, seperti dalam prompt utama |373| `Esc` | Tutup panel intip, hapus input, atau keluar. Ketika Anda membuka tampilan agent dengan mengirim sesi Anda ke latar belakang dengan `←`, `Esc` terakhir kembali ke percakapan itu alih-alih keluar. Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `Esc` dalam input beralih dari mode INSERT ke mode NORMAL dan menyimpan teks Anda, seperti dalam prompt utama |

364| `Ctrl+C` | Hapus input; tekan dua kali untuk keluar |374| `Ctrl+C` | Hapus input; tekan dua kali untuk keluar. Saat teks di layar sedang dipilih, tekanan tersebut menghapus pilihan sebagai gantinya, dengan menyalinnya terlebih dahulu kecuali [memilih teks sudah menyalinnya](/docs/id/settings-reference#copyonselect) |

365| `?` | Tampilkan pintasan |375| `?` | Tampilkan pintasan |

366 376 

367Pintasan yang memiliki tindakan dalam [konteks `Agents`](/docs/id/keybindings#agents-actions) mengikuti [`keybindings.json`](/docs/id/keybindings) Anda. Demikian pula `Ctrl+G`, melalui binding `chat:externalEditor` dalam konteks `Chat`.377Pintasan yang memiliki tindakan dalam [konteks `Agents`](/docs/id/keybindings#agents-actions) mengikuti [`keybindings.json`](/docs/id/keybindings) Anda. Demikian pula `Ctrl+G`, melalui binding `chat:externalEditor` dalam konteks `Chat`.


395 405 

396* `/exit` dan `/quit` menutup agent view406* `/exit` dan `/quit` menutup agent view

397* `/logout` mengeluarkan Anda407* `/logout` mengeluarkan Anda

398* `/model` menetapkan [model pengiriman](#set-the-model)408* `/model`, `/effort`, dan `/fast` menetapkan [apa yang digunakan sesi yang Anda kirim berikutnya saat dimulai](#set-the-model-effort-and-fast-mode). `/effort` dan `/fast` memerlukan Claude Code v2.1.299 atau lebih baru.

399* `/login` membuka dialog masuk sehingga Anda dapat masuk lagi tanpa melampirkan ke sesi409* `/login` membuka dialog masuk sehingga Anda dapat masuk lagi tanpa melampirkan ke sesi

400* `/resume` tanpa argumen, atau alias `/continue` miliknya, membuka pemilih sesi masa lalu repositori untuk [membawa satu kembali](#organize-the-list) sebagai sesi latar belakang. Memerlukan Claude Code v2.1.212 atau lebih baru410* `/resume` tanpa argumen, atau alias `/continue` miliknya, membuka pemilih sesi masa lalu repositori untuk [membawa satu kembali](#bring-back-a-past-session) sebagai sesi latar belakang. Memerlukan Claude Code v2.1.212 atau lebih baru

401 411 

402Skills, perintah Anda sendiri, dan perintah bawaan yang memperluas prompt seperti `/init` dikirim ke sesi latar belakang baru sebagai prompt pertama mereka. Perintah bawaan lainnya menampilkan petunjuk `attach to a session to run it` sebagai gantinya. Semua yang Anda ketik tetap berada di input di sebelah petunjuk sehingga Anda dapat mengeditnya.412Skills, perintah Anda sendiri, dan perintah bawaan yang memperluas prompt seperti `/init` dikirim ke sesi latar belakang baru sebagai prompt pertama mereka. Petunjuk `isn't available in agent view` berarti perintah bawaan yang Anda masukkan tidak dijalankan. Untuk menjalankannya, [lampirkan ke sesi](#attach-to-a-session) dan masukkan perintah itu di sana. Semua yang Anda ketik tetap berada di input di sebelah petunjuk sehingga Anda dapat mengeditnya.

403 413 

404Mengemas tugas berulang sebagai [skill](/docs/id/skills) memungkinkan Anda memulai alur kerja yang sama dari agent view berulang kali tanpa mengetik ulang prompt.414Mengemas tugas berulang sebagai [skill](/docs/id/skills) memungkinkan Anda memulai alur kerja yang sama dari agent view berulang kali tanpa mengetik ulang prompt.

405 415 


458 468 

459#### What carries over when you background469#### What carries over when you background

460 470 

461Memindahkan ke latar belakang memulai proses baru yang melanjutkan dari percakapan yang disimpan, dan pekerjaan latar belakang yang sedang berlangsung pindah ke sana: perintah shell latar belakang yang sedang berjalan, subagent yang di-background, workflow dinamis, tugas terjadwal yang Anda buat dengan [`/loop`](/docs/id/scheduled-tasks), dan [balasan otomatis Claude terhadap komentar artifact](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) semuanya terbawa dan terus berjalan di sana. Subagent berpindah bersama dengan semua yang dimulainya, jadi subagent hanya terbawa ketika semua pekerjaan itu juga dapat berpindah. Untuk menghentikan pekerjaan latar belakang yang sedang berlangsung alih-alih membawanya, atur environment variable [`CLAUDE_DISABLE_ADOPT=1`](/docs/id/env-vars#variables); Claude Code kemudian meminta Anda untuk mengonfirmasi sebelum memindahkan ke latar belakang.471Memindahkan ke latar belakang memulai proses baru yang melanjutkan dari percakapan yang disimpan, dan pekerjaan latar belakang yang sedang berlangsung pindah ke sana. Perintah shell latar belakang yang sedang berjalan, subagent yang di-background, workflow dinamis, tugas terjadwal yang Anda buat dengan [`/loop`](/docs/id/scheduled-tasks), dan [balasan otomatis Claude terhadap komentar artifact](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) semuanya terbawa dan terus berjalan di sana. Subagent berpindah bersama dengan semua yang dimulainya, jadi subagent hanya terbawa ketika semua pekerjaan itu juga dapat berpindah.

462 472 

463Ketika [workflow dinamis](/docs/id/workflows) masih memiliki subagent yang berjalan, Claude Code bertanya sebelum memindahkan ke latar belakang dengan dialog `Background this session?`, yang menyebutkan berapa banyak subagent yang akan dimulai ulang. Pilih `Stay` untuk membiarkan mereka selesai terlebih dahulu. Jika Anda mengonfirmasi, Claude Code memutar ulang run tersebut dalam sesi latar belakang: subagent yang masih berjalan dimulai dari awal, jadi token yang telah mereka gunakan sejauh ini dihabiskan lagi. Lihat [Resume after a pause](/docs/id/workflows#resume-after-a-pause) untuk subagent selesai mana yang mengembalikan hasil tersimpannya dan mana yang berjalan lagi.473Ketika [workflow dinamis](/docs/id/workflows) masih memiliki subagent yang berjalan, Claude Code bertanya sebelum memindahkan ke latar belakang dengan dialog `Background this session?`, yang menyebutkan berapa banyak subagent yang akan dimulai ulang. Pilih `Stay` untuk membiarkan mereka selesai terlebih dahulu. Jika Anda mengonfirmasi, Claude Code memutar ulang run tersebut dalam sesi latar belakang: subagent yang masih berjalan dimulai dari awal, jadi token yang telah mereka gunakan sejauh ini dihabiskan lagi. Lihat [Resume after a pause](/docs/id/workflows#resume-after-a-pause) untuk subagent selesai mana yang mengembalikan hasil tersimpannya dan mana yang berjalan lagi.

464 474 


526 claude stop 7c5dcf5d stop this session536 claude stop 7c5dcf5d stop this session

527```537```

528 538 

539#### Prompts that contain `--bg`

540 

541Prompt yang menyebutkan `--bg` atau `--background` dikirimkan persis seperti yang diketik, begitu pula balasan `--bg` yang Anda kirim ke sesi latar belakang. Misalnya, perintah ini memulai satu sesi latar belakang, dan `--bg` kedua adalah bagian dari prompt-nya:

542 

543```bash theme={null}

544claude --bg "find out why --bg sessions are slow to start on this machine"

545```

546 

547Claude Code membaca seluruh argumen sebagai flag hanya di posisi tempat flag dapat berada: sebelum pemisah `--` tunggal apa pun dan bukan di posisi tempat flag lain mengharapkan nilainya. Letakkan flag terlebih dahulu, seperti pada `claude --bg "<prompt>"`.

548 

549Ketika posisinya ambigu, seperti setelah rangkaian flag pendek yang digabungkan, Claude Code tidak memulai apa pun. Claude Code keluar dengan [`Couldn't tell whether --bg is a flag or text here`](/docs/id/errors#couldnt-tell-whether-bg-is-a-flag-or-text) sebagai gantinya.

550 

529#### Run a shell command551#### Run a shell command

530 552 

531Untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, berikan `--exec`. Contoh berikut menjalankan `pytest -x` sebagai pekerjaan latar belakang:553Untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, berikan `--exec`. Contoh berikut menjalankan `pytest -x` sebagai pekerjaan latar belakang:


626 648 

627Kedua jalur mempertahankan direktori yang disebutkan dalam catatan sesi lain yang telah selesai.649Kedua jalur mempertahankan direktori yang disebutkan dalam catatan sesi lain yang telah selesai.

628 650 

629### Set the model651### Set the model, effort, and fast mode

630 652 

631Nama model yang ditampilkan di header agent view adalah default pengiriman. Sesi baru yang Anda mulai dari input menggunakan model ini, yang berasal dari [pengaturan `model`](/docs/id/settings-reference#model) dalam pengaturan pengguna Anda. Atur dengan memilih model di [pemilih `/model`](/docs/id/model-config), atau edit pengaturan secara langsung.653Di agent view, ketik `/model`, `/effort`, atau `/fast` di [input pengiriman](#dispatch-an-agent-from-agent-view) dan tekan `Enter`, dan sesi yang Anda kirim setelahnya dimulai dengan apa yang Anda atur. Pilihan Anda tetap berlaku untuk jendela agent view tersebut dan tidak disimpan ke file pengaturan. `/effort` dan `/fast` memerlukan Claude Code v2.1.299 atau lebih baru, begitu pula `/model` yang diketik tanpa apa pun setelahnya.

632 654 

633Untuk menimpa default pengiriman untuk seluruh sesi agent view, berikan `--model` ketika membuka agent view. Lihat [Permission mode, model, and effort](#permission-mode-model-and-effort).655Berikan nilai setelah perintah, atau ketik perintah saja untuk memilih satu dari daftar:

634 656 

635Untuk mengubah default pengiriman dari dalam agent view, ketik `/model` diikuti nama model di input pengiriman dan tekan `Enter`. Header diperbarui untuk menampilkan model itu dengan penanda `(session)`, dan sesi yang Anda kirim setelahnya menggunakannya. Ketik `/model default` untuk menghapus override dan kembali ke default pengiriman. Override ini berlaku untuk sisa run `claude agents` saat ini dan tidak menulis ke file pengaturan Anda. Contoh berikut mengirim satu sesi pada Opus dan sesi berikutnya pada Sonnet:657* **Model**: `/model <name>`, misalnya `/model opus`

658* **[Tingkat effort](/docs/id/model-config#adjust-effort-level)**: `/effort` dengan `low`, `medium`, `high`, `xhigh`, atau `max`, misalnya `/effort high`. Untuk memulai sesi dalam [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode), buka agent view dari shell Anda dengan [`claude agents --effort ultracode`](#dispatch-defaults) sebagai gantinya; input pengiriman tidak menerima `/effort ultracode`

659* **Fast mode**: `/fast on` atau `/fast off`. Sesi dimulai dalam fast mode hanya jika fast mode [tersedia untuk Anda](/docs/id/fast-mode#requirements) dan modelnya mendukung fast mode. Pada model yang tidak mendukungnya, sesi dimulai dengan fast mode mati, jadi gunakan `/model` terlebih dahulu untuk memilih salah satu [model yang mendukung fast mode](/docs/id/fast-mode). Petunjuk di bawah input, bukan header, yang mengonfirmasi apakah sesi baru mendapatkan fast mode.

660 

661Untuk membatalkan pilihan, berikan `default` sebagai nilai, misalnya `/effort default`.

662 

663Contoh berikut mengirim satu sesi pada Opus dan sesi berikutnya pada Sonnet:

636 664 

637```text theme={null}665```text theme={null}

638/model opus666/model opus


644Setiap sesi latar belakang dapat berjalan pada model yang berbeda. Untuk menimpanya untuk satu sesi:672Setiap sesi latar belakang dapat berjalan pada model yang berbeda. Untuk menimpanya untuk satu sesi:

645 673 

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

647* Lampirkan ke sesi yang berjalan dan jalankan `/model` untuk beralih: pilihan dari pemilih, atau `/model <name>` yang diketik, disimpan sebagai default Anda untuk sesi baru kecuali Anda menekan `s` di pemilih untuk peralihan khusus sesi. Peralihan khusus sesi tetap berlaku jika sesi dimulai ulang.675* Lampirkan ke sesi yang berjalan dan jalankan `/model` untuk beralih. Pilihan dari pemilih, atau `/model <name>` yang diketik, disimpan sebagai default Anda untuk sesi baru kecuali Anda menekan `s` di pemilih untuk peralihan khusus sesi. Peralihan khusus sesi tetap berlaku jika sesi dimulai ulang.

648* Kirim [subagent](/docs/id/sub-agents) yang frontmatter-nya menetapkan field `model`.676* Kirim [subagent](/docs/id/sub-agents) yang menetapkan `model` dalam frontmatter-nya, dengan memulai prompt dengan namanya atau menyebutkan `@name`. Selama pilihan `/model` di input pengiriman berlaku, `model` milik subagent tidak digunakan, jadi masukkan `/model default` di sana. Jika Anda meluncurkan dengan [`claude agents --model`](#dispatch-defaults), model milik subagent juga tidak digunakan, jadi jalankan `claude agents` di shell Anda tanpa `--model`.

649 677 

650### Permission mode, model, and effort678### Permission mode, model, and effort

651 679 


666* Anda memindahkan sesi Anda sendiri ke latar belakang dengan `←` atau `/background`694* Anda memindahkan sesi Anda sendiri ke latar belakang dengan `←` atau `/background`

667* Anda mengirim sesi ke direktori tempat Anda berada695* Anda mengirim sesi ke direktori tempat Anda berada

668* Anda membangunkan sesi yang dihentikan di direktori tempat Anda berada dengan melampirkan atau membalasnya696* Anda membangunkan sesi yang dihentikan di direktori tempat Anda berada dengan melampirkan atau membalasnya

697* Anda memulai ulang sesi di direktori tempat Anda berada dengan [`claude respawn`](#manage-sessions-from-the-shell)

669 698 

670Claude Code meneruskan gateway yang berada di depan penyedia cloud. Jika shell tempat Anda mengirim memilih penyedia dan mengekspor endpoint gateway-nya dengan flag bypass auth-nya, Claude Code meneruskan pasangan endpoint-dan-flag tersebut ke sesi di bawah kondisi yang berlaku untuk `ANTHROPIC_BASE_URL`, bersama dengan `ANTHROPIC_CUSTOM_HEADERS`. Misalnya, ekspor `CLAUDE_CODE_USE_VERTEX=1` dengan `ANTHROPIC_VERTEX_BASE_URL` dan `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, dan Claude Code meneruskan endpoint dan flag tersebut.699Claude Code meneruskan gateway yang berada di depan penyedia cloud. Jika shell tempat Anda mengirim memilih penyedia dan mengekspor endpoint gateway-nya dengan flag bypass auth-nya, Claude Code meneruskan pasangan endpoint-dan-flag tersebut ke sesi di bawah kondisi yang berlaku untuk `ANTHROPIC_BASE_URL`, bersama dengan `ANTHROPIC_CUSTOM_HEADERS`. Misalnya, ekspor `CLAUDE_CODE_USE_VERTEX=1` dengan `ANTHROPIC_VERTEX_BASE_URL` dan `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, dan Claude Code meneruskan endpoint dan flag tersebut.

671 700 


673 702 

674#### Permission mode703#### Permission mode

675 704 

676[Mode izin](/docs/id/permissions) tergantung pada cara Anda memulai sesi:705* **Dipindahkan ke latar belakang dengan `/bg` atau `←`**: Claude Code mempertahankan [mode izin](/docs/id/permissions) yang digunakan sesi, jadi sesi yang Anda alihkan ke `acceptEdits` atau `auto` tetap dalam mode itu setelah dilepas

677 

678* **Dipindahkan ke latar belakang dengan `/bg` atau `←`**: Claude Code mempertahankan mode izin yang digunakan sesi, jadi sesi yang Anda alihkan ke `acceptEdits` atau `auto` tetap dalam mode itu setelah dilepas

679* **Dikirim dari agent view yang Anda buka dengan `←`**: Claude Code mengambil mode izin sesi baru dari konfigurasi direktori target terlebih dahulu, lalu dari sesi asal Anda

680* **Dikirim dari `claude agents` yang dimulai di shell, atau dengan `claude --bg`**: sesi baru dimulai seperti sesi `claude` baru di direktori itu, kecuali Anda mengirimnya dari agent view yang Anda buka dengan [dispatch defaults](#dispatch-defaults). [Which permission mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) mencantumkan urutannya706* **Dikirim dari `claude agents` yang dimulai di shell, atau dengan `claude --bg`**: sesi baru dimulai seperti sesi `claude` baru di direktori itu, kecuali Anda mengirimnya dari agent view yang Anda buka dengan [dispatch defaults](#dispatch-defaults). [Which permission mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) mencantumkan urutannya

681 707 

682Untuk sesi yang Anda kirim dari agent view yang dibuka dengan `←`, Claude Code mengambil mode izin dari yang pertama berlaku di antara berikut:708Untuk sesi yang Anda kirim dari agent view yang dibuka dengan `←`, Claude Code mengambil mode izin dari yang pertama berlaku di antara berikut:

683 709 

6841. [`permissions.defaultMode`](/docs/id/settings-reference#permissions-defaultmode) direktori target. Dua aturan sumber berlaku:7101. [`permissions.defaultMode`](/docs/id/settings-reference#permissions-defaultmode) direktori target. `auto` dan `bypassPermissions` [hanya berlaku dari pengaturan terkelola, file `--settings`, atau `~/.claude/settings.json`](/docs/id/settings-reference#permissions-defaultmode). Claude Code menolak `defaultMode` dari `.claude/settings.json` atau `.claude/settings.local.json` proyek yang memilih mode lebih permisif daripada mode sesi asal Anda.

685 * `auto` dan `bypassPermissions` [hanya berlaku dari pengaturan terkelola, file `--settings`, atau `~/.claude/settings.json`](/docs/id/settings-reference#permissions-defaultmode).7112. Mode izin sesi asal Anda.

686 * Claude Code menolak `defaultMode` dari `.claude/settings.json` atau `.claude/settings.local.json` proyek yang memilih mode lebih permisif daripada mode sesi asal Anda.712 

6872. Mode izin sesi asal Anda. Jika sesi itu berada dalam mode `bypassPermissions`, sesi baru dapat dimulai dalam mode Manual sebagai gantinya, dengan pemberitahuan `Bypass permissions was requested at launch and ignored`. Hal itu terjadi ketika penerimaan penafian bypass Anda hanya ada di `.claude/settings.local.json` atau file `--settings`. Lanjutkan dalam mode Manual, atau [tambahkan penerimaan tersebut ke `~/.claude/settings.json`](/docs/id/permission-modes#bypass-permissions-acceptance).713 Jika sesi itu berada dalam mode `bypassPermissions`, sesi baru dapat dimulai dalam mode Manual sebagai gantinya, dengan pemberitahuan `Bypass permissions was requested at launch and ignored`. Hal itu terjadi ketika penerimaan penafian bypass Anda hanya ada di `.claude/settings.local.json` atau file `--settings`. Lanjutkan dalam mode Manual, atau [tambahkan penerimaan tersebut ke `~/.claude/settings.json`](/docs/id/permission-modes#bypass-permissions-ignored-in-a-background-session).

688 714 

689Ketika Claude Code menolak mode suatu sumber karena terlalu permisif, sumber berikutnya dalam daftar yang menentukan. Misalnya, jika Anda mengirim dari sesi plan mode ke direktori yang pengaturan check-in-nya meminta `acceptEdits`, sesi baru dimulai dalam plan mode. Jika Anda memindahkan `defaultMode` itu ke `~/.claude/settings.json`, pengaturan tersebut berlaku terlepas dari mode izin sesi asal Anda.715Ketika Claude Code menolak mode suatu sumber karena terlalu permisif, sumber berikutnya dalam daftar yang menentukan. Misalnya, jika Anda mengirim dari sesi plan mode ke direktori yang pengaturan check-in-nya meminta `acceptEdits`, sesi baru dimulai dalam plan mode. Jika Anda memindahkan `defaultMode` itu ke `~/.claude/settings.json`, pengaturan tersebut berlaku terlepas dari mode izin sesi asal Anda.

690 716 


816* **Selesai atau menunggu pesan Anda berikutnya, dan tidak terhubung selama sekitar satu jam**: supervisor menghentikan proses untuk membebaskan sumber daya. Sesi yang mengakhiri giliran dengan mengajukan pertanyaan kepada Anda dihitung sebagai menunggu pesan Anda berikutnya. Percakapan tetap di disk, dan lain kali Anda melampirkan atau membalas, sesi dilanjutkan dari tempat ia berhenti. Pin sesi dengan `Ctrl+T` untuk membuat prosesnya tetap berjalan.842* **Selesai atau menunggu pesan Anda berikutnya, dan tidak terhubung selama sekitar satu jam**: supervisor menghentikan proses untuk membebaskan sumber daya. Sesi yang mengakhiri giliran dengan mengajukan pertanyaan kepada Anda dihitung sebagai menunggu pesan Anda berikutnya. Percakapan tetap di disk, dan lain kali Anda melampirkan atau membalas, sesi dilanjutkan dari tempat ia berhenti. Pin sesi dengan `Ctrl+T` untuk membuat prosesnya tetap berjalan.

817* **Keluar secara tidak terduga sementara supervisor berjalan**: supervisor memulai ulang proses. Mengakhiri sesi yang Anda kirim ke latar belakang sendiri dengan `←` atau `/background`, misalnya dengan `kill`, menandainya sebagai berhenti alih-alih memulai ulangnya. Untuk sesi yang berakhir dengan shutdown, lihat [Sesi menampilkan sebagai gagal atau berhenti setelah shutdown](#sessions-show-as-failed-after-shutdown).843* **Keluar secara tidak terduga sementara supervisor berjalan**: supervisor memulai ulang proses. Mengakhiri sesi yang Anda kirim ke latar belakang sendiri dengan `←` atau `/background`, misalnya dengan `kill`, menandainya sebagai berhenti alih-alih memulai ulangnya. Untuk sesi yang berakhir dengan shutdown, lihat [Sesi menampilkan sebagai gagal atau berhenti setelah shutdown](#sessions-show-as-failed-after-shutdown).

818* **Setelah auto-update**: supervisor memulai ulang dirinya sendiri ke versi baru dan memindahkan sesi idle ke latar belakang. Sesi yang bekerja, menunggu Anda, atau terhubung tidak terganggu.844* **Setelah auto-update**: supervisor memulai ulang dirinya sendiri ke versi baru dan memindahkan sesi idle ke latar belakang. Sesi yang bekerja, menunggu Anda, atau terhubung tidak terganggu.

819* **Supervisor itu sendiri berhenti**, misalnya karena prosesnya diakhiri dari luar Claude Code: di macOS dan Linux, proses setiap sesi menunggu sekitar satu menit agar supervisor baru terhubung kembali dengannya, dan berhenti jika tidak ada yang terhubung. Jalankan `claude agents` di shell Anda dalam satu menit tersebut untuk memulai supervisor baru dan membuat sesi Anda tetap berjalan. Jika satu menit berlalu lebih dulu, sesi berhenti, tetapi percakapan yang tersimpan tetap ada di disk: lampirkan atau balas ke sesi dan sesi tersebut akan dimulai ulang dari percakapan yang tersimpan, seperti dijelaskan di [Sesi menampilkan sebagai gagal atau berhenti setelah shutdown](#sessions-show-as-failed-after-shutdown).845* **Supervisor itu sendiri berhenti**, misalnya karena prosesnya diakhiri dari luar Claude Code: di macOS dan Linux, sesi Anda berhenti kecuali supervisor baru terhubung dalam waktu sekitar satu menit. Untuk memulainya, jalankan `claude agents` di shell Anda. Setelah satu menit tersebut, lihat [Menjaga sesi tetap berjalan setelah supervisor berhenti](#keep-sessions-running-after-the-supervisor-stops).

820 846 

821Ketika proses sesi berhenti atau dimulai ulang, perintah shell latar belakang, alur kerja dinamis, dan subagent latar belakang yang Claude mulai di dalamnya dibawa ke proses berikutnya; monitor yang berjalan dan perintah shell yang subagent mulai berhenti dengan proses. Menghapus sesi menghentikan semua yang dibawanya. Untuk menghentikan semuanya dengan proses alih-alih membawanya, atur [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/id/env-vars#variables) ke `1`.847Ketika proses sesi berhenti atau dimulai ulang, perintah shell latar belakang, alur kerja dinamis, dan subagent latar belakang yang Claude mulai di dalamnya dibawa ke proses berikutnya; monitor yang berjalan dan perintah shell yang subagent mulai berhenti dengan proses. Menghapus sesi menghentikan semua yang dibawanya. Untuk menghentikan semuanya dengan proses alih-alih membawanya, atur [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/id/env-vars#variables) ke `1`.

822 848 

823Supervisor dan sesinya mengautentikasi dengan kredensial yang disimpan sama seperti sesi interaktif Anda. Untuk pengaturan dan variabel shell mana yang mencapai sesi, termasuk `PATH`, lihat [Pengaturan dan penyedia](#settings-and-provider). Untuk endpoint gateway, lihat [Gateway LLM](#llm-gateway).849Supervisor dan sesinya mengautentikasi dengan kredensial yang disimpan sama seperti sesi interaktif Anda. Untuk pengaturan dan variabel shell mana yang mencapai sesi, termasuk `PATH`, lihat [Pengaturan dan penyedia](#settings-and-provider). Untuk endpoint gateway, lihat [Gateway LLM](#llm-gateway).

824 850 

851#### Menjaga sesi tetap berjalan setelah supervisor berhenti

852 

853Jika tampilan agent mencetak pemberitahuan ini saat keluar, tidak ada [supervisor](#the-supervisor-process) yang berjalan:

854 

855```text theme={null}

856Background sessions still running will stop in about a minute. Run 'claude agents' to keep them.

857```

858 

859Jalankan `claude agents` di shell Anda dalam satu menit tersebut untuk memulai supervisor baru dan membuat sesi Anda tetap berjalan.

860 

861Jika satu menit berlalu lebih dulu, sesi berhenti, tetapi percakapan yang tersimpan tetap ada di disk. Untuk memulai ulang sesi dari percakapan yang tersimpan, [lampirkan](#attach-to-a-session) atau [balas](#peek-and-reply) ke sesi tersebut, seperti dijelaskan di [Sesi menampilkan sebagai gagal atau berhenti setelah shutdown](#sessions-show-as-failed-after-shutdown).

862 

825### Tempat status disimpan863### Tempat status disimpan

826 864 

827Status 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.865Status 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.


930claude daemon stop --any --keep-workers968claude daemon stop --any --keep-workers

931```969```

932 970 

933Kemudian jalankan `claude agents` di shell Anda untuk memulai supervisor baru. Jika Anda melakukannya dalam [sekitar satu menit](#the-supervisor-process) setelah penghentian, supervisor tersebut terhubung kembali ke sesi yang masih berjalan, dan pekerjaannya berlanjut tanpa gangguan. Jika Anda membutuhkan waktu lebih lama, di macOS dan Linux sesi tersebut sudah berhenti dengan sendirinya pada saat itu, dan melampirkan atau membalas salah satunya akan memulai ulang sesi itu dari percakapan yang disimpannya. Tanpa `--keep-workers`, perintah mengakhiri sesi latar belakang juga. Flag `--any` membuat perintah menghentikan supervisor yang dimulai Claude Code sesuai permintaan.971Selanjutnya, jalankan `claude agents` di shell Anda untuk memulai supervisor baru. Di macOS dan Linux, lakukan ini dalam sekitar satu menit setelah supervisor lama berakhir, atau sesi akan [berhenti tanpa supervisor](#the-supervisor-process). Jika Anda melihat `stopped` tetapi kesalahan yang sama muncul kembali, dan Anda menggunakan macOS atau Linux dengan Claude Code yang lebih lama dari v2.1.300, jalankan `claude update`, lalu jalankan kedua perintah tersebut lagi.

934 

935Supervisor yang dimulai tetapi tidak dapat menerima koneksi keluar dan melepaskan kuncinya sendiri, jadi `claude agents` berikutnya memulai yang baru tanpa penghentian manual ini. Langkah-langkah di atas berlaku ketika supervisor yang sedang berjalan macet.

936 972 

937Jika perintah malah keluar mengatakan proses yang tercatat tidak dapat diverifikasi sebagai supervisor, periksa ID proses yang dilaporkan: jika itu adalah supervisor yang Anda miliki, hentikan sendiri, kemudian hapus `~/.claude/daemon.lock` sehingga `claude agents` berikutnya dimulai segar.973Jika perintah stop malah mencetak salah satu dari empat pesan berikut, proses lama tidak dihentikan. Lakukan apa yang dikatakan baris yang sesuai di shell Anda, lalu jalankan `claude agents`:

938 974 

939Di Windows, jika supervisor tidak merespons permintaan stop, perintah mencetak ID prosesnya. Akhiri proses itu dengan `taskkill /PID <pid>` untuk menyelesaikan pemulihan. Sesi latar belakang masih dipertahankan saat Anda memberikan `--keep-workers`.975| Pesan berisi | Platform | Tindakan |

976| :- | :- | :- |

977| `could not be verified as the daemon, so it was not signalled` | Semua | Cari tahu program mana yang memiliki ID proses tersebut. Jika itu adalah supervisor Anda sendiri, hentikan; biarkan program lain apa pun. Kemudian hapus `~/.claude/daemon.lock`. |

978| `is still running after SIGKILL` | macOS, Linux | Tunggu hingga proses keluar. Jika tidak pernah keluar, mulai ulang komputer Anda. |

979| `was not sent SIGKILL` | macOS, Linux | Jalankan perintah stop lagi. Jika proses masih ada, periksa dengan `ps -ww -o args= -p <pid>`: Claude Code yang dimulai dengan `daemon` adalah supervisor, jadi jalankan `kill -9 <pid>`. Biarkan proses lainnya; jika `claude agents` kemudian tidak dapat memulai supervisor, hapus `~/.claude/daemon.lock`. |

980| `supervisor (pid=<pid>) is still running` | Windows | Akhiri proses dengan `taskkill /PID <pid>` |

940 981 

941### Pengiriman gagal dengan `Could not resolve authentication method`982### Pengiriman gagal dengan `Could not resolve authentication method`

942 983 


950 991 

951Lihat [referensi kesalahan](/docs/id/errors#could-not-resolve-authentication-method) untuk daftar lengkap penyebab dan perbaikan.992Lihat [referensi kesalahan](/docs/id/errors#could-not-resolve-authentication-method) untuk daftar lengkap penyebab dan perbaikan.

952 993 

994### Sesi latar belakang menampilkan `No LLM gateway`

995 

996Jika sesi latar belakang menampilkan [`No LLM gateway`](/docs/id/errors#no-llm-gateway-opened-from-another-folder), sesi tersebut tidak mendapatkan `ANTHROPIC_BASE_URL` gateway Anda, sehingga permintaannya gagal. Claude Code menahannya karena Anda mengirim, membangunkan, atau memulai ulang sesi dari direktori selain folder yang disebutkan dalam pesan.

997 

998Anda melihat pesan ini, misalnya, setelah Anda mengirim ke repositori dengan [`@<repo>`](#dispatch-to-a-specific-directory) atau membangunkan sesi yang dihentikan dengan menjalankan `claude attach` dari direktori lain. Untuk memberikan gateway Anda ke sesi, pilih perbaikan yang sesuai dengan tempat gateway Anda diatur:

999 

1000* **Anda mengekspor gateway di terminal Anda**: di terminal tempat Anda telah mengekspor variabel gateway, `cd` ke folder yang disebutkan dalam pesan dan jalankan perintah [`claude respawn <id>`](#manage-sessions-from-the-shell) dari pesan tersebut.

1001 * Gateway mencapai sesi hanya jika [supervisor](#the-supervisor-process) itu sendiri dimulai dari shell yang mengekspor gateway yang sama. Jika supervisor tidak dimulai dengan cara itu, mulai ulang supervisor dari terminal tempat Anda menjalankan perintah respawn, seperti yang dijelaskan dalam [Pengiriman gagal dengan `Could not resolve authentication method`](#dispatch-fails-with-could-not-resolve-authentication-method), lalu jalankan perintah itu lagi.

1002* **Anda menggunakan tampilan agent dalam proyek yang pengaturannya mengatur gateway**: letakkan `ANTHROPIC_BASE_URL` dan kredensialnya di [blok `env` file pengaturan](/docs/id/llm-gateway-connect#set-in-a-settings-file). Gunakan `~/.claude/settings.json`, atau `.claude/settings.local.json` di proyek sesi itu sendiri, yang keduanya dibaca oleh sesi yang di-respawn. Kemudian jalankan [`claude respawn <id>`](#manage-sessions-from-the-shell) di shell Anda dari direktori mana pun untuk memulai ulang sesi ini pada gateway.

1003 

953### Sesi latar belakang tidak dapat membaca Desktop, Documents, atau Downloads di macOS1004### Sesi latar belakang tidak dapat membaca Desktop, Documents, atau Downloads di macOS

954 1005 

955Di macOS, host sesi latar belakang berjalan sebagai prosesnya sendiri dan meminta akses ke folder yang dilindungi secara terpisah dari terminal Anda. Jika sesi latar belakang melaporkan `Operation not permitted` saat membaca `~/Desktop`, `~/Documents`, `~/Downloads`, atau lokasi yang dilindungi lainnya, berikan akses di System Settings di bawah Privacy & Security > Files and Folders, atau aktifkan Full Disk Access untuk entri tersebut.1006Di macOS, host sesi latar belakang berjalan sebagai prosesnya sendiri dan meminta akses ke folder yang dilindungi secara terpisah dari terminal Anda. Jika sesi latar belakang melaporkan `Operation not permitted` saat membaca `~/Desktop`, `~/Documents`, `~/Downloads`, atau lokasi yang dilindungi lainnya, berikan akses di System Settings di bawah Privacy & Security > Files and Folders, atau aktifkan Full Disk Access untuk entri tersebut.


996 1047 

997| Versi | Perubahan |1048| Versi | Perubahan |

998| - | - |1049| - | - |

1050| v2.1.299 | [`/effort` dan `/fast` dalam input dispatch](#set-the-model-effort-and-fast-mode) menetapkan tingkat effort dan fast mode untuk sesi yang Anda dispatch berikutnya. `/model`, `/effort`, atau `/fast` yang diketik tanpa nilai membuka pemilih. |

1051| v2.1.299 | Claude Code [membaca `--bg` dan `--background` sebagai flag](#from-your-shell) hanya sebelum pemisah `--` kosong mana pun dan di luar nilai flag lain, serta menolak posisi yang ambigu alih-alih menebak. Sebelum rilis ini, prompt atau balasan berupa `--bg` atau `--background` ke sesi latar belakang bisa dianggap sebagai flag. Hal itu bisa memulai sesi latar belakang baru berulang kali alih-alih mengirimkan teks tersebut. |

1052| v2.1.296 | Prompt atau perintah shell `!` yang Anda masukkan [saat sesi berpindah ke latar belakang](#switch-sessions-without-leaving-the-terminal) dihentikan atau dibiarkan tidak terkirim, dan teksnya disimpan dalam riwayat prompt. Sebelum rilis ini, respons atau perintah terus berjalan di tempat yang tidak lagi dapat Anda lihat, dan prompt yang dikirim tepat setelah `←` bisa berjalan untuk kedua kalinya tanpa terlihat. Prompt yang diketik sementara hook `SessionStart` masih berjalan hilang: tidak terkirim, dan tidak ada dalam riwayat prompt. |

1053| v2.1.295 | `Ctrl+C` pada prompt idle dari [sesi latar belakang yang terpasang](#attach-to-a-session) membiarkan wakeup tertunda dari [`/loop` dengan tempo sendiri](/docs/id/scheduled-tasks#let-claude-choose-the-interval) tetap utuh, sehingga menekannya dua kali melepaskan sesi dan loop terus berjalan. `Esc` pada prompt itu [menghentikan loop dengan tempo sendiri](/docs/id/scheduled-tasks#stop-a-loop) dan menampilkan pemberitahuan `Pending wakeup cancelled`. Sebelum rilis ini, `Ctrl+C` pertama bisa mengakhiri loop dengan tempo sendiri tanpa pemberitahuan, dan `Esc` tidak menghentikan loop yang telah berpindah ke latar belakang bersama sesi. |

1054| v2.1.295 | Di macOS dan Linux, ketika `claude agents` keluar sementara tidak ada [supervisor](#keep-sessions-running-after-the-supervisor-stops) yang berjalan, ia tidak memulai supervisor baru dengan sendirinya. Sesi yang sedang berjalan kemudian berhenti sekitar satu menit kemudian kecuali Anda menjalankan `claude agents` lagi, dan agent view dapat mencetak pemberitahuan tentang hal itu saat keluar. Sebelum rilis ini, `claude agents` yang keluar memulai supervisor baru. |

1055| v2.1.295 | Di macOS dengan installer native, sesi latar belakang yang dimulai ulang bersamaan setelah pembaruan berjalan di bawah entri Claude Code yang sama yang memegang [akses folder terlindungi](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) yang Anda berikan. Sebelum rilis ini, sesi tersebut bisa berjalan di bawah path biner itu sendiri. macOS mencantumkan path itu sebagai entri terpisah, sehingga permintaan akses folder bisa muncul kembali setelah pembaruan. |

999| v2.1.290 | [`claude attach` dan `claude logs`](#manage-sessions-from-the-shell) dapat menerima sebagian nama sesi sebagai pengganti ID. |1056| v2.1.290 | [`claude attach` dan `claude logs`](#manage-sessions-from-the-shell) dapat menerima sebagian nama sesi sebagai pengganti ID. |

1000| v2.1.290 | `/model`, `/effort`, `/rename`, dan `/usage` yang dikirim sebagai [balasan intip](#peek-and-reply) ke sesi yang sedang bekerja langsung dijalankan. |1057| v2.1.290 | `/model`, `/effort`, `/rename`, dan `/usage` yang dikirim sebagai [balasan intip](#peek-and-reply) ke sesi yang sedang bekerja langsung dijalankan. |

1001| v2.1.290 | [Balasan intip](#peek-and-reply) yang tidak dapat dikirimkan tidak lagi disimpan untuk restart berikutnya ketika diawali dengan `/`, atau ketika menjawab pertanyaan dengan pilihan yang telah ditentukan sementara proses sesi sedang berjalan. |1058| v2.1.290 | [Balasan intip](#peek-and-reply) yang tidak dapat dikirimkan tidak lagi disimpan untuk restart berikutnya ketika diawali dengan `/`, atau ketika menjawab pertanyaan dengan pilihan yang telah ditentukan sementara proses sesi sedang berjalan. |


1048| v2.1.216 | `/fork`: [konfirmasi](#from-inside-a-session) berupa satu baris, menampilkan status salinan, nama baris agent view-nya, dan ID sesinya untuk `claude attach`, berakhir dengan `runs in the origin tree` atau `edits this checkout` hanya ketika salinan berjalan di working tree utama atau mengedit checkout yang Anda buka. Mengklik nama memindahkan sesi ini ke latar belakang dan membuka agent view dalam sesi salinan. Konfirmasi tidak lagi menyatakan kembali mode izin yang diwarisi salinan; versi sebelumnya mencetak konfirmasi multi-baris tanpa nama yang dapat diklik. Needs input: `/install-github-app` dan daftar pengaturan `/mcp`, yang dijalankan sementara tidak ada yang dilampirkan, menampilkan sesi di bawah `Needs input` dengan baris yang menyebutkan perintah, dan melampirkan lalu menjalankan kembali perintah akan melanjutkan; dari v2.1.208 hingga v2.1.215 perintah-perintah tersebut ditolak sepenuhnya dalam keadaan itu. Pemulihan `--agent`: melanjutkan atau memulai ulang [sesi `--agent` yang dipindahkan ke latar belakang](#from-your-shell) memulihkan system prompt dan pembatasan tool agent, dengan mencari agent di direktori sesi itu sendiri terlebih dahulu, ketika workspace-nya dipercaya; sesi yang agent-nya tidak lagi ada melanjutkan dengan tool default dan system prompt default serta terbuka dengan peringatan yang terlihat, alih-alih diam-diam kembali ke agent default. `Ctrl+X`: menekannya dua kali menghapus sesi bahkan ketika upaya penghentian gagal, alih-alih penghentian yang gagal membatalkan penghapusan yang tertunda, dan sesi yang dihapus yang proses worker-nya telah mati tidak lagi muncul kembali pada refresh berikutnya. Penghapusan worktree: sesi yang direktori worktree-nya bukan milik repositori git mana pun dapat dihapus; sebelum rilis ini setiap upaya menghapus sesi seperti itu ditolak. Direktori yang sudah hilang langsung dibersihkan. Tekan ganda di agent view menghapus direktori yang masih memiliki file, dengan menjalankan hook `WorktreeRemove` Anda untuk direktori yang dibuat hook, kecuali catatan sesi lain juga menyebutkannya. `claude rm` mempertahankan direktori seperti itu selama masih ada file. |1105| v2.1.216 | `/fork`: [konfirmasi](#from-inside-a-session) berupa satu baris, menampilkan status salinan, nama baris agent view-nya, dan ID sesinya untuk `claude attach`, berakhir dengan `runs in the origin tree` atau `edits this checkout` hanya ketika salinan berjalan di working tree utama atau mengedit checkout yang Anda buka. Mengklik nama memindahkan sesi ini ke latar belakang dan membuka agent view dalam sesi salinan. Konfirmasi tidak lagi menyatakan kembali mode izin yang diwarisi salinan; versi sebelumnya mencetak konfirmasi multi-baris tanpa nama yang dapat diklik. Needs input: `/install-github-app` dan daftar pengaturan `/mcp`, yang dijalankan sementara tidak ada yang dilampirkan, menampilkan sesi di bawah `Needs input` dengan baris yang menyebutkan perintah, dan melampirkan lalu menjalankan kembali perintah akan melanjutkan; dari v2.1.208 hingga v2.1.215 perintah-perintah tersebut ditolak sepenuhnya dalam keadaan itu. Pemulihan `--agent`: melanjutkan atau memulai ulang [sesi `--agent` yang dipindahkan ke latar belakang](#from-your-shell) memulihkan system prompt dan pembatasan tool agent, dengan mencari agent di direktori sesi itu sendiri terlebih dahulu, ketika workspace-nya dipercaya; sesi yang agent-nya tidak lagi ada melanjutkan dengan tool default dan system prompt default serta terbuka dengan peringatan yang terlihat, alih-alih diam-diam kembali ke agent default. `Ctrl+X`: menekannya dua kali menghapus sesi bahkan ketika upaya penghentian gagal, alih-alih penghentian yang gagal membatalkan penghapusan yang tertunda, dan sesi yang dihapus yang proses worker-nya telah mati tidak lagi muncul kembali pada refresh berikutnya. Penghapusan worktree: sesi yang direktori worktree-nya bukan milik repositori git mana pun dapat dihapus; sebelum rilis ini setiap upaya menghapus sesi seperti itu ditolak. Direktori yang sudah hilang langsung dibersihkan. Tekan ganda di agent view menghapus direktori yang masih memiliki file, dengan menjalankan hook `WorktreeRemove` Anda untuk direktori yang dibuat hook, kecuali catatan sesi lain juga menyebutkannya. `claude rm` mempertahankan direktori seperti itu selama masih ada file. |

1049| v2.1.214 | Sesi yang dipindahkan ke latar belakang dengan `←` atau `/background` dan dibiarkan idle tanpa apa pun yang berjalan dihentikan prosesnya seperti sesi idle lainnya, alih-alih mempertahankan prosesnya dan layanan latar belakang berjalan tanpa batas. Sesi yang selesai dapat dihapus dengan `claude rm` atau dari agent view setelah layanan latar belakang menjadi idle, dan sesi yang memasuki worktree setelah didispatch dari direktori yang bukan repositori git, seperti folder workspace multi-repo, dapat dihapus dari agent view ketika worktree itu sendiri milik repositori git, karena pembersihan ditentukan dari worktree alih-alih direktori tempat sesi didispatch; kedua penghapusan tersebut ditolak pada setiap upaya sebelumnya. Membuka kembali sesi yang dihentikan memulihkan percakapan yang disimpannya bahkan ketika folder dalam penyimpanan transkrip tidak dapat dibaca. |1106| v2.1.214 | Sesi yang dipindahkan ke latar belakang dengan `←` atau `/background` dan dibiarkan idle tanpa apa pun yang berjalan dihentikan prosesnya seperti sesi idle lainnya, alih-alih mempertahankan prosesnya dan layanan latar belakang berjalan tanpa batas. Sesi yang selesai dapat dihapus dengan `claude rm` atau dari agent view setelah layanan latar belakang menjadi idle, dan sesi yang memasuki worktree setelah didispatch dari direktori yang bukan repositori git, seperti folder workspace multi-repo, dapat dihapus dari agent view ketika worktree itu sendiri milik repositori git, karena pembersihan ditentukan dari worktree alih-alih direktori tempat sesi didispatch; kedua penghapusan tersebut ditolak pada setiap upaya sebelumnya. Membuka kembali sesi yang dihentikan memulihkan percakapan yang disimpannya bahkan ketika folder dalam penyimpanan transkrip tidak dapat dibaca. |

1050| v2.1.213 | `/install-github-app`, daftar pengaturan [`/mcp`](/docs/id/mcp), dan tindakan autentikasi MCP berfungsi dalam sesi latar belakang sementara terminal dilampirkan, dan ditolak hanya ketika tidak ada yang dilampirkan, dengan pesan yang memberi tahu Anda untuk melampirkan dan menjalankan perintah lagi; dari v2.1.208 hingga v2.1.212 perintah-perintah tersebut ditolak bahkan dengan terminal dilampirkan. |1107| v2.1.213 | `/install-github-app`, daftar pengaturan [`/mcp`](/docs/id/mcp), dan tindakan autentikasi MCP berfungsi dalam sesi latar belakang sementara terminal dilampirkan, dan ditolak hanya ketika tidak ada yang dilampirkan, dengan pesan yang memberi tahu Anda untuk melampirkan dan menjalankan perintah lagi; dari v2.1.208 hingga v2.1.212 perintah-perintah tersebut ditolak bahkan dengan terminal dilampirkan. |

1051| v2.1.212 | [`/fork` dalam sesi interaktif](#from-inside-a-session) menyalin percakapan ke dalam sesi latar belakang baru yang muncul sebagai barisnya sendiri, dinamai menurut sesi asalnya atau, untuk fork dengan prompt dari sesi tanpa nama, menurut prompt fork, sementara sesi asli terus berjalan; perilaku subagent hasil fork sebelumnya dari `/fork` pindah ke `/subtask`. Dengan [agent view dimatikan](#turn-off-agent-view), `/fork` mempertahankan perilaku subagent hasil fork. Baris yang difokuskan yang menunggu prompt pertamanya menampilkan `space to send it a prompt`. `Ctrl+J` menyisipkan baris baru dalam input dispatch pada terminal dengan pelaporan tombol yang diperluas, di mana penekanan tombol tersebut sebelumnya diabaikan, dan overlay `?` mencantumkan pintasan tersebut. Hint footer `←` dalam sesi interaktif secara singkat menampilkan `N done` ketika sesi latar belakang selesai sementara tidak ada yang memerlukan input Anda. Mengetik `/resume` saja dalam agent view membuka pemilih sesi masa lalu dari repositori tempat Anda membuka agent view, termasuk sesi yang dihapus dari daftar, dan memilih salah satu melanjutkannya sebagai sesi latar belakang; sebelum rilis ini `/resume` tidak tersedia dalam agent view dan sesi yang dihapus hanya dapat dijangkau dengan `claude --resume` atau `/resume` dari sesi interaktif. Bentuk yang ditargetkan, dicakup, dan dibatasi tetap menampilkan hint `attach to a session to run it` yang ditampilkan versi sebelumnya untuk setiap bentuk. Sesi yang menunggu prompt host jaringan sandbox, permintaan input MCP, atau prompt pengaturan terkelola ditampilkan sebagai `Needs input` alih-alih `Working`, dalam agent view dan dalam `claude agents --json`, dan pertanyaan dari Claude melaporkan `waitingFor: input needed` alih-alih `permission prompt`. Melampirkan ke sesi yang prosesnya telah berhenti menampilkan transkripnya dalam format seperti yang dirender sesi aktif, alih-alih sebagai teks mentah. Sesi yang dihentikan yang transkripnya berada di tempat yang tidak terduga dilanjutkan darinya melalui pemindaian upaya terakhir atas transkrip yang Anda simpan, dan membuka baris yang tidak memiliki transkrip tersimpan menampilkan `Press enter again to restart this session fresh`, memulai ulangnya dari awal pada tekan kedua; v2.1.211 menampilkan penolakan tanpa cara untuk memulai ulang dari agent view. |1108| v2.1.212 | [`/fork` dalam sesi interaktif](#from-inside-a-session) menyalin percakapan ke dalam sesi latar belakang baru sementara sesi asli terus berjalan; perilaku subagent hasil fork sebelumnya dari `/fork` pindah ke `/subtask`. Dengan [agent view dimatikan](#turn-off-agent-view), `/fork` mempertahankan perilaku subagent hasil fork. |

1109| v2.1.212 | [Mengetik `/resume` saja dalam agent view](#bring-back-a-past-session) membuka pemilih sesi masa lalu dari repositori tempat Anda membuka agent view. |

1052| v2.1.211 | Membangunkan sesi yang dihentikan dengan melampirkan atau membalas dari direktori tempat ia berjalan kembali meneruskan gateway `ANTHROPIC_BASE_URL` shell Anda, di bawah kondisi yang sama dengan dispatch baru, sehingga sesi yang diautentikasi melalui gateway `ANTHROPIC_AUTH_TOKEN` dilanjutkan pada gateway alih-alih melaporkan `Not logged in`. Melampirkan ke sesi yang dihentikan yang dipindahkan ke latar belakang dari percakapan lain sebelum respons pertamanya selesai ditolak dengan `This session has no saved transcript` alih-alih diam-diam memulai percakapan kosong di bawah ID sesi yang sama; membuka baris yang sama dari agent view menampilkan penolakan di footer. Mengakhiri proses sesi `←` atau `/background` dari luar Claude Code menandainya dihentikan alih-alih supervisor memulai ulangnya, penghentian yang sudah tercatat di disk dihormati kecuali balasan yang Anda kirim masih menunggu untuk dikirimkan, sesi yang dimulai ulang setelah crash diberi tahu bahwa ia dimulai ulang, dan sesi `←` atau `/background` yang dimulai ulang tidak melanjutkan respons terputus yang lebih lama dari sekitar satu jam. Balasan penamaan sesi yang menjawab atau menolak prompt alih-alih memberinya label, seperti untuk prompt yang sebagian besar berupa tautan, dibuang dan baris mempertahankan nama yang diambil dari teks prompt. Menghapus sesi yang worktree-nya tidak lagi dikenali git berhasil, meninggalkan direktori worktree di disk dan menyebutkan path-nya, alih-alih setiap upaya ditolak. Penghapusan yang ditolak menampilkan alasannya pada baris sesi, termasuk kesalahan git yang mendasarinya ketika worktree tidak dapat dihapus, alih-alih baris diam-diam muncul kembali. |1110| v2.1.211 | Membangunkan sesi yang dihentikan dengan melampirkan atau membalas dari direktori tempat ia berjalan kembali meneruskan gateway `ANTHROPIC_BASE_URL` shell Anda, di bawah kondisi yang sama dengan dispatch baru, sehingga sesi yang diautentikasi melalui gateway `ANTHROPIC_AUTH_TOKEN` dilanjutkan pada gateway alih-alih melaporkan `Not logged in`. Melampirkan ke sesi yang dihentikan yang dipindahkan ke latar belakang dari percakapan lain sebelum respons pertamanya selesai ditolak dengan `This session has no saved transcript` alih-alih diam-diam memulai percakapan kosong di bawah ID sesi yang sama; membuka baris yang sama dari agent view menampilkan penolakan di footer. Mengakhiri proses sesi `←` atau `/background` dari luar Claude Code menandainya dihentikan alih-alih supervisor memulai ulangnya, penghentian yang sudah tercatat di disk dihormati kecuali balasan yang Anda kirim masih menunggu untuk dikirimkan, sesi yang dimulai ulang setelah crash diberi tahu bahwa ia dimulai ulang, dan sesi `←` atau `/background` yang dimulai ulang tidak melanjutkan respons terputus yang lebih lama dari sekitar satu jam. Balasan penamaan sesi yang menjawab atau menolak prompt alih-alih memberinya label, seperti untuk prompt yang sebagian besar berupa tautan, dibuang dan baris mempertahankan nama yang diambil dari teks prompt. Menghapus sesi yang worktree-nya tidak lagi dikenali git berhasil, meninggalkan direktori worktree di disk dan menyebutkan path-nya, alih-alih setiap upaya ditolak. Penghapusan yang ditolak menampilkan alasannya pada baris sesi, termasuk kesalahan git yang mendasarinya ketika worktree tidak dapat dihapus, alih-alih baris diam-diam muncul kembali. |

1053| v2.1.210 | `claude attach` menunggu sementara layanan latar belakang sedang dimulai atau menghubungkan kembali alih-alih gagal dengan kesalahan `job not found` atau `still starting`, melaporkan sesi yang selesai selama proses melampirkan sebagai keluar, dan menerapkan perubahan ukuran terminal yang dibuat selama melampirkan yang lambat ketika proses melampirkan selesai. Hitungan needs-input `←` pada footer prompt muncul di setiap penyedia, termasuk penyedia pihak ketiga yang sebelumnya menampilkan bentuk `← for agents` biasa. Memindahkan sesi ke latar belakang dengan `←` membawa daftar tugas Claude ke sesi latar belakang alih-alih menjatuhkannya. Baris tempat Anda menekan `←` mempertahankan nama yang tebal dan tidak redup setelah pilihan berpindah. `claude agents --effort` menerima `ultracode` alih-alih diam-diam menjatuhkannya. |1111| v2.1.210 | `claude attach` menunggu sementara layanan latar belakang sedang dimulai atau menghubungkan kembali alih-alih gagal dengan kesalahan `job not found` atau `still starting`, melaporkan sesi yang selesai selama proses melampirkan sebagai keluar, dan menerapkan perubahan ukuran terminal yang dibuat selama melampirkan yang lambat ketika proses melampirkan selesai. Hitungan needs-input `←` pada footer prompt muncul di setiap penyedia, termasuk penyedia pihak ketiga yang sebelumnya menampilkan bentuk `← for agents` biasa. Memindahkan sesi ke latar belakang dengan `←` membawa daftar tugas Claude ke sesi latar belakang alih-alih menjatuhkannya. Baris tempat Anda menekan `←` mempertahankan nama yang tebal dan tidak redup setelah pilihan berpindah. `claude agents --effort` menerima `ultracode` alih-alih diam-diam menjatuhkannya. |

1054| v2.1.208 | Melampirkan ke sesi yang prosesnya telah berhenti menampilkan layar terakhir transkripnya sementara proses dimulai, alih-alih hanya catatan `Session is starting`. Balasan yang tidak dapat dikirimkan karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal disimpan dan dikirim sebagai prompt berikutnya untuk sesi ketika prosesnya dimulai lagi; sebelum rilis ini, balasan yang hilang sementara layanan latar belakang tidak dapat dijangkau dibuang. Proses yang binernya sendiri diganti oleh pembaruan tetap dapat memulai supervisor, dari peluncur `claude` yang terinstal atau versi terbaru di disk, alih-alih gagal sampai Claude Code dimulai ulang. Supervisor yang menjalankan versi lebih lama tidak pernah memulai ulang sesi idle yang dimulai oleh versi lebih baru ke biner lamanya sendiri. Menghapus sesi menghapus worktree-nya bahkan setelah sesi memindahkan worktree ke branch berbeda, dan mempertahankan worktree bersama baris sesi ketika worktree memiliki commit yang belum di-push ke mana pun atau sesi lain mengklaimnya, alih-alih menghancurkan commit atau meninggalkan worktree tanpa pemilik. `/install-github-app` serta daftar pengaturan `/mcp` dan tindakan autentikasinya ditolak dalam sesi latar belakang dengan pesan yang menyebutkan alternatifnya; hanya dalam v2.1.208, pemilih `/model` ditolak dengan cara yang sama dan `/model <name>` yang diketik hanya mengganti model sesi itu alih-alih juga menyimpan model default Anda. |1112| v2.1.208 | Melampirkan ke sesi yang prosesnya telah berhenti menampilkan layar terakhir transkripnya sementara proses dimulai, alih-alih hanya catatan `Session is starting`. Balasan yang tidak dapat dikirimkan karena layanan latar belakang tidak dapat dijangkau atau pengiriman gagal disimpan dan dikirim sebagai prompt berikutnya untuk sesi ketika prosesnya dimulai lagi; sebelum rilis ini, balasan yang hilang sementara layanan latar belakang tidak dapat dijangkau dibuang. Proses yang binernya sendiri diganti oleh pembaruan tetap dapat memulai supervisor, dari peluncur `claude` yang terinstal atau versi terbaru di disk, alih-alih gagal sampai Claude Code dimulai ulang. Supervisor yang menjalankan versi lebih lama tidak pernah memulai ulang sesi idle yang dimulai oleh versi lebih baru ke biner lamanya sendiri. Menghapus sesi menghapus worktree-nya bahkan setelah sesi memindahkan worktree ke branch berbeda, dan mempertahankan worktree bersama baris sesi ketika worktree memiliki commit yang belum di-push ke mana pun atau sesi lain mengklaimnya, alih-alih menghancurkan commit atau meninggalkan worktree tanpa pemilik. `/install-github-app` serta daftar pengaturan `/mcp` dan tindakan autentikasinya ditolak dalam sesi latar belakang dengan pesan yang menyebutkan alternatifnya; hanya dalam v2.1.208, pemilih `/model` ditolak dengan cara yang sama dan `/model <name>` yang diketik hanya mengganti model sesi itu alih-alih juga menyimpan model default Anda. |


1061| v2.1.199 | Sesi latar belakang yang prosesnya keluar sebelum selesai dimulai pada host dengan memori rendah menampilkan `possibly low memory — free some up and retry` dalam status barisnya alih-alih hanya alasan keluar mentah. Memindahkan sesi ke latar belakang dengan `←` atau `/background` membawa `/color`-nya ke baris baru. |1119| v2.1.199 | Sesi latar belakang yang prosesnya keluar sebelum selesai dimulai pada host dengan memori rendah menampilkan `possibly low memory — free some up and retry` dalam status barisnya alih-alih hanya alasan keluar mentah. Memindahkan sesi ke latar belakang dengan `←` atau `/background` membawa `/color`-nya ke baris baru. |

1062| v2.1.198 | Agent view mengirim notifikasi melalui `preferredNotifChannel` ketika sesi latar belakang memerlukan input, selesai, atau gagal, dan memicu hook `Notification` dengan tipe `agent_needs_input` atau `agent_completed`. `←` dan `/exit` di dalam `claude attach <id>` kembali ke agent view alih-alih keluar ke shell; `Ctrl+Z` kembali ke shell. Sesi latar belakang yang mengisolasi pekerjaannya dalam worktree melakukan commit, mem-push branch terisolasinya sendiri, tidak pernah `main` atau `master`, dan membuka pull request draf ketika selesai alih-alih bertanya terlebih dahulu. `/login` berjalan dalam agent view dan membuka dialog masuk. Dialog keluar `Background work is running` menawarkan `Move to background and exit`. Handoff saat keluar juga mencakup subagent latar belakang, yang dilanjutkan dari transkrip mereka pada saat dibangunkan berikutnya alih-alih dilaporkan gagal. `claude --bg` yang dikombinasikan dengan `-p` atau `--print` ditolak dengan kesalahan. Host sesi latar belakang meminta izin Local Network macOS pada akses LAN pertama alih-alih gagal dengan `connect: no route to host`. |1120| v2.1.198 | Agent view mengirim notifikasi melalui `preferredNotifChannel` ketika sesi latar belakang memerlukan input, selesai, atau gagal, dan memicu hook `Notification` dengan tipe `agent_needs_input` atau `agent_completed`. `←` dan `/exit` di dalam `claude attach <id>` kembali ke agent view alih-alih keluar ke shell; `Ctrl+Z` kembali ke shell. Sesi latar belakang yang mengisolasi pekerjaannya dalam worktree melakukan commit, mem-push branch terisolasinya sendiri, tidak pernah `main` atau `master`, dan membuka pull request draf ketika selesai alih-alih bertanya terlebih dahulu. `/login` berjalan dalam agent view dan membuka dialog masuk. Dialog keluar `Background work is running` menawarkan `Move to background and exit`. Handoff saat keluar juga mencakup subagent latar belakang, yang dilanjutkan dari transkrip mereka pada saat dibangunkan berikutnya alih-alih dilaporkan gagal. `claude --bg` yang dikombinasikan dengan `-p` atau `--print` ditolak dengan kesalahan. Host sesi latar belakang meminta izin Local Network macOS pada akses LAN pertama alih-alih gagal dengan `connect: no route to host`. |

1063| v2.1.196 | Satu tekan `←` memindahkan sesi latar depan ke latar belakang; versi sebelumnya memerlukan dua tekan, dengan hint footer dan konfirmasi. `--dangerously-skip-permissions` yang diteruskan ke `claude agents` menampilkan penafian bypass alih-alih diam-diam dijatuhkan. Sesi interaktif yang tidak pernah Anda beri nama membawa nama default seperti `my-app-3f` dalam daftar sesi dan `claude agents --json`. Perintah shell latar belakang dan alur kerja dinamis bertahan ketika proses sesi dihentikan, dimulai ulang, atau diperbarui, termasuk di Windows; atur `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` untuk mematikan handoff. Transkrip yang salah terbaca sebagai kosong saat restart diberi nama baru dengan akhiran `.orphaned-` alih-alih dihapus. |1121| v2.1.196 | Satu tekan `←` memindahkan sesi latar depan ke latar belakang; versi sebelumnya memerlukan dua tekan, dengan hint footer dan konfirmasi. `--dangerously-skip-permissions` yang diteruskan ke `claude agents` menampilkan penafian bypass alih-alih diam-diam dijatuhkan. Sesi interaktif yang tidak pernah Anda beri nama membawa nama default seperti `my-app-3f` dalam daftar sesi dan `claude agents --json`. Perintah shell latar belakang dan alur kerja dinamis bertahan ketika proses sesi dihentikan, dimulai ulang, atau diperbarui, termasuk di Windows; atur `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` untuk mematikan handoff. Transkrip yang salah terbaca sebagai kosong saat restart diberi nama baru dengan akhiran `.orphaned-` alih-alih dihapus. |

1064| v2.1.195 | Pekerjaan latar belakang yang sedang berlangsung juga terbawa ketika Anda memindahkan sesi ke latar belakang di Windows; atur `CLAUDE_DISABLE_ADOPT=1` untuk menghentikannya. Grup `Completed` mengisi ruang vertikal yang tersisa dan header dipadatkan pada terminal yang pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan field `state.json` sesi yang lebih baru atau menyembunyikan sesi tersebut dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong hingga lima detik. Supervisor yang tidak dapat menerima koneksi akan keluar dan melepaskan lock-nya dengan sendirinya. |1122| v2.1.195 | Pekerjaan latar belakang yang sedang berlangsung juga terbawa ketika Anda memindahkan sesi ke latar belakang di Windows. Grup `Completed` mengisi ruang vertikal yang tersisa dan header dipadatkan pada terminal yang pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan field `state.json` sesi yang lebih baru atau menyembunyikan sesi tersebut dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong hingga lima detik. Supervisor yang tidak dapat menerima koneksi akan keluar dan melepaskan lock-nya dengan sendirinya. |

1065| v2.1.191 | `claude --bg` dengan nama `--agent` yang tidak cocok dengan subagent Anda mana pun menggagalkan peluncuran: sesi langsung keluar dengan kesalahan `--agent '<name>' not found` alih-alih berjalan dengan agent default. |1123| v2.1.191 | `claude --bg` dengan nama `--agent` yang tidak cocok dengan subagent Anda mana pun menggagalkan peluncuran: sesi langsung keluar dengan kesalahan `--agent '<name>' not found` alih-alih berjalan dengan agent default. |

1066| v2.1.174 | Sesi latar belakang tidak lagi mewarisi variabel endpoint gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial baru ke worker yang sudah dihangatkan, memperbaiki kesalahan `Could not resolve authentication method` yang keliru. |1124| v2.1.174 | Sesi latar belakang tidak lagi mewarisi variabel endpoint gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial baru ke worker yang sudah dihangatkan, memperbaiki kesalahan `Could not resolve authentication method` yang keliru. |

1067| v2.1.172 | `/model` dalam input dispatch menetapkan override model dispatch yang dicakup sesi. |1125| v2.1.172 | `/model` dalam input dispatch menetapkan override model dispatch yang dicakup sesi. |

artifacts.md +16 −5

Details

98* **`Enter`**: membukanya di browser Anda jika artifact tersebut sudah terlampir ke sesi saat ini, dan melampirkannya jika belum. Sebelum v2.1.216, `Enter` membukanya di browser Anda98* **`Enter`**: membukanya di browser Anda jika artifact tersebut sudah terlampir ke sesi saat ini, dan melampirkannya jika belum. Sebelum v2.1.216, `Enter` membukanya di browser Anda

99* **`o`**: membukanya di browser Anda99* **`o`**: membukanya di browser Anda

100* **`c`**: menyalin tautannya100* **`c`**: menyalin tautannya

101* **`d`**: di luar [sesi cloud](/docs/id/claude-code-on-the-web), menghapus secara permanen artifact yang Anda miliki setelah Anda mengonfirmasi. Tautannya berhenti berfungsi untuk semua orang, termasuk Anda

101 102 

102Claude Code membaca daftar dari akun claude.ai Anda, sehingga berfungsi di sesi baru dan setelah `/clear`, ketika tautan telah keluar dari terminal.103Claude Code membaca daftar dari akun claude.ai Anda, sehingga `/artifacts` berfungsi di sesi baru dan setelah `/clear`, ketika tautan artifact telah keluar dari terminal.

103 104 

104## Bagikan artefak105## Bagikan artefak

105 106 


112* **Dalam organisasi Anda**: pada paket Team dan Enterprise, berikan akses ke orang-orang tertentu di organisasi Anda, atau ke semua orang di dalamnya. Penampil masuk ke claude.ai sebagai anggota organisasi Anda untuk melihat halaman.113* **Dalam organisasi Anda**: pada paket Team dan Enterprise, berikan akses ke orang-orang tertentu di organisasi Anda, atau ke semua orang di dalamnya. Penampil masuk ke claude.ai sebagai anggota organisasi Anda untuk melihat halaman.

113* **Secara publik**: bagikan tautan yang dapat dibuka siapa saja di internet, tanpa memerlukan masuk claude.ai. Pada paket Team dan Enterprise, berbagi publik dimatikan sampai Pemilik [mengaktifkannya untuk organisasi](#control-public-sharing).114* **Secara publik**: bagikan tautan yang dapat dibuka siapa saja di internet, tanpa memerlukan masuk claude.ai. Pada paket Team dan Enterprise, berbagi publik dimatikan sampai Pemilik [mengaktifkannya untuk organisasi](#control-public-sharing).

114 115 

116### Tautkan ke tampilan tertentu

117 

118Jika sebuah halaman memiliki beberapa tampilan, seperti tab atau bagian, Anda dapat menautkan ke salah satunya secara langsung. Mintalah tautannya kepada Claude:

119 

120```text wrap theme={null}

121Give me a link to each tab of the deploy failures dashboard.

122```

123 

124Setiap tautan adalah tautan artifact dengan anchor di bagian akhirnya, seperti `#overview`.

125 

115### Biarkan seseorang mengedit bersama Anda126### Biarkan seseorang mengedit bersama Anda

116 127 

117Orang-orang yang Anda bagikan adalah penampil secara default: mereka melihat setiap versi yang Anda terbitkan tetapi tidak dapat mengubah halaman. Pada paket Team dan Enterprise, Anda juga dapat menjadikan seseorang sebagai editor. Di dialog berbagi, tambahkan orang dan ubah peran mereka dari **viewer** menjadi **editor**.128Orang-orang yang Anda bagikan adalah penampil secara default: mereka melihat setiap versi yang Anda terbitkan tetapi tidak dapat mengubah halaman. Pada paket Team dan Enterprise, Anda juga dapat menjadikan seseorang sebagai editor. Di dialog berbagi, tambahkan orang dan ubah peran mereka dari **viewer** menjadi **editor**.


424 435 

425| Metode | Endpoint |436| Metode | Endpoint |

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

427| `GET` | `/v1/compliance/code/artifacts` |438| `GET` | `/v1/compliance/apps/code/artifacts` |

428| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |439| `GET` | `/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}` |

429| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |440| `DELETE` | `/v1/compliance/apps/code/artifacts/{artifact_id}` |

430 441 

431Untuk skema permintaan dan respons, lihat [referensi Compliance API](https://docs.claude.com/en/api/compliance/code/artifacts).442Untuk skema permintaan dan respons, lihat [referensi Compliance API](https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts).

432 443 

433## Sumber daya terkait444## Sumber daya terkait

434 445 

Details

160* **`claude setup-token` dan `/install-github-app`**: hanya berlakukan `forceLoginMethod`, jadi mereka dapat membuat token di organisasi yang berbeda160* **`claude setup-token` dan `/install-github-app`**: hanya berlakukan `forceLoginMethod`, jadi mereka dapat membuat token di organisasi yang berbeda

161* **Masuk [gateway](/docs/id/claude-apps-gateway)**: dipilih oleh `forceLoginMethod: "gateway"` daripada dibatasi olehnya, dan tidak mengautentikasi terhadap organisasi Anthropic, jadi `forceLoginOrgUUID` tidak berlaku; gunakan penyedia identitas gateway Anda untuk membatasi akses161* **Masuk [gateway](/docs/id/claude-apps-gateway)**: dipilih oleh `forceLoginMethod: "gateway"` daripada dibatasi olehnya, dan tidak mengautentikasi terhadap organisasi Anthropic, jadi `forceLoginOrgUUID` tidak berlaku; gunakan penyedia identitas gateway Anda untuk membatasi akses

162 162 

163Terapkan kunci melalui alat manajemen perangkat Anda. [Pengaturan terkelola server](/docs/id/server-managed-settings) hanya menjangkau akun yang sudah diautentikasi ke organisasi Anda, jadi mereka tidak dapat mengarahkan login pertama pengembang. Jika organisasi Anda juga mendistribusikan pengaturan terkelola server, atur kunci di kedua tempat: sumber [pengaturan terkelola tidak bergabung](/docs/id/server-managed-settings#settings-precedence), dan pengaturan terkelola server yang di-cache menggantikan file yang dikelola perangkat, terlepas dari beberapa [pengecualian per-kunci](/docs/id/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` dan nilai `"claudeai"` dan `"console"` dari `forceLoginMethod` bukan di antara pengecualian tersebut, jadi simpan di kedua tempat.163Terapkan kunci melalui alat manajemen perangkat Anda. [Pengaturan terkelola server](/docs/id/server-managed-settings) hanya menjangkau akun yang sudah diautentikasi ke organisasi Anda, jadi mereka tidak dapat mengarahkan login pertama pengembang. Jika organisasi Anda juga mendistribusikan pengaturan terkelola server, atur kunci di kedua tempat: sumber [pengaturan terkelola tidak bergabung](/docs/id/server-managed-settings#settings-precedence), dan pengaturan terkelola server yang di-cache menggantikan file yang dikelola perangkat, dengan beberapa [pengecualian per-kunci](/docs/id/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` dan nilai `"claudeai"` dan `"console"` dari `forceLoginMethod` bukan di antara pengecualian tersebut, jadi simpan di kedua tempat.

164 164 

165Dalam penerapan [gateway](/docs/id/claude-apps-gateway), juga simpan `forceLoginMethod` dan `forceLoginOrgUUID` di luar [pengaturan yang disajikan gateway](/docs/id/claude-apps-gateway-config#managed).165Dalam penerapan [gateway](/docs/id/claude-apps-gateway), juga simpan `forceLoginMethod` dan `forceLoginOrgUUID` di luar [pengaturan yang disajikan gateway](/docs/id/claude-apps-gateway-config#managed).

166 166 

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` memerlukan paket Pro, Max, atau Team dan Claude Code v2.1.228 atau lebih baru. Di Windows native memerlukan v2.1.233 atau lebih baru. Anda tidak dapat menjalankannya di [Claude Code di web](/docs/id/claude-code-on-the-web). Ini juga memerlukan [pengambilan bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), jadi Anda tidak dapat menjalankannya dalam sesi di mana Anda telah mematikan pengambilan bendera.164> `/auto-mode-setup` tersedia pada paket Pro, Max, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, atau Team, Anda memerlukan v2.1.228 atau lebih baru, atau v2.1.233 atau lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau lebih baru. Jika perintah tersebut tidak ada dalam sesi Anda, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### Apa yang dibaca `/auto-mode-setup`166### Apa yang dibaca `/auto-mode-setup`

167 167 


202 202 

203`/auto-mode-setup` adalah perintah bawaan daripada [skill bundel](/docs/id/skills#bundled-skills), jadi entri `skillOverrides` ini masih berlaku untuk itu, tetapi [`disableBundledSkills`](/docs/id/settings-reference#disablebundledskills) tidak mematikannya.203`/auto-mode-setup` adalah perintah bawaan daripada [skill bundel](/docs/id/skills#bundled-skills), jadi entri `skillOverrides` ini masih berlaku untuk itu, tetapi [`disableBundledSkills`](/docs/id/settings-reference#disablebundledskills) tidak mematikannya.

204 204 

205### `/auto-mode-setup` mengembalikan "Unknown command"

206 

207Jika mengetik `/auto-mode-setup` di prompt Claude Code menampilkan `Unknown command: /auto-mode-setup`, periksa penyebab-penyebab berikut:

208 

209* **Sesi pertama setelah instalasi atau pembaruan**: mulai sesi baru. Jika perintah tersebut masih tidak ada di sana, lihat [konfigurasi di mana sesi-sesi berikutnya juga dimulai tanpanya](/docs/id/env-vars#first-session-after-an-install-or-upgrade).

210* **Versi usang**: jalankan `claude --version` di shell Anda. Jika versinya di bawah [versi minimum untuk paket Anda](#generate-environment-entries), [perbarui Claude Code](/docs/id/setup#update-claude-code).

211* **Telemetri dimatikan, penyedia pihak ketiga, atau gateway aplikasi Claude**: sebelum v2.1.304, perintah ini tidak tersedia dalam [sesi di mana pengambilan feature flag dimatikan](/docs/id/env-vars#features-that-need-feature-flag-fetching). Jika sesi Anda termasuk salah satunya, [perbarui Claude Code](/docs/id/setup#update-claude-code) ke v2.1.304 atau lebih baru.

212 

213Dalam [sesi cloud](/docs/id/claude-code-on-the-web), perintah ini justru menampilkan `/auto-mode-setup isn't available in this environment.`. Jalankan perintah ini dalam sesi interaktif di terminal Anda.

214 

205## Ganti aturan blokir dan izin215## Ganti aturan blokir dan izin

206 216 

207Tiga bidang tambahan memungkinkan Anda mengganti daftar aturan bawaan pengklasifikasi:217Tiga bidang tambahan memungkinkan Anda mengganti daftar aturan bawaan pengklasifikasi:

Details

44 44 

45Memilih Summarize up to here membuat Anda tetap berada di akhir percakapan dengan input kosong. Dengan opsi summarize apa pun, penanda **Summarized conversation** muncul dalam percakapan di mana pesan yang dikompres berada.45Memilih Summarize up to here membuat Anda tetap berada di akhir percakapan dengan input kosong. Dengan opsi summarize apa pun, penanda **Summarized conversation** muncul dalam percakapan di mana pesan yang dikompres berada.

46 46 

47#### Pesan yang diputar ulang dapat kembali jika Anda keluar sebelum prompt berikutnya

48 

49Untuk menghapus kembali pesan yang muncul lagi, jalankan `/rewind` di sesi tersebut dan pilih prompt yang sama, lalu **Restore conversation**. Sebelum Anda keluar, kirimkan prompt kepada Claude, karena Claude Code menyimpan percakapan yang diputar ulang bersama dengan prompt tersebut. File yang Anda pulihkan tetap seperti yang ditinggalkan oleh putar ulang.

50 

47#### Putar ulang melewati percakapan yang dihapus51#### Putar ulang melewati percakapan yang dihapus

48 52 

49Jika Anda menjalankan `/clear` sebelumnya dalam proses Claude Code yang sama, menu putar ulang menampilkan entri tambahan di bagian atas daftar berlabel `/resume <session-id> (previous session)`. Pilih untuk melanjutkan percakapan yang aktif sebelum `/clear` dijalankan. Entri tersedia hingga Anda keluar dari Claude Code atau melanjutkan sesi yang berbeda.53Jika Anda menjalankan `/clear` sebelumnya dalam proses Claude Code yang sama, menu putar ulang menampilkan entri tambahan di bagian atas daftar berlabel `/resume <session-id> (previous session)`. Pilih untuk melanjutkan percakapan yang aktif sebelum `/clear` dijalankan. Entri tersedia hingga Anda keluar dari Claude Code atau melanjutkan sesi yang berbeda.

Details

482 * Tanpa tujuan yang dikonfigurasi untuk sinyal, gateway menerima dan membuangnya.482 * Tanpa tujuan yang dikonfigurasi untuk sinyal, gateway menerima dan membuangnya.

483 * Jika Anda sudah mengumpulkan telemetri Claude Code secara langsung, tambahkan kolektor Anda sebagai tujuan `forward_to`, atau sebutkan dalam kebijakan untuk melewati relay.483 * Jika Anda sudah mengumpulkan telemetri Claude Code secara langsung, tambahkan kolektor Anda sebagai tujuan `forward_to`, atau sebutkan dalam kebijakan untuk melewati relay.

484* **Kredensial**: token gateway adalah satu-satunya kredensial sesi. [Profil Anthropic](/docs/id/authentication#anthropic-profiles-and-federation-credentials) dan masuk claude.ai sebelumnya diabaikan saat masuk, jadi pengembang tidak perlu keluar dari claude.ai terlebih dahulu. Untuk `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau kredensial `apiKeyHelper` yang dikonfigurasi, atau kunci API yang disimpan oleh masuk Claude Console sebelumnya, lihat [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in).484* **Kredensial**: token gateway adalah satu-satunya kredensial sesi. [Profil Anthropic](/docs/id/authentication#anthropic-profiles-and-federation-credentials) dan masuk claude.ai sebelumnya diabaikan saat masuk, jadi pengembang tidak perlu keluar dari claude.ai terlebih dahulu. Untuk `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau kredensial `apiKeyHelper` yang dikonfigurasi, atau kunci API yang disimpan oleh masuk Claude Console sebelumnya, lihat [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

485* **Pengaturan yang dikelola**: kunci yang dikunci tidak dapat ditimpa secara lokal. CLI menerapkan kebijakan saat startup dan menerapkan perubahan pada setiap polling per jam, terlepas dari [perubahan yang hanya berlaku pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior).485* **Pengaturan yang dikelola**: kunci yang dikunci tidak dapat ditimpa secara lokal. CLI menerapkan kebijakan saat startup dan menerapkan perubahan pada setiap polling per jam, kecuali [perubahan yang hanya berlaku pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior).

486* **Startup dengan gateway tidak dapat dijangkau**: sesi yang masuk keluar saat startup dengan kesalahan setelah sekitar 10 detik daripada memulai tanpa pengaturan mereka.486* **Startup dengan gateway tidak dapat dijangkau**: sesi yang masuk keluar saat startup dengan kesalahan setelah sekitar 10 detik daripada memulai tanpa pengaturan mereka.

487* **Startup setelah gateway mengakhiri sesi**: lihat [Tegakkan startup fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) untuk peluncuran yang membuka keluar dari gateway dan yang keluar ketika gateway menjawab dengan `401`.487* **Startup setelah gateway mengakhiri sesi**: lihat [Tegakkan startup fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) untuk peluncuran yang membuka keluar dari gateway dan yang keluar ketika gateway menjawab dengan `401`.

488* **Pemberhentian**: sesi yang penggunanya dinonaktifkan di IdP kedaluwarsa dalam `ttl_hours` ketika penyegaran berikutnya gagal.488* **Pemberhentian**: sesi yang penggunanya dinonaktifkan di IdP kedaluwarsa dalam `ttl_hours` ketika penyegaran berikutnya gagal.

Details

113 113 

114**3. Tambahkan kunci dan sertifikat ke gateway.yaml**114**3. Tambahkan kunci dan sertifikat ke gateway.yaml**

115 115 

116Berikan private key dan sertifikat kepada gateway dalam blok `client_assertion`. Hilangkan `client_secret`, karena gateway menolak untuk dimulai jika keduanya diatur bersamaan dengan `private_key_jwt`. Blok `oidc` ini mengautentikasi gateway ke tenant Microsoft Entra dengan sertifikat:116Berikan private key dan sertifikat kepada gateway dalam blok `client_assertion`. Hilangkan `client_secret`, karena gateway menolak untuk dimulai ketika field itu diatur bersama dengan `private_key_jwt`. Blok `oidc` ini mengautentikasi gateway ke tenant Microsoft Entra dengan sertifikat:

117 117 

118```yaml theme={null}118```yaml theme={null}

119oidc:119oidc:


827Catch-all `match: {}`, secara konvensional terdaftar terakhir, diperlakukan sebagai lapisan dasar. Setiap kebijakan lain mewarisi kunci apa pun yang tidak ditetapkannya dari catch-all, sehingga entri per-peran hanya perlu mencantumkan apa yang berbeda dari default org. Aturan penggabungan tergantung pada jenis kunci:827Catch-all `match: {}`, secara konvensional terdaftar terakhir, diperlakukan sebagai lapisan dasar. Setiap kebijakan lain mewarisi kunci apa pun yang tidak ditetapkannya dari catch-all, sehingga entri per-peran hanya perlu mencantumkan apa yang berbeda dari default org. Aturan penggabungan tergantung pada jenis kunci:

828 828 

829* **Allow-lists**: `availableModels` dan `permissions.allow`. Daftar kebijakan spesifik sepenuhnya menggantikan dasar.829* **Allow-lists**: `availableModels` dan `permissions.allow`. Daftar kebijakan spesifik sepenuhnya menggantikan dasar.

830* **Deny-lists dan hook arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, dan setiap array jenis acara `hooks`. Ini mengambil gabungan dasar dan kebijakan, sehingga hook deny atau audit di seluruh org tidak dapat secara tidak sengaja dijatuhkan oleh override per-peran.830* **Deny-list dan array hook**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, `deniedModels`, dan setiap array jenis event `hooks`. Ini mengambil gabungan (union) dari basis dan kebijakan, sehingga deny atau hook audit untuk seluruh organisasi tidak dapat secara tidak sengaja terhapus oleh override per peran.

831* **Record-typed keys**: `env`, `modelOverrides`, dan `skillOverrides`. Ini shallow-merge, jadi blok `env` per-peran menimpa kunci yang ditetapkannya dan mewarisi sisanya dari dasar.831* **Record-typed keys**: `env`, `modelOverrides`, dan `skillOverrides`. Ini shallow-merge, jadi blok `env` per-peran menimpa kunci yang ditetapkannya dan mewarisi sisanya dari dasar.

832 832 

833`availableModels` juga diterapkan server-side di `/v1/messages`, jadi model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien. Daftar kosong menolak setiap model. Pemeriksaan ini juga mencakup model tempat sesi dimulai sebelum pengembang memilih model, jadi [mulai sesi pada model yang diizinkan kebijakan](#start-sessions-on-a-model-the-policy-allows).833`availableModels` juga diterapkan server-side di `/v1/messages`, jadi model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien. Daftar kosong menolak setiap model. Pemeriksaan ini juga mencakup model tempat sesi dimulai sebelum pengembang memilih model, jadi [mulai sesi pada model yang diizinkan kebijakan](#start-sessions-on-a-model-the-policy-allows).


854>854>

855> Dua jam propagasi berlaku:855> Dua jam propagasi berlaku:

856>856>

857> * **Konten kebijakan**: mengedit kebijakan dan men-deploy ulang mencapai klien Claude Code yang terhubung pada polling pengaturan terkelola berikutnya, dalam satu jam, terlepas dari [perubahan yang hanya berlaku pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior)857> * **Konten kebijakan**: mengedit kebijakan dan men-deploy ulang mencapai klien Claude Code yang terhubung pada polling pengaturan terkelola berikutnya, dalam satu jam, kecuali [perubahan yang hanya berlaku pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior)

858> * **Keanggotaan grup**: mengubah keanggotaan grup pengguna mengubah kebijakan mana yang cocok dengan mereka. Ini berlaku pada pembaruan sesi berikutnya, yang berarti penyegaran senyap berikutnya, dibatasi oleh `session.ttl_hours`.858> * **Keanggotaan grup**: mengubah keanggotaan grup pengguna mengubah kebijakan mana yang cocok dengan mereka. Ini berlaku pada pembaruan sesi berikutnya, yang berarti penyegaran senyap berikutnya, dibatasi oleh `session.ttl_hours`.

859>859>

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


973| Kunci | Diterapkan oleh | Efek |973| Kunci | Diterapkan oleh | Efek |

974| - | - | - |974| - | - | - |

975| `availableModels` | Gateway + CLI | Allowlist model. Juga diperiksa di `/v1/messages`, jadi klien yang dipatch tidak dapat membypassnya. |975| `availableModels` | Gateway + CLI | Allowlist model. Juga diperiksa di `/v1/messages`, jadi klien yang dipatch tidak dapat membypassnya. |

976| [`deniedModels`](/docs/id/settings-reference#deniedmodels), [`availableModelsMatch`](/docs/id/settings-reference#availablemodelsmatch) | Gateway + CLI | [Memblokir model atau versi tertentu](/docs/id/model-config#block-specific-models-or-versions) yang sebaliknya diizinkan oleh `availableModels`. Model yang diblokir ditolak dengan `400` di `/v1/messages` dan tidak disertakan di `/v1/models`. Pemeriksaan milik gateway memerlukan Claude Code v2.1.299 atau lebih baru di server gateway. Pemeriksaan CLI memerlukan v2.1.283 atau lebih baru di klien, dan klien sebelumnya mengabaikan kedua kunci. |

976| `permissions.allow` / `.deny` | CLI | Aturan tool dan perintah. Lihat [Permissions](/docs/id/permissions). |977| `permissions.allow` / `.deny` | CLI | Aturan tool dan perintah. Lihat [Permissions](/docs/id/permissions). |

977| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang melewati permintaan izin, dan flag `--dangerously-skip-permissions` |978| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang melewati permintaan izin, dan flag `--dangerously-skip-permissions` |

978| `allowManagedPermissionRulesOnly` | CLI | Ketika `true`, pengaturan terkelola menjadi satu-satunya sumber pengaturan aturan izin. Entri [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly) mencantumkan setiap sumber yang Claude Code kemudian abaikan. |979| `allowManagedPermissionRulesOnly` | CLI | Ketika `true`, pengaturan terkelola menjadi satu-satunya sumber pengaturan aturan izin. Entri [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly) mencantumkan setiap sumber yang Claude Code kemudian abaikan. |


1045 1046 

1046Gateway menurunkan sebagian besar respons bootstrap dari blok `cli` atau `code` kebijakan yang cocok dan dari konfigurasi gateway tingkat atas:1047Gateway menurunkan sebagian besar respons bootstrap dari blok `cli` atau `code` kebijakan yang cocok dan dari konfigurasi gateway tingkat atas:

1047 1048 

1048* Daftar model, dari `availableModels`. [Konteks diperluas di Claude Desktop](#extended-context-in-claude-desktop) membahas opsi konteks 1M setiap model1049* Daftar model, dari `availableModels`. Daftar ini tidak menyertakan model yang diblokir kebijakan dengan [`deniedModels` atau `availableModelsMatch: exact`](#what-goes-in-cli). Filter ini memerlukan Claude Code v2.1.299 atau lebih baru di server gateway. [Konteks diperluas di Claude Desktop](#extended-context-in-claude-desktop) membahas opsi konteks 1M setiap model

1049* Tool yang dinonaktifkan, dari entri `permissions.deny` nama tool telanjang. Jika Anda menetapkan `disabledBuiltinTools` dalam blok `desktop` kebijakan, gateway melayani gabungan nilai Anda dan daftar yang diturunkan, sehingga Anda dapat menonaktifkan lebih banyak tool dengan cara ini tetapi tidak dapat mengaktifkan kembali yang Anda nonaktifkan melalui `permissions.deny`1050* Tool yang dinonaktifkan, dari entri `permissions.deny` nama tool telanjang. Jika Anda menetapkan `disabledBuiltinTools` dalam blok `desktop` kebijakan, gateway melayani gabungan nilai Anda dan daftar yang diturunkan, sehingga Anda dapat menonaktifkan lebih banyak tool dengan cara ini tetapi tidak dapat mengaktifkan kembali yang Anda nonaktifkan melalui `permissions.deny`

1050* Allowlist egress, dari `sandbox.network.allowedDomains`. Jika Anda mengatur `coworkEgressAllowedHosts` di blok `desktop` kebijakan, gateway menggunakan nilai tersebut sebagai pengganti daftar turunan. Jika allowlist yang dilayani gateway mencakup `*` dan gateway tidak juga melayani [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) Claude Desktop, Claude Desktop tidak mengaktifkan [sandbox Bash](/docs/id/sandboxing) di tab Code1051* Allowlist egress, dari `sandbox.network.allowedDomains`. Jika Anda mengatur `coworkEgressAllowedHosts` di blok `desktop` kebijakan, gateway menggunakan nilai tersebut sebagai pengganti daftar turunan. Jika allowlist yang dilayani gateway mencakup `*` dan gateway tidak juga melayani [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) Claude Desktop, Claude Desktop tidak mengaktifkan [sandbox Bash](/docs/id/sandboxing) di tab Code

1051* Endpoint OTLP yang menunjuk ke gateway itu sendiri, dan atribut identitas pengguna yang masuk. Gateway meneruskan ekspor yang diterimanya di endpoint itu ke tujuan `forward_to` Anda. Ini menyertakan endpoint dan atribut ketika Anda menetapkan [`telemetry.forward_to`](#telemetry) dan `listen.public_url`.1052* Endpoint OTLP yang menunjuk ke gateway itu sendiri, dan atribut identitas pengguna yang masuk. Gateway meneruskan ekspor yang diterimanya di endpoint itu ke tujuan `forward_to` Anda. Ini menyertakan endpoint dan atribut ketika Anda menetapkan [`telemetry.forward_to`](#telemetry) dan `listen.public_url`.

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Sesi cloud tersedia pada paket Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.11> Sesi cloud tersedia pada paket Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code. Jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), Anda juga memerlukan peran yang mencakup izin sesi cloud. Minta Owner untuk memeriksa peran Anda dan menambahkannya di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) jika belum ada.

12 12 

13Sesi cloud adalah sesi Claude Code yang berjalan pada infrastruktur cloud alih-alih pada mesin Anda. Secara default, sesi berjalan pada infrastruktur yang dikelola Anthropic, atau pada [lingkungan self-hosted](/docs/id/self-hosted-environments) organisasi Anda saat dialihkan ke sana. Sesi terus berjalan setelah Anda menutup laptop, dan Anda dapat memeriksanya atau mengarahkannya dari perangkat apa pun. Sesi ini dihitung dalam batas penggunaan paket Anda bersama dengan penggunaan Claude dan Claude Code Anda lainnya, dan tidak ada biaya terpisah untuk VM cloud.13Sesi cloud adalah sesi Claude Code yang berjalan pada infrastruktur cloud alih-alih pada mesin Anda. Secara default, sesi berjalan pada infrastruktur yang dikelola Anthropic, atau pada [lingkungan self-hosted](/docs/id/self-hosted-environments) organisasi Anda saat dialihkan ke sana. Sesi terus berjalan setelah Anda menutup laptop, dan Anda dapat memeriksanya atau mengarahkannya dari perangkat apa pun. Sesi ini dihitung dalam batas penggunaan paket Anda bersama dengan penggunaan Claude dan Claude Code Anda lainnya, dan tidak ada biaya terpisah untuk VM cloud.

14 14 


264 264 

265* **`/model`, `/effort`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah.265* **`/model`, `/effort`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah.

266* **`/fast`**: mengalihkan [mode cepat](/docs/id/fast-mode#use-fast-mode-in-cloud-sessions) untuk sesi ketika mode cepat [tersedia di akun Anda](/docs/id/fast-mode#requirements). Memerlukan Claude Code v2.1.271 atau lebih baru di lingkungan sesi.266* **`/fast`**: mengalihkan [mode cepat](/docs/id/fast-mode#use-fast-mode-in-cloud-sessions) untuk sesi ketika mode cepat [tersedia di akun Anda](/docs/id/fast-mode#requirements). Memerlukan Claude Code v2.1.271 atau lebih baru di lingkungan sesi.

267* **`/config`**: di peramban Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, atur [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) pada lingkungan, atau dalam sesi dengan satu repositori, komit kunci ke `.claude/settings.json` repositori tersebut. [Pengaturan di sesi cloud](/docs/id/settings#settings-in-cloud-sessions) mencantumkan apa yang dibaca setiap sesi.267* **`/config`**: di peramban Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, atur [environment variable](/docs/id/cloud-environments#set-environment-variables) pada lingkungan. Dalam sesi dengan satu repositori di luar [proyek](/docs/id/claude-projects), lakukan commit kunci ke `.claude/settings.json` repositori tersebut sebagai gantinya. [Pengaturan di sesi cloud](/docs/id/settings#settings-in-cloud-sessions) mencantumkan apa yang dibaca setiap sesi.

268 268 

269Untuk manajemen konteks secara khusus:269Untuk manajemen konteks secara khusus:

270 270 


278 278 

279Untuk mengubah jendela auto-compact sebagai gantinya, atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) di variabel lingkungan Anda, atau jalankan [`/autocompact`](/docs/id/commands#all-commands) dengan hitungan token di sesi tempat variabel tidak diatur.279Untuk mengubah jendela auto-compact sebagai gantinya, atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) di variabel lingkungan Anda, atau jalankan [`/autocompact`](/docs/id/commands#all-commands) dengan hitungan token di sesi tempat variabel tidak diatur.

280 280 

281[Subagents](/docs/id/sub-agents) bekerja dengan cara yang sama seperti yang mereka lakukan secara lokal. Claude dapat menelurkan mereka dengan alat Agent untuk memindahkan penelitian atau pekerjaan paralel ke jendela konteks terpisah, menjaga percakapan utama lebih ringan. Subagents yang ditentukan di `.claude/agents/` repo Anda diambil secara otomatis.281[Subagents](/docs/id/sub-agents) bekerja dengan cara yang sama seperti yang mereka lakukan secara lokal. Claude dapat menelurkan mereka dengan tool Agent untuk memindahkan penelitian atau pekerjaan paralel ke context window terpisah, menjaga percakapan utama lebih ringan. Di luar thread [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), subagent yang ditentukan di `.claude/agents/` repo Anda dimuat secara otomatis.

282 282 

283[Agent teams](/docs/id/agent-teams) dimatikan secara default tetapi dapat diaktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` ke [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) Anda.283[Agent teams](/docs/id/agent-teams) dimatikan secara default tetapi dapat diaktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` ke [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) Anda.

284 284 


428Buka kembali sesi dari [claude.ai/code](https://claude.ai/code) untuk menyediakan VM segar:428Buka kembali sesi dari [claude.ai/code](https://claude.ai/code) untuk menyediakan VM segar:

429 429 

430* **Dipulihkan**: riwayat percakapan Anda430* **Dipulihkan**: riwayat percakapan Anda

431* **Tidak dipulihkan**: pekerjaan latar belakang yang masih berjalan saat VM diambil kembali, seperti subagent dan perintah shell, serta wakeup tertunda dari [`/loop` dengan ritme mandiri](/docs/id/scheduled-tasks#let-claude-choose-the-interval). Untuk memulai ulang loop, jalankan `/loop` lagi.431* **Tidak dipulihkan**: pekerjaan latar belakang yang masih berjalan atau tertunda saat VM diambil kembali, termasuk:

432 * **Perintah shell**: Claude Code memberi tahu Claude perintah mana yang berhenti. Minta Claude untuk menjalankan ulang perintah yang masih Anda perlukan.

433 * **Subagent**: Claude Code memberi tahu Claude subagent mana yang berhenti, dan mana di antaranya yang dapat [dilanjutkan](/docs/id/sub-agents#resume-subagents) alih-alih dimulai dari awal. Minta Claude untuk melanjutkan pekerjaan mereka.

434 * **Tugas terjadwal dengan cakupan sesi**: tugas yang Anda [jadwalkan dalam sesi](/docs/id/scheduled-tasks) dan `/loop` yang sedang menunggu iterasi berikutnya tidak terbawa ke sesi yang dibuka kembali. Minta Claude untuk menjadwalkan tugas tersebut lagi, atau jalankan `/loop` lagi untuk memulai ulang loop.

432 435 

433## Batasan436## Batasan

434 437 

Details

54>54>

55> Beberapa hal dapat mengganti apa yang Anda masukkan dalam file ini:55> Beberapa hal dapat mengganti apa yang Anda masukkan dalam file ini:

56>56>

57> * [Pengaturan terkelola](/docs/id/server-managed-settings) yang diterapkan oleh organisasi Anda diutamakan daripada setiap file pengaturan dan nilai `--settings`, terlepas dari [pengecualian di bawah Prioritas pengaturan](/docs/id/settings#exceptions-to-managed-settings-precedence)57> * [Pengaturan terkelola](/docs/id/server-managed-settings) yang diterapkan oleh organisasi Anda diutamakan daripada setiap file pengaturan dan nilai `--settings`, dengan [pengecualian di bawah Prioritas pengaturan](/docs/id/settings#exceptions-to-managed-settings-precedence)

58> * Bendera CLI seperti `--permission-mode` atau `--settings` mengganti `settings.json` untuk sesi itu58> * Bendera CLI seperti `--permission-mode` atau `--settings` mengganti `settings.json` untuk sesi itu

59> * Beberapa variabel lingkungan memiliki prioritas di atas pengaturan yang setara, tetapi ini bervariasi: periksa [referensi variabel lingkungan](/docs/id/env-vars) untuk masing-masing59> * Beberapa variabel lingkungan memiliki prioritas di atas pengaturan yang setara, tetapi ini bervariasi: periksa [referensi variabel lingkungan](/docs/id/env-vars) untuk masing-masing

60>60>


175 175 

176| Jalur di bawah `~/.claude/` | Konten |176| Jalur di bawah `~/.claude/` | Konten |

177| - | - |177| - | - |

178| `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 `!`. Setiap sweep menghapus entri yang lebih tua dari `cleanupPeriodDays` saat [konfigurasi HIPAA berlaku untuk sesi Anda](/docs/id/hipaa-setup#check-how-developers-sign-in-and-connect). |178| `history.jsonl` | Prompt yang telah Anda ketik, dengan stempel waktu dan jalur proyek. Digunakan untuk penarikan panah atas, pencarian riwayat `Ctrl+R`, dan penyelesaian perintah shell `!`. Setiap sweep menghapus entri yang lebih tua dari `cleanupPeriodDays` saat [konfigurasi HIPAA berlaku untuk sesi Anda](/docs/id/hipaa-setup#check-how-developers-sign-in-and-connect). |

179| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |179| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |

180| `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. |180| `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. |

181| `cache/changelog.md` | Salinan cache dari changelog Claude Code, ditampilkan oleh `/release-notes`. Disegarkan di latar belakang. |181| `cache/changelog.md` | Salinan cache dari changelog Claude Code, ditampilkan oleh `/release-notes`. Disegarkan di latar belakang. |

claude-projects.md +18 −22

Details

52* **Threads**: para pekerja. Masing-masing adalah sesi terpisah dengan jendela konteks sendiri yang melakukan satu bagian pekerjaan dan melaporkan kembali ke percakapan ketika selesai. Thread cloud bekerja di cabang sendiri dan membuka pull request ketika pekerjaan memanggilnya.52* **Threads**: para pekerja. Masing-masing adalah sesi terpisah dengan jendela konteks sendiri yang melakukan satu bagian pekerjaan dan melaporkan kembali ke percakapan ketika selesai. Thread cloud bekerja di cabang sendiri dan membuka pull request ketika pekerjaan memanggilnya.

53* **Apa yang dimiliki setiap cloud thread sejak awal**:53* **Apa yang dimiliki setiap cloud thread sejak awal**:

54 * Repositori dan file project, ditambah [instruksi dan memori](#give-a-project-standing-context) project54 * Repositori dan file project, ditambah [instruksi dan memori](#give-a-project-standing-context) project

55 * `CLAUDE.md` dan skills di [setiap repositori project](#what-threads-pick-up-from-your-repositories), dan di project dengan satu repositori, aturan izin dan hook repositori itu juga55 * `CLAUDE.md` di [setiap repositori project](#what-threads-pick-up-from-your-repositories), tetapi bukan skills, `.claude/settings.json`, atau `.mcp.json` dari repositori tersebut

56 * [Konektor](#get-skills-plugins-connectors-and-tools-into-threads) di akun claude.ai Anda56 * [Konektor](#get-skills-plugins-connectors-and-tools-into-threads) di akun claude.ai Anda

57 * [Cloud environment](#choose-an-environment-for-threads) yang menetapkan akses jaringan, environment variable, rahasia jaringan, dan alat yang terinstal57 * [Cloud environment](#choose-an-environment-for-threads) yang menetapkan akses jaringan, environment variable, rahasia jaringan, dan alat yang terinstal

58* **Pane Overview**: di mana Anda [melihat semua thread sekaligus](#see-what-needs-you-in-overview) dan mana yang membutuhkan Anda. Tab lainnya adalah **Library** untuk file yang Anda tambahkan dan file yang dihasilkan thread, **Pull requests** untuk yang dibuka thread, dan **Scheduled tasks** untuk pekerjaan terjadwal di project.58* **Pane Overview**: di mana Anda [melihat semua thread sekaligus](#see-what-needs-you-in-overview) dan mana yang membutuhkan Anda. Tab lainnya adalah **Library** untuk file yang Anda tambahkan dan file yang dihasilkan thread, **Pull requests** untuk yang dibuka thread, dan **Scheduled tasks** untuk pekerjaan terjadwal di project.


239 239 

240Thread berjalan dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) ketika model thread mendukungnya, jadi sebagian besar panggilan alat berjalan tanpa meminta Anda. Ketika thread membutuhkan persetujuan Anda, prompt ada di dalam thread itu dan thread menunggu sampai Anda menjawabnya di sana. Memberi tahu Claude dalam percakapan project untuk melanjutkan tidak mencapainya.240Thread berjalan dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) ketika model thread mendukungnya, jadi sebagian besar panggilan alat berjalan tanpa meminta Anda. Ketika thread membutuhkan persetujuan Anda, prompt ada di dalam thread itu dan thread menunggu sampai Anda menjawabnya di sana. Memberi tahu Claude dalam percakapan project untuk melanjutkan tidak mencapainya.

241 241 

242Setiap persetujuan mencakup prompt itu, atau sisa thread itu jika Anda memilih opsi yang lebih luas.242Setiap persetujuan mencakup permintaan izin itu, atau sisa thread itu jika Anda memilih opsi yang lebih luas. Thread cloud tidak membaca [aturan izin](/docs/id/permissions) dari `.claude/settings.json` repositori, jadi Anda mengandalkan auto mode dan persetujuan yang Anda berikan di dalam setiap thread.

243 

244Untuk membiarkan setiap thread menjalankan perintah tertentu tanpa bertanya, atau untuk memblokir beberapa, tambahkan [aturan izin](/docs/id/permissions) ke `.claude/settings.json` repositori. Periksa apakah thread cloud di project Anda menerapkannya:

245 

246* **Satu repositori**: thread cloud menerapkan aturan tersebut. Lihat [Apa yang diambil thread dari repositori Anda](#what-threads-pick-up-from-your-repositories).

247* **Beberapa repositori, lingkungan yang di-host Anthropic**: tidak ada aturan izin repositori yang mencapai thread cloud, jadi Anda mengandalkan auto mode dan pada persetujuan yang Anda berikan di dalam setiap thread.

248* **Beberapa repositori, lingkungan self-hosted**: lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

249 243 

250### Jalankan thread di komputer Anda sendiri244### Jalankan thread di komputer Anda sendiri

251 245 


313 307 

314### Tentukan repositori mana yang akan ditambahkan308### Tentukan repositori mana yang akan ditambahkan

315 309 

316Repositori yang Anda tambahkan ke project datang dengan semua yang ada di dalamnya, kode, `CLAUDE.md`, dan skills, di setiap thread cloud. Repositori yang tidak Anda tambahkan masih dalam jangkauan: thread cloud dapat menambahkan satu ke dirinya sendiri ketika tugasnya membutuhkannya. Sebagian besar project menggunakan keduanya:310Repositori yang Anda tambahkan ke project datang dengan kode dan `CLAUDE.md`-nya di setiap thread cloud, tetapi [tidak dengan skills, `.claude/settings.json`, atau `.mcp.json`-nya](#what-threads-pick-up-from-your-repositories). Repositori yang tidak Anda tambahkan masih dalam jangkauan: thread cloud dapat menambahkan satu ke dirinya sendiri ketika tugasnya membutuhkannya. Sebagian besar project menggunakan keduanya:

317 311 

318* **Tambahkan ke project**, di dialog **New project**, di **Project settings > Environment**, atau dengan meminta Claude dalam percakapan untuk menambahkannya ke project. Setiap thread cloud dari saat itu mengklonnya dan dimulai dengan `CLAUDE.md` dan skills-nya dimuat, terlepas dari apakah tugas menyentuhnya. Beralih dari satu repositori ke beberapa juga mengubah apa yang diambil thread dari `.claude/settings.json` setiap repositori; lihat [Apa yang diambil thread dari repositori Anda](#what-threads-pick-up-from-your-repositories).312* **Tambahkan ke project**, di dialog **New project**, di **Project settings > Environment**, atau dengan meminta Claude dalam percakapan untuk menambahkannya ke project. Setiap thread cloud dari saat itu mengklonnya dan dimulai dengan `CLAUDE.md`-nya dimuat, terlepas dari apakah tugas menyentuhnya.

319* **Jangan tambahkan dan biarkan thread menambahkannya ketika diperlukan.** Thread cloud yang tugasnya membutuhkan repositori yang tidak dimiliki project dapat menambahkannya ke dirinya sendiri, dan catatan dalam thread mengatakan itu ditambahkan ke thread ini saja. Klon terjadi di tengah tugas, jadi `CLAUDE.md` dan skills repositori itu tidak ada ketika thread dimulai. Thread berikutnya dimulai tanpanya. Repositori yang ditambahkan dengan cara ini membutuhkan [prasyarat](#check-the-prerequisites) yang sama dengan repositori project: Claude GitHub App diinstal di atasnya dan akses push dari akun GitHub Anda.313* **Jangan tambahkan dan biarkan thread menambahkannya ketika diperlukan.** Thread cloud yang tugasnya membutuhkan repositori yang tidak dimiliki project dapat menambahkannya ke dirinya sendiri, dan catatan dalam thread mengatakan itu ditambahkan ke thread ini saja. Klon terjadi di tengah tugas, jadi `CLAUDE.md` repositori itu tidak ada ketika thread dimulai. Thread berikutnya dimulai tanpanya. Repositori yang ditambahkan dengan cara ini membutuhkan [prasyarat](#check-the-prerequisites) yang sama dengan repositori project: Claude GitHub App diinstal di atasnya dan akses push dari akun GitHub Anda.

320 314 

321Project tidak membutuhkan repositori sama sekali. Thread cloud-nya masih dapat meneliti, menulis dokumen, dan menulis dan menjalankan kode di sandbox mereka sendiri, dan mereka memberikan file ke tab **Library**. Thread cloud mana pun di project itu tetap dapat menambahkan repositori ke dirinya sendiri ketika tugas membutuhkannya.315Project tidak membutuhkan repositori sama sekali. Thread cloud-nya masih dapat meneliti, menulis dokumen, dan menulis dan menjalankan kode di sandbox mereka sendiri, dan mereka memberikan file ke tab **Library**. Thread cloud mana pun di project itu tetap dapat menambahkan repositori ke dirinya sendiri ketika tugas membutuhkannya.

322 316 


335 329 

336### Apa yang diambil thread dari repositori Anda330### Apa yang diambil thread dari repositori Anda

337 331 

338Setiap thread cloud mengkloning setiap repositori dalam project dan memuat `CLAUDE.md` dan skills dari semuanya. Aturan izin, hook, dan `env` hanya datang dari `.claude/settings.json` di direktori tempat thread dimulai.332Thread cloud memuat instruksi `CLAUDE.md` dari setiap repositori tetapi tidak memuat skills, server `.mcp.json`, atau `.claude/settings.json`-nya, baik project memiliki satu repositori maupun beberapa.

339 333 

340| Di setiap repositori | Satu repositori | Beberapa repositori |334| Di setiap repositori | Dalam thread cloud |

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

342| `CLAUDE.md` | Dimuat ketika thread dimulai | Dimuat dari setiap repositori ketika thread dimulai |336| `CLAUDE.md`, `.claude/CLAUDE.md`, dan `.claude/rules/` di root repositori | Dimuat dari setiap repositori ketika thread dimulai. File `CLAUDE.md` di subdirektori dan [aturan khusus path](/docs/id/memory#path-specific-rules) tidak dimuat |

343| Skills, agent, dan perintah di bawah `.claude/` | Dimuat | Dimuat dari setiap repositori |337| Skills di bawah `.claude/skills/` | Tidak dimuat. Aktifkan skill untuk akun claude.ai Anda sebagai gantinya, seperti yang dijelaskan [Dapatkan skills, plugin, konektor, dan tool ke dalam thread](#get-skills-plugins-connectors-and-tools-into-threads) |

344| Plugin 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 |338| Agent dan perintah di bawah `.claude/` | Tidak dimuat. Untuk menggunakannya, [jalankan thread di komputer Anda sendiri](#run-a-thread-on-your-own-computer) |

345| Aturan izin, hook, dan `env` yang didefinisikan di `.claude/settings.json` | Berlaku untuk thread, kecuali kunci `env` yang [tidak dihormati sesi cloud apa pun](/docs/id/cloud-environments#what-carries-over-from-your-setup) | Tidak berlaku dalam environment yang dihosting Anthropic. Untuk environment self-hosted, lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |339| Server MCP di `.mcp.json` | Tidak dimuat. Gunakan konektor di akun claude.ai Anda sebagai gantinya, seperti yang dijelaskan [Dapatkan skills, plugin, konektor, dan tool ke dalam thread](#get-skills-plugins-connectors-and-tools-into-threads) |

346 340| Plugin yang diaktifkan di `.claude/settings.json` | Tidak dimuat. Tambahkan plugin di **Project settings > Plugins** sebagai gantinya |

347Dalam project dengan beberapa repositori, masukkan aturan berdiri di project instructions dan berikan thread environment variable melalui [cloud environment](#choose-an-environment-for-threads).341| Aturan izin di `.claude/settings.json` | Tidak diterapkan. Setujui panggilan tool di dalam thread, seperti yang dijelaskan [Buka blokir thread yang menunggu persetujuan](#unblock-a-thread-waiting-on-approval), atau [jalankan thread di komputer Anda sendiri](#run-a-thread-on-your-own-computer) |

342| Hook di `.claude/settings.json` | Tidak dijalankan. Untuk menggunakan hook Anda, [jalankan thread di komputer Anda sendiri](#run-a-thread-on-your-own-computer) |

343| `env` di `.claude/settings.json` | Tidak diterapkan. Atur environment variable di [cloud environment](#choose-an-environment-for-threads) |

348 344 

349### Pilih environment untuk thread345### Pilih environment untuk thread

350 346 


356 352 

357Thread cloud tidak memiliki skills, server MCP, plugin, dan tool yang diinstal hanya di mesin Anda. Thread yang Claude jalankan di mesin Anda melalui [Remote Control](/docs/id/remote-control) menggunakan apa yang diinstal di sana. Untuk membuat masing-masing tersedia untuk thread cloud:353Thread cloud tidak memiliki skills, server MCP, plugin, dan tool yang diinstal hanya di mesin Anda. Thread yang Claude jalankan di mesin Anda melalui [Remote Control](/docs/id/remote-control) menggunakan apa yang diinstal di sana. Untuk membuat masing-masing tersedia untuk thread cloud:

358 354 

359* Skills, subagent, dan perintah: commit ke repositori yang Anda tambahkan ke project, misalnya skill di `.claude/skills/<skill-name>/SKILL.md`. Setiap thread cloud mengkloning setiap repositori dalam project dan memuat `.claude/skills/`, `.claude/agents/`, dan `.claude/commands/` dari masing-masing, jadi skill yang di-commit ke satu repositori tersedia di setiap thread cloud. Thread cloud juga memuat [skills yang Anda aktifkan untuk akun claude.ai Anda](/docs/id/skills#skills-in-cowork-and-cloud-sessions).355* Skills: aktifkan untuk akun claude.ai Anda, dan thread cloud memuat [skills yang Anda aktifkan di sana](/docs/id/skills#skills-in-cowork-and-cloud-sessions), kecuali [beberapa thread dalam environment self-hosted](/docs/id/self-hosted-environments-configuration#how-each-session’s-config-is-assembled). Skills yang di-commit ke `.claude/skills/` repositori tidak dimuat dalam thread cloud.

360* Plugin: tambahkan di **Project settings > Plugins**; mereka dimuat ke setiap thread cloud baru. Plugin yang dideklarasikan repositori di `.claude/settings.json`-nya [tidak dimuat dalam thread cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup).356* Plugin: tambahkan di **Project settings > Plugins**; mereka dimuat ke setiap thread cloud baru. Plugin yang dideklarasikan repositori di `.claude/settings.json`-nya [tidak dimuat dalam thread cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup).

361* Server MCP: thread cloud mendapatkan tool MCP mereka dari konektor di akun claude.ai Anda, yang merupakan server MCP yang Anda hubungkan sekali di [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Setiap thread cloud dapat menggunakan semuanya tanpa setup per-project. Percakapan project itu sendiri tidak memiliki konektor, jadi kirim pekerjaan yang membutuhkan konektor sebagai tugas untuk thread cloud. Dalam project dengan satu repositori, thread cloud juga memuat server MCP dari [`.mcp.json`](/docs/id/cloud-environments#what-carries-over-from-your-setup) repositori itu. [Bagaimana konektor mencapai Claude Code](/docs/id/mcp#how-connectors-reach-claude-code) mencantumkan aturan untuk sesi cloud dan pengaturan yang mematikan konektor.357* Server MCP: thread cloud mendapatkan tool MCP mereka dari konektor di akun claude.ai Anda, yang merupakan server MCP yang Anda hubungkan sekali di [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Setiap thread cloud dapat menggunakan semuanya tanpa setup per-project. Percakapan project itu sendiri tidak memiliki konektor, jadi kirim pekerjaan yang membutuhkan konektor sebagai tugas untuk thread cloud. [Bagaimana konektor mencapai Claude Code](/docs/id/mcp#how-connectors-reach-claude-code) mencantumkan aturan untuk sesi cloud dan pengaturan yang mematikan konektor.

362* Tool command-line dan paket: instal di [setup script](/docs/id/cloud-environments#setup-scripts) environment.358* Tool command-line dan paket: instal di [setup script](/docs/id/cloud-environments#setup-scripts) environment.

363 359 

364Untuk melihat konektor mana yang dimiliki thread cloud yang sedang berjalan di claude.ai/code, buka thread dan pilih **Connectors** dari menu **+** di samping kotak pesannya. Mematikan konektor di sana menghapusnya dari thread itu dan menyimpannya sebagai default akun Anda, jadi thread baru dan obrolan claude.ai dimulai tanpanya sampai Anda menyalakannya kembali. Thread cloud mengambil konektor yang Anda tambahkan atau hubungkan kembali setelah pesan berikutnya yang Anda kirimkan.360Untuk melihat konektor mana yang dimiliki thread cloud yang sedang berjalan di claude.ai/code, buka thread dan pilih **Connectors** dari menu **+** di samping kotak pesannya. Mematikan konektor di sana menghapusnya dari thread itu dan menyimpannya sebagai default akun Anda, jadi thread baru dan obrolan claude.ai dimulai tanpanya sampai Anda menyalakannya kembali. Thread cloud mengambil konektor yang Anda tambahkan atau hubungkan kembali setelah pesan berikutnya yang Anda kirimkan.

Details

8 8 

9Plugin Claude Security menjalankan pemindaian kerentanan multi-agen dari basis kode Anda di dalam sesi Claude Code. Sebuah tim agen Claude memetakan arsitektur Anda, membangun model ancaman, berburu kerentanan, dan secara independen meninjau setiap temuan sebelum menulis laporan. Gunakan plugin untuk memindai seluruh repositori atau [hanya serangkaian perubahan](#scan-only-your-changes), seperti diff cabang, diff permintaan tarik, atau komit tunggal, kemudian ubah temuan yang Anda pilih menjadi patch yang Anda tinjau dan terapkan sendiri.9Plugin Claude Security menjalankan pemindaian kerentanan multi-agen dari basis kode Anda di dalam sesi Claude Code. Sebuah tim agen Claude memetakan arsitektur Anda, membangun model ancaman, berburu kerentanan, dan secara independen meninjau setiap temuan sebelum menulis laporan. Gunakan plugin untuk memindai seluruh repositori atau [hanya serangkaian perubahan](#scan-only-your-changes), seperti diff cabang, diff permintaan tarik, atau komit tunggal, kemudian ubah temuan yang Anda pilih menjadi patch yang Anda tinjau dan terapkan sendiri.

10 10 

11Plugin berjalan secara lokal dalam sesi Anda, menggunakan [model mana pun yang Anda miliki akses di Claude Code](#models-and-providers), dan setiap pemindaian dihitung terhadap [penggunaan](/docs/id/costs) Anda. Jika Anda menginginkan layanan terkelola yang memantau repositori Anda, atau ingin menjalankan pemindaian pada [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), lihat produk [Claude Security](https://claude.com/product/claude-security), tersedia di paket Enterprise. Plugin mencapai kode yang tidak dapat dijangkau produk terkelola, seperti repositori yang dihosting di GitLab atau Bitbucket, atau di jaringan yang tidak memungkinkan koneksi masuk.11Plugin berjalan secara lokal dalam sesi Anda, menggunakan [model mana pun yang Anda miliki akses di Claude Code](#models-and-providers), dan setiap pemindaian dihitung terhadap [penggunaan](/docs/id/costs) Anda. Jika Anda menginginkan layanan terkelola yang memantau repositori Anda, atau ingin menjalankan pemindaian pada [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), lihat produk [Claude Security](https://claude.com/product/claude-security), tersedia di paket Enterprise.

12 12 

13Plugin ini juga berbeda dari alat tinjauan yang sudah ada di Claude Code: plugin [panduan keamanan](/docs/id/security-guidance) meninjau kode saat Claude menulisnya, [`/security-review`](/docs/id/commands#all-commands) menjalankan satu kali melewati cabang Anda, dan [Code Review](/docs/id/code-review) meninjau permintaan tarik. Untuk cara lapisan bertumpuk, lihat [Bagaimana plugin cocok dengan alat keamanan lainnya](#how-the-plugin-fits-with-other-security-tools).13Plugin ini juga berbeda dari alat tinjauan yang sudah ada di Claude Code: plugin [panduan keamanan](/docs/id/security-guidance) meninjau kode saat Claude menulisnya, [`/security-review`](/docs/id/commands#all-commands) menjalankan satu kali melewati cabang Anda, dan [Code Review](/docs/id/code-review) meninjau permintaan tarik. Untuk cara lapisan bertumpuk, lihat [Bagaimana plugin cocok dengan alat keamanan lainnya](#how-the-plugin-fits-with-other-security-tools).

14 14 

Details

65| `--agents` | Definisikan subagent kustom secara dinamis melalui JSON. Menerima [field yang tercantum untuk subagent yang didefinisikan CLI](/docs/id/sub-agents#choose-the-subagent-scope). Dengan `--print`, nilainya dapat berupa jalur ke file JSON yang berisi objek tersebut; bentuk file memerlukan Claude Code v2.1.281 atau lebih baru. Claude Code memvalidasi nilai saat startup dan keluar jika nilainya tidak valid; lihat [`Invalid --agents configuration`](/docs/id/errors#invalid-agents-configuration) untuk pesan tersebut serta flag dan environment variable yang melewati validasi. Validasi memerlukan Claude Code v2.1.242 atau lebih baru | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |65| `--agents` | Definisikan subagent kustom secara dinamis melalui JSON. Menerima [field yang tercantum untuk subagent yang didefinisikan CLI](/docs/id/sub-agents#choose-the-subagent-scope). Dengan `--print`, nilainya dapat berupa jalur ke file JSON yang berisi objek tersebut; bentuk file memerlukan Claude Code v2.1.281 atau lebih baru. Claude Code memvalidasi nilai saat startup dan keluar jika nilainya tidak valid; lihat [`Invalid --agents configuration`](/docs/id/errors#invalid-agents-configuration) untuk pesan tersebut serta flag dan environment variable yang melewati validasi. Validasi memerlukan Claude Code v2.1.242 atau lebih baru | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

66| `--allow-dangerously-skip-permissions` | Tambahkan `bypassPermissions` ke siklus mode `Shift+Tab` tanpa memulai di dalamnya. Memungkinkan Anda memulai dalam mode berbeda seperti `plan` dan beralih ke `bypassPermissions` nanti. Lihat [mode izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |66| `--allow-dangerously-skip-permissions` | Tambahkan `bypassPermissions` ke siklus mode `Shift+Tab` tanpa memulai di dalamnya. Memungkinkan Anda memulai dalam mode berbeda seperti `plan` dan beralih ke `bypassPermissions` nanti. Lihat [mode izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

67| `--allowedTools`, `--allowed-tools` | Tool yang dijalankan tanpa meminta izin, kecuali pembacaan dari [jalur jaringan](/docs/id/permissions#network-paths). Lihat [sintaks aturan izin](/docs/id/settings-reference#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tool mana yang tersedia, gunakan `--tools` sebagai gantinya. Jika Anda menyebutkan salah satu [tool pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga mengikutsertakan sesi tersebut | `"Bash(git log *)" "Bash(git diff *)" "Read"` |67| `--allowedTools`, `--allowed-tools` | Tool yang dijalankan tanpa meminta izin, kecuali pembacaan dari [jalur jaringan](/docs/id/permissions#network-paths). Lihat [sintaks aturan izin](/docs/id/settings-reference#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tool mana yang tersedia, gunakan `--tools` sebagai gantinya. Jika Anda menyebutkan salah satu [tool pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga mengikutsertakan sesi tersebut | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

68| `--append-subagent-system-prompt` | Tambahkan teks khusus ke akhir prompt sistem setiap [subagen](/docs/id/sub-agents), termasuk subagen bersarang, terlepas dari [subagen yang bercabang](/docs/id/sub-agents#fork-the-current-conversation), yang menggunakan kembali prompt percakapan sendiri. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.205 atau lebih baru | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |68| `--append-subagent-system-prompt` | Tambahkan teks khusus ke akhir prompt sistem setiap [subagen](/docs/id/sub-agents), termasuk subagen bersarang, kecuali [subagen yang bercabang](/docs/id/sub-agents#fork-the-current-conversation), yang menggunakan kembali prompt percakapan sendiri. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.205 atau lebih baru | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |

69| `--append-subagent-system-prompt-file` | Muat teks dari file dan tambahkan ke prompt sistem [subagen](/docs/id/sub-agents). Alternatif untuk `--append-subagent-system-prompt` untuk teks yang terlalu panjang untuk dilewatkan di baris perintah. Kedua bendera tidak dapat digabungkan. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.261 atau lebih baru | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |69| `--append-subagent-system-prompt-file` | Muat teks dari file dan tambahkan ke prompt sistem [subagen](/docs/id/sub-agents). Alternatif untuk `--append-subagent-system-prompt` untuk teks yang terlalu panjang untuk dilewatkan di baris perintah. Kedua bendera tidak dapat digabungkan. Hanya berlaku dalam mode non-interaktif dengan `-p`. Memerlukan Claude Code v2.1.261 atau lebih baru | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |

70| `--append-system-prompt` | Tambahkan teks khusus ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |70| `--append-system-prompt` | Tambahkan teks khusus ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |

71| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |71| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |


135| `--teleport` | Lanjutkan [sesi cloud](/docs/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |135| `--teleport` | Lanjutkan [sesi cloud](/docs/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |

136| `--teammate-mode` | Atur bagaimana [tim agen](/docs/id/agent-teams) rekan kerja ditampilkan: `in-process` (default), `auto`, `tmux`, atau `iterm2`. Menimpa pengaturan [`teammateMode`](/docs/id/settings-reference#teammatemode) untuk sesi ini. Lihat [Pilih mode tampilan](/docs/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |136| `--teammate-mode` | Atur bagaimana [tim agen](/docs/id/agent-teams) rekan kerja ditampilkan: `in-process` (default), `auto`, `tmux`, atau `iterm2`. Menimpa pengaturan [`teammateMode`](/docs/id/settings-reference#teammatemode) untuk sesi ini. Lihat [Pilih mode tampilan](/docs/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

137| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan panel asli iTerm2 saat tersedia; lewatkan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |137| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan panel asli iTerm2 saat tersedia; lewatkan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |

138| `--tools` | Batasi alat bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk set default, atau nama alat seperti `"Bash,Edit,Read"`. Di macOS, Linux, dan WSL, set default menghilangkan `Glob` dan `Grep`, seperti yang dijelaskan di bawah [perilaku alat Glob](/docs/id/tools-reference#glob-tool-behavior). Jika Anda menamai salah satu [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga memilih sesi masuk. Bendera tidak mempengaruhi alat MCP; untuk menolak mereka juga, gunakan `--disallowedTools "mcp__*"`. Daftar yang menghilangkan [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior) tidak menghapusnya; `""` menghapusnya hanya ketika tidak ada alat MCP yang tersisa | `claude --tools "Bash,Edit,Read"` |138| `--tools` | Batasi alat bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk set default, atau nama alat seperti `"Bash,Edit,Read"`. Di macOS, Linux, dan WSL, set default menghilangkan `Glob` dan `Grep`, seperti yang dijelaskan di bawah [perilaku alat Glob](/docs/id/tools-reference#glob-tool-behavior). Jika Anda menamai salah satu [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga mengikutsertakan sesi tersebut. Bendera tidak mempengaruhi alat MCP; untuk menolak mereka juga, gunakan `--disallowedTools "mcp__*"`. Daftar yang menghilangkan [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior) tidak menghapusnya; `""` menghapusnya hanya ketika tidak ada alat MCP yang tersisa | `claude --tools "Bash,Edit,Read"` |

139| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/docs/id/settings-reference#viewmode) untuk sesi ini | `claude --verbose` |139| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/docs/id/settings-reference#viewmode) untuk sesi ini | `claude --verbose` |

140| `--version`, `-v` | Output nomor versi | `claude -v` |140| `--version`, `-v` | Output nomor versi | `claude -v` |

141| `--worktree`, `-w` | Mulai Claude dalam [git worktree](/docs/id/worktrees) terisolasi di `<repo>/.claude/worktrees/<name>`. Jika Anda tidak memberikan nama, Claude Code menghasilkan satu. Lewatkan `#<number>`, URL permintaan tarik GitHub, atau URL permintaan penggabungan GitLab untuk [mengambil PR atau MR itu dari `origin` dan cabang worktree darinya](/docs/id/worktrees#branch-from-a-pull-request). Pencabangan dari permintaan penggabungan GitLab memerlukan Claude Code v2.1.233 atau lebih baru | `claude -w feature-auth` |141| `--worktree`, `-w` | Mulai Claude dalam [git worktree](/docs/id/worktrees) terisolasi di `<repo>/.claude/worktrees/<name>`. Jika Anda tidak memberikan nama, Claude Code menghasilkan satu. Lewatkan `#<number>`, URL permintaan tarik GitHub, atau URL permintaan penggabungan GitLab untuk [mengambil PR atau MR itu dari `origin` dan cabang worktree darinya](/docs/id/worktrees#branch-from-a-pull-request). Pencabangan dari permintaan penggabungan GitLab memerlukan Claude Code v2.1.233 atau lebih baru | `claude -w feature-auth` |

Details

164 164 

165### Arsipkan lingkungan165### Arsipkan lingkungan

166 166 

167Untuk mengarsipkan salah satu lingkungan Anda sendiri, buka untuk diedit, pilih **Archive environment**, dan konfirmasi. Jika lingkungan tersebut [dibagikan dengan organisasi Anda](#organization-shared-environments), Owner mengarsipkannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings) sebagai gantinya, jadi mintalah kepada Owner kecuali Anda sendiri adalah Owner. Anda tidak dapat menghapus lingkungan, hanya mengarsipkannya.167Untuk mengarsipkan salah satu lingkungan Anda sendiri, buka untuk diedit, lalu pilih **Archive environment** dan konfirmasi. Jika lingkungan tersebut [dibagikan dengan organisasi Anda](#organization-shared-environments), Owner mengarsipkannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings) sebagai gantinya, jadi mintalah kepada Owner kecuali Anda sendiri adalah Owner.

168 168 

169Pengarsipan mempengaruhi sesi baru, bukan yang sedang berjalan:169Pengarsipan mempengaruhi sesi baru, bukan yang sedang berjalan:

170 170 


175 * **Default CLI yang disimpan**: jika lingkungan tersebut adalah [default CLI](#select-an-environment-from-the-cli) yang Anda simpan, Claude Code memulai sesi cloud CLI di lingkungan yang di-host Anthropic ketika daftar Anda memiliki satu. Jika tidak, Claude Code memulainya di lingkungan pertama dalam daftar Anda yang bukan [lingkungan bridge Remote Control](#the-default-environment).175 * **Default CLI yang disimpan**: jika lingkungan tersebut adalah [default CLI](#select-an-environment-from-the-cli) yang Anda simpan, Claude Code memulai sesi cloud CLI di lingkungan yang di-host Anthropic ketika daftar Anda memiliki satu. Jika tidak, Claude Code memulainya di lingkungan pertama dalam daftar Anda yang bukan [lingkungan bridge Remote Control](#the-default-environment).

176 * **Dikonfigurasi secara eksplisit**: apa pun yang dikonfigurasi dengan lingkungan secara eksplisit, seperti [tugas terjadwal cloud](/docs/id/routines#environments-and-network-access), tidak dapat memulai sesi baru di dalamnya. Arahkan ke lingkungan lain.176 * **Dikonfigurasi secara eksplisit**: apa pun yang dikonfigurasi dengan lingkungan secara eksplisit, seperti [tugas terjadwal cloud](/docs/id/routines#environments-and-network-access), tidak dapat memulai sesi baru di dalamnya. Arahkan ke lingkungan lain.

177 177 

178Ketika Anda tidak lagi memerlukan lingkungan yang di-host Anthropic, arsipkan lingkungan tersebut. Baik dialog lingkungan maupun halaman admin **Cloud environments** tidak memiliki opsi untuk menghapus lingkungan yang di-host Anthropic. Jika lingkungan tersebut [di-host sendiri](/docs/id/self-hosted-environments), Owner dapat menghapusnya dari halaman **Cloud environments** di pengaturan admin. Jika Anda bukan Owner, mintalah kepada Owner untuk menghapusnya.

179 

178### Lingkungan bersama organisasi180### Lingkungan bersama organisasi

179 181 

180Pada paket Team dan Enterprise, Owner dapat membuat lingkungan cloud yang dibagikan dengan setiap anggota organisasi. Peran yang sama mengelola segalanya di halaman admin **Cloud environments**, termasuk [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments); peran Admin tidak dapat membuka halaman. Daftar lengkap peran yang dapat membukanya adalah yang untuk [mengelola pengaturan yang dikelola server](/docs/id/server-managed-settings#access-control).182Pada paket Team dan Enterprise, Owner dapat membuat lingkungan cloud yang dibagikan dengan setiap anggota organisasi. Peran yang sama mengelola segalanya di halaman admin **Cloud environments**, termasuk [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments); peran Admin tidak dapat membuka halaman. Daftar lengkap peran yang dapat membukanya adalah yang untuk [mengelola pengaturan yang dikelola server](/docs/id/server-managed-settings#access-control).


275 277 

276### Apa yang terbawa dari setup Anda278### Apa yang terbawa dari setup Anda

277 279 

280> [!NOTE]

281>

282> Dari konfigurasi repositori dalam tabel ini, thread cloud dalam [proyek](/docs/id/claude-projects) hanya memuat file `CLAUDE.md`, `.claude/CLAUDE.md`, dan `.claude/rules/` di root repositori yang tidak [khusus path](/docs/id/memory#path-specific-rules). Lihat [Apa yang diambil thread dari repositori Anda](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories).

283 

278Sesi cloud dimulai dari klon segar repositori Anda. Apa pun yang Anda commit 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 terkelola server](/docs/id/server-managed-settings).284Sesi cloud dimulai dari klon segar repositori Anda. Apa pun yang Anda commit 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 terkelola server](/docs/id/server-managed-settings).

279 285 

280| | Tersedia di sesi cloud | Mengapa |286| | Tersedia di sesi cloud | Mengapa |


465 471 

466Jika Anda memiliki hook SessionStart di `~/.claude/settings.json` tingkat pengguna, jangan harapkan mereka di cloud. Pengaturan tingkat pengguna tetap di mesin Anda. Hook mana yang berjalan tergantung di mana sesi berjalan:472Jika Anda memiliki hook SessionStart di `~/.claude/settings.json` tingkat pengguna, jangan harapkan mereka di cloud. Pengaturan tingkat pengguna tetap di mesin Anda. Hook mana yang berjalan tergantung di mana sesi berjalan:

467 473 

468* **Lingkungan yang dihosting Anthropic**: Claude Code menjalankan hook dari repositori dan dari [pengaturan yang dikelola server](/docs/id/server-managed-settings) organisasi Anda. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) tidak menerima pengaturan yang dikelola server, jadi hook dari pengaturan yang dikelola server tidak berjalan di sana.474* **Lingkungan yang dihosting Anthropic**: Claude Code menjalankan hook dari [pengaturan terkelola server](/docs/id/server-managed-settings) organisasi Anda dan, di luar thread [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), dari repositori. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) tidak menerima pengaturan terkelola server, jadi hook dari pengaturan terkelola server tidak berjalan di sana.

469* **[Lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code juga menjalankan hook yang ditanam operator dari `~/.claude/` host runner, dan hook dalam file pengaturan yang dikelola gambar runner ketika file itu adalah salah satu dari [sumber yang dikelola Claude Code terapkan](/docs/id/managed-settings#how-claude-code-combines-managed-sources).475* **[Lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code juga menjalankan hook yang ditanam operator dari `~/.claude/` host runner, dan hook dalam file pengaturan yang dikelola gambar runner ketika file itu adalah salah satu dari [sumber yang dikelola Claude Code terapkan](/docs/id/managed-settings#how-claude-code-combines-managed-sources).

470 476 

471### Instal dependensi dengan hook SessionStart477### Instal dependensi dengan hook SessionStart

472 478 

473Untuk menginstal dependensi hanya di sesi cloud, pasangkan hook SessionStart dengan skrip yang memeriksa di mana itu berjalan.479Untuk menginstal dependensi hanya di sesi cloud di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), pasangkan hook SessionStart dengan skrip yang memeriksa di mana itu berjalan.

474 480 

475Pertama, tambahkan hook SessionStart ke `.claude/settings.json` repo Anda. Konfigurasi ini memberitahu Claude Code untuk menjalankan `scripts/install_pkgs.sh` dari repositori Anda setiap kali sesi dimulai atau dilanjutkan:481Pertama, tambahkan hook SessionStart ke `.claude/settings.json` repo Anda. Konfigurasi ini memberitahu Claude Code untuk menjalankan `scripts/install_pkgs.sh` dari repositori Anda setiap kali sesi dimulai atau dilanjutkan:

476 482 


532Hook SessionStart berperilaku sama di cloud seperti secara lokal, dengan peringatan ini:538Hook SessionStart berperilaku sama di cloud seperti secara lokal, dengan peringatan ini:

533 539 

534* **Satu repositori per sesi**: di lingkungan yang dihosting Anthropic, sesi dengan beberapa repositori tidak memuat hook dari `.claude/settings.json` repositori apa pun, jadi hook SessionStart yang Anda tentukan di sana tidak berjalan. Instal dependensi untuk sesi tersebut dengan [skrip setup](#setup-scripts) sebagai gantinya. Untuk lingkungan yang dihosting sendiri, lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).540* **Satu repositori per sesi**: di lingkungan yang dihosting Anthropic, sesi dengan beberapa repositori tidak memuat hook dari `.claude/settings.json` repositori apa pun, jadi hook SessionStart yang Anda tentukan di sana tidak berjalan. Instal dependensi untuk sesi tersebut dengan [skrip setup](#setup-scripts) sebagai gantinya. Untuk lingkungan yang dihosting sendiri, lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

541* **Tidak di thread cloud proyek**: thread cloud dalam [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories) tidak menjalankan hook dari `.claude/settings.json` repositori, berapa pun jumlah repositorinya. Di lingkungan yang dihosting Anthropic, instal dependensi untuk thread dengan [skrip setup](#setup-scripts). Di lingkungan yang dihosting sendiri, gunakan hook di [pengaturan host runner](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) sebagai gantinya.

535* **Tidak ada scoping khusus cloud**: hook berjalan di sesi lokal dan cloud. Untuk melewati eksekusi lokal, keluar lebih awal kecuali variabel lingkungan `CLAUDE_CODE_REMOTE` adalah `true`, cara yang ditunjukkan oleh [skrip instalasi dependensi](#install-dependencies-with-a-sessionstart-hook).542* **Tidak ada scoping khusus cloud**: hook berjalan di sesi lokal dan cloud. Untuk melewati eksekusi lokal, keluar lebih awal kecuali variabel lingkungan `CLAUDE_CODE_REMOTE` adalah `true`, cara yang ditunjukkan oleh [skrip instalasi dependensi](#install-dependencies-with-a-sessionstart-hook).

536* **Memerlukan akses jaringan**: perintah instalasi perlu menjangkau registri paket. Jika lingkungan Anda menggunakan akses jaringan **None**, hook ini gagal. [Allowlist default](#default-allowed-domains) di bawah **Trusted** mencakup npm, PyPI, RubyGems, dan crates.io.543* **Memerlukan akses jaringan**: perintah instalasi perlu menjangkau registri paket. Jika lingkungan Anda menggunakan akses jaringan **None**, hook ini gagal. [Allowlist default](#default-allowed-domains) di bawah **Trusted** mencakup npm, PyPI, RubyGems, dan crates.io.

537* **Kompatibilitas proxy**: di lingkungan yang dihosting Anthropic, semua lalu lintas keluar melewati [proxy keamanan](#security-proxy), dan beberapa manajer paket tidak bekerja dengan benar dengannya; Bun adalah contoh yang diketahui. Di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-deploy#default-deny-egress), lalu lintas keluar melewati batas jaringan Anda sendiri.544* **Kompatibilitas proxy**: di lingkungan yang dihosting Anthropic, semua lalu lintas keluar melewati [proxy keamanan](#security-proxy), dan beberapa manajer paket tidak bekerja dengan benar dengannya; Bun adalah contoh yang diketahui. Di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-deploy#default-deny-egress), lalu lintas keluar melewati batas jaringan Anda sendiri.

Details

92 92 

93Batasi `REVIEW.md` pada instruksi yang mengubah perilaku review, dan biarkan konteks proyek umum di `CLAUDE.md`.93Batasi `REVIEW.md` pada instruksi yang mengubah perilaku review, dan biarkan konteks proyek umum di `CLAUDE.md`.

94 94 

95### Sertakan file lain di REVIEW\.md

96 

97Anda dapat membagi instruksi review ke beberapa file dan menariknya ke dalam `REVIEW.md` root Anda. Gunakan ini ketika `REVIEW.md` menjadi panjang atau ketika Anda sudah menyimpan aturan review di file lain.

98 

99Untuk menyertakan file, tambahkan baris ke `REVIEW.md` root yang hanya berisi `@` dan nama file. Code Review menempatkan isi file tersebut sebagai pengganti baris itu, sehingga isinya berlaku sebagai bagian dari `REVIEW.md`. Dalam contoh ini, file root memberikan satu instruksinya sendiri lalu menyertakan dua file aturan:

100 

101```markdown theme={null}

102# Review instructions

103 

104Report at most five Nits per review.

105 

106@review-security.md

107@review-api.md

108```

109 

110Simpan file yang disertakan di root repositori, di samping `REVIEW.md`:

111 

112```text theme={null}

113your-repo/

114├── REVIEW.md

115├── review-security.md

116└── review-api.md

117```

118 

119Code Review menyertakan file tersebut ketika membaca `REVIEW.md` dari branch yang dilindungi, jadi periksa [branch mana yang dibaca review untuk repositori Anda](#what-a-review-reads-for-each-branch-setup):

120 

121* **Branch yang dilindungi**: Code Review menempatkan file yang disertakan sebagai pengganti baris `@`-nya

122* **Default branch yang tidak dilindungi**: baris `@` tetap berada di `REVIEW.md` sebagai teks biasa. Jika pull request mengubah file yang disebutkan oleh baris tersebut, baris itu dihilangkan.

123 

124Ketika review tidak menerapkan file yang disertakan, periksa masing-masing hal berikut:

125 

126* **Lokasi**: pindahkan file ke root repositori. Path ke subdirektori seperti `@docs/review-rules.md` tidak disertakan.

127* **Nama**: cocokkan nama file secara persis, termasuk huruf besar-kecil, dan gunakan nama tanpa spasi. Baris yang namanya tidak cocok dengan file apa pun di samping `REVIEW.md` tetap berada di `REVIEW.md` sebagai teks biasa, dan check run tidak melaporkannya sebagai penyertaan yang dilewati.

128* **Satu tingkat**: cantumkan setiap file di `REVIEW.md` root. Baris `@` di file yang disertakan atau di `REVIEW.md` subdirektori tetap sebagai teks biasa, dan tautan Markdown ke file lain bukan merupakan penyertaan.

129* **Batas**: sertakan paling banyak delapan file berbeda, dan jaga agar `REVIEW.md` beserta file yang disertakannya di bawah 150.000 byte secara keseluruhan. File yang akan mencapai batas byte dilewati seluruhnya, bukan dipotong. Check run melaporkan berapa banyak baris penyertaan yang dilewati karena salah satu batas tersebut.

130* **Tautan**: jaga agar tautan Markdown berjumlah 64 atau kurang di seluruh `REVIEW.md` dan file yang disertakannya. Tautan ke alamat `http`, `https`, atau `mailto` dan ke anchor `#` tidak dihitung. Melewati batas tersebut, review melewati seluruh `REVIEW.md` root Anda, bukan hanya file yang disertakan. Check run kemudian [menyatakan bahwa instruksi tidak diterapkan](/docs/id/code-review-troubleshooting#the-check-run-mentions-review-md).

131* **Salinan yang di-merge**: merge file yang disertakan ke [branch tempat `REVIEW.md` dibaca](#which-branch-review-md-is-read-from). Review membaca keduanya dari commit yang sama, tidak pernah dari perubahan pull request itu sendiri.

132 

95### Dari branch mana REVIEW\.md dibaca133### Dari branch mana REVIEW\.md dibaca

96 134 

97Code Review membaca `REVIEW.md` dari base branch pull request atau dari default branch, tidak pernah dari perubahan pull request itu sendiri. Untuk mengubah perilaku review, merge perubahan `REVIEW.md` terlebih dahulu.135Code Review membaca `REVIEW.md` dari base branch pull request atau dari default branch, tidak pernah dari perubahan pull request itu sendiri. Untuk mengubah perilaku review, merge perubahan `REVIEW.md` terlebih dahulu.


117 155 

118| Perlindungan branch | Salinan yang dibaca | File yang dibaca |156| Perlindungan branch | Salinan yang dibaca | File yang dibaca |

119| :- | :- | :- |157| :- | :- | :- |

120| Default branch dilindungi, dan pull request menargetkannya atau menargetkan branch yang tidak dilindungi ruleset mana pun | Default branch | File root dan subdirektori |158| Default branch dilindungi, dan pull request menargetkannya atau menargetkan branch yang tidak dilindungi ruleset mana pun | Default branch | File root, file yang disertakannya, dan file subdirektori |

121| Pull request menargetkan branch lain yang dilindungi oleh ruleset | Base branch tersebut | File root dan subdirektori |159| Pull request menargetkan branch lain yang dilindungi oleh ruleset | Base branch tersebut | File root, file yang disertakannya, dan file subdirektori |

122| Default branch tidak dilindungi, dan base branch tidak memiliki aturan perlindungan jenis apa pun | Default branch | File root |160| Default branch tidak dilindungi, dan base branch tidak memiliki aturan perlindungan jenis apa pun | Default branch | File root |

123| Code Review tidak dapat mengonfirmasi pengaturan perlindungan. Ini termasuk default branch yang tidak dilindungi dengan base branch yang hanya memiliki aturan klasik | Tidak ada | Tidak ada |161| Code Review tidak dapat mengonfirmasi pengaturan perlindungan. Ini termasuk default branch yang tidak dilindungi dengan base branch yang hanya memiliki aturan klasik | Tidak ada | Tidak ada |

124 162 

Details

55 55 

56### Membaca hasil dari skrip56### Membaca hasil dari skrip

57 57 

58Untuk membatasi merge atau memposting ringkasan dari CI Anda sendiri, parse baris terakhir teks Details dengan `gh` dan jq. Baris tersebut adalah komentar yang dapat dibaca mesin.58Untuk membatasi merge atau memposting ringkasan dari CI Anda sendiri, parse baris terakhir teks Details dengan `gh` dan jq. Baris tersebut adalah komentar HTML yang memuat jumlah per tingkat keparahan dalam format JSON:

59 

60```text theme={null}

61<!-- bughunter-severity: {"nit":1,"normal":2,"pre_existing":0} -->

62```

63 

64Baris-baris di atasnya dapat berisi nama file dari pull request. Jika Anda mem-parse teks tersebut dengan cara Anda sendiri, ambil jumlahnya hanya dari baris terakhir, seperti yang dilakukan perintah dalam langkah-langkah berikut.

59 65 

60**1. Temukan ID check run**66**1. Temukan ID check run**

61 67 


67 73 

68**2. Baca jumlah per tingkat keparahan**74**2. Baca jumlah per tingkat keparahan**

69 75 

70Baca jumlah dari check run tersebut, ganti `CHECK_RUN_ID` dengan ID-nya:76Baca jumlah dari field `output.text` milik check run tersebut, yang berisi teks Details. Ganti `CHECK_RUN_ID` dengan ID-nya:

71 77 

72```bash theme={null}78```bash theme={null}

73gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq '

74 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'80 (.output.text | split("\n") | last

81 | scan("^<!-- bughunter-severity: (.*) -->$")[0] | fromjson)?

82 // error("no severity line")'

75```83```

76 84 

77Perintah ini mencetak objek JSON dengan jumlah per tingkat keparahan dan kuncinya dalam urutan abjad, misalnya `{"nit": 1, "normal": 2, "pre_existing": 0}`. Jumlah tersebut mencakup temuan dari review sebelumnya pada pull request yang thread-nya masih terbuka.85Perintah ini mencetak objek JSON dengan jumlah per tingkat keparahan dan kuncinya dalam urutan abjad, misalnya `{"nit": 1, "normal": 2, "pre_existing": 0}`. Jumlah tersebut mencakup temuan dari review sebelumnya pada pull request yang thread-nya masih terbuka.


80 88 

81Buat skrip Anda menangani kasus-kasus berikut:89Buat skrip Anda menangani kasus-kasus berikut:

82 90 

83* **`normal` lebih dari nol**: gagalkan job jika Anda ingin membatasi merge. Kunci `normal` menyimpan jumlah temuan Important, sehingga Claude menemukan setidaknya satu bug yang layak diperbaiki sebelum merge.91* **`normal` lebih dari nol**: gagalkan job jika Anda ingin membatasi merge. Kunci `normal` menyimpan jumlah temuan Important, sehingga Claude menemukan setidaknya satu bug yang layak diperbaiki sebelum merge. Untuk mencetak hanya jumlah tersebut, tambahkan `| .normal` sebelum tanda kutip tunggal penutup.

84* **Baris tersebut tidak ada**: perlakukan sebagai tidak ada putusan, bukan sebagai nol temuan. Check run untuk review yang gagal, kehabisan waktu, dibatalkan, atau digantikan oleh review yang lebih baru tidak memiliki baris tersebut, dan beberapa review yang selesai juga tidak memilikinya.92* **Baris tersebut tidak ada**: perintah mencetak error yang berisi `no severity line` alih-alih jumlah, dan keluar dengan status bukan nol. Perlakukan sebagai tidak ada putusan, bukan sebagai nol temuan. Check run untuk review yang gagal, kehabisan waktu, dibatalkan, atau digantikan oleh review yang lebih baru tidak memiliki baris tersebut, dan beberapa review yang selesai juga tidak memilikinya.

85 93 

86## Meminta review94## Meminta review

87 95 


99 107 

100| Perintah | Fungsinya | Kapan menggunakannya |108| Perintah | Fungsinya | Kapan menggunakannya |

101| :- | :- | :- |109| :- | :- | :- |

102| `@claude review` | Memulai satu review tanpa melanggankan PR ke push berikutnya | Anda menginginkan satu review sekarang, seperti pada pull request di repositori yang diatur ke Manual, atau review lain segera di mode lainnya |110| `@claude review` | Memulai satu review tanpa melanggankan PR ke push berikutnya | Anda menginginkan satu review sekarang, seperti pada pull request di repositori yang diatur ke **Manual**, atau review lain segera di mode lainnya |

103| `@claude review always` | Memulai review dan melanggankan PR ke review yang dipicu push ke depannya | Anda ingin setiap push berikutnya memulai review baru, seperti pada PR berprioritas tinggi di repositori yang diatur ke Manual |111| `@claude review always` | Memulai review dan melanggankan PR ke review yang dipicu push ke depannya | Anda ingin setiap push berikutnya memulai review baru, seperti pada PR berprioritas tinggi di repositori yang diatur ke **Manual** |

104| `@claude review once` | Sama dengan `@claude review`: memulai satu review tanpa berlangganan | Kasus yang sama dengan `@claude review` |112| `@claude review once` | Sama dengan `@claude review`: memulai satu review tanpa berlangganan | Kasus yang sama dengan `@claude review` |

113| `@claude review stop` | Mengakhiri langganan PR ke review yang dipicu push, tanpa memulai review atau membatalkan review yang sudah berada dalam antrean atau sedang berjalan. Claude membalas dengan komentar, bukan check run. | Anda melanggankan PR dengan `@claude review always` di repositori yang diatur ke **Manual** atau **Once after PR creation**, dan tidak lagi ingin setiap push memulai review |

114| `@claude review off` atau `@claude review pause` | Sama dengan `@claude review stop` | Kasus yang sama dengan `@claude review stop` |

115 

116Di repositori yang diatur ke **After every push**, Anda tidak dapat menghentikan review dengan komentar, karena push di sana memulai review dengan atau tanpa langganan. Untuk mencegah push memulai review pada satu pull request di sana, ubah pull request tersebut menjadi [draft](#review-drafts-and-pull-requests-from-forks). Saat Anda menandainya kembali sebagai siap untuk review, review akan dimulai.

105 117 

106Agar salah satu perintah ini memulai review, semua kondisi berikut harus terpenuhi:118Agar perintah komentar apa pun berlaku, semua kondisi berikut harus terpenuhi:

107 119 

108* Posting sebagai komentar pull request tingkat atas yang baru, bukan komentar inline pada baris diff dan bukan badan review. Mengedit komentar sebelumnya tidak dihitung.120* Posting sebagai komentar pull request tingkat atas yang baru, bukan komentar inline pada baris diff dan bukan badan review. Mengedit komentar sebelumnya tidak dihitung.

109* Letakkan perintah di awal komentar, dengan `always` pada baris yang sama dengan bagian perintah lainnya. Huruf besar/kecil tidak berpengaruh.121* Letakkan seluruh perintah dalam satu baris di awal komentar. Teks lain dapat mengikutinya. Jika `always` atau `stop` salah eja atau berada di baris berikutnya, Claude membaca komentar tersebut sebagai `@claude review` biasa dan memulai satu review. Huruf besar/kecil tidak berpengaruh.

110* Anda memerlukan izin write, maintain, atau admin pada repositori. Claude memeriksa hal ini dengan GitHub untuk setiap orang yang berkomentar, dan komentar dari bot tidak memulai review.122* Anda memerlukan izin write, maintain, atau admin pada repositori. Claude memeriksa hal ini dengan GitHub untuk setiap orang yang berkomentar, dan komentar dari bot tidak memulai review.

111* Pull request harus dalam keadaan terbuka.123* Pull request harus dalam keadaan terbuka.

112 124 

113Ketika perintah diterima, check run **Claude Code Review** muncul pada pull request dengan judul **Code review queued...**. Judul berubah menjadi **Code review in progress...** saat review dimulai. Claude mungkin juga bereaksi terhadap komentar Anda dengan 👀, tetapi reaksi itu dapat muncul meskipun tidak ada review yang dimulai, jadi periksa check run-nya.125Ketika perintah yang memulai review diterima, check run **Claude Code Review** muncul pada pull request dengan judul **Code review queued...**. Judul berubah menjadi **Code review in progress...** saat review dimulai. Claude mungkin juga bereaksi terhadap komentar Anda dengan 👀, tetapi reaksi itu dapat muncul meskipun tidak ada review yang dimulai, jadi periksa check run-nya.

114 126 

115Jika review sudah berjalan pada commit terbaru pull request, permintaan baru tidak akan memulai review kedua.127Jika review sudah berjalan pada commit terbaru pull request, permintaan baru tidak akan memulai review kedua.

116 128 

Details

66 66 

67## Check run menyebutkan REVIEW\.md67## Check run menyebutkan REVIEW\.md

68 68 

69Dua dari pesan yang dapat dimuat check run tentang `REVIEW.md` berkaitan dengan proteksi branch:69Berikut adalah tiga dari pesan yang dapat dimuat check run tentang `REVIEW.md`:

70 70 

71* **"This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes."**: review hanya membaca file root. Lihat [Dari branch mana REVIEW.md dibaca](/docs/id/code-review-customize#which-branch-review-md-is-read-from) untuk mengetahui apa yang berubah dengan memproteksi branch tersebut.71* **"This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes."**: review hanya membaca file root. Lihat [Dari branch mana REVIEW.md dibaca](/docs/id/code-review-customize#which-branch-review-md-is-read-from) untuk mengetahui apa yang berubah dengan memproteksi branch tersebut.

72* **"were not applied to this review: branch protection could not be confirmed"**: review tidak membaca `REVIEW.md` apa pun.72* **"were not applied to this review: branch protection could not be confirmed"**: review tidak membaca `REVIEW.md` apa pun.

73* **"they link to a file this pull request modifies, or carry more links than the review checks"**: review melewati `REVIEW.md` root, atau sejumlah file `REVIEW.md` subdirektori sesuai angka yang disebutkan dalam pesan. Periksa file yang dilewati untuk setiap penyebab. Untuk `REVIEW.md` root, periksa juga [file yang disertakannya](/docs/id/code-review-customize#include-other-files-in-review-md):

74 * **Terlalu banyak tautan**: file memuat lebih dari 64 tautan Markdown. Kurangi tautan menjadi [64 atau kurang](/docs/id/code-review-customize#include-other-files-in-review-md).

75 * **Tautan yang tidak dapat diurai oleh review**: file memiliki tautan Markdown yang formatnya salah. Perbaiki atau hapus tautan tersebut.

76 * **Tautan ke file yang diubah**: file menautkan ke file atau folder yang diubah oleh pull request ini, dan review tidak dapat mengecualikan hanya baris yang berisi tautan tersebut. Tulis aturan tersebut langsung di `REVIEW.md`.

73 77 

74## Masalah penyiapan78## Masalah penyiapan

75 79 

commands.md +4 −4

Details

55| `/artifact-capabilities` | **[Skill](/docs/id/skills#bundled-skills).** Muat referensi untuk kemampuan runtime yang dapat digunakan [artifact](/docs/id/artifacts) yang dipublikasikan, seperti [memanggil konektor Anda](/docs/id/artifacts#pull-live-data-with-mcp-connectors) atau [menawarkan unduhan file](/docs/id/artifacts#offer-a-file-download), termasuk yang dimiliki akun Anda. Claude biasanya memuatnya dengan sendirinya sebelum membangun halaman yang menggunakan salah satu. Tersedia di mana [artifact](/docs/id/artifacts#availability) tersedia |55| `/artifact-capabilities` | **[Skill](/docs/id/skills#bundled-skills).** Muat referensi untuk kemampuan runtime yang dapat digunakan [artifact](/docs/id/artifacts) yang dipublikasikan, seperti [memanggil konektor Anda](/docs/id/artifacts#pull-live-data-with-mcp-connectors) atau [menawarkan unduhan file](/docs/id/artifacts#offer-a-file-download), termasuk yang dimiliki akun Anda. Claude biasanya memuatnya dengan sendirinya sebelum membangun halaman yang menggunakan salah satu. Tersedia di mana [artifact](/docs/id/artifacts#availability) tersedia |

56| `/artifact-diagramming` | **[Skill](/docs/id/skills#bundled-skills).** Muat panduan diagram untuk diikuti Claude dalam [artifact](/docs/id/artifacts): kapan diagram membantu, apa yang harus digambar, dan cara menulis SVG inline yang tetap terbaca dalam tema terang dan gelap. Memerlukan Claude Code v2.1.221 atau lebih baru |56| `/artifact-diagramming` | **[Skill](/docs/id/skills#bundled-skills).** Muat panduan diagram untuk diikuti Claude dalam [artifact](/docs/id/artifacts): kapan diagram membantu, apa yang harus digambar, dan cara menulis SVG inline yang tetap terbaca dalam tema terang dan gelap. Memerlukan Claude Code v2.1.221 atau lebih baru |

57| `/artifacts` | Daftar [artifact](/docs/id/artifacts#find-an-artifact-again) yang Anda miliki atau yang dibagikan dengan Anda, kemudian lampirkan satu ke sesi, buka di browser Anda, atau salin tautannya. Tersedia di mana [artifact](/docs/id/artifacts#availability) tersedia. Memerlukan Claude Code v2.1.208 atau lebih baru; melampirkan dengan `Enter` memerlukan v2.1.216 |57| `/artifacts` | Daftar [artifact](/docs/id/artifacts#find-an-artifact-again) yang Anda miliki atau yang dibagikan dengan Anda, kemudian lampirkan satu ke sesi, buka di browser Anda, atau salin tautannya. Tersedia di mana [artifact](/docs/id/artifacts#availability) tersedia. Memerlukan Claude Code v2.1.208 atau lebih baru; melampirkan dengan `Enter` memerlukan v2.1.216 |

58| `/auto-mode-setup` | [Buat entri `autoMode.environment`](/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Memerlukan paket Pro, Max, atau Team dan Claude Code v2.1.228 atau lebih baru. Di Windows asli, memerlukan v2.1.233 atau lebih baru |58| `/auto-mode-setup` | [Buat entri `autoMode.environment`](/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Pada paket Pro, Max, atau Team, memerlukan Claude Code v2.1.228 atau lebih baru, atau v2.1.233 atau lebih baru di Windows asli. Pada paket Enterprise atau dengan kunci API Claude Console, memerlukan v2.1.283 atau lebih baru. Jika perintah tidak ada, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](/docs/id/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Atur jendela auto-compact: seberapa penuh context window sebelum Claude Code melakukan compaction otomatis. Berikan ukuran seperti `500k`, atau `auto` untuk kembali ke jendela yang disesuaikan untuk model Anda. Claude Code menyimpan nilai ke pengaturan pengguna dan menerapkannya ke sesi saat ini. Lihat [Atur jendela auto-compact](/docs/id/model-config#set-the-auto-compact-window) untuk nilai yang diterima dan apa yang menimpanya. Tanpa argumen, membuka dialog yang menunjukkan jendela saat ini. Memerlukan Claude Code v2.1.221 atau lebih baru |59| `/autocompact [auto\|<tokens>]` | Atur jendela auto-compact: seberapa penuh context window sebelum Claude Code melakukan compaction otomatis. Berikan ukuran seperti `500k`, atau `auto` untuk kembali ke jendela yang disesuaikan untuk model Anda. Claude Code menyimpan nilai ke pengaturan pengguna dan menerapkannya ke sesi saat ini. Lihat [Atur jendela auto-compact](/docs/id/model-config#set-the-auto-compact-window) untuk nilai yang diterima dan apa yang menimpanya. Tanpa argumen, membuka dialog yang menunjukkan jendela saat ini. Memerlukan Claude Code v2.1.221 atau lebih baru |

60| `/autofix-pr [prompt]` | Spawn [sesi cloud](/docs/id/claude-code-on-the-web#auto-fix-pull-requests) yang memantau PR branch saat ini dan mendorong perbaikan ketika CI gagal atau pengulas meninggalkan komentar. Mendeteksi PR terbuka dari branch yang Anda checkout dengan `gh pr view`; untuk memantau PR berbeda, checkout branch-nya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar ulasan; berikan prompt untuk memberikan instruksi berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [sesi cloud](/docs/id/claude-code-on-the-web) |60| `/autofix-pr [prompt]` | Spawn [sesi cloud](/docs/id/claude-code-on-the-web#auto-fix-pull-requests) yang memantau PR branch saat ini dan mendorong perbaikan ketika CI gagal atau pengulas meninggalkan komentar. Mendeteksi PR terbuka dari branch yang Anda checkout dengan `gh pr view`; untuk memantau PR berbeda, checkout branch-nya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar ulasan; berikan prompt untuk memberikan instruksi berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [sesi cloud](/docs/id/claude-code-on-the-web) |

61| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [agent latar belakang](/docs/id/agent-view) dan bebaskan terminal ini. Berikan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Untuk menyalin percakapan ke sesi latar belakang baru sementara sesi ini terus berjalan, gunakan `/fork`. Alias: `/bg` |61| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [agent latar belakang](/docs/id/agent-view) dan bebaskan terminal ini. Berikan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Untuk menyalin percakapan ke sesi latar belakang baru sementara sesi ini terus berjalan, gunakan `/fork`. Alias: `/bg` |


65| `/bug [report]` | Laporkan bug atau bagikan percakapan Anda. Anda memilih berapa banyak riwayat sesi yang akan disertakan dan konfirmasi di layar persetujuan sebelum apa pun dikirim. Ketika Anda masuk ke Anthropic pada koneksi pihak pertama, laporan pergi ke Anthropic; pada penyedia pihak ketiga, atau tanpa kredensial Anthropic, Claude Code menulis laporan ke [arsip lokal di bawah `~/.claude/feedback-bundles/`](/docs/id/data-usage#telemetry-services) yang Anda teruskan sendiri. Di [ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box), `/bug` membuka dialog umpan balik ekstensi sendiri; memerlukan Claude Code v2.1.229 atau lebih baru. Ketika Anda menjalankannya saat Claude merespons, Claude Code membuka dialog segera. Sebelum v2.1.232, Claude Code mengantrikan perintah sampai giliran selesai. Alias: `/share`. Sebelum v2.1.212, `/bug` dan `/share` adalah alias dari `/feedback` |65| `/bug [report]` | Laporkan bug atau bagikan percakapan Anda. Anda memilih berapa banyak riwayat sesi yang akan disertakan dan konfirmasi di layar persetujuan sebelum apa pun dikirim. Ketika Anda masuk ke Anthropic pada koneksi pihak pertama, laporan pergi ke Anthropic; pada penyedia pihak ketiga, atau tanpa kredensial Anthropic, Claude Code menulis laporan ke [arsip lokal di bawah `~/.claude/feedback-bundles/`](/docs/id/data-usage#telemetry-services) yang Anda teruskan sendiri. Di [ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box), `/bug` membuka dialog umpan balik ekstensi sendiri; memerlukan Claude Code v2.1.229 atau lebih baru. Ketika Anda menjalankannya saat Claude merespons, Claude Code membuka dialog segera. Sebelum v2.1.232, Claude Code mengantrikan perintah sampai giliran selesai. Alias: `/share`. Sebelum v2.1.212, `/bug` dan `/share` adalah alias dari `/feedback` |

66| `/cd <path>` | Pindahkan sesi ini ke direktori kerja baru, menjaga percakapan. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Untuk apa yang Claude Code terapkan dari direktori baru segera setelah Anda pindah, dan bagaimana `/cd` berbeda dari `/add-dir`, lihat [Pindahkan sesi ke direktori lain](/docs/id/permissions#move-the-session-to-another-directory) |66| `/cd <path>` | Pindahkan sesi ini ke direktori kerja baru, menjaga percakapan. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Untuk apa yang Claude Code terapkan dari direktori baru segera setelah Anda pindah, dan bagaimana `/cd` berbeda dari `/add-dir`, lihat [Pindahkan sesi ke direktori lain](/docs/id/permissions#move-the-session-to-another-directory) |

67| `/chrome` | Konfigurasi pengaturan [Claude di Chrome](/docs/id/chrome) |67| `/chrome` | Konfigurasi pengaturan [Claude di Chrome](/docs/id/chrome) |

68| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/id/skills#bundled-skills).** Muat materi referensi [Claude API](https://platform.claude.com/docs/en/api/overview) dan [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) untuk bahasa proyek Anda. Juga diaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Untuk apa yang dilakukan setiap subperintah dan versi yang diperlukan, lihat [Bekerja pada proyek Claude API](/docs/id/skills#work-on-claude-api-projects) |68| `/claude-api [migrate\|upgrade\|api-version\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/id/skills#bundled-skills).** Muat materi referensi [Claude API](https://platform.claude.com/docs/en/api/overview) dan [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) untuk bahasa proyek Anda. Juga diaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Untuk apa yang dilakukan setiap subperintah dan versi yang diperlukan, lihat [Bekerja pada proyek Claude API](/docs/id/skills#work-on-claude-api-projects) |

69| `/claude-in-chrome [task]` | **[Skill](/docs/id/skills#bundled-skills).** Buat Claude melakukan tugas di browser Anda, seperti menguji halaman, mengisi formulir, atau membaca log konsol, melalui [Claude di Chrome](/docs/id/chrome). Tersedia ketika integrasi Chrome diaktifkan untuk sesi, misalnya dengan `claude --chrome`, atau ketika Claude Code dapat menawarkan untuk [memasang ekstensi](/docs/id/chrome#install-the-extension-when-claude-asks) |69| `/claude-in-chrome [task]` | **[Skill](/docs/id/skills#bundled-skills).** Buat Claude melakukan tugas di browser Anda, seperti menguji halaman, mengisi formulir, atau membaca log konsol, melalui [Claude di Chrome](/docs/id/chrome). Tersedia ketika integrasi Chrome diaktifkan untuk sesi, misalnya dengan `claude --chrome`, atau ketika Claude Code dapat menawarkan untuk [memasang ekstensi](/docs/id/chrome#install-the-extension-when-claude-asks) |

70| `/clear [name]` | Mulai percakapan baru dengan konteks kosong. Berikan nama untuk memberi label percakapan sebelumnya di pemilih `/resume`. Untuk membebaskan konteks sambil melanjutkan percakapan yang sama, gunakan `/compact` sebagai gantinya. Lanjutkan percakapan sebelumnya dengan `/resume`, atau, dalam proses Claude Code yang sama, pulihkan dari [entri sesi sebelumnya menu rewind](/docs/id/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |70| `/clear [name]` | Mulai percakapan baru dengan konteks kosong. Berikan nama untuk memberi label percakapan sebelumnya di pemilih `/resume`. Untuk membebaskan konteks sambil melanjutkan percakapan yang sama, gunakan `/compact` sebagai gantinya. Lanjutkan percakapan sebelumnya dengan `/resume`, atau, dalam proses Claude Code yang sama, pulihkan dari [entri sesi sebelumnya menu rewind](/docs/id/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |

71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau diff saat ini, atau nomor PR, branch, atau jalur yang Anda berikan, untuk bug kebenaran. Tergantung pada model dan tingkat effort Anda, tinjauan juga mencakup peluang pembersihan. Berikan `--fix` untuk menerapkan temuan, `--comment` untuk mempostingnya di PR GitHub atau merge request GitLab, atau `ultra` untuk menjalankan [tinjauan cloud](/docs/id/ultrareview) mendalam. Memposting ke merge request GitLab memerlukan Claude Code v2.1.257 atau lebih baru. Dengan `ultra` pada target PR `github.com`, berikan `--post` untuk pra-pilih [memposting temuan selesai ke PR](/docs/id/ultrareview#post-findings-to-the-pull-request) dalam dialog peluncuran; `--post` memerlukan Claude Code v2.1.227 atau lebih baru. Lihat [Tinjau secara lokal dengan `/code-review`](/docs/id/code-review-local) untuk tingkat effort, penargetan, dan bagaimana hubungannya dengan `/simplify`. Alias: `/review` |71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau diff saat ini, atau nomor PR, branch, atau jalur yang Anda berikan, untuk bug kebenaran. Tergantung pada model dan tingkat effort Anda, tinjauan juga mencakup peluang pembersihan. Berikan `--fix` untuk menerapkan temuan, `--comment` untuk mempostingnya di PR GitHub atau merge request GitLab, atau `ultra` untuk menjalankan [tinjauan cloud](/docs/id/ultrareview) mendalam. Memposting ke merge request GitLab memerlukan Claude Code v2.1.257 atau lebih baru. Dengan `ultra` pada target PR `github.com`, berikan `--post` untuk pra-pilih [memposting temuan selesai ke PR](/docs/id/ultrareview#post-findings-to-the-pull-request) dalam dialog peluncuran; `--post` memerlukan Claude Code v2.1.227 atau lebih baru. Lihat [Tinjau secara lokal dengan `/code-review`](/docs/id/code-review-local) untuk tingkat effort, penargetan, dan bagaimana hubungannya dengan `/simplify`. Alias: `/review` |


80| `/deep-research <question>` | **[Workflow](/docs/id/workflows#bundled-workflows).** Sebarkan pencarian web pada pertanyaan, ambil dan periksa silang sumber, dan sintesis laporan yang dikutip |80| `/deep-research <question>` | **[Workflow](/docs/id/workflows#bundled-workflows).** Sebarkan pencarian web pada pertanyaan, ambil dan periksa silang sumber, dan sintesis laporan yang dikutip |

81| `/design [brief]` | **[Skill](/docs/id/skills#bundled-skills).** Buat sketsa UI mockup, alur layar, halaman pendaratan, atau poster sebagai artboard di satu kanvas, dipublikasikan sebagai [artifact](/docs/id/artifacts#draft-a-design-canvas) Claude Design, misalnya `/design a settings screen for a mobile banking app`. Anda mengedit artboard di browser desktop, dan edit Anda disimpan secara otomatis. Anda dapat mengekspor setiap artboard sebagai PNG atau PDF. Memerlukan Claude Code v2.1.265 atau lebih baru, sesi di mana [artifact tersedia](/docs/id/artifacts#availability), dan akun di mana [template Design tersedia](/docs/id/artifacts#start-from-a-slides-design-or-docs-template); jika organisasi Anda telah mematikan template itu, `/design` tidak membuat desain. Tersedia di Anthropic API. Di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, artifact tidak tersedia, jadi perintah tidak tersedia di sana |81| `/design [brief]` | **[Skill](/docs/id/skills#bundled-skills).** Buat sketsa UI mockup, alur layar, halaman pendaratan, atau poster sebagai artboard di satu kanvas, dipublikasikan sebagai [artifact](/docs/id/artifacts#draft-a-design-canvas) Claude Design, misalnya `/design a settings screen for a mobile banking app`. Anda mengedit artboard di browser desktop, dan edit Anda disimpan secara otomatis. Anda dapat mengekspor setiap artboard sebagai PNG atau PDF. Memerlukan Claude Code v2.1.265 atau lebih baru, sesi di mana [artifact tersedia](/docs/id/artifacts#availability), dan akun di mana [template Design tersedia](/docs/id/artifacts#start-from-a-slides-design-or-docs-template); jika organisasi Anda telah mematikan template itu, `/design` tidak membuat desain. Tersedia di Anthropic API. Di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, artifact tidak tersedia, jadi perintah tidak tersedia di sana |

82| `/design consent`, `/design revoke` | Berikan Claude akses ke [Claude Design](https://claude.ai/design), atau cabut akses tersebut. Ketika balasan dari Claude meminta Anda menjalankan `/design consent`, ketik sendiri perintah itu di prompt Claude Code |82| `/design consent`, `/design revoke` | Berikan Claude akses ke [Claude Design](https://claude.ai/design), atau cabut akses tersebut. Ketika balasan dari Claude meminta Anda menjalankan `/design consent`, ketik sendiri perintah itu di prompt Claude Code |

83| `/design-login` | Otorisasi akses sistem desain untuk `/design-sync` dengan akun claude.ai Anda. Masuk dengan `/design-login` setiap kali `/design-sync` atau `/design consent` meminta Anda melakukannya |83| `/design-login` | Otorisasi akses sistem desain untuk `/design-sync` dengan akun claude.ai Anda. Masuk dengan `/design-login` setiap kali `/design-sync` atau `/design consent` meminta Anda melakukannya. Proses masuk ini untuk situs Claude Design mandiri di claude.ai/design, yang akan ditutup paling lambat 14 Desember 2026; lihat [Migrasi dari Claude Design mandiri ke Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

84| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi sistem desain React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkan menggunakan komponen nyata Anda. Secara opsional beri nama sistem desain, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam di repo besar. Tersedia di Anthropic API. Memerlukan claude.ai, yang CLI tidak hubungi di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations), jadi perintah tidak tersedia di sana |84| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi sistem desain React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkan menggunakan komponen nyata Anda. Secara opsional beri nama sistem desain, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam di repo besar. Tersedia di Anthropic API. Memerlukan claude.ai, yang CLI tidak hubungi di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations). Perintah tidak tersedia di sana. Perintah ini mengunggah ke situs claude.ai/design mandiri, yang akan ditutup paling lambat 14 Desember 2026; lihat [Migrasi dari Claude Design mandiri ke Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

85| `/desktop` | Lanjutkan sesi saat ini di aplikasi Claude Code Desktop. Memerlukan macOS atau Windows x64 dan langganan Claude. Alias: `/app` |85| `/desktop` | Lanjutkan sesi saat ini di aplikasi Claude Code Desktop. Memerlukan macOS atau Windows x64 dan langganan Claude. Alias: `/app` |

86| `/diff` | Tinjau perubahan di working tree Anda, termasuk edit yang telah dilakukan Claude sejauh ini. Lihat [Tinjau perubahan dengan /diff](/docs/id/interactive-mode#review-changes-with-%2Fdiff) |86| `/diff` | Tinjau perubahan di working tree Anda, termasuk edit yang telah dilakukan Claude sejauh ini. Lihat [Tinjau perubahan dengan /diff](/docs/id/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan pemeriksaan pengaturan yang mendiagnosis masalah instalasi, pengaturan, ekstensi, dan `CLAUDE.md` serta mengusulkan perbaikan yang diterapkan Claude setelah Anda mengonfirmasi. Untuk apa yang dicakup pemeriksaan, atau untuk mengaudit instruksi Anda dengan `prompt-audit` sebagai gantinya, lihat [Periksa pengaturan Anda dengan `/doctor`](/docs/id/skills#check-your-setup-with-/doctor). Subperintah `prompt-audit` memerlukan Claude Code v2.1.283 atau lebih baru. Alias: `/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan pemeriksaan pengaturan yang mendiagnosis masalah instalasi, pengaturan, ekstensi, dan `CLAUDE.md` serta mengusulkan perbaikan yang diterapkan Claude setelah Anda mengonfirmasi. Untuk apa yang dicakup pemeriksaan, atau untuk mengaudit instruksi Anda dengan `prompt-audit` sebagai gantinya, lihat [Periksa pengaturan Anda dengan `/doctor`](/docs/id/skills#check-your-setup-with-/doctor). Subperintah `prompt-audit` memerlukan Claude Code v2.1.283 atau lebih baru. Alias: `/checkup` |

Details

379 379 

380Untuk mencegah referensi `@` menyertakan konten file dan daftar direktori dalam pesan Anda, atur [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/id/env-vars#variables) di shell atau pengaturan pengguna Anda. Claude kemudian menerima jalur yang Anda referensikan beserta catatan untuk membacanya menggunakan tool file miliknya. Variabel ini memerlukan Claude Code v2.1.299 atau yang lebih baru, dan Claude Code mengabaikannya dalam pengaturan proyek dan lokal.380Untuk mencegah referensi `@` menyertakan konten file dan daftar direktori dalam pesan Anda, atur [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/id/env-vars#variables) di shell atau pengaturan pengguna Anda. Claude kemudian menerima jalur yang Anda referensikan beserta catatan untuk membacanya menggunakan tool file miliknya. Variabel ini memerlukan Claude Code v2.1.299 atau yang lebih baru, dan Claude Code mengabaikannya dalam pengaturan proyek dan lokal.

381 381 

382[Hook `PreToolUse`](/docs/id/hooks#pretooluse) Anda tidak berjalan ketika Claude Code menyertakan file yang Anda referensikan dengan `@`, karena tidak ada panggilan tool yang dilakukan. Jika Anda mengandalkan hook tersebut untuk mengontrol apa yang dibaca Claude, blokir jalur tertentu atau cegah referensi `@` menyertakan file:

383 

384* **Blokir jalur tertentu**: tambahkan [aturan deny `Read`](/docs/id/permissions#read-and-edit) untuk jalur tersebut. Claude Code tidak menyertakan file yang cocok dengan aturan tersebut.

385* **Cegah referensi `@` menyertakan file**: atur `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`, yang mencegah referensi file dan direktori `@` dalam pesan Anda menyertakan konten, bahkan untuk jalur yang tidak diperiksa oleh hook Anda. Hook Anda yang cocok kemudian berjalan sebelum Claude membuka jalur yang direferensikan dengan tool seperti `Read`.

386 

382***387***

383 388 

384### Jalankan Claude pada jadwal389### Jalankan Claude pada jadwal

costs.md +24 −5

Details

55 55 

56#### Rincian penggunaan paket56#### Rincian penggunaan paket

57 57 

58Pada paket Pro, Max, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda:58Pada paket Pro, Max, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda, disertai rekomendasi:

59 59 

60* **Attribution**: penggunaan terbaru yang dikaitkan dengan skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Bagian server MCP hanya menghitung permintaan yang menggunakan salah satu hasil tool-nya. Sebelum v2.1.222, setelah satu panggilan ke server MCP, Claude Code mengatribusikan setiap permintaan berikutnya ke server tersebut, melebih-lebihkan bagiannya.60* **Attribution**: penggunaan terbaru yang dikaitkan dengan skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Bagian server MCP hanya menghitung permintaan yang menggunakan salah satu hasil tool-nya. Sebelum v2.1.222, setelah satu panggilan ke server MCP, Claude Code mengatribusikan setiap permintaan berikutnya ke server tersebut, melebih-lebihkan bagiannya.

61* **Behavior flags**: perilaku seperti konteks panjang atau cache miss, ditandai ketika satu menyumbang 10% atau lebih dari penggunaan terbaru.61* **Recommendations**: perubahan yang menurunkan penggunaan Anda, satu per baris. Setiap baris diawali dengan bagian penggunaan terbaru yang ditanganinya, minimal 10%, seperti pada `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`. Agar Claude Code menerapkan rekomendasi yang dapat diterapkannya, lihat [Menerapkan rekomendasi dengan pintasan fix](#apply-recommendations-with-the-fix-shortcut).

62* **Loops**: baris untuk masing-masing dari [`/loop` atau tugas terjadwal lingkup sesi lainnya](/docs/id/scheduled-tasks) terberat yang berjalan baru-baru ini, diurutkan berdasarkan total token, dengan hitungan sisanya. Memerlukan Claude Code v2.1.242 atau lebih baru.62* **Loops**: baris untuk masing-masing dari [`/loop` atau tugas terjadwal lingkup sesi lainnya](/docs/id/scheduled-tasks) terberat yang berjalan baru-baru ini, diurutkan berdasarkan total token, dengan hitungan sisanya. Memerlukan Claude Code v2.1.242 atau lebih baru.

63 * **Apa yang dilaporkan setiap baris**: seberapa sering tugas dijalankan, berapa kali tugas itu berjalan, total token dan token per jalannya, dan kapan terakhir kali dijalankan63 * **Apa yang dilaporkan setiap baris**: seberapa sering tugas dijalankan, berapa kali tugas itu berjalan, total token dan token per jalannya, dan kapan terakhir kali dijalankan

64 * **Loop yang dihentikan dan dibuat ulang**: Claude Code mengunci baris berdasarkan prompt tugas, jadi loop yang Anda hentikan dan buat ulang tetap menjadi satu baris64 * **Loop yang dihentikan dan dibuat ulang**: Claude Code mengunci baris berdasarkan prompt tugas, jadi loop yang Anda hentikan dan buat ulang tetap menjadi satu baris

65 65 

66Tekan `d` atau `w` untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut bersifat perkiraan dan dihitung dari riwayat sesi lokal di mesin ini, jadi penggunaan dari perangkat lain atau claude.ai tidak disertakan.66Tekan `d` atau `w` untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut bersifat perkiraan dan dihitung dari riwayat sesi lokal di mesin ini, jadi penggunaan dari perangkat lain atau claude.ai tidak disertakan.

67 67 

68Di [ekstensi VS Code](/docs/id/vs-code#check-account-and-usage), bagian attribution dan behavior flags muncul dalam dialog Account & usage dengan toggle Day dan Week, tanpa baris Loops.68Di [ekstensi VS Code](/docs/id/vs-code#check-account-and-usage), bagian attribution dan rekomendasi muncul dalam dialog Account & usage dengan toggle Day dan Week, tanpa baris Loops.

69 

70#### Menerapkan rekomendasi dengan pintasan fix

71 

72Ketika footer `/usage` menampilkan petunjuk seperti `f to fix 2 of 3`, tekan `f` agar Claude Code menindaklanjuti rekomendasi yang dapat ditanganinya. Pintasan `f` memerlukan Claude Code v2.1.305 atau lebih baru.

73 

741. Setelah giliran yang sedang berlangsung selesai, Claude Code menjalankan setiap perintah [`/effort`](/docs/id/model-config#adjust-effort-level) yang ditampilkan dalam baris tanpa `run`.

752. Claude kemudian mendapatkan satu prompt dengan satu langkah untuk setiap baris lain yang dapat ditindaklanjutinya. Prompt tersebut meminta Claude untuk menunjukkan setiap perubahan kepada Anda sebelum membuatnya.

76 

77Untuk melihat apa yang terjadi pada setiap baris Anda saat menekan `f`, temukan bentuk baris tersebut di kolom pertama:

78 

79| Bentuk baris | Contoh baris | Saat Anda menekan `f` |

80| :- | :- | :- |

81| Diakhiri dengan perintah `/effort` tanpa `run` sebelumnya | `40% Switch from max to high effort · /effort high` | Claude Code menjalankan perintah tersebut |

82| Diakhiri dengan `run` dan sebuah perintah | `30% Compact before you step away · run /compact` | Tidak ada yang terjadi untuk baris ini. Jalankan perintah tersebut sendiri di prompt Claude Code |

83| Diakhiri dengan hal lain | `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request` | Claude mendapatkan langkah dalam prompt untuk sebagian baris ini, dan tidak ada yang terjadi untuk sisanya. Jika Claude tidak menunjukkan perubahan apa pun untuk suatu baris, ikuti rekomendasi tersebut sendiri |

84 

85Dalam `f to fix 2 of 3`, angka pertama menghitung baris yang ditindaklanjuti Claude Code saat Anda menekan `f`, dan angka kedua menghitung baris yang ditampilkan. Petunjuk tanpa `of` di dalamnya, seperti `f to fix both`, berarti Claude Code menindaklanjuti setiap baris yang ditampilkan.

86 

87Saat [Remote Control](/docs/id/remote-control) terhubung, footer tidak menampilkan petunjuk `f`. Jika menekan `f` menutup `/usage` dengan `Nothing was sent. Turn off Remote Control to use fixes.`, berarti Remote Control terhubung saat `/usage` sedang terbuka. Untuk menggunakan `f` lagi, [putuskan koneksi Remote Control](/docs/id/remote-control#check-connection-status), lalu jalankan `/usage` di prompt Claude Code dan tekan `f` lagi.

69 88 

70#### Periksa pengeluaran kredit penggunaan Anda89#### Periksa pengeluaran kredit penggunaan Anda

71 90 


367Sesi yang telah dibuka selama berjam-jam dapat menggunakan jauh lebih banyak batas paket Anda daripada yang disarankan oleh aktivitas Anda, biasanya karena salah satu alasan berikut:386Sesi yang telah dibuka selama berjam-jam dapat menggunakan jauh lebih banyak batas paket Anda daripada yang disarankan oleh aktivitas Anda, biasanya karena salah satu alasan berikut:

368 387 

369* **Konteks panjang**: Claude Code mengirimkan percakapan lengkap Anda dengan setiap permintaan, dan setiap kali Claude menggunakan tools, ia mengirimkan permintaan lain yang membawa batch hasil tool tersebut. Dengan [prompt caching](/docs/id/prompt-caching), Claude Code membaca ulang riwayat tersebut pada [tingkat token yang di-cache](https://platform.claude.com/docs/en/about-claude/pricing), jadi pertanyaan satu baris dalam sesi yang telah dibuka sepanjang hari masih menarik penggunaan untuk seluruh percakapan. Lihat [Kelola konteks secara proaktif](#manage-context-proactively) untuk cara-cara menjaga konteks Anda tetap kecil388* **Konteks panjang**: Claude Code mengirimkan percakapan lengkap Anda dengan setiap permintaan, dan setiap kali Claude menggunakan tools, ia mengirimkan permintaan lain yang membawa batch hasil tool tersebut. Dengan [prompt caching](/docs/id/prompt-caching), Claude Code membaca ulang riwayat tersebut pada [tingkat token yang di-cache](https://platform.claude.com/docs/en/about-claude/pricing), jadi pertanyaan satu baris dalam sesi yang telah dibuka sepanjang hari masih menarik penggunaan untuk seluruh percakapan. Lihat [Kelola konteks secara proaktif](#manage-context-proactively) untuk cara-cara menjaga konteks Anda tetap kecil

370* **Cache misses**: pesan pertama Anda setelah istirahat yang lebih lama dari [cache lifetime](/docs/id/prompt-caching#cache-lifetime) melewatkan cache dan memproses ulang konteks lengkap Anda. Masa hidup adalah satu jam pada langganan dan turun menjadi lima menit setelah Anda menggunakan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans); pada kunci API atau cloud provider, defaultnya adalah lima menit. Untuk mempertahankan masa hidup satu jam sambil menggunakan kredit penggunaan, [pilih TTL sendiri](/docs/id/prompt-caching#choose-the-ttl-yourself)389* **Cache misses**: pesan pertama Anda setelah istirahat yang lebih lama dari [cache lifetime](/docs/id/prompt-caching#cache-lifetime) melewatkan cache dan memproses ulang konteks lengkap Anda. Lihat [masa hidup mana yang didapat permintaan Anda](/docs/id/prompt-caching#which-ttl-each-request-gets) dan [kontrol untuk mengaturnya](/docs/id/prompt-caching#choose-the-ttl-yourself)

371* **Tugas terjadwal**: [tugas terjadwal dengan cakupan sesi](/docs/id/scheduled-tasks) dijalankan pada intervalnya bahkan saat sesi idle, mengirimkan konteks lengkap Anda setiap kali390* **Tugas terjadwal**: [tugas terjadwal dengan cakupan sesi](/docs/id/scheduled-tasks) dijalankan pada intervalnya bahkan saat sesi idle, mengirimkan konteks lengkap Anda setiap kali

372* **Pesan lintas sesi**: Claude Code mengirimkan [pesan dari salah satu sesi Anda yang lain](/docs/id/cross-session-messaging) sebagai giliran baru ketika sesi ini idle, mengirimkan konteks lengkap Anda setiap kali. Untuk menahan pesan masuk alih-alih mengirimkannya, atur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke `hold`391* **Pesan lintas sesi**: Claude Code mengirimkan [pesan dari salah satu sesi Anda yang lain](/docs/id/cross-session-messaging) sebagai giliran baru ketika sesi ini idle, mengirimkan konteks lengkap Anda setiap kali. Untuk menahan pesan masuk alih-alih mengirimkannya, atur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke `hold`

373* **Pemeriksaan tujuan**: sementara pekerjaan latar belakang membuat [tujuan](/docs/id/goal) aktif menunggu, Claude Code [meminta Claude untuk memeriksa pekerjaan tersebut](/docs/id/goal#background-work-defers-evaluation) bahkan ketika sesi idle, memulai giliran baru yang mengirimkan konteks lengkap Anda. Claude Code memulai paling banyak tiga pemeriksaan idle per tujuan di antara prompt Anda. Sebelum v2.1.246, pemeriksaan idle tidak terbatas. Untuk mematikan pemeriksaan, atur [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/id/env-vars) ke `0`. Pemeriksaan idle memerlukan Claude Code v2.1.236 atau lebih baru392* **Pemeriksaan tujuan**: sementara pekerjaan latar belakang membuat [tujuan](/docs/id/goal) aktif menunggu, Claude Code [meminta Claude untuk memeriksa pekerjaan tersebut](/docs/id/goal#background-work-defers-evaluation) bahkan ketika sesi idle, memulai giliran baru yang mengirimkan konteks lengkap Anda. Claude Code memulai paling banyak tiga pemeriksaan idle per tujuan di antara prompt Anda. Sebelum v2.1.246, pemeriksaan idle tidak terbatas. Untuk mematikan pemeriksaan, atur [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/id/env-vars) ke `0`. Pemeriksaan idle memerlukan Claude Code v2.1.236 atau lebih baru


375* **Rekan tim agen**: setiap [rekan tim](#agent-team-token-costs) aktif terus mengonsumsi token sampai keluar394* **Rekan tim agen**: setiap [rekan tim](#agent-team-token-costs) aktif terus mengonsumsi token sampai keluar

376* **Pemadatan**: `/compact` membaca percakapan yang diringkasnya, jadi [memadatkan konteks besar](/docs/id/prompt-caching#compacting-the-conversation) adalah permintaan besar itu sendiri. Ketika Anda menginginkan awal yang segar alih-alih kontinuitas, `/clear` tidak memerlukan biaya apa pun395* **Pemadatan**: `/compact` membaca percakapan yang diringkasnya, jadi [memadatkan konteks besar](/docs/id/prompt-caching#compacting-the-conversation) adalah permintaan besar itu sendiri. Ketika Anda menginginkan awal yang segar alih-alih kontinuitas, `/clear` tidak memerlukan biaya apa pun

377 396 

378Pada paket Pro, Max, Team, atau Enterprise, rincian `/usage` menandai perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru Anda, seperti konteks panjang atau cache misses, masing-masing dengan tip untuk menguranginya.397Pada paket Pro, Max, Team, atau Enterprise, [rincian `/usage`](#plan-usage-breakdown) merekomendasikan perubahan untuk perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru Anda, seperti konteks panjang atau cache misses.

379 398 

380## Memahami perubahan dalam perilaku Claude Code399## Memahami perubahan dalam perilaku Claude Code

381 400 

Details

184Contoh ini adalah pesan yang ditulis satu Claude ke Claude lain, seperti teks lengkapnya dibaca ketika Anda memperluas:184Contoh ini adalah pesan yang ditulis satu Claude ke Claude lain, seperti teks lengkapnya dibaca ketika Anda memperluas:

185 185 

186```text wrap theme={null}186```text wrap theme={null}

187Migrasi skema selesai187Schema migration finished

188Kolom baru adalah tenant_id, dan rebase pada main aman sekarang.188The new column is tenant_id, and rebasing on main is safe now.

189```189```

190 190 

191### Kontrol pesan yang masuk191### Kontrol pesan yang masuk


228* **Sebelum batas waktu**: jika mode atau perubahan pengaturan memungkinkan pesan, Claude Code mengirimkannya.228* **Sebelum batas waktu**: jika mode atau perubahan pengaturan memungkinkan pesan, Claude Code mengirimkannya.

229* **Melewati batas waktu**: Claude Code menjatuhkan pesan dan melaporkannya sebagai kedaluwarsa ke pengirim yang dapat dijangkaunya.229* **Melewati batas waktu**: Claude Code menjatuhkan pesan dan melaporkannya sebagai kedaluwarsa ke pengirim yang dapat dijangkaunya.

230 230 

231Atur `dialogExpiry` ke `"never"` untuk menyimpan pesan default-held sampai sesi berakhir. Pesan yang ditahan oleh pengaturan `hold` eksplisit tidak kedaluwarsa; Claude Code mengirimkannya hanya ketika `accept` kemudian berlaku.231Atur `dialogExpiry` ke `"never"` untuk menyimpan pesan default-held sampai sesi berakhir. Pesan yang ditahan oleh pengaturan `hold` eksplisit tidak kedaluwarsa; Claude Code mengirimkannya ketika `accept` kemudian berlaku.

232 232 

233Untuk membiarkan pekerja `-p` mengambil pesan tanpa pengawasan, mulai dengan `crossSessionInbound` diatur ke `accept` dalam nilai `--settings` miliknya. `accept` dalam pengaturan pengguna Anda juga bekerja tetapi berlaku untuk setiap sesi yang Anda jalankan.233Untuk membiarkan pekerja `-p` mengambil pesan tanpa pengawasan, mulai dengan `crossSessionInbound` diatur ke `accept` dalam nilai `--settings` miliknya. `accept` dalam pengaturan pengguna Anda juga bekerja tetapi berlaku untuk setiap sesi yang Anda jalankan.

234 234 

desktop.md +15 −8

Details

6 6 

7> Dapatkan lebih banyak dari Claude Code Desktop: sesi paralel dengan isolasi Git, tata letak pane drag-and-drop, terminal terintegrasi dan editor file, side chats, computer use, Dispatch sessions dari ponsel Anda, tinjauan diff visual, pratinjau aplikasi, pemantauan PR, konektor, dan konfigurasi enterprise.7> Dapatkan lebih banyak dari Claude Code Desktop: sesi paralel dengan isolasi Git, tata letak pane drag-and-drop, terminal terintegrasi dan editor file, side chats, computer use, Dispatch sessions dari ponsel Anda, tinjauan diff visual, pratinjau aplikasi, pemantauan PR, konektor, dan konfigurasi enterprise.

8 8 

9Aplikasi Claude Desktop memiliki tiga tab: **Chat** untuk percakapan, **Cowork** untuk [Dispatch dan pekerjaan agentic yang lebih panjang](https://claude.com/product/cowork), dan **Code** untuk pengembangan perangkat lunak. Halaman ini adalah referensi untuk tab Code.9Di aplikasi Claude Desktop, Claude Code adalah tab **Code**. Aplikasi ini juga memiliki chat dan [Cowork](https://claude.com/product/cowork), yang menangani Dispatch dan pekerjaan agentic yang lebih panjang. Halaman ini adalah referensi untuk tab Code.

10 10 

11> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>12>


214 214 

215### Lihat detail sesi215### Lihat detail sesi

216 216 

217Panel detail sesi adalah sekumpulan kartu di sebelah chat yang menampilkan di mana sesi berjalan, apa yang diubahnya, dan apa yang sedang dijalankannya. Panel muncul setelah Anda memulai sesi, selama chat cukup lebar untuk menampungnya.217Panel detail sesi adalah sekumpulan kartu di sebelah chat yang menampilkan di mana sesi berjalan, apa yang diubahnya, apa yang sedang dijalankannya, dan penggunaan konteksnya. Panel muncul setelah Anda memulai sesi, selama chat cukup lebar untuk menampungnya.

218 218 

219#### Sembunyikan atau tampilkan panel detail sesi219#### Sembunyikan atau tampilkan panel detail sesi

220 220 


298 298 

299### Periksa penggunaan299### Periksa penggunaan

300 300 

301Klik cincin penggunaan di sebelah pemilih model untuk melihat penggunaan context window saat ini Anda dan penggunaan paket Anda untuk periode tersebut. Penggunaan konteks bersifat per sesi; penggunaan paket dibagikan di semua surface Claude Code Anda.301Untuk melihat seberapa penuh context window sesi ini, temukan tata letak tab Code Anda:

302 

303* **Tata letak saat ini**: header kartu **Context** di [panel detail sesi](#see-session-details) menampilkannya sebagai persentase. Buka kartu tersebut untuk melihat apa yang menggunakan window berdasarkan kategori.

304* **[Tata letak sebelumnya](#check-which-layout-you-have)**: klik cincin penggunaan di sebelah pemilih model. Popover-nya menampilkan penggunaan context window Anda.

305 

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

307 

308Kedua tata letak memiliki cincin penggunaan di sebelah pemilih model. Klik cincin tersebut untuk melihat penggunaan paket Anda, yang dibagikan di semua surface Claude Code Anda.

302 309 

303## Biarkan Claude menggunakan komputer Anda310## Biarkan Claude menggunakan komputer Anda

304 311 


398 405 

399> [!NOTE]406> [!NOTE]

400>407>

401> Isolasi sesi memerlukan [Git](https://git-scm.com/downloads). Sebagian besar Mac menyertakan Git secara default. Jalankan `git --version` di Terminal untuk memeriksa; jika menampilkan nomor versi, Git sudah terinstal. Jika Anda mengalami kesalahan Git, tanyakan Claude di tab [Cowork](https://claude.com/product/cowork) untuk membantu memecahkan masalah setup Anda.408> Isolasi sesi memerlukan [Git](https://git-scm.com/downloads). Sebagian besar Mac menyertakan Git secara default. Jalankan `git --version` di Terminal untuk memeriksa; jika menampilkan nomor versi, Git sudah terinstal. Jika Anda mengalami kesalahan Git, tanyakan Claude di [Cowork](https://claude.com/product/cowork) untuk membantu memecahkan masalah setup Anda.

402 409 

403### Tambahkan folder ke sesi410### Tambahkan folder ke sesi

404 411 


462 469 

463Ketika Claude mengirim pesan ke sesi lain melalui surface ini, Claude Code menampilkannya di sana sebagai kartu berlabel dengan judul sesi pengirim dan tautan kembali, sehingga Anda selalu dapat mengetahui dari mana pesan berasal. Jika sesi penerima sedang menjalankan tugas, Claude Code menahan pesan dan Claude membacanya setelah pekerjaan saat ini selesai. Claude penerima dapat membalas, dan Claude Code mengirimkan balasan kembali melalui surface ini. Claude tidak dapat mengirimkan ke sesi yang diarsipkan, dan memberi tahu Anda ketika pesan tidak tersampaikan.470Ketika Claude mengirim pesan ke sesi lain melalui surface ini, Claude Code menampilkannya di sana sebagai kartu berlabel dengan judul sesi pengirim dan tautan kembali, sehingga Anda selalu dapat mengetahui dari mana pesan berasal. Jika sesi penerima sedang menjalankan tugas, Claude Code menahan pesan dan Claude membacanya setelah pekerjaan saat ini selesai. Claude penerima dapat membalas, dan Claude Code mengirimkan balasan kembali melalui surface ini. Claude tidak dapat mengirimkan ke sesi yang diarsipkan, dan memberi tahu Anda ketika pesan tidak tersampaikan.

464 471 

465Claude Code menerapkan empat perilaku keamanan lintas sesi:472Claude Code menerapkan tiga perilaku keamanan lintas sesi:

466 473 

467* Anda mendapatkan kartu persetujuan sebelum Claude mengarsipkan sesi, kecuali dalam Auto mode dan Bypass permissions mode, di mana Claude dapat mengarsipkan sesi tanpa kartu tersebut. Agar ditanya terlebih dahulu, beralihlah ke Manual.474* Anda mendapatkan kartu persetujuan sebelum Claude mengarsipkan sesi, kecuali dalam Auto mode dan Bypass permissions mode, di mana Claude dapat mengarsipkan sesi tanpa kartu tersebut. Agar ditanya terlebih dahulu, beralihlah ke Manual.

468* Melalui surface ini, Claude tidak dapat mengirim pesan lintas sesi dari sesi yang tidak ada yang menonton, seperti jalankan tugas terjadwal, dan tidak dapat mengirimkan pesan ke satu.

469* Claude Code memeriksa setiap pesan dari surface ini terhadap [kontrol inbound](/docs/id/cross-session-messaging#control-inbound-messages) sesi penerima, bahkan ketika sesi penerima tidak memiliki [cross-session messaging](/docs/id/cross-session-messaging#availability) itu sendiri. Jika Anda mengatur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke `refuse` di sesi penerima, Claude Code menghapus pesan dari surface ini. Claude Code melaporkan penolakan ke aplikasi desktop Claude. Sebelum v2.1.234, Claude Code menghapus setiap pesan dari surface ini ke sesi penerima tanpa cross-session messaging.475* Claude Code memeriksa setiap pesan dari surface ini terhadap [kontrol inbound](/docs/id/cross-session-messaging#control-inbound-messages) sesi penerima, bahkan ketika sesi penerima tidak memiliki [cross-session messaging](/docs/id/cross-session-messaging#availability) itu sendiri. Jika Anda mengatur [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke `refuse` di sesi penerima, Claude Code menghapus pesan dari surface ini. Claude Code melaporkan penolakan ke aplikasi desktop Claude. Sebelum v2.1.234, Claude Code menghapus setiap pesan dari surface ini ke sesi penerima tanpa cross-session messaging.

470* Claude Code mengutip setiap pesan masuk dan mengatribusikannya ke sesi yang mengirimnya, dan Claude masih mengikuti pengaturan izin sesi penerima sendiri saat bertindak atas satu.476* Claude Code mengutip setiap pesan masuk dan mengatribusikannya ke sesi yang mengirimnya, dan Claude masih mengikuti pengaturan izin sesi penerima sendiri saat bertindak atas satu.

471 477 


514 520 

515### Sesi dari Dispatch521### Sesi dari Dispatch

516 522 

517[Dispatch](https://support.claude.com/en/articles/13947068) adalah percakapan persisten dengan Claude yang tinggal di tab [Cowork](https://claude.com/product/cowork). Anda mengirim pesan Dispatch dengan tugas, dan itu memutuskan cara menanganinya.523[Dispatch](https://support.claude.com/en/articles/13947068) adalah percakapan persisten dengan Claude yang berada di [Cowork](https://claude.com/product/cowork). Anda mengirim pesan Dispatch dengan tugas, dan itu memutuskan cara menanganinya.

518 524 

519Tugas dapat berakhir sebagai sesi Code dengan dua cara: Anda meminta satu secara langsung, seperti "buka sesi Claude Code dan perbaiki bug login", atau Dispatch memutuskan tugas adalah pekerjaan pengembangan dan menspawn satu sendiri. Tugas yang biasanya diarahkan ke Code termasuk memperbaiki bug, memperbarui dependensi, menjalankan tes, atau membuka pull request. Penelitian, pengeditan dokumen, dan pekerjaan spreadsheet tetap di Cowork.525Tugas dapat berakhir sebagai sesi Code dengan dua cara: Anda meminta satu secara langsung, seperti "buka sesi Claude Code dan perbaiki bug login", atau Dispatch memutuskan tugas adalah pekerjaan pengembangan dan menspawn satu sendiri. Tugas yang biasanya diarahkan ke Code termasuk memperbaiki bug, memperbarui dependensi, menjalankan tes, atau membuka pull request. Penelitian, pengeditan dokumen, dan pekerjaan spreadsheet tetap di Cowork.

520 526 


528 534 

529## Perluas Claude Code535## Perluas Claude Code

530 536 

531Hubungkan layanan eksternal, tambahkan alur kerja yang dapat digunakan kembali, sesuaikan perilaku Claude, dan konfigurasikan server pratinjau. Untuk mengelola connectors, skills, dan plugins di satu tempat, klik **Customize** di sidebar. Tab [Cowork](https://claude.com/product/cowork) di aplikasi Desktop bersumber skills, plugins, dan connectors dari konfigurasi Customize ini, yang disinkronkan melalui akun claude.ai Anda, bukan dari direktori `~/.claude` CLI.537Hubungkan layanan eksternal, tambahkan alur kerja yang dapat digunakan kembali, sesuaikan perilaku Claude, dan konfigurasikan server pratinjau. Untuk mengelola connectors, skills, dan plugins di satu tempat, klik **Customize** di sidebar. [Cowork](https://claude.com/product/cowork) di aplikasi Desktop mengambil skills, plugins, dan connectors dari konfigurasi Customize ini, yang disinkronkan melalui akun claude.ai Anda, bukan dari direktori `~/.claude` CLI.

532 538 

533Claude Code juga memuat skills dan plugins yang diaktifkan untuk akun claude.ai Anda dalam sesi terminal di mana Anda masuk dengan akun yang sama. Lihat [Skills synced from claude.ai](/docs/id/skills#how-synced-skills-behave) dan [Plugins synced from claude.ai](/docs/id/plugins/loading#synced-plugins).539Claude Code juga memuat skills dan plugins yang diaktifkan untuk akun claude.ai Anda dalam sesi terminal di mana Anda masuk dengan akun yang sama. Lihat [Skills synced from claude.ai](/docs/id/skills#how-synced-skills-behave) dan [Plugins synced from claude.ai](/docs/id/plugins/loading#synced-plugins).

534 540 


1659*.livepreview.claude.ai1665*.livepreview.claude.ai

1660claude.com1666claude.com

1661platform.claude.com1667platform.claude.com

1668sso.claude.com

1662*.livepreview.claude.app1669*.livepreview.claude.app

1663*.claudeusercontent.com1670*.claudeusercontent.com

1664*.claudemcpcontent.com1671*.claudemcpcontent.com

Details

21 21 

22### Persyaratan Cowork22### Persyaratan Cowork

23 23 

24Cowork adalah tab desktop untuk [Dispatch dan pekerjaan agentic yang lebih lama](https://claude.com/docs/cowork/overview). Di Linux, Cowork menjalankan tugas-tugas tersebut di mesin virtual yang dihosting oleh aplikasi desktop dengan QEMU dan KVM. Untuk menggunakan Cowork, mesin Anda memerlukan:24Cowork adalah bagian dari aplikasi desktop untuk [Dispatch dan pekerjaan agentic yang lebih lama](https://claude.com/docs/cowork/overview). Di Linux, Cowork menjalankan tugas-tugas tersebut di mesin virtual yang dihosting oleh aplikasi desktop dengan QEMU dan KVM. Untuk menggunakan Cowork, mesin Anda memerlukan:

25 25 

26* **Virtualisasi hardware**: diaktifkan dalam pengaturan firmware Anda. Tanpa itu, tab Cowork melaporkan "Cowork requires hardware virtualization (KVM)".26* **Virtualisasi hardware**: diaktifkan dalam pengaturan firmware Anda. Tanpa itu, Cowork melaporkan "Cowork requires hardware virtualization (KVM)".

27* **QEMU dan firmware UEFI**: `qemu-system-x86`, `ovmf`, dan `virtiofsd` pada x86\_64, atau `qemu-system-arm`, `qemu-efi-aarch64`, dan `virtiofsd` pada arm64. `apt install claude-desktop` menginstalnya secara default sebagai paket yang direkomendasikan. Jika Anda menginstal dengan `--no-install-recommends`, atau sistem Anda adalah gambar minimal yang melewatkan paket yang direkomendasikan, tab Cowork melaporkan "Cowork requires QEMU" dan menampilkan perintah `apt install` untuk dijalankan. Ubuntu 22.04 tidak memiliki paket `virtiofsd`; aplikasi menggunakan salinan bundel di sana.27* **QEMU dan firmware UEFI**: `qemu-system-x86`, `ovmf`, dan `virtiofsd` pada x86\_64, atau `qemu-system-arm`, `qemu-efi-aarch64`, dan `virtiofsd` pada arm64. `apt install claude-desktop` menginstalnya secara default sebagai paket yang direkomendasikan. Jika Anda menginstal dengan `--no-install-recommends`, atau sistem Anda adalah gambar minimal yang melewatkan paket yang direkomendasikan, Cowork melaporkan "Cowork requires QEMU" dan menampilkan perintah `apt install` untuk dijalankan. Ubuntu 22.04 tidak memiliki paket `virtiofsd`; aplikasi menggunakan salinan bundel di sana.

28* **Akses ke `/dev/kvm`**: tambahkan pengguna Anda ke grup `kvm` dengan `sudo usermod -aG kvm $USER`, kemudian keluar dan masuk kembali. Beberapa lingkungan desktop memberikan akses pengguna yang masuk ke `/dev/kvm` tanpa grup, tetapi Cowork juga memerlukan `/dev/vhost-vsock`, yang hanya dapat dibuka oleh anggota grup `kvm`. Bergabunglah dengan grup bahkan jika `/dev/kvm` sudah berfungsi untuk Anda.28* **Akses ke `/dev/kvm`**: tambahkan pengguna Anda ke grup `kvm` dengan `sudo usermod -aG kvm $USER`, kemudian keluar dan masuk kembali. Beberapa lingkungan desktop memberikan akses pengguna yang masuk ke `/dev/kvm` tanpa grup, tetapi Cowork juga memerlukan `/dev/vhost-vsock`, yang hanya dapat dibuka oleh anggota grup `kvm`. Bergabunglah dengan grup bahkan jika `/dev/kvm` sudah berfungsi untuk Anda.

29 29 

30Aplikasi memeriksa persyaratan ini sekali saat peluncuran: mulai ulang setelah menginstal paket, dan keluar serta masuk kembali setelah bergabung dengan grup. Jika `/dev/vhost-vsock` hilang dan kernel yang sedang berjalan tidak memiliki direktori modul di bawah `/lib/modules`, tab Cowork melaporkan bahwa kernel tidak menyertakan dukungan virtualisasi yang Cowork butuhkan dan bahwa itu tidak dapat ditambahkan secara manual. Kombinasi ini umum di ChromeOS dan di lingkungan Linux berbasis kontainer.30Aplikasi memeriksa persyaratan ini sekali saat peluncuran: mulai ulang setelah menginstal paket, dan keluar serta masuk kembali setelah bergabung dengan grup. Jika `/dev/vhost-vsock` hilang dan kernel yang sedang berjalan tidak memiliki direktori modul di bawah `/lib/modules`, Cowork melaporkan bahwa kernel tidak menyertakan dukungan virtualisasi yang Cowork butuhkan dan bahwa itu tidak dapat ditambahkan secara manual. Kombinasi ini umum di ChromeOS dan di lingkungan Linux berbasis kontainer.

31 31 

32## Instal32## Instal

33 33 


71 71 

72Luncurkan **Claude** dari peluncur aplikasi Anda, atau jalankan `claude-desktop` dari terminal, dan masuk dengan akun Anthropic Anda.72Luncurkan **Claude** dari peluncur aplikasi Anda, atau jalankan `claude-desktop` dari terminal, dan masuk dengan akun Anthropic Anda.

73 73 

74Aplikasi Linux masuk dengan cara yang sama seperti di macOS dan Windows: dengan langganan claude.ai, atau melalui SSO organisasi Anda. Desktop tidak menerima kunci API Claude Console secara langsung; gunakan [CLI](/docs/id/quickstart) untuk autentikasi kunci API. Untuk penyebaran enterprise yang merutekan Desktop ke Agent Platform Google Cloud atau gateway LLM, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) dan [konfigurasi jaringan](/docs/id/network-config).74Aplikasi Linux masuk dengan cara yang sama seperti di macOS dan Windows: dengan langganan claude.ai, atau melalui SSO organisasi Anda. Untuk autentikasi kunci API, gunakan [CLI](/docs/id/quickstart). Untuk menggunakan Desktop dengan Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM sebagai gantinya, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Untuk server proxy dan otoritas sertifikat kustom dalam deployment tersebut, lihat [konfigurasi jaringan](/docs/id/network-config).

75 75 

76### Instal dari file yang diunduh76### Instal dari file yang diunduh

77 77 


153 153 

154### Cowork tidak tersedia154### Cowork tidak tersedia

155 155 

156Jika tab Cowork menampilkan salah satu pesan ini, perbaiki persyaratan yang dinamainya, kemudian mulai ulang aplikasi:156Jika Cowork menampilkan salah satu pesan ini, perbaiki persyaratan yang dinamainya, kemudian mulai ulang aplikasi:

157 157 

158* **Cowork memerlukan QEMU**: instal paket [QEMU dan UEFI firmware](#cowork-requirements) yang tercantum dalam pesan.158* **Cowork memerlukan QEMU**: instal paket [QEMU dan UEFI firmware](#cowork-requirements) yang tercantum dalam pesan.

159* **Cowork memerlukan virtualisasi hardware (KVM)**: aktifkan [virtualisasi hardware](#cowork-requirements) di pengaturan firmware Anda.159* **Cowork memerlukan virtualisasi hardware (KVM)**: aktifkan [virtualisasi hardware](#cowork-requirements) di pengaturan firmware Anda.

Details

6 6 

7> Instal aplikasi desktop Claude, buka tab Code, dan mulai sesi Claude Code pertama Anda di folder proyek di komputer Anda.7> Instal aplikasi desktop Claude, buka tab Code, dan mulai sesi Claude Code pertama Anda di folder proyek di komputer Anda.

8 8 

9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis, sehingga Anda dapat meminta Claude untuk bekerja pada kode di folder di komputer Anda dan meninjau perubahannya tanpa menggunakan terminal. Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda di tab **Code**. Claude Code memerlukan [langganan Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis. Anda dapat meminta Claude untuk bekerja pada kode di folder di komputer Anda dan meninjau perubahannya tanpa menggunakan terminal.

10 

11Claude Code berada di tab **Code** di bagian atas sidebar aplikasi. Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda di sana. Claude Code memerlukan [langganan Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 12 

11> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>14>


28>30>

29> * **Sudah siap**: lihat [Gunakan Claude Code Desktop](/docs/id/desktop) untuk semua yang dapat dilakukan tab Code31> * **Sudah siap**: lihat [Gunakan Claude Code Desktop](/docs/id/desktop) untuk semua yang dapat dilakukan tab Code

30> * **Ingin `claude` di terminal Anda**: [instal CLI](/docs/id/quickstart) secara terpisah32> * **Ingin `claude` di terminal Anda**: [instal CLI](/docs/id/quickstart) secara terpisah

31 33> * **Menggunakan chat atau Cowork**: lihat [Claude Help Center](https://support.claude.com/)

32Aplikasi desktop memiliki tiga tab:34> * **Memerlukan informasi lebih lanjut tentang menginstal atau menerapkan aplikasi desktop**: lihat [artikel dukungan Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop)

33 

34* **Chat**: Percakapan umum tanpa akses file, mirip dengan claude.ai.

35* **Cowork**: Agen latar belakang otonom yang bekerja pada tugas secara independen saat Anda melakukan pekerjaan lain.

36* **Code**: Asisten coding interaktif dengan akses langsung ke file lokal Anda. Tergantung pada mode izin, Anda menyetujui setiap perubahan saat Claude mengusulkannya atau meninjau perubahan setelah Claude membuatnya.

37 

38Chat dan Cowork tercakup dalam [Claude Help Center](https://support.claude.com/); menginstal dan menerapkan aplikasi desktop tercakup dalam [artikel dukungan Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Halaman ini berfokus pada tab **Code**.

39 35 

40## Instal36## Instal

41 37 


45 41 

46**2. Buka tab Code**42**2. Buka tab Code**

47 43 

48Klik tab **Code** di bagian atas tengah. Jika mengklik Code meminta Anda untuk upgrade, Anda perlu [berlangganan paket berbayar](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade) terlebih dahulu. Jika meminta Anda untuk masuk online, selesaikan masuk dan mulai ulang aplikasi. Jika Anda melihat kesalahan 403, lihat [pemecahan masalah autentikasi](/docs/id/desktop#403-or-authentication-errors-in-the-code-tab).44Klik tab **Code** di bagian atas sidebar. Jika tab hanya menampilkan ikon, arahkan kursor ke salah satunya untuk melihat namanya. Jika muncul permintaan atau kesalahan setelah Anda mengklik **Code**, ikuti perbaikan yang sesuai:

45 

46* **Permintaan untuk upgrade**: Anda perlu [berlangganan paket berbayar](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade) terlebih dahulu

47* **Permintaan untuk masuk online**: selesaikan proses masuk dan mulai ulang aplikasi

48* **Kesalahan 403**: lihat [pemecahan masalah autentikasi](/docs/id/desktop#403-or-authentication-errors-in-the-code-tab)

49 49 

50Aplikasi desktop menyertakan Claude Code, jadi Anda tidak perlu menginstal Node.js atau CLI untuk menggunakan tab Code.50Aplikasi desktop menyertakan Claude Code, jadi Anda tidak perlu menginstal Node.js atau CLI untuk menggunakan tab Code.

51 51 


87 87 

88Periksa [permission mode](/docs/id/desktop#choose-a-permission-mode) Anda di baris di bawah kotak prompt untuk melihat apakah Claude menunggu persetujuan Anda:88Periksa [permission mode](/docs/id/desktop#choose-a-permission-mode) Anda di baris di bawah kotak prompt untuk melihat apakah Claude menunggu persetujuan Anda:

89 89 

90* **Auto or Accept edits**: Claude menerapkan perubahan filenya, dan indikator seperti `+12 -1` muncul sehingga Anda dapat meninjau perubahan tersebut di tampilan diff90* **Auto or Accept edits**: Claude menerapkan perubahan filenya, dan indikator seperti `+12 -1` muncul sehingga Anda dapat meninjau perubahan tersebut di [tampilan diff](/docs/id/desktop#review-changes-with-diff-view)

91* **Manual**: Claude mengusulkan setiap perubahan dan menunggu persetujuan Anda sebelum menerapkannya91* **Manual**: Claude mengusulkan setiap perubahan dan menunggu persetujuan Anda sebelum menerapkannya

92 92 

93Dalam mode Manual, Anda akan melihat:93Dalam mode Manual, Anda akan melihat:

94 94 

951. Sebuah [diff view](/docs/id/desktop#review-changes-with-diff-view) yang menunjukkan dengan tepat apa yang akan berubah di setiap file951. Sebuah diff yang menunjukkan dengan tepat apa yang akan berubah

962. Tombol Accept/Reject untuk menyetujui atau menolak setiap perubahan962. Tombol untuk menyetujui atau menolak setiap perubahan

973. Pembaruan real-time saat Claude menyelesaikan permintaan Anda973. Pembaruan real-time saat Claude menyelesaikan permintaan Anda

98 98 

99## Apa selanjutnya?99## Apa selanjutnya?

Details

28| Akses ke file lokal | Tidak (klon segar) | Ya | Ya |28| Akses ke file lokal | Tidak (klon segar) | Ya | Ya |

29| Server MCP | Konektor dikonfigurasi per tugas | [File konfigurasi](/docs/id/mcp) dan konektor | Mewarisi dari sesi |29| Server MCP | Konektor dikonfigurasi per tugas | [File konfigurasi](/docs/id/mcp) dan konektor | Mewarisi dari sesi |

30| Prompt izin | Tidak (berjalan secara otonom) | Dapat dikonfigurasi per tugas | Mewarisi dari sesi |30| Prompt izin | Tidak (berjalan secara otonom) | Dapat dikonfigurasi per tugas | Mewarisi dari sesi |

31| Jadwal yang dapat disesuaikan | Via `/schedule` di CLI | Ya | Ya |31| Jadwal yang dapat disesuaikan | Ya | Ya | Ya |

32| Interval minimum | 1 jam | 1 menit | 1 menit |32| Interval minimum | 1 jam | 1 menit jika diatur oleh Claude, [1 jam di formulir](/docs/id/desktop-scheduled-tasks#schedule-options) | 1 menit |

33 33 

34> [!TIP]34> [!TIP]

35>35>


61 61 

62**5. Aktifkan Only on this computer**62**5. Aktifkan Only on this computer**

63 63 

64Lewati kartu **Trigger** untuk saat ini dan perluas **Advanced settings** di bawahnya. Pada tab **General**, aktifkan **Only on this computer**. Saat diaktifkan, tugas berjalan di mesin Anda dalam folder lokal, dan kartu **Trigger** menawarkan preset yang tercantum di [Opsi jadwal](#schedule-options).64Lewati kartu **Trigger** untuk saat ini dan perluas **Advanced settings** di bawahnya. Pada tab **General**, aktifkan **Only on this computer**. Saat diaktifkan, tugas berjalan di mesin Anda dalam folder lokal.

65 65 

66Jika sakelar tidak tersedia, hapus repositori atau trigger peristiwa GitHub atau API, karena hal-hal tersebut menjadikan tugas sebagai [tugas terjadwal cloud](/docs/id/routines).66Jika sakelar tidak tersedia, hapus repositori atau trigger peristiwa GitHub atau API, karena hal-hal tersebut menjadikan tugas sebagai [tugas terjadwal cloud](/docs/id/routines).

67 67 


81 81 

82Klik **Create**. Jika Anda belum mempercayai folder tersebut, Desktop akan meminta Anda untuk mempercayainya pada tahap ini. Halaman detail tugas terbuka.82Klik **Create**. Jika Anda belum mempercayai folder tersebut, Desktop akan meminta Anda untuk mempercayainya pada tahap ini. Halaman detail tugas terbuka.

83 83 

84Di halaman detail, klik ikon pensil untuk membuka [formulir **Edit**](#manage-scheduled-tasks). Di sana Anda dapat mengubah **Description** yang diisi Desktop dari instruksi Anda, memilih **Worktree**, atau mengubah jadwal menjadi **Manual**.84Di halaman detail, klik ikon pensil untuk membuka [formulir **Edit**](#manage-scheduled-tasks). Di sana Anda dapat mengubah **Description** yang diisi Desktop dari instruksi Anda, memilih **Worktree**, atau mengubah jadwal menjadi **Manual** atau **Custom**.

85 85 

86Anda juga dapat membuat tugas dengan mendeskripsikan apa yang Anda inginkan dalam sesi apa pun. Misalnya, "siapkan code review harian yang berjalan setiap pagi jam 9" membuat tugas berulang. Permintaan seperti "ingatkan saya besok jam 3 sore untuk memeriksa deploy" membuat tugas satu kali yang menonaktifkan dirinya sendiri setelah dijalankan.86Anda juga dapat membuat tugas dengan mendeskripsikan apa yang Anda inginkan dalam sesi apa pun. Misalnya, "siapkan code review harian yang berjalan setiap pagi jam 9" membuat tugas berulang. Permintaan seperti "ingatkan saya besok jam 3 sore untuk memeriksa deploy" membuat tugas satu kali yang menonaktifkan dirinya sendiri setelah dijalankan.

87 87 


95* **Description**: masukkan deskripsi. **Create** tetap tidak tersedia sampai Anda melakukannya.95* **Description**: masukkan deskripsi. **Create** tetap tidak tersedia sampai Anda melakukannya.

96* **Kotak instruksi**: masukkan apa yang harus dilakukan Claude saat tugas berjalan. Pilih mode izin dan model dari menu di dalam kotak.96* **Kotak instruksi**: masukkan apa yang harus dilakukan Claude saat tugas berjalan. Pilih mode izin dan model dari menu di dalam kotak.

97* **Working folder**: pilih folder tempat tugas berjalan. **Create** tetap tidak tersedia sampai Anda memilih salah satu.97* **Working folder**: pilih folder tempat tugas berjalan. **Create** tetap tidak tersedia sampai Anda memilih salah satu.

98* **Trigger**: pilih jadwal. **Custom** menerima ekspresi cron. Untuk preset lainnya, lihat [Opsi jadwal](#schedule-options).98* **Trigger**: pilih jadwal. Untuk preset, lihat [Opsi jadwal](#schedule-options).

99 99 

100Klik **Create**. Halaman detail tugas terbuka.100Klik **Create**. Halaman detail tugas terbuka.

101 101 

102## Opsi jadwal102## Opsi jadwal

103 103 

104Saat Anda mengaktifkan **Only on this computer** di bawah **Advanced settings**, kartu **Trigger** menawarkan Hourly, Daily, Weekdays, dan Weekly. [Formulir **Edit**](#manage-scheduled-tasks) tugas juga menawarkan **Manual**.104Saat Anda mengaktifkan **Only on this computer** di bawah **Advanced settings**, kartu **Trigger** menawarkan Hourly, Daily, Weekdays, dan Weekly. Untuk mendapatkan **Manual** atau **Custom** bagi tugas seperti itu, buka [formulir **Edit**](#manage-scheduled-tasks) tugas tersebut setelah Anda membuatnya. Formulir tersebut dan [dialog dengan **Only on this computer** di bagian atas](#dialog-with-only-on-this-computer-at-the-top) menawarkan enam opsi berikut:

105 105 

106* **Hourly**: berjalan setiap jam106* **Hourly**: berjalan setiap jam

107* **Daily**: berjalan setiap hari pada waktu lokal yang Anda pilih107* **Daily**: berjalan setiap hari pada waktu lokal yang Anda pilih

108* **Weekdays**: sama dengan Daily tetapi melewati Sabtu dan Minggu108* **Weekdays**: sama dengan Daily tetapi melewati Sabtu dan Minggu

109* **Weekly**: menampilkan pemilih waktu dan pemilih hari109* **Weekly**: menampilkan pemilih waktu dan pemilih hari

110* **Manual**: tidak ada jadwal, hanya berjalan saat Anda mengklik **Run now**. Berguna untuk menyimpan prompt yang Anda picu sesuai permintaan110* **Manual**: tidak ada jadwal, hanya berjalan saat Anda mengklik **Run now**. Berguna untuk menyimpan prompt yang Anda picu sesuai permintaan

111* **Custom**: berjalan berdasarkan ekspresi cron yang Anda masukkan dan yang dievaluasi dalam waktu lokal Anda, seperti `0 9 * * *` untuk pukul 9:00 pagi setiap hari. Tulis hari dalam seminggu dan bulan sebagai angka, karena namanya tidak diterima. Minggu adalah `0`, bukan `7`. Formulir menolak ekspresi yang berjalan lebih sering dari sekali per jam.

111 112 

112Untuk interval yang tidak ditawarkan pemilih, seperti setiap 15 menit, hari pertama setiap bulan, atau run tunggal pada waktu masa depan tertentu, minta Claude dalam sesi Desktop apa pun untuk mengatur jadwal. Gunakan bahasa biasa; misalnya, "jadwalkan tugas untuk menjalankan semua tes setiap 6 jam."113Anda juga dapat meminta Claude dalam sesi Desktop apa pun untuk mengatur jadwal. Claude tidak terikat pada batas sekali per jam dan dapat mengatur satu kali run pada waktu di masa depan. Misalnya, minta "jalankan rangkaian tes setiap 30 menit" atau "Senin depan pukul 9 pagi, rangkum pull request yang di-merge sejak hari Jumat."

113 114 

114## Cara tugas terjadwal berjalan115## Cara tugas terjadwal berjalan

115 116 


121>122>

122> Untuk tugas yang perlu berjalan bahkan ketika komputer Anda mati, atau yang harus dipicu oleh panggilan API atau acara GitHub, buat [tugas terjadwal cloud](/docs/id/routines) sebagai gantinya.123> Untuk tugas yang perlu berjalan bahkan ketika komputer Anda mati, atau yang harus dipicu oleh panggilan API atau acara GitHub, buat [tugas terjadwal cloud](/docs/id/routines) sebagai gantinya.

123 124 

124Saat tugas lokal berjalan, sesi baru muncul di bawah bagian **Scheduled** di sidebar. Buka untuk melihat apa yang dilakukan Claude, tinjau perubahan, atau respons ke prompt izin. Claude dapat mengedit file, menjalankan perintah, membuat commit, dan membuka pull request, sama seperti dalam sesi yang Anda mulai sendiri.125### Menemukan sesi dari sebuah run

126 

127Untuk membuka sesi yang dimulai oleh sebuah run, buka [halaman detail](#manage-scheduled-tasks) tugas tersebut dan klik baris run itu di daftar **History**.

128 

129Daftar sesi di sidebar juga dapat menampilkan grup **Scheduled**, dengan satu baris per tugas. Untuk membuka sesi dari run terbaru suatu tugas, klik baris tugas tersebut di grup itu. Untuk menampilkan grup tersebut, [periksa tata letak yang Anda miliki](/docs/id/desktop#check-which-layout-you-have):

130 

131* **Tata letak saat ini**: buka [menu **Group and sort**](/docs/id/desktop#organize-and-find-sessions), pilih **Show**, lalu pilih **Scheduled**. Grup ini awalnya dalam keadaan diciutkan, jadi klik judulnya untuk memperluasnya. **Show** mencantumkan **Scheduled** ketika setidaknya satu tugas Anda berstatus **Active**, yaitu **Status** yang ditampilkan di halaman detail tugas. Jika tidak tercantum, gunakan daftar **History**, yang berfungsi baik grup tersebut ditampilkan maupun tidak.

132* **Tata letak sebelumnya**: grup sudah ada di daftar sesi tanpa perlu diaktifkan

133 

134Di sesi sebuah run, dengan cara apa pun Anda mencapainya, Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, dan merespons permintaan izin. Claude dapat mengedit file, menjalankan perintah, membuat commit, dan membuka pull request, sama seperti dalam sesi yang Anda mulai sendiri.

125 135 

126## Run yang terlewat136## Run yang terlewat

127 137 


131 141 

132## Izin untuk tugas terjadwal142## Izin untuk tugas terjadwal

133 143 

134Setiap tugas memiliki mode izin sendiri, yang Anda atur saat membuat atau mengedit tugas. Aturan izin dari `~/.claude/settings.json` juga berlaku untuk sesi tugas terjadwal. Jika tugas berjalan dalam [Mode Manual](/docs/id/desktop#choose-a-permission-mode) dan perlu menjalankan alat yang tidak memiliki izin, run terhenti sampai Anda menyetujuinya. Sesi tetap terbuka di sidebar sehingga Anda dapat menjawab nanti.144Setiap tugas memiliki mode izin sendiri, yang Anda atur saat membuat atau mengedit tugas. Aturan izin dari `~/.claude/settings.json` juga berlaku untuk sesi tugas terjadwal. Jika tugas berjalan dalam [Mode Manual](/docs/id/desktop#choose-a-permission-mode) dan perlu menjalankan tool yang tidak memiliki izin, run terhenti sampai Anda menyetujuinya. Untuk menyetujuinya, [temukan sesi run tersebut](#find-a-runs-session) dan jawab permintaan izin di sana.

135 145 

136Untuk menghindari stall, klik **Run now** setelah membuat tugas, perhatikan prompt izin, dan pilih "always allow" untuk masing-masing. Run masa depan dari tugas itu auto-approve alat yang sama tanpa meminta. Anda dapat meninjau dan mencabut persetujuan ini dari halaman detail tugas.146Untuk menghindari stall, klik **Run now** setelah membuat tugas, perhatikan prompt izin, dan pilih "always allow" untuk masing-masing. Run masa depan dari tugas itu auto-approve alat yang sama tanpa meminta. Anda dapat meninjau dan mencabut persetujuan ini dari halaman detail tugas.

137 147 


146* **Edit**: ubah instruksi, jadwal, folder, atau pengaturan lainnya156* **Edit**: ubah instruksi, jadwal, folder, atau pengaturan lainnya

147* **Review history**: lihat setiap run masa lalu, termasuk run yang dilewati. Arahkan entri yang dilewati untuk melihat mengapa: komputer Anda tidur, run sebelumnya masih berlangsung, atau tugas terjadwal lainnya sudah berjalan. Klik **Show more** untuk memuat entri yang lebih lama.157* **Review history**: lihat setiap run masa lalu, termasuk run yang dilewati. Arahkan entri yang dilewati untuk melihat mengapa: komputer Anda tidur, run sebelumnya masih berlangsung, atau tugas terjadwal lainnya sudah berjalan. Klik **Show more** untuk memuat entri yang lebih lama.

148* **Review allowed permissions**: lihat dan cabut persetujuan alat yang disimpan untuk tugas ini dari panel **Always allowed**158* **Review allowed permissions**: lihat dan cabut persetujuan alat yang disimpan untuk tugas ini dari panel **Always allowed**

149* **Delete**: hapus tugas dan arsipkan semua sesi yang dibuatnya. Kotak centang **Also delete files on disk** muncul di dialog konfirmasi; centang untuk juga menghapus file `SKILL.md` tugas dan data terkait dari `~/.claude/scheduled-tasks/`.159* **Delete**: hapus tugas. Sesi yang dibuat oleh tugas tersebut [diarsipkan](/docs/id/desktop#organize-and-find-sessions), bukan dihapus. Folder yang berisi file `SKILL.md` tugas tetap ada di disk di `~/.claude/scheduled-tasks/<task-name>/`, atau di `scheduled-tasks/<task-name>/` di bawah [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) jika Anda mengatur variabel tersebut. Untuk menghapus folder tersebut, hapus sendiri.

150 160 

151Anda juga dapat membuat daftar, membuat, mengedit, dan menjeda tugas dengan meminta Claude dalam sesi Desktop apa pun. Misalnya, "jeda tugas dependency-audit saya" atau "tampilkan tugas terjadwal saya." Untuk menghapus tugas, gunakan tombol **Delete** di halaman detailnya.161Anda juga dapat membuat daftar, membuat, mengedit, dan menjeda tugas dengan meminta Claude dalam sesi Desktop apa pun. Misalnya, "jeda tugas dependency-audit saya" atau "tampilkan tugas terjadwal saya." Untuk menghapus tugas, gunakan tombol **Delete** di halaman detailnya.

152 162 

env-vars.md +10 −19

Details

124> * `DISABLE_TELEMETRY`124> * `DISABLE_TELEMETRY`

125> * `DISABLE_ERROR_REPORTING`125> * `DISABLE_ERROR_REPORTING`

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

127> * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

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

129>128>

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


136| `ANTHROPIC_AWS_API_KEY` | Kunci API workspace untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), yang dibuat di AWS Console. Dikirim sebagai `x-api-key` dan diutamakan daripada AWS SigV4 |135| `ANTHROPIC_AWS_API_KEY` | Kunci API workspace untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws), yang dibuat di AWS Console. Dikirim sebagai `x-api-key` dan diutamakan daripada AWS SigV4 |

137| `ANTHROPIC_AWS_BASE_URL` | Menimpa URL endpoint [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Gunakan untuk region kustom atau saat merutekan melalui [LLM gateway](/docs/id/llm-gateway). Default-nya `https://aws-external-anthropic.{region}.api.aws`. Claude Code menentukan region dengan [urutan prioritas yang sama seperti di Amazon Bedrock](/docs/id/amazon-bedrock#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | Menimpa URL endpoint [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Gunakan untuk region kustom atau saat merutekan melalui [LLM gateway](/docs/id/llm-gateway). Default-nya `https://aws-external-anthropic.{region}.api.aws`. Claude Code menentukan region dengan [urutan prioritas yang sama seperti di Amazon Bedrock](/docs/id/amazon-bedrock#3-configure-claude-code) |

138| `ANTHROPIC_AWS_WORKSPACE_ID` | Wajib untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Dikirim pada setiap permintaan sebagai header `anthropic-workspace-id` |137| `ANTHROPIC_AWS_WORKSPACE_ID` | Wajib untuk [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Dikirim pada setiap permintaan sebagai header `anthropic-workspace-id` |

139| `ANTHROPIC_BASE_URL` | Menimpa endpoint API untuk merutekan permintaan melalui proxy atau gateway. Saat ditetapkan ke host yang bukan pihak pertama, [MCP tool search](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan secara default. Tetapkan `ENABLE_TOOL_SEARCH=true` jika proxy Anda meneruskan blok `tool_reference`. Sejak v2.1.196, [Remote Control](/docs/id/remote-control#requirements) dinonaktifkan saat variabel ini mengarah ke host selain `api.anthropic.com`, sesuai dengan perilakunya di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry |138| `ANTHROPIC_BASE_URL` | Menimpa endpoint API untuk merutekan permintaan melalui proxy atau gateway. Untuk apa yang terjadi ketika gateway tersebut menolak pencarian tool MCP, lihat [Pencarian tool melalui LLM gateway](/docs/id/mcp#tool-search-through-a-gateway). Sejak v2.1.196, [Remote Control](/docs/id/remote-control#requirements) dinonaktifkan ketika variabel ini mengarah ke host selain `api.anthropic.com`, sesuai dengan perilakunya di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry |

140| `ANTHROPIC_BEDROCK_BASE_URL` | Menimpa URL endpoint Amazon Bedrock. Gunakan untuk endpoint Amazon Bedrock kustom atau saat merutekan melalui [LLM gateway](/docs/id/llm-gateway). Lihat [Amazon Bedrock](/docs/id/amazon-bedrock) |139| `ANTHROPIC_BEDROCK_BASE_URL` | Menimpa URL endpoint Amazon Bedrock. Gunakan untuk endpoint Amazon Bedrock kustom atau saat merutekan melalui [LLM gateway](/docs/id/llm-gateway). Lihat [Amazon Bedrock](/docs/id/amazon-bedrock) |

141| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Menimpa URL endpoint Amazon Bedrock Mantle. Lihat [Endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Menimpa URL endpoint Amazon Bedrock Mantle. Lihat [Endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) |

142| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Awalan profil inferensi lintas region (`us`, `eu`, `apac`, `jp`, `au`, atau `global`) yang dicoba Claude Code terlebih dahulu alih-alih awalan yang diturunkan dari region AWS. Diabaikan di region AWS GovCloud. Memerlukan Claude Code v2.1.224 atau lebih baru. Lihat [Amazon Bedrock](/docs/id/amazon-bedrock#cross-region-inference-profile-prefixes) |141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Awalan profil inferensi lintas region (`us`, `eu`, `apac`, `jp`, `au`, atau `global`) yang dicoba Claude Code terlebih dahulu alih-alih awalan yang diturunkan dari region AWS. Diabaikan di region AWS GovCloud. Memerlukan Claude Code v2.1.224 atau lebih baru. Lihat [Amazon Bedrock](/docs/id/amazon-bedrock#cross-region-inference-profile-prefixes) |


178| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP yang menjadi tujuan permintaan Google Cloud's Agent Platform. Lihat [Mengonfigurasi kredensial GCP](/docs/id/google-vertex-ai#3-configure-gcp-credentials) |177| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP yang menjadi tujuan permintaan Google Cloud's Agent Platform. Lihat [Mengonfigurasi kredensial GCP](/docs/id/google-vertex-ai#3-configure-gcp-credentials) |

179| `ANTHROPIC_WORKSPACE_ID` | ID workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Tetapkan ini saat aturan federasi Anda mencakup lebih dari satu workspace agar pertukaran token mengetahui workspace mana yang dituju |178| `ANTHROPIC_WORKSPACE_ID` | ID workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Tetapkan ini saat aturan federasi Anda mencakup lebih dari satu workspace agar pertukaran token mengetahui workspace mana yang dituju |

180| `API_FORCE_IDLE_TIMEOUT` | Menimpa timeout idle body 5 menit yang membatalkan respons model streaming saat tidak ada byte yang tiba. Tetapkan ke `0` untuk mematikan timeout, misalnya saat [gateway](/docs/id/llm-gateway) yang lambat atau model lokal berhenti lebih dari 5 menit di antara potongan data, atau `1` untuk tetap mengaktifkannya bagi setiap penyedia. Jika tidak ditetapkan, timeout aktif pada penyedia selain Anthropic API langsung, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ditetapkan. [Stream watchdog](/docs/id/network-config#streaming-idle-watchdogs) berjalan secara independen darinya dan membatalkan jeda senyap yang panjang bahkan saat Anda menetapkan `0` di sini |179| `API_FORCE_IDLE_TIMEOUT` | Menimpa timeout idle body 5 menit yang membatalkan respons model streaming saat tidak ada byte yang tiba. Tetapkan ke `0` untuk mematikan timeout, misalnya saat [gateway](/docs/id/llm-gateway) yang lambat atau model lokal berhenti lebih dari 5 menit di antara potongan data, atau `1` untuk tetap mengaktifkannya bagi setiap penyedia. Jika tidak ditetapkan, timeout aktif pada penyedia selain Anthropic API langsung, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ditetapkan. [Stream watchdog](/docs/id/network-config#streaming-idle-watchdogs) berjalan secara independen darinya dan membatalkan jeda senyap yang panjang bahkan saat Anda menetapkan `0` di sini |

181| `API_TIMEOUT_MS` | Waktu dalam milidetik yang dimiliki setiap percobaan permintaan API untuk menerima header responsnya (default: 600000, atau 10 menit; maksimum: 2147483647). Ini tidak membatasi berapa lama respons streaming berjalan setelah itu. Jika Anda menetapkan nilai positif, setiap percobaan [permintaan non-streaming](/docs/id/errors#streaming-response-ended-before-any-complete-data-was-received) harus selesai dalam batas tersebut. Tingkatkan nilai ini ketika permintaan mengalami timeout pada jaringan lambat atau saat merutekan melalui proxy |180| `API_TIMEOUT_MS` | Waktu dalam milidetik yang dimiliki setiap percobaan permintaan API untuk menerima header responsnya. Ini tidak membatasi berapa lama respons streaming berjalan setelahnya. Default-nya adalah 600000, atau 10 menit, dan maksimumnya adalah 2147483647. Jika Anda menetapkan nilai positif, setiap percobaan [permintaan non-streaming](/docs/id/errors#streaming-response-ended-before-any-complete-data-was-received) harus selesai dalam batas tersebut. Tingkatkan nilai ini jika permintaan mengalami timeout pada jaringan lambat atau saat merutekan melalui proxy. Tetapkan ke `0` untuk menghapus batas ini, yang memerlukan Claude Code v2.1.305 atau yang lebih baru. Dengan `0`, percobaan non-streaming tetap mengalami timeout setelah 300 detik dalam sesi lokal |

182| `AWS_BEARER_TOKEN_BEDROCK` | Kunci API Amazon Bedrock untuk autentikasi (lihat [Kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |181| `AWS_BEARER_TOKEN_BEDROCK` | Kunci API Amazon Bedrock untuk autentikasi (lihat [Kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

183| `BASH_DEFAULT_TIMEOUT_MS` | Timeout default untuk perintah tool Bash atau PowerShell di latar depan, dalam milidetik (default: 120000, atau 2 menit). Nilai di atas [batas waktu default untuk perintah latar belakang](/docs/id/tools-reference#time-limit-for-background-commands) menggantikan default tersebut dalam sesi tanpa pengawasan. Batas waktu latar belakang memerlukan Claude Code v2.1.285 atau lebih baru |182| `BASH_DEFAULT_TIMEOUT_MS` | Timeout default untuk perintah tool Bash atau PowerShell di latar depan, dalam milidetik (default: 120000, atau 2 menit). Nilai di atas [batas waktu default untuk perintah latar belakang](/docs/id/tools-reference#time-limit-for-background-commands) menggantikan default tersebut dalam sesi tanpa pengawasan. Batas waktu latar belakang memerlukan Claude Code v2.1.285 atau lebih baru |

184| `BASH_MAX_OUTPUT_LENGTH` | Jumlah maksimum karakter output bash yang dibaca kembali oleh Claude Code ke dalam hasil perintah (default: 30000; maksimum: 150000). Jika Anda menetapkan pengaturan [`bashOutputMaxChars`](/docs/id/settings-reference#bashoutputmaxchars), Claude Code mengabaikan variabel ini. Lihat [Batas output](/docs/id/tools-reference#output-limits) |183| `BASH_MAX_OUTPUT_LENGTH` | Jumlah maksimum karakter output bash yang dibaca kembali oleh Claude Code ke dalam hasil perintah (default: 30000; maksimum: 150000). Jika Anda menetapkan pengaturan [`bashOutputMaxChars`](/docs/id/settings-reference#bashoutputmaxchars), Claude Code mengabaikan variabel ini. Lihat [Batas output](/docs/id/tools-reference#output-limits) |


186| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP untuk [tracing beta terperinci](/docs/id/monitoring-usage#traces-beta): dengan `ENABLE_BETA_TRACING_DETAILED=1`, log dan trace dikirim ke sana alih-alih ke exporter yang dikonfigurasi. Tetapkan di shell Anda, pengaturan pengguna, atau pengaturan terkelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |185| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP untuk [tracing beta terperinci](/docs/id/monitoring-usage#traces-beta): dengan `ENABLE_BETA_TRACING_DETAILED=1`, log dan trace dikirim ke sana alih-alih ke exporter yang dikonfigurasi. Tetapkan di shell Anda, pengaturan pengguna, atau pengaturan terkelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

187| `CCR_FORCE_BUNDLE` | Tetapkan ke `1` untuk memaksa [`claude --cloud`](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) membundel dan mengunggah repositori lokal Anda alih-alih melakukan clone dari remote-nya |186| `CCR_FORCE_BUNDLE` | Tetapkan ke `1` untuk memaksa [`claude --cloud`](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) membundel dan mengunggah repositori lokal Anda alih-alih melakukan clone dari remote-nya |

188| `CLAUDECODE` | Ditetapkan ke `1` dalam subproses yang dijalankan Claude Code (tool Bash dan PowerShell, sesi tmux, perintah [hook](/docs/id/hooks), perintah [baris status](/docs/id/statusline), subproses [server MCP](/docs/id/mcp) stdio). Ekstensi IDE juga menetapkan ini di terminal terintegrasinya. Gunakan untuk mendeteksi kapan skrip berjalan di dalam subproses yang dijalankan oleh Claude Code. Untuk memeriksa apakah proses saat ini dijalankan langsung oleh panggilan tool atau hook, bukan di dalam server MCP stdio yang dimulai Claude Code, gunakan `CLAUDE_CODE_CHILD_SESSION` sebagai gantinya |187| `CLAUDECODE` | Ditetapkan ke `1` dalam subproses yang dijalankan Claude Code (tool Bash dan PowerShell, sesi tmux, perintah [hook](/docs/id/hooks), perintah [baris status](/docs/id/statusline), subproses [server MCP](/docs/id/mcp) stdio). Ekstensi IDE juga menetapkan ini di terminal terintegrasinya. Gunakan untuk mendeteksi kapan skrip berjalan di dalam subproses yang dijalankan oleh Claude Code. Untuk memeriksa apakah proses saat ini dijalankan langsung oleh panggilan tool atau hook, bukan di dalam server MCP stdio yang dimulai Claude Code, gunakan `CLAUDE_CODE_CHILD_SESSION` sebagai gantinya |

189| `CLAUDE_AFK_COUNTDOWN_MS` | Berapa milidetik sebelum auto-continue hitung mundur di layar muncul pada dialog [`AskUserQuestion`](/docs/id/tools-reference) yang belum dijawab. Default `20000` (20 detik), dibatasi hingga timeout auto-continue. Tidak berpengaruh kecuali auto-continue aktif; lihat pengaturan [`askUserQuestionTimeout`](/docs/id/settings-reference#askuserquestiontimeout) dan `CLAUDE_AFK_TIMEOUT_MS`. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Memerlukan Claude Code v2.1.198 atau lebih baru |

190| `CLAUDE_AFK_TIMEOUT_MS` | Berapa milidetik waktu idle sebelum dialog [`AskUserQuestion`](/docs/id/tools-reference) yang belum dijawab berlanjut otomatis tanpa Anda. Auto-continue dinonaktifkan secara default; aktifkan dengan pengaturan [`askUserQuestionTimeout`](/docs/id/settings-reference#askuserquestiontimeout). Variabel ini adalah override untuk demo dan pengujian otomatis: saat ditetapkan, variabel ini diutamakan daripada pengaturan tersebut dan mengaktifkan auto-continue bahkan saat pengaturan tidak ditetapkan atau bernilai `never`. Menetapkan `0` tidak mematikan timeout; nilai tersebut langsung menutup dialog. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Sebelum v2.1.200, auto-continue aktif secara default dengan timeout `60000` (60 detik). Memerlukan Claude Code v2.1.198 atau lebih baru |

191| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Tetapkan ke `1` untuk menonaktifkan semua jenis [subagent](/docs/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna bagi pengguna SDK yang menginginkan awal yang bersih. Ini juga menghapus `general-purpose`, subagent yang dijalankan Claude Code saat panggilan tool Agent tidak menyertakan `subagent_type`. Panggilan semacam itu kemudian gagal dengan [`subagent_type is required`](/docs/id/errors#subagent-type-is-required) |188| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Tetapkan ke `1` untuk menonaktifkan semua jenis [subagent](/docs/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna bagi pengguna SDK yang menginginkan awal yang bersih. Ini juga menghapus `general-purpose`, subagent yang dijalankan Claude Code saat panggilan tool Agent tidak menyertakan `subagent_type`. Panggilan semacam itu kemudian gagal dengan [`subagent_type is required`](/docs/id/errors#subagent-type-is-required) |

192| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Tetapkan ke `1` untuk melewati awalan `mcp__<server>__` pada nama tool dari server MCP yang dibuat SDK. Tool menggunakan nama aslinya. Hanya untuk penggunaan SDK |189| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Tetapkan ke `1` untuk melewati awalan `mcp__<server>__` pada nama tool dari server MCP yang dibuat SDK. Tool menggunakan nama aslinya. Hanya untuk penggunaan SDK |

193| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout macet dalam milidetik untuk subagent. Juga mencakup [agent workflow](/docs/id/workflows#when-an-agent-stalls-and-restarts) pada Claude Code v2.1.286 atau lebih baru. Default `600000` (10 menit); jika Anda menaikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` saat stream watchdog aktif, default ikut naik, seperti yang dijelaskan di [Menangani respons API yang lambat atau macet](/docs/id/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout macet dalam milidetik untuk subagent. Juga mencakup [agent workflow](/docs/id/workflows#when-an-agent-stalls-and-restarts) pada Claude Code v2.1.286 atau lebih baru. Default `600000` (10 menit); jika Anda menaikkan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` saat stream watchdog aktif, default ikut naik, seperti yang dijelaskan di [Menangani respons API yang lambat atau macet](/docs/id/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |


229| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Tetapkan ke `verbose` untuk menyertakan diagnostik bervolume tinggi seperti output lengkap perintah baris status, atau naikkan ke `error` untuk mengurangi gangguan |226| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Tetapkan ke `verbose` untuk menyertakan diagnostik bervolume tinggi seperti output lengkap perintah baris status, atau naikkan ke `error` untuk mengurangi gangguan |

230| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Tetapkan ke `1` untuk mematikan dukungan [context window 1M](/docs/id/model-config#extended-context). Claude Code menghapus varian model `[1m]` dari pemilih model dan membatasi model yang secara default berjalan dengan jendela 1M ke jendela 200K. Lihat [Mematikan konteks 1M](/docs/id/model-config#turn-off-1m-context). Berguna untuk lingkungan enterprise dengan persyaratan kepatuhan. Untuk perannya dalam mengoreksi jendela bagi ID model `[1m]` yang tidak dikenali, lihat [Mengoreksi jendela untuk gateway atau ID model kustom](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |227| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Tetapkan ke `1` untuk mematikan dukungan [context window 1M](/docs/id/model-config#extended-context). Claude Code menghapus varian model `[1m]` dari pemilih model dan membatasi model yang secara default berjalan dengan jendela 1M ke jendela 200K. Lihat [Mematikan konteks 1M](/docs/id/model-config#turn-off-1m-context). Berguna untuk lingkungan enterprise dengan persyaratan kepatuhan. Untuk perannya dalam mengoreksi jendela bagi ID model `[1m]` yang tidak dikenali, lihat [Mengoreksi jendela untuk gateway atau ID model kustom](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

231| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Tetapkan ke `1` untuk menonaktifkan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke thinking budget tetap yang dikontrol oleh `MAX_THINKING_TOKENS`. Tidak berpengaruh pada [model Fable](/docs/id/model-config#extended-thinking), Sonnet 5 dan yang lebih baru, Haiku 5.5, atau Opus 4.7 dan yang lebih baru, yang selalu menggunakan penalaran adaptif |228| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Tetapkan ke `1` untuk menonaktifkan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke thinking budget tetap yang dikontrol oleh `MAX_THINKING_TOKENS`. Tidak berpengaruh pada [model Fable](/docs/id/model-config#extended-thinking), Sonnet 5 dan yang lebih baru, Haiku 5.5, atau Opus 4.7 dan yang lebih baru, yang selalu menggunakan penalaran adaptif |

232| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Tetapkan ke `1` untuk menghentikan Claude Code menggabungkan blok `env` [pengaturan terkelola](/docs/id/managed-settings#precedence-within-the-managed-tier) per kunci di seluruh sumber admin, sehingga hanya seluruh blok `env` dari sumber dengan prioritas tertinggi yang diterapkan, seperti sebelum v2.1.223. Tetapkan di lingkungan yang menjalankan Claude Code, karena Claude Code mengabaikan salinan yang dikirimkan melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.223 atau lebih baru |

233| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Tetapkan ke `1` untuk menonaktifkan [tool advisor](/docs/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, sehingga skrip yang sudah ada yang meneruskannya tetap berfungsi tanpa error |229| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Tetapkan ke `1` untuk menonaktifkan [tool advisor](/docs/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, sehingga skrip yang sudah ada yang meneruskannya tetap berfungsi tanpa error |

234| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Tetapkan ke `1` untuk mematikan [agent latar belakang dan agent view](/docs/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor sesuai permintaan. Setara dengan pengaturan [`disableAgentView`](/docs/id/settings-reference#disableagentview) |230| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Tetapkan ke `1` untuk mematikan [agent latar belakang dan agent view](/docs/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor sesuai permintaan. Setara dengan pengaturan [`disableAgentView`](/docs/id/settings-reference#disableagentview) |

235| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Tetapkan ke `1` untuk menonaktifkan [rendering layar penuh](/docs/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback bawaan terminal Anda sehingga `Cmd+f` dan mode salin tmux berfungsi seperti biasa. Diutamakan daripada `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/docs/id/settings-reference#tui). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [agent view](/docs/id/agent-view), yang selalu menggunakan rendering layar penuh |231| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Tetapkan ke `1` untuk menonaktifkan [rendering layar penuh](/docs/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback bawaan terminal Anda sehingga `Cmd+f` dan mode salin tmux berfungsi seperti biasa. Diutamakan daripada `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/docs/id/settings-reference#tui). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [agent view](/docs/id/agent-view), yang selalu menggunakan rendering layar penuh |


240| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Tetapkan ke `1` untuk menonaktifkan semua fungsionalitas tugas latar belakang, termasuk parameter `run_in_background` pada tool Bash dan subagent, pemindahan otomatis ke latar belakang, dan pintasan Ctrl+B |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Tetapkan ke `1` untuk menonaktifkan semua fungsionalitas tugas latar belakang, termasuk parameter `run_in_background` pada tool Bash dan subagent, pemindahan otomatis ke latar belakang, dan pintasan Ctrl+B |

241| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Tetapkan ke `1` untuk menghentikan Claude Code memperlakukan respons streaming [Amazon Bedrock](/docs/id/amazon-bedrock) dengan header `Content-Type` yang hilang atau kosong sebagai binary event stream Amazon Bedrock. Secara default, Claude Code mengasumsikan gateway membuang header dari respons yang selain itu tidak dimodifikasi, sehingga Claude Code mendekode body dan streaming tetap berfungsi. Tetapkan ini hanya untuk gateway yang juga memancarkan ulang stream sebagai server-sent events; Claude Code kemudian membaca body tanpa header sebagai server-sent events. Memerlukan Claude Code v2.1.239 atau lebih baru |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Tetapkan ke `1` untuk menghentikan Claude Code memperlakukan respons streaming [Amazon Bedrock](/docs/id/amazon-bedrock) dengan header `Content-Type` yang hilang atau kosong sebagai binary event stream Amazon Bedrock. Secara default, Claude Code mengasumsikan gateway membuang header dari respons yang selain itu tidak dimodifikasi, sehingga Claude Code mendekode body dan streaming tetap berfungsi. Tetapkan ini hanya untuk gateway yang juga memancarkan ulang stream sebagai server-sent events; Claude Code kemudian membaca body tanpa header sebagai server-sent events. Memerlukan Claude Code v2.1.239 atau lebih baru |

242| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Tetapkan ke `1` untuk melewati pemeriksaan bahwa respons streaming [Amazon Bedrock](/docs/id/amazon-bedrock) membawa content-type `application/vnd.amazon.eventstream`. Tanpa variabel ini, saat respons membawa content-type yang berbeda, Claude Code menggagalkan permintaan dengan error yang menyebutkan tipe tersebut, yang berarti [gateway atau proxy sedang mentransformasi respons](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurasikan gateway untuk meneruskan header `Content-Type` dan body tanpa modifikasi alih-alih menetapkan variabel ini. Memerlukan Claude Code v2.1.208 atau lebih baru |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Tetapkan ke `1` untuk melewati pemeriksaan bahwa respons streaming [Amazon Bedrock](/docs/id/amazon-bedrock) membawa content-type `application/vnd.amazon.eventstream`. Tanpa variabel ini, saat respons membawa content-type yang berbeda, Claude Code menggagalkan permintaan dengan error yang menyebutkan tipe tersebut, yang berarti [gateway atau proxy sedang mentransformasi respons](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurasikan gateway untuk meneruskan header `Content-Type` dan body tanpa modifikasi alih-alih menetapkan variabel ini. Memerlukan Claude Code v2.1.208 atau lebih baru |

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

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

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

246| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Tetapkan ke `1` untuk menjaga tool browser [Claude in Chrome](/docs/id/chrome) tetap tersedia sambil menghilangkan bagian Chrome dari system prompt dan [skill bawaan](/docs/id/skills#bundled-skills) `/claude-in-chrome`. Untuk host yang menyematkan Claude Code dan menyediakan panduan browser sendiri. Memerlukan Claude Code v2.1.257 atau lebih baru |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Tetapkan ke `1` untuk menjaga tool browser [Claude in Chrome](/docs/id/chrome) tetap tersedia sambil menghilangkan bagian Chrome dari system prompt dan [skill bawaan](/docs/id/skills#bundled-skills) `/claude-in-chrome`. Untuk host yang menyematkan Claude Code dan menyediakan panduan browser sendiri. Memerlukan Claude Code v2.1.257 atau lebih baru |


299| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Setel ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan ketika `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan ketika nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi `screen` atau peluncur latar belakang yang pertama kali dimulai oleh tool Bash Claude Code, menyebabkan sesi tingkat atas yang sebenarnya salah diklasifikasikan sebagai bersarang. Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati di v2.1.169 dan sebelumnya; tidak berpengaruh di v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpanya dihapus |295| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Setel ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan ketika `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan ketika nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi `screen` atau peluncur latar belakang yang pertama kali dimulai oleh tool Bash Claude Code, menyebabkan sesi tingkat atas yang sebenarnya salah diklasifikasikan sebagai bersarang. Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati di v2.1.169 dan sebelumnya; tidak berpengaruh di v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpanya dihapus |

300| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Setel ke `1` untuk memaksa rendering coretan untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, misalnya melalui SSH tanpa `TERM_PROGRAM` diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` secara literal alih-alih merender teks sebagai coretan. Memerlukan Claude Code v2.1.186 atau lebih baru |296| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Setel ke `1` untuk memaksa rendering coretan untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, misalnya melalui SSH tanpa `TERM_PROGRAM` diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` secara literal alih-alih merender teks sebagai coretan. Memerlukan Claude Code v2.1.186 atau lebih baru |

301| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setel ke `1` untuk memaksa mengaktifkan [output tersinkronisasi](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) DEC private mode 2026 saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti Emacs `eat` yang mengimplementasikan BSU/ESU tetapi tidak membalas probe kapabilitas. Tidak berpengaruh di bawah tmux. Tidak seperti `CLAUDE_CODE_NO_FLICKER`, yang beralih ke [rendering layar penuh](/docs/id/fullscreen), ini tidak mengubah renderer |297| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setel ke `1` untuk memaksa mengaktifkan [output tersinkronisasi](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) DEC private mode 2026 saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti Emacs `eat` yang mengimplementasikan BSU/ESU tetapi tidak membalas probe kapabilitas. Tidak berpengaruh di bawah tmux. Tidak seperti `CLAUDE_CODE_NO_FLICKER`, yang beralih ke [rendering layar penuh](/docs/id/fullscreen), ini tidak mengubah renderer |

302| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Setel ke `1` untuk menggambar [elemen `Image` mod](/docs/id/plugins/mods/reference#elements) sebagai gambar saat terminal Anda menggambar gambar protokol grafis kitty dengan placeholder Unicode tetapi tidak terdeteksi otomatis. Lihat [terminal mana yang dideteksi Claude Code](/docs/id/plugins/mods/gallery#image-and-client) dan mengapa ini tidak membantu di dalam tmux atau screen |298| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Atur ke `1` untuk menggambar [elemen `Image` mod](/docs/id/plugins/mods/reference#elements) sebagai gambar ketika terminal Anda menggambar gambar protokol grafis kitty dengan placeholder Unicode dan Anda masih melihat teks `alt` `Image` yang diredupkan. Lihat [terminal mana yang menggambar `Image`](/docs/id/plugins/mods/gallery#image-and-client) dan mengapa variabel ini tidak membantu di dalam tmux atau screen |

303| `CLAUDE_CODE_FORK_SUBAGENT` | Mengontrol mode fork, yang aktif secara default dan memungkinkan Claude memulai [fork](/docs/id/sub-agents#fork-the-current-conversation) sendiri. Saat mode fork aktif, Claude juga tidak dapat [menunggu subagent](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi terminal interaktif, VS Code, atau desktop di mesin Anda. Atur ke `0` untuk mematikan mode fork. Untuk versi, lihat [Mematikan mode fork](/docs/id/sub-agents#turn-fork-mode-on-or-off) |299| `CLAUDE_CODE_FORK_SUBAGENT` | Mengontrol mode fork, yang aktif secara default dan memungkinkan Claude memulai [fork](/docs/id/sub-agents#fork-the-current-conversation) sendiri. Saat mode fork aktif, Claude juga tidak dapat [menunggu subagent](/docs/id/sub-agents#run-subagents-in-foreground-or-background) dalam sesi terminal interaktif, VS Code, atau desktop di mesin Anda. Atur ke `0` untuk mematikan mode fork. Untuk versi, lihat [Mematikan mode fork](/docs/id/sub-agents#turn-fork-mode-on-or-off) |

304| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setel ke `1` untuk memancarkan teks dan thinking block [subagent](/docs/id/sub-agents) dalam output `claude -p --output-format stream-json`, perilaku yang sama dengan flag [`--forward-subagent-text`](/docs/id/cli-reference#cli-flags). Gunakan variabel ini saat harness memanggil `claude` dan tidak dapat meneruskan flag itu sendiri. Tidak seperti flag, yang keluar dengan error di luar mode non-interaktif dengan output stream-json, variabel ini diabaikan di sana sehingga pemanggilan bersarang tetap berfungsi saat disetel di seluruh proses. Memerlukan Claude Code v2.1.211 atau lebih baru |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setel ke `1` untuk memancarkan teks dan thinking block [subagent](/docs/id/sub-agents) dalam output `claude -p --output-format stream-json`, perilaku yang sama dengan flag [`--forward-subagent-text`](/docs/id/cli-reference#cli-flags). Gunakan variabel ini saat harness memanggil `claude` dan tidak dapat meneruskan flag itu sendiri. Tidak seperti flag, yang keluar dengan error di luar mode non-interaktif dengan output stream-json, variabel ini diabaikan di sana sehingga pemanggilan bersarang tetap berfungsi saat disetel di seluruh proses. Memerlukan Claude Code v2.1.211 atau lebih baru |

305| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Setel ke `1` untuk mengirim [header petunjuk gateway](/docs/id/llm-gateway-protocol#gateway-hint-headers), seperti `x-claude-code-request-class` dan `x-claude-code-compaction`, pada proxy kustom atau penyedia pihak ketiga seperti Amazon Bedrock atau Claude Platform on AWS. Setel ke `0` untuk berhenti mengirimkannya di setiap koneksi, termasuk koneksi langsung ke Anthropic API, tempat Claude Code mengirimkannya secara default. Memerlukan Claude Code v2.1.273 atau lebih baru |301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Setel ke `1` untuk mengirim [header petunjuk gateway](/docs/id/llm-gateway-protocol#gateway-hint-headers), seperti `x-claude-code-request-class` dan `x-claude-code-compaction`, pada proxy kustom atau penyedia pihak ketiga seperti Amazon Bedrock atau Claude Platform on AWS. Setel ke `0` untuk berhenti mengirimkannya di setiap koneksi, termasuk koneksi langsung ke Anthropic API, tempat Claude Code mengirimkannya secara default. Memerlukan Claude Code v2.1.273 atau lebih baru |


319| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Menimpa ukuran context window yang diasumsikan Claude Code untuk model aktif. Sejak v2.1.193, cara penerapannya bergantung pada cara Claude Code me-resolve ID model; lihat [Koreksi window untuk gateway atau ID model kustom](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang context window-nya tidak sesuai dengan ukuran bawaan untuk namanya |315| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Menimpa ukuran context window yang diasumsikan Claude Code untuk model aktif. Sejak v2.1.193, cara penerapannya bergantung pada cara Claude Code me-resolve ID model; lihat [Koreksi window untuk gateway atau ID model kustom](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang context window-nya tidak sesuai dengan ukuran bawaan untuk namanya |

320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Panjang maksimum dalam karakter untuk deskripsi tool MCP dan instruksi server MCP yang dikirim Claude Code ke model. Nilai yang Anda atur menggantikan kedua [batas default](/docs/id/mcp#for-mcp-server-authors): 4096, dan 16384 untuk deskripsi tool yang dimuat Claude melalui pencarian tool. Menerima bilangan bulat positif dalam digit biasa. Nilai lain diabaikan dan default berlaku. Memerlukan Claude Code v2.1.280 atau yang lebih baru |316| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Panjang maksimum dalam karakter untuk deskripsi tool MCP dan instruksi server MCP yang dikirim Claude Code ke model. Nilai yang Anda atur menggantikan kedua [batas default](/docs/id/mcp#for-mcp-server-authors): 4096, dan 16384 untuk deskripsi tool yang dimuat Claude melalui pencarian tool. Menerima bilangan bulat positif dalam digit biasa. Nilai lain diabaikan dan default berlaku. Memerlukan Claude Code v2.1.280 atau yang lebih baru |

321| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Menyetel jumlah maksimum token output untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [token output maksimum](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code menurunkan nilai di atas batas model ke batas tersebut. Untuk ID model yang tidak dapat di-resolve Claude Code ke model yang dikenalnya, defaultnya adalah 32000 dan batasnya 128000. Menaikkan nilai ini mengurangi context window efektif yang tersedia sebelum [auto-compaction](/docs/id/costs#reduce-token-usage) terpicu |317| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Menyetel jumlah maksimum token output untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [token output maksimum](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code menurunkan nilai di atas batas model ke batas tersebut. Untuk ID model yang tidak dapat di-resolve Claude Code ke model yang dikenalnya, defaultnya adalah 32000 dan batasnya 128000. Menaikkan nilai ini mengurangi context window efektif yang tersedia sebelum [auto-compaction](/docs/id/costs#reduce-token-usage) terpicu |

322| `CLAUDE_CODE_MAX_RETRIES` | Menimpa jumlah retry untuk permintaan API yang gagal (default: 10). Dibatasi pada 15 sejak v2.1.186; sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas tersebut. Untuk sesi tanpa pengawasan yang perlu menunggu selama gangguan yang lebih lama, setel `CLAUDE_CODE_RETRY_WATCHDOG` sebagai gantinya |318| `CLAUDE_CODE_MAX_RETRIES` | Menimpa berapa kali mencoba ulang permintaan API yang gagal (default: 10). Retry dapat berhenti lebih awal pada error overloaded `529`. Misalnya, dengan kunci API pada model Opus, retry berhenti pada `529` ketiga dan menampilkan [Repeated 529 Overloaded errors](/docs/id/errors#api-error-repeated-529-overloaded-errors). Jika Anda mengatur [model fallback](/docs/id/settings-reference#fallbackmodel), Claude Code beralih ke model tersebut alih-alih menampilkan error. Dibatasi hingga 15 sejak v2.1.186; sejak v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` menaikkan default dan menghapus batas tersebut. Untuk sesi tanpa pengawasan yang perlu menunggu selama gangguan yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG` sebagai gantinya |

323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Dihapus di v2.1.224 dan kini tidak berpengaruh. Sebelumnya membatasi jumlah total [subagent](/docs/id/sub-agents) yang dapat dimunculkan Claude dengan tool Agent dalam satu sesi (default: 200); pemunculan melewati batas gagal dengan `Subagent spawn limit reached`. [Batas subagent bersamaan](/docs/id/sub-agents#concurrent-subagent-limit) dan [batas kedalaman](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) tetap berlaku |319| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Dihapus di v2.1.224 dan kini tidak berpengaruh. Sebelumnya membatasi jumlah total [subagent](/docs/id/sub-agents) yang dapat dimunculkan Claude dengan tool Agent dalam satu sesi (default: 200); pemunculan melewati batas gagal dengan `Subagent spawn limit reached`. [Batas subagent bersamaan](/docs/id/sub-agents#concurrent-subagent-limit) dan [batas kedalaman](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) tetap berlaku |

324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Jumlah [lapisan subagent](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) yang diizinkan di bawah percakapan utama (default: 3). Pada default, subagent dapat memunculkan subagent mereka sendiri, dan subagent di lapisan ketiga tidak dapat memunculkan lebih lanjut; setel `1` untuk mematikan penyarangan. Di v2.1.217 hingga v2.1.218, defaultnya adalah 1, sehingga subagent tidak dapat memunculkan subagent sendiri kecuali Anda menaikkan batas; v2.1.219 menaikkan default menjadi 3. Menerima bilangan bulat positif dalam digit biasa; nilai lain diabaikan, sehingga batas dapat disesuaikan tetapi tidak dapat dihapus. Memerlukan Claude Code v2.1.217 atau lebih baru |320| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Jumlah [lapisan subagent](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents) yang diizinkan di bawah percakapan utama (default: 3). Pada default, subagent dapat memunculkan subagent mereka sendiri, dan subagent di lapisan ketiga tidak dapat memunculkan lebih lanjut; setel `1` untuk mematikan penyarangan. Di v2.1.217 hingga v2.1.218, defaultnya adalah 1, sehingga subagent tidak dapat memunculkan subagent sendiri kecuali Anda menaikkan batas; v2.1.219 menaikkan default menjadi 3. Menerima bilangan bulat positif dalam digit biasa; nilai lain diabaikan, sehingga batas dapat disesuaikan tetapi tidak dapat dihapus. Memerlukan Claude Code v2.1.217 atau lebih baru |

325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Jumlah maksimum tool read-only dan subagent yang dapat dieksekusi secara paralel (default: 10). Nilai yang lebih tinggi meningkatkan paralelisme tetapi menggunakan lebih banyak sumber daya |

326| `CLAUDE_CODE_MAX_TURNS` | Membatasi jumlah giliran agentik saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/docs/id/cli-reference#cli-flags), yang diutamakan saat keduanya disetel. Nilai yang bukan bilangan bulat positif ditolak saat startup dengan error alih-alih diperlakukan sebagai tanpa batas |321| `CLAUDE_CODE_MAX_TURNS` | Membatasi jumlah giliran agentik saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/docs/id/cli-reference#cli-flags), yang diutamakan saat keduanya disetel. Nilai yang bukan bilangan bulat positif ditolak saat startup dengan error alih-alih diperlakukan sebagai tanpa batas |

327| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Batas panggilan [WebSearch](/docs/id/tools-reference#session-search-limit) (default: 200). Saat Claude mencapai batas, panggilan WebSearch berikutnya mengembalikan pemberitahuan yang memintanya melanjutkan dengan informasi yang sudah dikumpulkan dan menyebutkannya dalam jawabannya. Menerima bilangan bulat positif tanpa batas atas. Nilai lain diabaikan dan default berlaku, sehingga batas dapat dinaikkan tetapi tidak dapat dimatikan. Memerlukan Claude Code v2.1.212 atau lebih baru |322| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Batas panggilan [WebSearch](/docs/id/tools-reference#session-search-limit) (default: 200). Saat Claude mencapai batas, panggilan WebSearch berikutnya mengembalikan pemberitahuan yang memintanya melanjutkan dengan informasi yang sudah dikumpulkan dan menyebutkannya dalam jawabannya. Menerima bilangan bulat positif tanpa batas atas. Nilai lain diabaikan dan default berlaku, sehingga batas dapat dinaikkan tetapi tidak dapat dimatikan. Memerlukan Claude Code v2.1.212 atau lebih baru |

328| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setel ke `1` untuk memunculkan server MCP stdio hanya dengan lingkungan dasar yang aman ditambah `env` yang dikonfigurasi untuk server, alih-alih mewarisi lingkungan shell Anda |323| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setel ke `1` untuk memunculkan server MCP stdio hanya dengan lingkungan dasar yang aman ditambah `env` yang dikonfigurasi untuk server, alih-alih mewarisi lingkungan shell Anda |

329| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Waktu berlalu dalam milidetik sebelum panggilan tool MCP yang masih berjalan [dipindahkan ke tugas latar belakang](/docs/id/mcp#automatic-backgrounding-of-long-tool-calls) (default: 120000, atau 2 menit). Setel ke `0` untuk mematikan pemindahan otomatis ke latar belakang. Memerlukan Claude Code v2.1.212 atau lebih baru |324| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Waktu berlalu dalam milidetik sebelum panggilan tool MCP yang masih berjalan [dipindahkan ke tugas latar belakang](/docs/id/mcp#automatic-backgrounding-of-long-tool-calls) (default: 120000, atau 2 menit). Setel ke `0` untuk mematikan pemindahan otomatis ke latar belakang. Memerlukan Claude Code v2.1.212 atau lebih baru |

330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Berapa lama dalam milidetik giliran pertama sesi [non-interaktif](/docs/id/headless) menunggu server MCP yang masih menyambung, menggantikan [penantian giliran pertama](/docs/id/agent-sdk/mcp#connection-timing) default. Ketika diatur, penantian mencakup setiap server yang tertunda; dalam [lingkungan self-hosted](/docs/id/self-hosted-environments-configuration#connection-timing), ini hanya mengubah berapa lama penantian berlangsung. Atur ke `0` untuk melewati penantian. Server [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags) tetap menggunakan penantian `MCP_TIMEOUT`-nya sendiri terlepas dari nilai ini. Memerlukan Claude Code v2.1.274 atau lebih baru |325| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Berapa lama dalam milidetik giliran pertama sesi [non-interaktif](/docs/id/headless) menunggu server MCP yang masih terhubung, menggantikan [penantian giliran pertama](/docs/id/agent-sdk/mcp#connection-timing) default. Dalam [lingkungan self-hosted](/docs/id/self-hosted-environments-configuration#connection-timing), variabel ini hanya mengubah berapa lama penantian berlangsung. Beberapa server mempertahankan penantian sendiri terlepas dari nilainya; [Waktu koneksi](/docs/id/agent-sdk/mcp#connection-timing) mencantumkannya. Atur ke `0` untuk melewati penantian untuk setiap server lainnya. Memerlukan Claude Code v2.1.274 atau yang lebih baru |

331| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout idle dalam milidetik untuk panggilan tool MCP. Saat server MCP stdio, HTTP, SSE, WebSocket, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) tidak mengirim respons dan tidak ada notifikasi progres selama selama ini, panggilan tool dibatalkan dengan error alih-alih menunggu `MCP_TOOL_TIMEOUT` keseluruhan. Menimpa default per transport sebesar 300000 (5 menit) untuk server jaringan dan 1800000 (30 menit) untuk server stdio. Setel ke `0` untuk menonaktifkan pemeriksaan idle. Nilai di bawah 1000 dinaikkan menjadi satu detik, dan nilai dibatasi pada `MCP_TOOL_TIMEOUT` efektif. `timeout` per server di `.mcp.json` setidaknya 1000 menaikkan jendela idle server tersebut setidaknya menjadi nilai `timeout`. Tidak berlaku untuk server IDE atau server in-process SDK. Memerlukan Claude Code v2.1.187 atau lebih baru. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle |326| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout idle dalam milidetik untuk panggilan tool MCP. Saat server MCP stdio, HTTP, SSE, WebSocket, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) tidak mengirim respons dan tidak ada notifikasi progres selama selama ini, panggilan tool dibatalkan dengan error alih-alih menunggu `MCP_TOOL_TIMEOUT` keseluruhan. Menimpa default per transport sebesar 300000 (5 menit) untuk server jaringan dan 1800000 (30 menit) untuk server stdio. Setel ke `0` untuk menonaktifkan pemeriksaan idle. Nilai di bawah 1000 dinaikkan menjadi satu detik, dan nilai dibatasi pada `MCP_TOOL_TIMEOUT` efektif. `timeout` per server di `.mcp.json` setidaknya 1000 menaikkan jendela idle server tersebut setidaknya menjadi nilai `timeout`. Tidak berlaku untuk server IDE atau server in-process SDK. Memerlukan Claude Code v2.1.187 atau lebih baru. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle |

332| `CLAUDE_CODE_MESSAGING_SOCKET` | Disetel oleh Claude Code, bukan oleh Anda: dalam sesi yang mengikat [socket inbox](/docs/id/cross-session-messaging#the-sessions-inbox-socket), Claude Code mengekspor path socket tersebut ke hook dan perintah Bash saat mengikat socket. Dalam sesi yang dimulai dengan pesan aktif, Claude Code mengikat socket sebelum hook apa pun berjalan. Sesi lain di mesin mengirim pesan ke path ini. Setiap sesi mengekspor socket-nya sendiri alih-alih yang diwarisi dari induk, dan pesan yang tiba di socket tersebut melewati [kontrol masuk](/docs/id/cross-session-messaging#control-inbound-messages) sesi. Blok `env` pengaturan tidak dapat menyetelnya. Memerlukan Claude Code v2.1.224 atau lebih baru |327| `CLAUDE_CODE_MESSAGING_SOCKET` | Disetel oleh Claude Code, bukan oleh Anda: dalam sesi yang mengikat [socket inbox](/docs/id/cross-session-messaging#the-sessions-inbox-socket), Claude Code mengekspor path socket tersebut ke hook dan perintah Bash saat mengikat socket. Dalam sesi yang dimulai dengan pesan aktif, Claude Code mengikat socket sebelum hook apa pun berjalan. Sesi lain di mesin mengirim pesan ke path ini. Setiap sesi mengekspor socket-nya sendiri alih-alih yang diwarisi dari induk, dan pesan yang tiba di socket tersebut melewati [kontrol masuk](/docs/id/cross-session-messaging#control-inbound-messages) sesi. Blok `env` pengaturan tidak dapat menyetelnya. Memerlukan Claude Code v2.1.224 atau lebih baru |

333| `CLAUDE_CODE_MESSAGING_TOKEN` | Disetel oleh Claude Code, bukan oleh Anda: dalam sesi yang mengikat [socket inbox](/docs/id/cross-session-messaging#the-sessions-inbox-socket), Claude Code mengekspor token per sesi ini ke hook dan perintah Bash bersama `CLAUDE_CODE_MESSAGING_SOCKET`. Skrip yang mengirim ke socket dapat mengirim `{"type":"auth","token":"<token>"}` sebagai baris pertamanya untuk membuktikan bahwa skrip tersebut milik sesi. Di Windows native, Claude Code mewajibkan baris ini dan menutup koneksi apa pun yang tidak dibuka dengan baris yang valid. [Aturan anak sendiri](/docs/id/cross-session-messaging#the-sessions-inbox-socket) menjelaskan kapan Claude Code memeriksa token. Setiap sesi mengekspor tokennya sendiri, tidak pernah yang diwarisi dari sesi induk. Blok `env` pengaturan tidak dapat menyetelnya. Memerlukan Claude Code v2.1.228 atau lebih baru |328| `CLAUDE_CODE_MESSAGING_TOKEN` | Disetel oleh Claude Code, bukan oleh Anda: dalam sesi yang mengikat [socket inbox](/docs/id/cross-session-messaging#the-sessions-inbox-socket), Claude Code mengekspor token per sesi ini ke hook dan perintah Bash bersama `CLAUDE_CODE_MESSAGING_SOCKET`. Skrip yang mengirim ke socket dapat mengirim `{"type":"auth","token":"<token>"}` sebagai baris pertamanya untuk membuktikan bahwa skrip tersebut milik sesi. Di Windows native, Claude Code mewajibkan baris ini dan menutup koneksi apa pun yang tidak dibuka dengan baris yang valid. [Aturan anak sendiri](/docs/id/cross-session-messaging#the-sessions-inbox-socket) menjelaskan kapan Claude Code memeriksa token. Setiap sesi mengekspor tokennya sendiri, tidak pernah yang diwarisi dari sesi induk. Blok `env` pengaturan tidak dapat menyetelnya. Memerlukan Claude Code v2.1.228 atau lebih baru |


372| `CLAUDE_CODE_RESUME_PROMPT` | Menimpa pesan lanjutan yang dikirim Claude Code ke Claude saat `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` melanjutkan giliran yang terputus alih-alih mengirim ulang prompt-nya, atau saat Anda melanjutkan [panggilan tool yang ditunda](/docs/id/hooks#defer-a-tool-call-for-later) dengan `-p`. Default ke `Continue from where you left off.`. String kosong menggunakan default |367| `CLAUDE_CODE_RESUME_PROMPT` | Menimpa pesan lanjutan yang dikirim Claude Code ke Claude saat `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` melanjutkan giliran yang terputus alih-alih mengirim ulang prompt-nya, atau saat Anda melanjutkan [panggilan tool yang ditunda](/docs/id/hooks#defer-a-tool-call-for-later) dengan `-p`. Default ke `Continue from where you left off.`. String kosong menggunakan default |

373| `CLAUDE_CODE_RETRY_WATCHDOG` | Setel ke `1` untuk sesi tanpa pengawasan seperti harness evaluasi, job CI, atau worker jarak jauh. Melakukan retry untuk error kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah `CLAUDE_CODE_MAX_RETRIES` percobaan. Claude Code langsung gagal saat permintaan kecepatan standar mendapatkan `429` yang melaporkan batas pengeluaran atau kredit penggunaan yang habis, bahkan yang berasal dari [batas pengeluaran gateway](/docs/id/errors#spend-limit-reached) yang direset sesuai jadwal. Sebelum v2.1.239, watchdog melakukan retry untuk ini tanpa batas. Untuk permintaan fast mode, lihat [Menangani rate limit](/docs/id/fast-mode#handle-rate-limits). Watchdog melakukan backoff hingga 5 menit di antara percobaan, atau hingga batas direset saat respons membawa waktu reset rate limit, sehingga sesi yang mencapai batas penggunaan menunggu hingga jendela yang tersisa habis. Di v2.1.199 atau lebih baru, ini juga menaikkan jumlah retry default untuk error sementara lainnya, seperti error server, timeout, dan koneksi terputus, menjadi 300, sekitar tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menyetel variabel tersebut secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |368| `CLAUDE_CODE_RETRY_WATCHDOG` | Setel ke `1` untuk sesi tanpa pengawasan seperti harness evaluasi, job CI, atau worker jarak jauh. Melakukan retry untuk error kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah `CLAUDE_CODE_MAX_RETRIES` percobaan. Claude Code langsung gagal saat permintaan kecepatan standar mendapatkan `429` yang melaporkan batas pengeluaran atau kredit penggunaan yang habis, bahkan yang berasal dari [batas pengeluaran gateway](/docs/id/errors#spend-limit-reached) yang direset sesuai jadwal. Sebelum v2.1.239, watchdog melakukan retry untuk ini tanpa batas. Untuk permintaan fast mode, lihat [Menangani rate limit](/docs/id/fast-mode#handle-rate-limits). Watchdog melakukan backoff hingga 5 menit di antara percobaan, atau hingga batas direset saat respons membawa waktu reset rate limit, sehingga sesi yang mencapai batas penggunaan menunggu hingga jendela yang tersisa habis. Di v2.1.199 atau lebih baru, ini juga menaikkan jumlah retry default untuk error sementara lainnya, seperti error server, timeout, dan koneksi terputus, menjadi 300, sekitar tiga jam backoff, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menyetel variabel tersebut secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |

374| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Waktu maksimum dalam milidetik yang dihabiskan setiap permintaan API untuk menunggu error `429` dan `529` saat `CLAUDE_CODE_RETRY_WATCHDOG` disetel. Setelah waktu tersebut habis, error serupa berikutnya mengakhiri permintaan. Berikan bilangan bulat positif dalam digit biasa, seperti `1800000` untuk 30 menit. Saat tidak disetel, penantian tidak memiliki batas. Memerlukan Claude Code v2.1.295 atau lebih baru |369| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Waktu maksimum dalam milidetik yang dihabiskan setiap permintaan API untuk menunggu error `429` dan `529` saat `CLAUDE_CODE_RETRY_WATCHDOG` disetel. Setelah waktu tersebut habis, error serupa berikutnya mengakhiri permintaan. Berikan bilangan bulat positif dalam digit biasa, seperti `1800000` untuk 30 menit. Saat tidak disetel, penantian tidak memiliki batas. Memerlukan Claude Code v2.1.295 atau lebih baru |

370| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Interval minimum dalam milidetik di antara pemeriksaan apakah [batas penggunaan](/docs/id/errors#youve-hit-your-session-limit) sudah dicabut, selama permintaan menunggu batas tersebut direset dengan `CLAUDE_CODE_RETRY_WATCHDOG` disetel. Ketika pemeriksaan menemukan batas sudah dicabut, permintaan langsung dikirim. Berikan bilangan bulat dalam digit biasa dari `60000`, satu menit, hingga `10800000`, tiga jam. Pemeriksaan hanya dilakukan untuk batas sesi atau mingguan langganan claude.ai selama kredit penggunaan tidak digunakan, dan tidak dilakukan selama `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` disetel. Ketika variabel ini tidak disetel atau nilainya di luar rentang tersebut, tidak ada pemeriksaan yang dilakukan. Memerlukan Claude Code v2.1.305 atau lebih baru |

375| `CLAUDE_CODE_SAFE_MODE` | Setel ke `1` untuk memulai dalam safe mode: CLAUDE.md, skill, plugin, hook, server MCP, perintah dan agent kustom, gaya output, workflow, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan auto memory tidak dimuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola tetap berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/docs/id/cli-reference#cli-flags). Proses anak yang dimunculkan secara langsung mewarisi variabel ini |371| `CLAUDE_CODE_SAFE_MODE` | Setel ke `1` untuk memulai dalam safe mode: CLAUDE.md, skill, plugin, hook, server MCP, perintah dan agent kustom, gaya output, workflow, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan auto memory tidak dimuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola tetap berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/docs/id/cli-reference#cli-flags). Proses anak yang dimunculkan secara langsung mewarisi variabel ini |

376| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip tertentu dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` disetel. Kunci adalah substring yang dicocokkan dengan teks perintah; nilai adalah batas panggilan berupa bilangan bulat. Misalnya, `{"deploy.sh": 2}` mengizinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` tetap dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol defense-in-depth |372| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip tertentu dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` disetel. Kunci adalah substring yang dicocokkan dengan teks perintah; nilai adalah batas panggilan berupa bilangan bulat. Misalnya, `{"deploy.sh": 2}` mengizinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` tetap dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol defense-in-depth |

377| `CLAUDE_CODE_SCROLL_SPEED` | Menyetel pengali scroll roda mouse dalam [rendering layar penuh](/docs/id/fullscreen#mouse-wheel-scrolling). Menerima nilai positif apa pun hingga 20, termasuk nilai pecahan di bawah 1 seperti `0.5` untuk memperlambat scroll trackpad dan roda yang dipercepat di terminal yang sudah memperkuat event roda. Setel ke `3` untuk menyamai `vim` jika terminal Anda mengirim satu event roda per takik tanpa penguatan. Diabaikan di terminal IDE JetBrains, tempat Claude Code menggunakan penanganan scroll-nya sendiri |373| `CLAUDE_CODE_SCROLL_SPEED` | Menyetel pengali scroll roda mouse dalam [rendering layar penuh](/docs/id/fullscreen#mouse-wheel-scrolling). Menerima nilai positif apa pun hingga 20, termasuk nilai pecahan di bawah 1 seperti `0.5` untuk memperlambat scroll trackpad dan roda yang dipercepat di terminal yang sudah memperkuat event roda. Setel ke `3` untuk menyamai `vim` jika terminal Anda mengirim satu event roda per takik tanpa penguatan. Diabaikan di terminal IDE JetBrains, tempat Claude Code menggunakan penanganan scroll-nya sendiri |


405| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout dalam milidetik bagi kueri pertama untuk menunggu daftar skill awal saat `CLAUDE_CODE_SYNC_SKILLS` disetel (default: 5000). Saat terlampaui, kueri pertama berjalan dengan skill mana pun yang sudah tiba. Unduhan tetap selesai di latar belakang, dan Claude menunggu unduhan skill saat memanggil skill tersebut |401| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout dalam milidetik bagi kueri pertama untuk menunggu daftar skill awal saat `CLAUDE_CODE_SYNC_SKILLS` disetel (default: 5000). Saat terlampaui, kueri pertama berjalan dengan skill mana pun yang sudah tiba. Unduhan tetap selesai di latar belakang, dan Claude menunggu unduhan skill saat memanggil skill tersebut |

406| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setel ke `false` untuk menonaktifkan penyorotan sintaks dalam output diff. Berguna saat warna mengganggu penyiapan terminal Anda. Untuk juga menonaktifkan penyorotan di blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/docs/id/settings-reference#syntaxhighlightingdisabled) |402| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setel ke `false` untuk menonaktifkan penyorotan sintaks dalam output diff. Berguna saat warna mengganggu penyiapan terminal Anda. Untuk juga menonaktifkan penyorotan di blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/docs/id/settings-reference#syntaxhighlightingdisabled) |

407| `CLAUDE_CODE_TASK_LIST_ID` | Berbagi daftar tugas antar sesi. Setel ID yang sama di beberapa instance Claude Code untuk berkoordinasi pada daftar tugas bersama, dalam [sesi yang memiliki tool Task](/docs/id/tools-reference#task-tool-availability). Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) |403| `CLAUDE_CODE_TASK_LIST_ID` | Berbagi daftar tugas antar sesi. Setel ID yang sama di beberapa instance Claude Code untuk berkoordinasi pada daftar tugas bersama, dalam [sesi yang memiliki tool Task](/docs/id/tools-reference#task-tool-availability). Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) |

408| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Menimpa, dalam milidetik, berapa lama sesi non-interaktif menunggu saat keluar agar [tim agent](/docs/id/agent-teams)-nya selesai dibongkar. Menerima 1000 hingga 60000; nilai di luar rentang diabaikan dan default 10000 berlaku. Memerlukan Claude Code v2.1.206 atau lebih baru |

409| `CLAUDE_CODE_TMPDIR` | Menimpa direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` ke path ini di Unix, atau `/claude/` di Windows. Default: `/tmp` di macOS, `os.tmpdir()` di Linux dan Windows. Di macOS dan Linux, subproses Bash yang [di-sandbox](/docs/id/sandboxing) menerima `$TMPDIR` fallback yang pendek di bawah default sistem saat override Anda adalah path yang panjang, karena beberapa tool gagal saat path temp terlalu panjang. Perintah Bash yang tidak di-sandbox mewarisi `$TMPDIR` shell Anda saat disetel. Di Windows native, saat shell Anda tidak menyetel `$TMPDIR`, perintah Bash yang mereferensikan `$TMPDIR` menerima override Anda, atau `%TEMP%` saat Anda belum menyetelnya. File temp milik Claude Code sendiri selalu menggunakan override Anda. Setel di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |404| `CLAUDE_CODE_TMPDIR` | Menimpa direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` ke path ini di Unix, atau `/claude/` di Windows. Default: `/tmp` di macOS, `os.tmpdir()` di Linux dan Windows. Di macOS dan Linux, subproses Bash yang [di-sandbox](/docs/id/sandboxing) menerima `$TMPDIR` fallback yang pendek di bawah default sistem saat override Anda adalah path yang panjang, karena beberapa tool gagal saat path temp terlalu panjang. Perintah Bash yang tidak di-sandbox mewarisi `$TMPDIR` shell Anda saat disetel. Di Windows native, saat shell Anda tidak menyetel `$TMPDIR`, perintah Bash yang mereferensikan `$TMPDIR` menerima override Anda, atau `%TEMP%` saat Anda belum menyetelnya. File temp milik Claude Code sendiri selalu menggunakan override Anda. Setel di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

410| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setel ke nilai tidak kosong apa pun, seperti `1`, untuk mengizinkan output truecolor 24-bit di dalam tmux. **Menyetelnya ke `0` atau `false` tetap mengizinkan truecolor**, tidak seperti sebagian besar variabel aktif/nonaktif; hapus variabel untuk mengembalikan pembatasan 256 warna. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` disetel karena tmux tidak meneruskan escape sequence truecolor kecuali dikonfigurasi untuk itu. Setel ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi terminal](/docs/id/terminal-config) untuk pengaturan tmux lainnya |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setel ke nilai tidak kosong apa pun, seperti `1`, untuk mengizinkan output truecolor 24-bit di dalam tmux. **Menyetelnya ke `0` atau `false` tetap mengizinkan truecolor**, tidak seperti sebagian besar variabel aktif/nonaktif; hapus variabel untuk mengembalikan pembatasan 256 warna. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` disetel karena tmux tidak meneruskan escape sequence truecolor kecuali dikonfigurasi untuk itu. Setel ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi terminal](/docs/id/terminal-config) untuk pengaturan tmux lainnya |

411| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Di Linux dan WSL, setel ke daftar yang dipisahkan koma berisi jenis proses yang [dikecualikan Claude Code dari batas memori tool](/docs/id/tools-reference#memory-limit-on-linux-and-wsl), seperti `mcp` atau `lsp`. Setel `none` untuk membatasi setiap jenis, atau `all-new` untuk hanya membatasi perintah tool Bash, PowerShell, dan Monitor. Claude Code tetap menjaga perintah tool Bash, PowerShell, dan Monitor di bawah batas apa pun yang Anda cantumkan. Memerlukan Claude Code v2.1.246 atau lebih baru |406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Di Linux dan WSL, setel ke daftar yang dipisahkan koma berisi jenis proses yang [dikecualikan Claude Code dari batas memori tool](/docs/id/tools-reference#memory-limit-on-linux-and-wsl), seperti `mcp` atau `lsp`. Setel `none` untuk membatasi setiap jenis, atau `all-new` untuk hanya membatasi perintah tool Bash, PowerShell, dan Monitor. Claude Code tetap menjaga perintah tool Bash, PowerShell, dan Monitor di bawah batas apa pun yang Anda cantumkan. Memerlukan Claude Code v2.1.246 atau lebih baru |

412| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Di Linux dan WSL, setel ke ukuran seperti `4G` untuk [membatasi memori yang dapat digunakan perintah tool Bash dan PowerShell](/docs/id/tools-reference#memory-limit-on-linux-and-wsl), serta perintah tool Monitor di v2.1.246 atau lebih baru. Tulis ukuran dalam digit biasa, sendiri untuk jumlah byte atau dengan sufiks `K`, `M`, `G`, atau `T`. Setel `0` atau `off` untuk mematikan batas. Setelah proses pertama yang dimulai Claude Code mengaktifkan atau mematikan batas, nilai yang diubah berlaku saat Anda meluncurkan `claude` berikutnya. Memerlukan Claude Code v2.1.233 atau lebih baru |407| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Di Linux dan WSL, setel ke ukuran seperti `4G` untuk [membatasi memori yang dapat digunakan perintah tool Bash dan PowerShell](/docs/id/tools-reference#memory-limit-on-linux-and-wsl), serta perintah tool Monitor di v2.1.246 atau lebih baru. Tulis ukuran dalam digit biasa, sendiri untuk jumlah byte atau dengan sufiks `K`, `M`, `G`, atau `T`. Setel `0` atau `off` untuk mematikan batas. Setelah proses pertama yang dimulai Claude Code mengaktifkan atau mematikan batas, nilai yang diubah berlaku saat Anda meluncurkan `claude` berikutnya. Memerlukan Claude Code v2.1.233 atau lebih baru |

413| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Setel ke `1` untuk membatasi seberapa besar [file transkrip](/docs/id/sessions#where-transcripts-are-stored) dari sesi `-p` atau Agent SDK yang panjang bertambah. Setelah setiap compaction, begitu file lebih besar dari 5 MB, Claude Code menghapus riwayat dari sebelum compaction tersebut. Melanjutkan sesi memulihkan percakapan yang sama terlepas dari apakah file dipangkas atau tidak. Setel di lingkungan tempat Anda memulai Claude Code, karena blok `env` pengaturan tidak dapat mengaktifkannya. Memerlukan Claude Code v2.1.287 atau lebih baru |408| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Atur ke `1` untuk membatasi seberapa besar [file transkrip](/docs/id/sessions#where-transcripts-are-stored) dari sesi `-p` atau Agent SDK yang panjang bertambah. Setelah setiap compaction, begitu file lebih besar dari 5 MB, Claude Code menghapus riwayat dari sebelum compaction tersebut. Pada v2.1.296 atau lebih baru, file tetap apa adanya jika penghapusan riwayat tersebut akan mengecilkannya kurang dari 10%. Melanjutkan sesi memulihkan percakapan yang sama, baik file dipangkas maupun tidak. Atur di lingkungan tempat Anda memulai Claude Code, karena blok `env` pengaturan tidak dapat mengaktifkannya. Memerlukan Claude Code v2.1.287 atau lebih baru |

414| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Tenggat dalam milidetik sebelum Claude Code membatalkan dialog yang diteruskannya ke klien jarak jauh seperti [Remote Control](/docs/id/remote-control) atau host SDK, atau dialog persetujuan untuk [pesan lintas sesi yang ditahan](/docs/id/cross-session-messaging#control-inbound-messages); permintaan izin dan pertanyaan `AskUserQuestion` menggunakan alurnya sendiri dan tidak diatur oleh variabel ini. Pada Claude Code v2.1.236 atau yang lebih baru, variabel ini juga membatasi dialog persetujuan [kredit penggunaan Fable](/docs/id/model-config#fable-and-usage-credits) di tengah sesi dalam sesi yang mungkin berjalan tanpa pengawasan. [Mengontrol pesan masuk](/docs/id/cross-session-messaging#control-inbound-messages) dan [sesi non-interaktif](/docs/id/cross-session-messaging#non-interactive-sessions) membahas aturan kedaluwarsa pesan yang ditahan secara lengkap, termasuk kasus ketika tenggat tidak berlaku. Menimpa pengaturan [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry). `0` atau nilai negatif menonaktifkan tenggat. Diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |409| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Tenggat dalam milidetik sebelum Claude Code membatalkan dialog yang diteruskannya ke klien jarak jauh seperti [Remote Control](/docs/id/remote-control) atau host SDK, atau dialog persetujuan untuk [pesan lintas sesi yang ditahan](/docs/id/cross-session-messaging#control-inbound-messages); permintaan izin dan pertanyaan `AskUserQuestion` menggunakan alurnya sendiri dan tidak diatur oleh variabel ini. Pada Claude Code v2.1.236 atau yang lebih baru, variabel ini juga membatasi dialog persetujuan [kredit penggunaan Fable](/docs/id/model-config#fable-and-usage-credits) di tengah sesi dalam sesi yang mungkin berjalan tanpa pengawasan. [Mengontrol pesan masuk](/docs/id/cross-session-messaging#control-inbound-messages) dan [sesi non-interaktif](/docs/id/cross-session-messaging#non-interactive-sessions) membahas aturan kedaluwarsa pesan yang ditahan secara lengkap, termasuk kasus ketika tenggat tidak berlaku. Menimpa pengaturan [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry). `0` atau nilai negatif menonaktifkan tenggat. Diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

415| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) |410| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) |

416| `CLAUDE_CODE_USE_BEDROCK` | Gunakan [Amazon Bedrock](/docs/id/amazon-bedrock) |411| `CLAUDE_CODE_USE_BEDROCK` | Gunakan [Amazon Bedrock](/docs/id/amazon-bedrock) |

417| `CLAUDE_CODE_USE_FOUNDRY` | Gunakan [Microsoft Foundry](/docs/id/microsoft-foundry) |412| `CLAUDE_CODE_USE_FOUNDRY` | Gunakan [Microsoft Foundry](/docs/id/microsoft-foundry) |

418| `CLAUDE_CODE_USE_MANTLE` | Gunakan [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock |413| `CLAUDE_CODE_USE_MANTLE` | Gunakan [endpoint Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock |

419| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Atur ke `1` untuk menemukan perintah kustom, subagent, dan gaya output menggunakan API file Node.js alih-alih ripgrep. Atur ini jika biner ripgrep bawaan tidak tersedia atau diblokir di lingkungan Anda. Tidak memengaruhi tool Grep atau pencarian file |

420| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Mengontrol tool PowerShell. Di Windows tanpa Git Bash, tool ini diaktifkan secara otomatis; atur ke `0` untuk menonaktifkannya. Di Windows dengan Git Bash terinstal, tool ini aktif secara default untuk akun claude.ai dan Console; atur ke `1` untuk mengaktifkannya dalam sesi Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, atau `0` untuk mematikannya. Di Linux, macOS, dan WSL, atur ke `1` untuk mengaktifkannya, yang memerlukan `pwsh` di `PATH` Anda. Saat diaktifkan di Windows, Claude dapat menjalankan perintah PowerShell secara native alih-alih melalui Git Bash. Lihat [tool PowerShell](/docs/id/tools-reference#powershell-tool) |414| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Mengontrol tool PowerShell. Di Windows tanpa Git Bash, tool ini diaktifkan secara otomatis; atur ke `0` untuk menonaktifkannya. Di Windows dengan Git Bash terinstal, tool ini aktif secara default untuk akun claude.ai dan Console; atur ke `1` untuk mengaktifkannya dalam sesi Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, atau `0` untuk mematikannya. Di Linux, macOS, dan WSL, atur ke `1` untuk mengaktifkannya, yang memerlukan `pwsh` di `PATH` Anda. Saat diaktifkan di Windows, Claude dapat menjalankan perintah PowerShell secara native alih-alih melalui Git Bash. Lihat [tool PowerShell](/docs/id/tools-reference#powershell-tool) |

421| `CLAUDE_CODE_USE_VERTEX` | Gunakan [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |415| `CLAUDE_CODE_USE_VERTEX` | Gunakan [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |

422| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Atur ke jumlah milidetik [WebFetch](/docs/id/tools-reference#webfetch-tool-behavior) menyimpan respons setiap URL yang diambil dalam cache. Default-nya adalah `900000`, yaitu 15 menit. Hanya menerima digit biasa; `0`, desimal, atau penulisan lainnya mempertahankan default. Claude Code membaca nilai ini sekali per peluncuran, sehingga perubahan dalam blok `env` pengaturan berlaku saat Anda meluncurkan `claude` berikutnya. Memerlukan Claude Code v2.1.233 atau yang lebih baru |416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Atur ke jumlah milidetik [WebFetch](/docs/id/tools-reference#webfetch-tool-behavior) menyimpan respons setiap URL yang diambil dalam cache. Default-nya adalah `900000`, yaitu 15 menit. Hanya menerima digit biasa; `0`, desimal, atau penulisan lainnya mempertahankan default. Claude Code membaca nilai ini sekali per peluncuran, sehingga perubahan dalam blok `env` pengaturan berlaku saat Anda meluncurkan `claude` berikutnya. Memerlukan Claude Code v2.1.233 atau yang lebih baru |


427| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Batas atas dalam milidetik untuk berapa lama agent [workflow](/docs/id/workflows) menunggu respons pertama dari agent saudara dengan prefiks yang sama dimulai sebelum mengirim permintaan pertamanya sendiri. Saat fan-out memulai beberapa agent yang berbagi [prefiks prompt cache](/docs/id/workflows#prompt-caching-in-a-fan-out), Claude Code menahan semua agent kecuali yang pertama hingga selama ini sehingga sisanya membaca prefiks yang ada di cache alih-alih masing-masing memprosesnya tanpa cache. Default `5000`. Atur ke `0` untuk menonaktifkan penantian. Saat `DISABLE_PROMPT_CACHING` diatur, agent tidak pernah menunggu. Memerlukan Claude Code v2.1.229 atau yang lebih baru |421| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Batas atas dalam milidetik untuk berapa lama agent [workflow](/docs/id/workflows) menunggu respons pertama dari agent saudara dengan prefiks yang sama dimulai sebelum mengirim permintaan pertamanya sendiri. Saat fan-out memulai beberapa agent yang berbagi [prefiks prompt cache](/docs/id/workflows#prompt-caching-in-a-fan-out), Claude Code menahan semua agent kecuali yang pertama hingga selama ini sehingga sisanya membaca prefiks yang ada di cache alih-alih masing-masing memprosesnya tanpa cache. Default `5000`. Atur ke `0` untuk menonaktifkan penantian. Saat `DISABLE_PROMPT_CACHING` diatur, agent tidak pernah menunggu. Memerlukan Claude Code v2.1.229 atau yang lebih baru |

428| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Atur ke `1` untuk menampilkan, di atas prompt, satu baris untuk masing-masing dari tiga pemeriksaan terakhir yang dilakukan [mod You should know](/docs/id/interactive-mode#you-should-know-suggestions) dalam sesi ini. Gunakan untuk memastikan mod sedang melakukan pemeriksaan saat tidak ada catatan yang muncul. Memerlukan Claude Code v2.1.287 atau yang lebih baru |422| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Atur ke `1` untuk menampilkan, di atas prompt, satu baris untuk masing-masing dari tiga pemeriksaan terakhir yang dilakukan [mod You should know](/docs/id/interactive-mode#you-should-know-suggestions) dalam sesi ini. Gunakan untuk memastikan mod sedang melakukan pemeriksaan saat tidak ada catatan yang muncul. Memerlukan Claude Code v2.1.287 atau yang lebih baru |

429| `CLAUDE_CONFIG_DIR` | Menimpa direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah path ini. Untuk kredensial, lihat [tempat Claude Code menyimpan kredensial](/docs/id/authentication#credential-management). Berguna untuk menjalankan beberapa akun secara berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Atur di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Dalam file pengaturan, tulis [path absolut](#in-settings-files). Diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |423| `CLAUDE_CONFIG_DIR` | Menimpa direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah path ini. Untuk kredensial, lihat [tempat Claude Code menyimpan kredensial](/docs/id/authentication#credential-management). Berguna untuk menjalankan beberapa akun secara berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Atur di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Dalam file pengaturan, tulis [path absolut](#in-settings-files). Diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

430| `CLAUDE_DISABLE_ADOPT` | Atur ke `1` untuk menghentikan pekerjaan latar belakang yang sedang berjalan alih-alih membawanya saat Anda memindahkan sesi ke latar belakang dengan menekan `←` atau dengan [`/background`](/docs/id/agent-view#from-inside-a-session). Claude Code meminta Anda mengonfirmasi sebelum memindahkan ke latar belakang, lalu menghentikan tugas yang seharusnya dibawa. Memerlukan Claude Code v2.1.195 atau yang lebih baru |

431| `CLAUDE_EFFORT` | Diatur secara otomatis dalam subproses tool Bash dan perintah hook ke [tingkat effort](/docs/id/model-config#adjust-effort-level) yang berlaku saat subproses dimulai: `low`, `medium`, `high`, `xhigh`, atau `max`. Cocok dengan field `effort.level` yang diteruskan ke [hooks](/docs/id/hooks). Hanya diatur ketika model saat ini mendukung parameter effort |424| `CLAUDE_EFFORT` | Diatur secara otomatis dalam subproses tool Bash dan perintah hook ke [tingkat effort](/docs/id/model-config#adjust-effort-level) yang berlaku saat subproses dimulai: `low`, `medium`, `high`, `xhigh`, atau `max`. Cocok dengan field `effort.level` yang diteruskan ke [hooks](/docs/id/hooks). Hanya diatur ketika model saat ini mendukung parameter effort |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa mengaktifkan watchdog idle streaming tingkat byte, atau atur ke `0` untuk memaksa menonaktifkannya. `0` juga mematikan [tenggat byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada koneksi tempat tenggat tersebut berjalan. Jika tidak diatur, watchdog diaktifkan secara default untuk koneksi langsung ke Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), serta untuk respons streaming pada koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`; sebelum v2.1.222 watchdog ini tidak berjalan pada koneksi gateway tersebut, sehingga watchdog tingkat event dapat melaporkan macet di sana meskipun ping keep-alive sedang diterima. Untuk timeout dan cara timer saling berinteraksi, lihat [Watchdog idle streaming](/docs/id/network-config#streaming-idle-watchdogs) |425| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa mengaktifkan watchdog idle streaming tingkat byte, atau atur ke `0` untuk memaksa menonaktifkannya. `0` juga mematikan [tenggat byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada koneksi tempat tenggat tersebut berjalan. Jika tidak diatur, watchdog diaktifkan secara default untuk koneksi langsung ke Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), serta untuk respons streaming pada koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`; sebelum v2.1.222 watchdog ini tidak berjalan pada koneksi gateway tersebut, sehingga watchdog tingkat event dapat melaporkan macet di sana meskipun ping keep-alive sedang diterima. Untuk timeout dan cara timer saling berinteraksi, lihat [Watchdog idle streaming](/docs/id/network-config#streaming-idle-watchdogs) |

433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan watchdog idle streaming tingkat byte pada respons `vnd.amazon.eventstream` Amazon Bedrock, yang juga mengaktifkan [tenggat byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada permintaan streaming Bedrock. Nonaktif secara default. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |426| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan watchdog idle streaming tingkat byte pada respons `vnd.amazon.eventstream` Amazon Bedrock, yang juga mengaktifkan [tenggat byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada permintaan streaming Bedrock. Nonaktif secara default. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |


465| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri, dengan efek yang sama seperti `DISABLE_TELEMETRY`, termasuk pada [pengambilan feature flag](#features-that-need-feature-flag-fetching). Claude Code membaca variabel ini sebagai boolean standar, sehingga `0` membiarkan telemetri tetap aktif, dan menghormatinya sebagai konvensi lintas tool yang dikenali oleh banyak CLI pengembang |458| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri, dengan efek yang sama seperti `DISABLE_TELEMETRY`, termasuk pada [pengambilan feature flag](#features-that-need-feature-flag-fetching). Claude Code membaca variabel ini sebagai boolean standar, sehingga `0` membiarkan telemetri tetap aktif, dan menghormatinya sebagai konvensi lintas tool yang dikenali oleh banyak CLI pengembang |

466| `ENABLE_BETA_TRACING_DETAILED` | Atur ke `1`, dan atur `BETA_TRACING_ENDPOINT` ke endpoint kolektor OTLP/HTTP Anda, untuk mengaktifkan [tracing beta terperinci](/docs/id/monitoring-usage#traces-beta), yang menambahkan atribut span yang memuat konten dan span `claude_code.hook`. Sesi CLI interaktif juga memerlukan organisasi Anda masuk allowlist untuk beta. Kedua variabel diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |459| `ENABLE_BETA_TRACING_DETAILED` | Atur ke `1`, dan atur `BETA_TRACING_ENDPOINT` ke endpoint kolektor OTLP/HTTP Anda, untuk mengaktifkan [tracing beta terperinci](/docs/id/monitoring-usage#traces-beta), yang menambahkan atribut span yang memuat konten dan span `claude_code.hook`. Sesi CLI interaktif juga memerlukan organisasi Anda masuk allowlist untuk beta. Kedua variabel diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

467| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menghentikan Claude Code mengambil [server MCP claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai). Diaktifkan secara default untuk pengguna yang sudah masuk. Untuk menonaktifkan per proyek atau per organisasi, atur [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) di pengaturan sebagai gantinya |460| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menghentikan Claude Code mengambil [server MCP claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai). Diaktifkan secara default untuk pengguna yang sudah masuk. Untuk menonaktifkan per proyek atau per organisasi, atur [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) di pengaturan sebagai gantinya |

468| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta [TTL prompt cache](/docs/id/prompt-caching#cache-lifetime) 1 jam alih-alih default 5 menit. Ditujukan untuk pengguna kunci API, [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Pengguna langganan dalam penggunaan yang disertakan menerima TTL 1 jam secara otomatis pada [percakapan utama](/docs/id/prompt-caching#which-ttl-each-request-gets). Pengguna langganan yang memakai [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) dapat mengaturnya untuk mempertahankan TTL 1 jam. Penulisan cache 1 jam ditagih dengan tarif lebih tinggi. Untuk memilih TTL per kelompok permintaan, gunakan `CLAUDE_CODE_PROMPT_CACHE_TTL` dan `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, yang diutamakan daripada variabel ini |461| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta [TTL prompt cache](/docs/id/prompt-caching#cache-lifetime) 1 jam alih-alih default 5 menit. Ditujukan untuk pengguna kunci API, [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws). Untuk pengguna langganan dalam penggunaan yang disertakan, Claude Code meminta TTL 1 jam secara otomatis pada [percakapan utama](/docs/id/prompt-caching#which-ttl-each-request-gets). Pengguna langganan yang menggunakan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) dapat mengaturnya untuk mempertahankan TTL 1 jam. Penulisan cache 1 jam ditagih dengan tarif lebih tinggi. Untuk memilih TTL secara terpisah bagi percakapan utama dan bagi permintaan di luarnya, gunakan `CLAUDE_CODE_PROMPT_CACHE_TTL` dan `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, yang diutamakan daripada variabel ini |

469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |462| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |

470| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian tool MCP](/docs/id/mcp#scale-with-mcp-tool-search). Jika tidak diatur, Claude Code menunda semua tool MCP secara default, dan memuatnya di awal ketika `ANTHROPIC_BASE_URL` mengarah ke host yang bukan first-party. `true` tetap menundanya juga pada host seperti itu. `auto` memuat di awal ketika definisi tool muat dalam 10% konteks. `auto:N` mengatur ambang kustom, seperti `auto:5` untuk 5%. `false` memuat semua tool di awal. Untuk model dan deployment yang memuat setiap tool di awal apa pun nilai ini, lihat [Mengonfigurasi pencarian tool](/docs/id/mcp#configure-tool-search) |463| `ENABLE_TOOL_SEARCH` | Mengontrol [MCP tool search](/docs/id/mcp#scale-with-mcp-tool-search). Tidak diatur atau `true` menunda tool MCP, kecuali dalam [kasus yang membuat pencarian tool tetap nonaktif](/docs/id/mcp#configure-tool-search). `auto` mengaktifkan pencarian tool begitu definisi mencapai 10% dari context window. `auto:N` mengatur ambang batas kustom, seperti `auto:5` untuk 5%. `false` memuat semua tool di awal. Jika gateway menolak pencarian tool, lihat [Pencarian tool melalui gateway LLM](/docs/id/mcp#tool-search-through-a-gateway) |

471| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai apa pun yang tidak kosong, seperti `1`, untuk membuat Claude Code berhenti mencoba ulang pada error overload berulang untuk setiap model ketika tidak ada model fallback yang dikonfigurasi. **Mengaturnya ke `0` atau `false` tetap mengaktifkan ini**, tidak seperti kebanyakan variabel on/off; hapus pengaturan variabel untuk memulihkan perilaku retry default. Tanpanya, Claude Code berhenti mencoba ulang dengan cara ini pada model yang dikenalinya sebagai model Opus, Fable, atau Mythos ketika Anda melakukan autentikasi dengan kunci API atau [penyedia pihak ketiga](/docs/id/third-party-integrations) alih-alih langganan Claude. Pada Claude Code v2.1.160 atau yang lebih baru, Claude Code beralih ke [rantai model fallback](/docs/id/model-config#fallback-model-chains) yang Anda konfigurasikan pada error overload berulang untuk model utama apa pun, sehingga variabel ini tidak memengaruhi peralihan ke model fallback |

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

473| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik ketika terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya. Jika tidak diatur, Claude Code mengaktifkan hyperlink hanya ketika mendeteksi dukungan terminal. Claude Code mengurai nilai ini sebagai angka, bukan Boolean, sehingga nilai seperti `false`, `no`, atau `off` justru mengaktifkan hyperlink alih-alih menonaktifkannya. [Lencana PR atau merge request](/docs/id/interactive-mode#pr-review-status) di footer ditampilkan sebagai hyperlink bahkan ketika Claude Code tidak dapat mendeteksi dukungan terminal, seperti melalui SSH. Atur `0` untuk menampilkan lencana sebagai teks biasa |465| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik ketika terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya. Jika tidak diatur, Claude Code mengaktifkan hyperlink hanya ketika mendeteksi dukungan terminal. Claude Code mengurai nilai ini sebagai angka, bukan Boolean, sehingga nilai seperti `false`, `no`, atau `off` justru mengaktifkan hyperlink alih-alih menonaktifkannya. [Lencana PR atau merge request](/docs/id/interactive-mode#pr-review-status) di footer ditampilkan sebagai hyperlink bahkan ketika Claude Code tidak dapat mendeteksi dukungan terminal, seperti melalui SSH. Atur `0` untuk menampilkan lencana sebagai teks biasa |

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


572 564 

573Dengan pengambilan dimatikan, Anda tidak dapat:565Dengan pengambilan dimatikan, Anda tidak dapat:

574 566 

575* Menjalankan [`/auto-mode-setup`](/docs/id/auto-mode-config#generate-environment-entries) untuk menyusun draf entri `autoMode.environment`

576* Menggunakan [Remote Control](/docs/id/remote-control) dengan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK` diatur. Untuk `DISABLE_TELEMETRY` dan `DO_NOT_TRACK`, lihat [persyaratan Remote Control](/docs/id/remote-control#requirements)567* Menggunakan [Remote Control](/docs/id/remote-control) dengan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK` diatur. Untuk `DISABLE_TELEMETRY` dan `DO_NOT_TRACK`, lihat [persyaratan Remote Control](/docs/id/remote-control#requirements)

577* [Mengirim pesan ke sesi di luar mesin ini](/docs/id/cross-session-messaging#message-sessions-on-other-machines) saat [Remote Control](/docs/id/remote-control#requirements) tidak tersedia. Pengiriman pesan antar sesi di mesin ini tetap berfungsi dengan pengambilan dimatikan568* [Mengirim pesan ke sesi di luar mesin ini](/docs/id/cross-session-messaging#message-sessions-on-other-machines) saat [Remote Control](/docs/id/remote-control#requirements) tidak tersedia. Pengiriman pesan antar sesi di mesin ini tetap berfungsi dengan pengambilan dimatikan

578* Menjalankan [`claude import` atau perintah `/import`](/docs/id/cli-reference#cli-commands)569* Menjalankan [`claude import` atau perintah `/import`](/docs/id/cli-reference#cli-commands)

errors.md +289 −42

Details

83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) |83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) |

84| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |84| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |

85| `Login expired · Please run /login` | [Authentication](#login-expired) |85| `Login expired · Please run /login` | [Authentication](#login-expired) |

86| `The browser can't return the sign-in to Claude Code automatically` | [Authentication](#couldnt-start-the-local-sign-in-listener) |

87| `Couldn't start the local listener that receives the browser sign-in. Try again.` | [Authentication](#couldnt-start-the-local-sign-in-listener) |

86| `Failed to start OAuth callback server` | [Authentication](#failed-to-start-oauth-callback-server) |88| `Failed to start OAuth callback server` | [Authentication](#failed-to-start-oauth-callback-server) |

87| `Claude login not accepted · Run /login, then try again` | [Authentication](#claude-login-not-accepted) |89| `Claude login not accepted · Run /login, then try again` | [Authentication](#claude-login-not-accepted) |

88| `Artifacts need a claude.ai login` | [Authentication](#artifacts-need-a-claude-ai-login) |90| `Artifacts need a claude.ai login` | [Authentication](#artifacts-need-a-claude-ai-login) |


100| `claude.ai rejected the session token` / `session token rejected` | [Authentication](#claude-ai-rejected-the-session-token) |102| `claude.ai rejected the session token` / `session token rejected` | [Authentication](#claude-ai-rejected-the-session-token) |

101| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |103| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

102| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |104| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

105| `(check the helper, then start a new task or chat)` / `(update it, then start a new task or chat)` | [Authentication](#mcp-credential-rejected-in-cowork) |

103| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |106| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

104| `MCP server "<name>" requires re-authorization (token expired)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |107| `MCP server "<name>" requires re-authorization (token expired)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

105| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentication](#mcp-server-url-is-missing-or-not-a-valid-url) |108| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentication](#mcp-server-url-is-missing-or-not-a-valid-url) |


200| `Installation was killed before it could finish (exit code 137)` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#installation-was-killed-before-it-could-finish) |203| `Installation was killed before it could finish (exit code 137)` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#installation-was-killed-before-it-could-finish) |

201| `The connection dropped while downloading the update` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |204| `The connection dropped while downloading the update` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

202| `Download timed out: exceeded the total deadline` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |205| `Download timed out: exceeded the total deadline` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

206| `Release verification failed for Claude Code <version> (<reason>). The update was not installed.` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#release-verification-failed) |

207| `Auto-update failed · Run claude doctor` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#auto-update-failed) |

203| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |208| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |

204| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Command-line errors](#couldnt-tell-whether-bg-is-a-flag-or-text) |209| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Command-line errors](#couldnt-tell-whether-bg-is-a-flag-or-text) |

205| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |210| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |


270| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Command-line errors](#custom-output-styles-cant-be-selected-over-remote-control) |275| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Command-line errors](#custom-output-styles-cant-be-selected-over-remote-control) |

271| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |276| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

272| `/recap only runs when you ask for it yourself in this session` | [Command-line errors](#recap-only-runs-when-you-ask-for-it-yourself) |277| `/recap only runs when you ask for it yourself in this session` | [Command-line errors](#recap-only-runs-when-you-ask-for-it-yourself) |

278| `/feedback is disabled by your organization's policy`, atau hal yang sama untuk `/bug` atau `/share` | [Command-line errors](#feedback-is-disabled-by-your-organizations-policy) |

273| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |279| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |

274| `cannot be evaluated where sessions load it` | [Test plugins with evals](/docs/id/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |280| `cannot be evaluated where sessions load it` | [Test plugins with evals](/docs/id/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |

275| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |281| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |


289| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/id/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |295| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/id/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

290| `does not load (...), so Claude Code ignores the whole file` | [Plugin troubleshooting](/docs/id/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |296| `does not load (...), so Claude Code ignores the whole file` | [Plugin troubleshooting](/docs/id/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

291| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |297| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

298| `Plugin not loaded: its manifest <path> was not read` | [Plugin errors](#plugin-not-loaded-its-manifest-was-not-read) |

292| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |299| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |

293| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |300| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |

294| `Plugin source path refused` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |301| `Plugin source path refused` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


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

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

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

314| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

315| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

307| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |316| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |

308| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |317| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |

309| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |318| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |

310| `Failed to write to <name>'s inbox — nothing was sent` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |319| `Failed to write to <name>'s inbox — nothing was sent` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |

311| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |320| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |

312| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Tool errors](#teammate-agent-definition-not-restored) |321| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Tool errors](#teammate-agent-definition-not-restored) |

322| `Only a teammate can approve a shutdown request` | [Tool errors](#only-a-teammate-can-approve-a-shutdown-request) |

313| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |323| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |

314| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |324| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |

315| `Cross-session message was dropped at the recipient session's inbox` | [Tool errors](#cross-session-message-dropped-at-the-inbox) |325| `Cross-session message was dropped at the recipient session's inbox` | [Tool errors](#cross-session-message-dropped-at-the-inbox) |


325| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |335| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

326| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |336| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

327| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |337| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

338| `The command was not started: this computer's disk is full (ENOSPC)` / `(EDQUOT)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

328| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Tool errors](#file-is-not-valid-utf-8) |339| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Tool errors](#file-is-not-valid-utf-8) |

329| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |340| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

330| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |341| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

331| `Not published: that file is on a network share` | [Tool errors](#not-published-that-file-is-on-a-network-share) |342| `Not published: that file is on a network share` | [Tool errors](#not-published-that-file-is-on-a-network-share) |

343| `Not published: Claude sent the same content again after a newer version of the artifact turned it away` / `Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away` | [Tool errors](#not-published-a-newer-version-of-the-artifact-turned-it-away) |

332| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |344| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |

333| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |345| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |

334| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Tool errors](#webfetch-cannot-fetch-localhost) |346| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Tool errors](#webfetch-cannot-fetch-localhost) |


345| `Can't open — this session is running in another terminal` | [Background session errors](#this-session-is-running-in-another-terminal) |357| `Can't open — this session is running in another terminal` | [Background session errors](#this-session-is-running-in-another-terminal) |

346| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |358| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |

347| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |359| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |

348| `Bypass permissions was requested at launch and ignored` | [Skip all checks with bypassPermissions mode](/docs/id/permission-modes#bypass-permissions-acceptance) |360| `Bypass permissions was requested at launch and ignored` | [Bypass permissions ignored in a background session](/docs/id/permission-modes#bypass-permissions-ignored-in-a-background-session) |

349| `kept <id> — its worktree is still at <path>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |361| `kept <id> — its worktree is still at <path>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

350| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |362| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

351| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |363| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |


354| `Session <id> was stopped while the respawn was in flight` | [Background session errors](#session-was-stopped-while-the-respawn-was-in-flight) |366| `Session <id> was stopped while the respawn was in flight` | [Background session errors](#session-was-stopped-while-the-respawn-was-in-flight) |

355| `This session was running agent '<name>', which is no longer available` | [Background session errors](#session-agent-no-longer-available) |367| `This session was running agent '<name>', which is no longer available` | [Background session errors](#session-agent-no-longer-available) |

356| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Background session errors](#restarted-after-its-next-loop-wakeup-was-due) |368| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Background session errors](#restarted-after-its-next-loop-wakeup-was-due) |

369| `No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder` | [Background session errors](#no-llm-gateway-opened-from-another-folder) |

370| `No LLM gateway: opened from another folder · respawn from <folder>` | [Background session errors](#no-llm-gateway-opened-from-another-folder) |

357| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Background session errors](#claude_code_process_wrapper-launcher-errors) |371| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Background session errors](#claude_code_process_wrapper-launcher-errors) |

358| `EUNKNOWN: unknown error, uv_spawn` | [Background session errors](#eunknown-when-starting-a-background-session) |372| `EUNKNOWN: unknown error, uv_spawn` | [Background session errors](#eunknown-when-starting-a-background-session) |

359| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |373| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |


394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Configuration warnings](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |408| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Configuration warnings](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |

395| `headersHelper not run — this workspace has no persisted trust` | [Configuration warnings](#headershelper-not-run) |409| `headersHelper not run — this workspace has no persisted trust` | [Configuration warnings](#headershelper-not-run) |

396| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Configuration warnings](#malformed-tool-content-rule) |410| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Configuration warnings](#malformed-tool-content-rule) |

411| `matches no tool · check for typos` / `matches no known tool — check for typos` | [Configuration warnings](#matches-no-tool) |

397| `... is not matched by file permission checks` | [Configuration warnings](#is-not-matched-by-file-permission-checks) |412| `... is not matched by file permission checks` | [Configuration warnings](#is-not-matched-by-file-permission-checks) |

413| `Write(<path>) never matches · use Edit(<path>)` / `Glob(<path>) never matches · use Read(<path>)` | [Configuration warnings](#is-not-matched-by-file-permission-checks) |

398| `... has a wildcard before the rest of the command` | [Configuration warnings](#has-a-wildcard-before-the-rest-of-the-command) |414| `... has a wildcard before the rest of the command` | [Configuration warnings](#has-a-wildcard-before-the-rest-of-the-command) |

415| `allows any option at its * · use an exact value` | [Configuration warnings](#has-a-wildcard-before-the-rest-of-the-command) |

399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Configuration warnings](#denying-bash-also-turns-off-the-powershell-tool) |416| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Configuration warnings](#denying-bash-also-turns-off-the-powershell-tool) |

400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Configuration warnings](#the-200k-limit-isnt-enforced) |417| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Configuration warnings](#the-200k-limit-isnt-enforced) |

418| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" reads as <N> tokens, so Claude Code treats it as the 100k minimum` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/model-config#claude_code_auto_compact_window-values) |

419| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" is too large, so Claude Code treats it as the 1M maximum` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/model-config#claude_code_auto_compact_window-values) |

420| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/model-config#claude_code_auto_compact_window-values) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |421| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |422| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

403| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |423| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |


462| [`CLAUDE_CODE_MAX_RETRIES`](/docs/id/env-vars) | 10 | Jumlah percobaan retry. 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. |482| [`CLAUDE_CODE_MAX_RETRIES`](/docs/id/env-vars) | 10 | Jumlah percobaan retry. 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. |

463| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti CI jobs untuk mencoba ulang `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 kredit penggunaan yang habis, bahkan satu dari [gateway spend cap](#spend-limit-reached) yang reset pada jadwal. Sebelum v2.1.239, watchdog mencoba ulang 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. |483| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti CI jobs untuk mencoba ulang `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 kredit penggunaan yang habis, bahkan satu dari [gateway spend cap](#spend-limit-reached) yang reset pada jadwal. Sebelum v2.1.239, watchdog mencoba ulang 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. |

464| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/id/env-vars) | unset | Waktu maksimum dalam milidetik yang dihabiskan setiap permintaan API untuk menunggu kesalahan `429` dan `529` ketika `CLAUDE_CODE_RETRY_WATCHDOG` ditetapkan. Ketika tidak ditetapkan, waktu tunggunya tidak terbatas. Memerlukan Claude Code v2.1.295 atau lebih baru. |484| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/id/env-vars) | unset | Waktu maksimum dalam milidetik yang dihabiskan setiap permintaan API untuk menunggu kesalahan `429` dan `529` ketika `CLAUDE_CODE_RETRY_WATCHDOG` ditetapkan. Ketika tidak ditetapkan, waktu tunggunya tidak terbatas. Memerlukan Claude Code v2.1.295 atau lebih baru. |

485| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](/docs/id/env-vars) | unset | Interval minimum dalam milidetik di antara pemeriksaan apakah [batas penggunaan](#youve-hit-your-session-limit) sudah dicabut, sementara permintaan menunggu batas tersebut direset dengan `CLAUDE_CODE_RETRY_WATCHDOG` ditetapkan. Ketika pemeriksaan menemukan batas sudah dicabut, permintaan langsung dikirim. Berikan angka polos dari `60000` hingga `10800000`. Ketika tidak ditetapkan atau di luar rentang tersebut, tidak ada pemeriksaan yang dilakukan. Untuk kapan Claude Code melewati pemeriksaan ini, lihat [referensi environment variable](/docs/id/env-vars). Memerlukan Claude Code v2.1.305 atau lebih baru. |

465| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/id/env-vars) | 500 | Penundaan awal dalam milidetik dari backoff di antara retry permintaan yang ditolak API dengan kesalahan `529` overloaded. Naikkan, hingga 32000, untuk menyebarkan retry dalam rentang waktu yang lebih panjang ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika `CLAUDE_CODE_RETRY_WATCHDOG` diatur ke `1`, atau ketika permintaan yang ditolak dikirim dalam [fast mode](/docs/id/fast-mode#handle-rate-limits). Memerlukan Claude Code v2.1.292 atau lebih baru. |486| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/id/env-vars) | 500 | Penundaan awal dalam milidetik dari backoff di antara retry permintaan yang ditolak API dengan kesalahan `529` overloaded. Naikkan, hingga 32000, untuk menyebarkan retry dalam rentang waktu yang lebih panjang ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika `CLAUDE_CODE_RETRY_WATCHDOG` diatur ke `1`, atau ketika permintaan yang ditolak dikirim dalam [fast mode](/docs/id/fast-mode#handle-rate-limits). Memerlukan Claude Code v2.1.292 atau lebih baru. |

466| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/id/env-vars) | 32000 | Batas atas dalam milidetik untuk backoff di antara retry permintaan yang ditolak API dengan kesalahan `529` overloaded. Naikkan, hingga 64000, agar jarak antar retry berikutnya terus bertambah ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika `CLAUDE_CODE_RETRY_WATCHDOG` diatur ke `1`, atau ketika permintaan yang ditolak dikirim dalam [fast mode](/docs/id/fast-mode#handle-rate-limits). Memerlukan Claude Code v2.1.296 atau lebih baru. |487| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/id/env-vars) | 32000 | Batas atas dalam milidetik untuk backoff di antara retry permintaan yang ditolak API dengan kesalahan `529` overloaded. Naikkan, hingga 64000, agar jarak antar retry berikutnya terus bertambah ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika `CLAUDE_CODE_RETRY_WATCHDOG` diatur ke `1`, atau ketika permintaan yang ditolak dikirim dalam [fast mode](/docs/id/fast-mode#handle-rate-limits). Memerlukan Claude Code v2.1.296 atau lebih baru. |

467| [`API_TIMEOUT_MS`](/docs/id/env-vars) | 600000 | Waktu dalam milidetik yang dimiliki setiap percobaan permintaan untuk menerima response headers-nya. Ini tidak membatasi berapa lama respons streaming berjalan setelah itu. Naikkan untuk jaringan lambat atau proxy. Untuk cara ini membatasi first-byte deadline, lihat [No response from API](#no-response-from-api). |488| [`API_TIMEOUT_MS`](/docs/id/env-vars) | 600000 | Waktu dalam milidetik yang dimiliki setiap percobaan permintaan untuk menerima response headers-nya. Ini tidak membatasi berapa lama respons streaming berjalan setelah itu. Naikkan untuk jaringan lambat atau proxy. Untuk cara ini membatasi first-byte deadline, lihat [No response from API](#no-response-from-api). |


490 511 

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

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

514* Jika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) mengarah ke [LLM gateway](/docs/id/llm-gateway) dan setiap permintaan gagal dengan cara ini, periksa apakah gateway Anda menolak bidang pencarian tool yang dikirim Claude Code secara default. Untuk memeriksanya, tetapkan `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan dalam [Pencarian tool melalui LLM gateway](/docs/id/mcp#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, pencarian tool dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

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

494 516 

495### API Error: Repeated 529 Overloaded errors517### API Error: Repeated 529 Overloaded errors


520Request timed out542Request timed out

521```543```

522 544 

523Timeout permintaan default adalah 10 menit.545Timeout permintaan default adalah 10 menit. Jika Anda menetapkan [`API_TIMEOUT_MS`](/docs/id/env-vars) ke `0`, timeout permintaan ini dinonaktifkan. [Batas waktu byte pertama](#no-response-from-api) dan timeout idle badan respons tidak dinonaktifkan ketika Anda menetapkan `0`, jadi permintaan streaming tetap berjalan di bawah [mana pun di antara keduanya yang berlaku untuk koneksi Anda](/docs/id/network-config#streaming-idle-watchdogs). Upaya non-streaming tetap mempertahankan batas 300 detiknya dalam sesi lokal dan masih dapat berakhir dengan pesan ini.

524 546 

525**Yang harus dilakukan:**547**Yang harus dilakukan:**

526 548 

549* Jika setiap permintaan gagal dengan pesan ini dan Anda menetapkan `API_TIMEOUT_MS` ke `0`, periksa `claude --version`. Pada versi sebelum v2.1.305, perbarui Claude Code atau tetapkan nilai positif.

527* Coba lagi permintaan550* Coba lagi permintaan

528* Jika penyebabnya adalah jaringan lambat atau proxy, naikkan `API_TIMEOUT_MS` seperti yang dijelaskan dalam [Automatic retries](#automatic-retries)551* Jika penyebabnya adalah jaringan lambat atau proxy, naikkan `API_TIMEOUT_MS` seperti yang dijelaskan dalam [Automatic retries](#automatic-retries)

529* Jika timeout sering terjadi dan jaringan Anda sehat, lihat [Network and connection errors](#network-and-connection-errors) di bawah552* Jika timeout sering terjadi dan jaringan Anda sehat, lihat [Network and connection errors](#network-and-connection-errors) di bawah


541* **Upaya pertama**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/id/env-vars) ketika Anda menetapkannya ke 1 atau lebih, diklem antara 10 detik dan 30 menit. Jika tidak, Claude Code menggunakan timeout watchdog tingkat byte yang tercantum dalam [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs), jadi variabel yang mengubah timeout itu mengubah tunggu ini juga. Bagaimanapun, Claude Code menambahkan satu detik untuk setiap 32KB badan permintaan.564* **Upaya pertama**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/id/env-vars) ketika Anda menetapkannya ke 1 atau lebih, diklem antara 10 detik dan 30 menit. Jika tidak, Claude Code menggunakan timeout watchdog tingkat byte yang tercantum dalam [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs), jadi variabel yang mengubah timeout itu mengubah tunggu ini juga. Bagaimanapun, Claude Code menambahkan satu detik untuk setiap 32KB badan permintaan.

542* **Retry**: satu detik kurang dari `API_TIMEOUT_MS`, hanya di bawah 10 menit secara default, sehingga retry dapat melampaui proxy atau gateway yang menahan respons hingga generasi selesai. Di Amazon Bedrock, retry menggunakan batas waktu yang sama dengan upaya pertama, dan pesan menunjukkan satu durasi alih-alih dua.565* **Retry**: satu detik kurang dari `API_TIMEOUT_MS`, hanya di bawah 10 menit secara default, sehingga retry dapat melampaui proxy atau gateway yang menahan respons hingga generasi selesai. Di Amazon Bedrock, retry menggunakan batas waktu yang sama dengan upaya pertama, dan pesan menunjukkan satu durasi alih-alih dua.

543 566 

567 Kecuali di Amazon Bedrock, jika Anda menetapkan `API_TIMEOUT_MS` ke `0`, retry menunggu 10 menit ditambah satu detik per 32KB, atau selama upaya pertama jika itu lebih lama.

568 

544Tidak ada tunggu yang melebihi satu detik kurang dari `API_TIMEOUT_MS` positif, dan `API_TIMEOUT_MS` positif di bawah 11 detik mematikan batas waktu. Watchdog tingkat byte dimulai hanya setelah header respons tiba, jadi respons yang berhenti mengirim byte setelah itu mengikuti [stalled-stream rules](#automatic-retries) alih-alih batas waktu ini.569Tidak ada tunggu yang melebihi satu detik kurang dari `API_TIMEOUT_MS` positif, dan `API_TIMEOUT_MS` positif di bawah 11 detik mematikan batas waktu. Watchdog tingkat byte dimulai hanya setelah header respons tiba, jadi respons yang berhenti mengirim byte setelah itu mengikuti [stalled-stream rules](#automatic-retries) alih-alih batas waktu ini.

545 570 

546**Yang harus dilakukan:**571**Yang harus dilakukan:**


845* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah daripada langganan Anda.870* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah daripada langganan Anda.

846* Periksa konsol penyedia Anda untuk batas aktif dan minta tingkat yang lebih tinggi jika diperlukan871* Periksa konsol penyedia Anda untuk batas aktif dan minta tingkat yang lebih tinggi jika diperlukan

847* Untuk kunci API Anthropic, lihat [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits) untuk cara kerja tingkat dan cara menetapkan batas per-workspace872* Untuk kunci API Anthropic, lihat [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits) untuk cara kerja tingkat dan cara menetapkan batas per-workspace

848* Kurangi concurrency: turunkan [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/id/env-vars), hindari menjalankan banyak subagent paralel, atau beralih ke model yang lebih kecil dengan `/model` untuk run skrip volume tinggi873* Kurangi concurrency: hindari menjalankan banyak subagent paralel, atau beralih ke model yang lebih kecil dengan `/model` untuk run skrip volume tinggi

849 874 

850### You've hit your monthly spend limit875### You've hit your monthly spend limit

851 876 


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

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

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

1295* Jika setiap permintaan gagal dengan `401` setelah gateway Anda memiliki kredensial yang diharapkannya, periksa apakah gateway menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan di [Tool search melalui LLM gateway](/docs/id/mcp#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search nonaktif di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

1270 1296 

1271### Login expired1297### Login expired

1272 1298 


1338* Di platform lain, jalankan `/login` lagi1364* Di platform lain, jalankan `/login` lagi

1339* Jika login masih tidak tersimpan, lihat [Not logged in or token expired](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk perintah membuka kunci keychain dan langkah pemulihan penyimpanan kredensial lainnya1365* Jika login masih tidak tersimpan, lihat [Not logged in or token expired](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk perintah membuka kunci keychain dan langkah pemulihan penyimpanan kredensial lainnya

1340 1366 

1341### Failed to start OAuth callback server1367### Couldn't start the local listener that receives the browser sign-in

1342 1368 

1343Ketika `/login`, `claude auth login`, atau `claude setup-token` memasukkan Anda melalui browser, Claude Code membuka port yang mendengarkan di `127.0.0.1` agar browser Anda dapat mengembalikan hasil masuk kepadanya. Pesan ini berarti Claude Code tidak dapat membuka port tersebut, dan proses masuk berhenti sebelum jendela browser atau URL login muncul:1369Masing-masing pesan ini dari `/login`, `claude auth login`, atau `claude setup-token` berarti Claude Code tidak dapat membuka port di `127.0.0.1` tempat browser Anda mengembalikan hasil masuk.

1344 1370 

1345```text theme={null}1371Dengan pemberitahuan yang diawali `The browser can't return the sign-in to Claude Code automatically`, proses masuk berlanjut tanpa port tersebut. Tidak ada browser yang terbuka, dan pemberitahuan muncul di atas URL tempat Anda masuk sebagai gantinya:

1346Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1372 

1373```text wrap theme={null}

1374The browser can't return the sign-in to Claude Code automatically. After you sign in, paste the code shown.

1347```1375```

1348 1376 

1349Jika pesan Anda diakhiri dengan `Is port 0 in use?`, upaya untuk mendengarkan di alamat loopback IPv4 `127.0.0.1` gagal total. Karena kegagalan terjadi sebelum URL login ada, alur `Paste code here if prompted` tidak tersedia sebagai solusi alternatif.1377Dengan pesan yang menyertakan `Couldn't start the local listener`, proses masuk berhenti. Hal ini terjadi, misalnya, ketika Anda mem-pipe input ke `claude auth login`:

1378 

1379```text theme={null}

1380Couldn't start the local listener that receives the browser sign-in. Try again.

1381```

1350 1382 

1351**Yang perlu dilakukan:**1383**Yang perlu dilakukan:**

1352 1384 

1353* Untuk langsung masuk tanpa listener lokal: jika Anda menggunakan langganan claude.ai, jalankan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token) di mesin tempat proses masuk berfungsi dan atur token yang dicetaknya sebagai `CLAUDE_CODE_OAUTH_TOKEN` di mesin ini. Jika tidak, atur `ANTHROPIC_API_KEY` ke kunci dari [Claude Console](https://platform.claude.com/settings/keys). [Prioritas autentikasi](/docs/id/authentication#authentication-precedence) menjelaskan cara Claude Code memilih di antara kredensial.1385* **`The browser can't return the sign-in to Claude Code automatically`**: Anda tidak perlu memperbaiki apa pun terlebih dahulu. Buka URL yang ditampilkan di bawah pemberitahuan di browser dan masuk. Browser kemudian menampilkan kode: tempelkan ke Claude Code di prompt `Paste code here >`, dan proses masuk berlanjut dari sana.

1354* Untuk menggunakan proses masuk browser di mesin ini, Claude Code harus dapat mendengarkan di `127.0.0.1`. Jika Claude Code berjalan di dalam sandbox, periksa apakah kebijakan sandbox mengizinkan mendengarkan di port lokal, lalu jalankan `/login` lagi. Jika seharusnya dapat dan masih gagal, jalankan `/feedback` agar laporan menyertakan detail lingkungan Anda.1386* **`Couldn't start the local listener that receives the browser sign-in`**: jalankan perintah yang sama lagi. Jika berhenti dengan cara yang sama, masuk dengan token atau kunci API alih-alih browser. Atau, jika Anda mem-pipe input ke `claude auth login`, jalankan di terminal agar dapat menerima kode yang ditempel.

1387* **Untuk masuk dengan token atau kunci API alih-alih browser**: jika Anda menggunakan langganan claude.ai, jalankan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token) di mesin tempat proses masuk berfungsi. Kemudian atur token yang dicetaknya sebagai environment variable [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars) di mesin ini. Jika tidak, atur environment variable `ANTHROPIC_API_KEY` ke kunci dari [Claude Console](https://platform.claude.com/settings/keys). [Prioritas autentikasi](/docs/id/authentication#authentication-precedence) menjelaskan bagaimana Claude Code memilih di antara kredensial.

1388* **Untuk mengembalikan pengembalian browser otomatis**: Claude Code harus dapat mendengarkan di `127.0.0.1`. Jika berjalan di dalam sandbox, periksa apakah kebijakan sandbox mengizinkan mendengarkan di port lokal, lalu masuk kembali. Jika mendengarkan seharusnya berfungsi di sana dan pemberitahuan masih muncul, jalankan `/feedback` agar laporan menyertakan detail lingkungan Anda.

1389 

1390Sebelum v2.1.305, proses masuk berhenti segera setelah port tidak dapat dibuka dan tidak menampilkan URL untuk masuk. Pesannya berbunyi, misalnya, `Failed to start OAuth callback server: Failed to start server. Is port 0 in use?`. Pada versi-versi tersebut, perbarui Claude Code dan masuk kembali, atau masuk dengan token atau kunci API alih-alih browser.

1355 1391 

1356### Claude login not accepted1392### Claude login not accepted

1357 1393 


1513 1549 

1514Perbarui nilai header di tempat server dikonfigurasi, lalu hubungkan ulang dari `/mcp`.1550Perbarui nilai header di tempat server dikonfigurasi, lalu hubungkan ulang dari `/mcp`.

1515 1551 

1516Sebelum v2.1.273, kasus proses masuk kedaluwarsa, `headersHelper`, dan header `Authorization` semuanya menampilkan `MCP server "<name>" requires re-authorization (token expired)`.1552Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) di mesin Anda pada aplikasi Claude Desktop, pesan-pesan ini berarti server MCP menolak kredensial yang diberikan kepadanya. Perbaiki kredensial yang disebutkan pesan, lalu mulai tugas atau obrolan baru di Cowork:

1553 

1554```text theme={null}

1555MCP server "<name>" rejected the credential from its headersHelper (check the helper, then start a new task or chat)

1556MCP server "<name>" rejected the Authorization header in its config (update it, then start a new task or chat)

1557```

1558 

1559* **Kredensial `headersHelper` ditolak**: periksa apakah helper mengembalikan kredensial yang diterima server, lalu mulai tugas atau obrolan baru di Cowork

1560* **Header `Authorization` ditolak**: perbarui nilai `Authorization` di bawah `headers` dalam konfigurasi server tersebut, lalu mulai tugas atau obrolan baru di Cowork

1561 

1562Sebelum v2.1.302, sesi Cowork menampilkan akhiran `run /mcp to reconnect`, meskipun `/mcp` tidak tersedia di sana. Jika Anda melihat akhiran tersebut di Cowork, tetap periksa helper atau perbarui header, lalu mulai tugas atau obrolan baru. Sebelum v2.1.273, kasus login kedaluwarsa, `headersHelper`, dan header `Authorization` semuanya menampilkan `MCP server "<name>" requires re-authorization (token expired)`.

1517 1563 

1518Server juga dapat menolak panggilan tool dengan HTTP 403 `insufficient_scope` untuk meminta Anda mengotorisasi suatu scope, terkadang scope yang sudah tercantum di token Anda. Pesan menyebutkan scope tersebut:1564Server juga dapat menolak panggilan tool dengan HTTP 403 `insufficient_scope` untuk meminta Anda mengotorisasi suatu scope, terkadang scope yang sudah tercantum di token Anda. Pesan menyebutkan scope tersebut:

1519 1565 


1812* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.1858* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.

1813* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](/docs/id/network-config)1859* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Konfigurasi jaringan](/docs/id/network-config)

1814* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect) untuk pengaturan.1860* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke alamatnya. Lihat [Hubungkan Claude Code ke gateway LLM](/docs/id/llm-gateway-connect) untuk pengaturan.

1861* Jika `ANTHROPIC_BASE_URL` sudah menunjuk ke gateway Anda dan setiap permintaan berakhir dengan `Connection dropped`, periksa apakah gateway Anda menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan [Tool search melalui gateway LLM](/docs/id/mcp#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search dinonaktifkan di belakang gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

1815* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](/docs/id/network-config#network-access-requirements)1862* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Persyaratan akses jaringan](/docs/id/network-config#network-access-requirements)

1816* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries); kegagalan persisten menunjukkan masalah jaringan lokal1863* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries)

1817 1864 

1818Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:1865Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:

1819 1866 


2166* Pangkas file memori `CLAUDE.md` besar, atau pindahkan instruksi ke [aturan bersifat jalur](/docs/id/memory#path-specific-rules) yang dimuat hanya ketika relevan2213* Pangkas file memori `CLAUDE.md` besar, atau pindahkan instruksi ke [aturan bersifat jalur](/docs/id/memory#path-specific-rules) yang dimuat hanya ketika relevan

2167* Auto-compact aktif secara default dan biasanya mencegah kesalahan ini. Jika Anda mematikannya di `/config` atau dengan [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars), aktifkan kembali. Jika Anda tetap mematikannya, jalankan `/compact` sendiri sebelum window penuh.2214* Auto-compact aktif secara default dan biasanya mencegah kesalahan ini. Jika Anda mematikannya di `/config` atau dengan [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars), aktifkan kembali. Jika Anda tetap mematikannya, jalankan `/compact` sendiri sebelum window penuh.

2168* Jika kesalahan muncul di dekat 200K token pada model yang menerima lebih banyak, salah satu penyebabnya adalah ID model yang tidak dikenali Claude Code. Claude Code mengasumsikan jendela 200K untuk ID seperti itu, jadi untuk terus bekerja melewati titik tersebut, [berikan context window model yang sebenarnya](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id).2215* Jika kesalahan muncul di dekat 200K token pada model yang menerima lebih banyak, salah satu penyebabnya adalah ID model yang tidak dikenali Claude Code. Claude Code mengasumsikan jendela 200K untuk ID seperti itu, jadi untuk terus bekerja melewati titik tersebut, [berikan context window model yang sebenarnya](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

2216* Jika kesalahan muncul tepat setelah Anda menghentikan Claude saat sedang melakukan compaction percakapan, percakapan Anda tidak berubah dan masih cukup besar sehingga perlu di-compact. Jalankan `/compact` dan kirim pesan Anda lagi. Agar kesalahan tidak terulang, [perbarui Claude Code](/docs/id/setup#update-claude-code) ke v2.1.304 atau lebih baru. Sebelum v2.1.304, menghentikan pada saat itu dapat mengakhiri giliran dengan kesalahan ini.

2169 2217 

2170Lihat [Jelajahi context window](/docs/id/context-window) untuk tampilan interaktif tentang bagaimana konteks terisi.2218Lihat [Jelajahi context window](/docs/id/context-window) untuk tampilan interaktif tentang bagaimana konteks terisi.

2171 2219 


2298 2346 

2299### Input tambahan tidak diizinkan2347### Input tambahan tidak diizinkan

2300 2348 

2301Proxy atau gateway LLM antara Claude Code dan API menghapus header permintaan `anthropic-beta`, jadi API menolak bidang yang bergantung padanya.2349Endpoint yang menerima permintaan menolak salah satu field permintaan sebagai input yang tidak diterimanya, dan pesan endpoint tersebut menyebutkan field itu.

2302 2350 

2303```text theme={null}2351```text theme={null}

2304API Error: 400 ... Extra inputs are not permitted ... context_management2352API Error: 400 ... context_management: Extra inputs are not permitted

2305```2353```

2306 2354 

2307Claude Code mengirim bidang khusus beta seperti `context_management` bersama header `anthropic-beta` yang mengaktifkannya. Ketika gateway meneruskan badan permintaan tetapi menghapus header, API melihat bidang yang tidak dikenalinya.2355Claude Code mengirim field khusus beta seperti `context_management` dan `defer_loading` milik tool search bersama header `anthropic-beta` yang mengaktifkannya. Ketika gateway meneruskan body tetapi membuang header tersebut, API melihat field yang tidak dikenalinya. Ketika gateway meneruskan body berformat Anthropic ke upstream dengan skema berbeda, upstream tersebut menolak field seperti itu. [Pasangan header beta dan field body](/docs/id/llm-gateway-protocol#beta-header-and-body-field-pairs) membahas kedua kasus tersebut.

2308 2356 

2309**Yang harus dilakukan:**2357**Yang harus dilakukan:**

2310 2358 

2311* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.2359* Jika pesan berisi `context_management: Extra inputs are not permitted`, [perbarui Claude Code](/docs/id/setup#update-claude-code) ke v2.1.304 atau yang lebih baru. Setelah Anda memperbarui, Claude Code menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tersebut. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini.

2360* Jika pesan menyebut `defer_loading` atau `tool_reference`, perbarui Claude Code atau matikan [tool search](/docs/id/mcp#tool-search-through-a-gateway):

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

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

2363* Jika gateway Anda membuang header, konfigurasikan gateway untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.

2312* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) sebelum meluncurkan. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup cakupan yang tepat.2364* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) sebelum meluncurkan. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup cakupan yang tepat.

2313 2365 

2366Sebelum v2.1.302, kesalahan ini juga dapat menyebut field `diagnostics` tanpa melibatkan gateway. Kesalahan ini muncul ketika sesi yang sudah menggunakan Anthropic API berpindah ke Amazon Bedrock atau Google Cloud's Agent Platform tanpa restart. Misalnya, sesi yang Anda biarkan terbuka berpindah ke Bedrock ketika Anda menjalankan [`/setup-bedrock`](/docs/id/commands) di jendela Claude Code lain. Pada versi tersebut, jalankan `/clear` di sesi itu atau restart sesi tersebut.

2367 

2314### Skema input tool tidak valid2368### Skema input tool tidak valid

2315 2369 

2316Tool dalam permintaan mendeklarasikan `input_schema` yang gagal validasi JSON Schema API, jadi API menolak seluruh permintaan. Angka setelah `tools.` adalah posisi tool yang gagal dalam daftar tool permintaan, bukan nama yang dapat Anda cari.2370Tool dalam permintaan mendeklarasikan `input_schema` yang gagal validasi JSON Schema API, jadi API menolak seluruh permintaan. Angka setelah `tools.` adalah posisi tool yang gagal dalam daftar tool permintaan, bukan nama yang dapat Anda cari.


2384* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/docs/id/model-config).2438* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/docs/id/model-config).

2385* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](/docs/id/model-config#setting-your-model) dan hapus nilai usang.2439* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](/docs/id/model-config#setting-your-model) dan hapus nilai usang.

2386* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu pada versi yang lebih lama.2440* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu pada versi yang lebih lama.

2441* Jika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) mengarah ke [LLM gateway](/docs/id/llm-gateway) dan setiap model gagal dengan cara ini, periksa apakah gateway Anda menolak field tool search yang dikirim Claude Code secara default. Untuk memeriksanya, atur `ENABLE_TOOL_SEARCH=false` seperti yang dijelaskan di [Tool search melalui LLM gateway](/docs/id/mcp#tool-search-through-a-gateway), lalu coba lagi. Sebelum v2.1.304, tool search dimatikan di balik gateway kecuali Anda mengaktifkannya dengan `ENABLE_TOOL_SEARCH`.

2387* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).2442* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).

2388 2443 

2389### Model bukan ID model yang dikenali2444### Model bukan ID model yang dikenali


2590Pesan lain melaporkan kondisi yang sama:2645Pesan lain melaporkan kondisi yang sama:

2591 2646 

2592* Dalam sesi interaktif, notifikasi berbunyi `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.2647* Dalam sesi interaktif, notifikasi berbunyi `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.

2593* Saat peluncuran dengan flag `--advisor`, peringatan berbunyi `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` dan sesi tetap dimulai.2648* Ketika Anda menjalankan dengan flag `--advisor` dalam [mode non-interaktif](/docs/id/headless), dan proses tersebut bukan [sesi latar belakang](/docs/id/agent-view), peringatan dikirim ke stderr dan proses tetap dimulai. Peringatan berbunyi `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` Sesi interaktif menulis peringatan tersebut hanya ke [log debug](#configuration-warnings).

2594 2649 

2595**Yang harus dilakukan:**2650**Yang harus dilakukan:**

2596 2651 


3361 3416 

3362String serupa muncul sebelum perintah dijalankan sama sekali:3417String serupa muncul sebelum perintah dijalankan sama sekali:

3363 3418 

3364* `Shell command permission check failed for pattern "..."`: pemeriksaan izin perintah tidak mengizinkannya. [Pemeriksaan izin pada perintah sisipan](/docs/id/skills#permission-checks-on-injected-commands) menjelaskan hasil mana yang membatalkan dalam setiap mode izin dan cara menyetujui perintah sebelumnya dengan `allowed-tools`3419* `Shell command permission check failed for pattern "..."`: pemeriksaan izin perintah tidak mengizinkannya. [Pemeriksaan izin pada perintah yang disisipkan](/docs/id/skills#permission-checks-on-injected-commands) membahas hasil mana yang membatalkan di setiap mode izin dan cara menyetujui perintah terlebih dahulu dengan `allowed-tools`

3365* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill tersebut menuntut bash pada mesin yang tidak memilikinya. Instal Git for Windows atau ubah frontmatter menjadi `shell: powershell`. Lihat [Cara perintah sisipan dijalankan](/docs/id/skills#how-injected-commands-run)3420* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill menuntut bash pada mesin yang tidak memilikinya. Instal Git for Windows atau ubah frontmatter menjadi `shell: powershell`. Lihat [Cara perintah yang disisipkan berjalan](/docs/id/skills#how-injected-commands-run)

3366* `No shell command in <name> was run`: salah satu perintah `!` di file mengandung karakter kontrol mentah selain tab atau baris baru, sehingga tidak ada satu pun yang dijalankan. Lihat [cara menemukan dan menghapus karakter tersebut](#no-shell-command-was-run)3421* `No shell command in <name> was run`: salah satu perintah `!` di file mengandung karakter kontrol mentah selain tab atau baris baru, sehingga tidak ada satu pun yang dijalankan. Lihat [cara menemukan dan menghapus karakter tersebut](#no-shell-command-was-run)

3367 3422 

3368**Yang perlu dilakukan:**3423**Yang perlu dilakukan:**


3464Claude Code menyarankan nama perintah atau alias terdekat yang dicantumkan menu dalam sesi ini. Ketika tidak ada yang mendekati, pesan berakhir setelah nama tersebut. Penyebabnya biasanya salah satu dari berikut:3519Claude Code menyarankan nama perintah atau alias terdekat yang dicantumkan menu dalam sesi ini. Ketika tidak ada yang mendekati, pesan berakhir setelah nama tersebut. Penyebabnya biasanya salah satu dari berikut:

3465 3520 

3466* Salah ketik, seperti `/hepl` untuk `/help`. [Cara menu perintah mencocokkan apa yang Anda ketik](/docs/id/commands#how-the-command-menu-matches-what-you-type) membahas cara memilih kecocokan terdekat sebelum Anda mengirimkan3521* Salah ketik, seperti `/hepl` untuk `/help`. [Cara menu perintah mencocokkan apa yang Anda ketik](/docs/id/commands#how-the-command-menu-matches-what-you-type) membahas cara memilih kecocokan terdekat sebelum Anda mengirimkan

3467* Perintah yang ada tetapi tidak tersedia dalam sesi ini karena suatu persyaratan tidak terpenuhi, seperti platform, paket, atau metode autentikasi Anda. Entri pemecahan masalah untuk [`/web-setup`](/docs/id/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) dan [`/schedule`](/docs/id/routines#schedule-returns-unknown-command) menjelaskan dua kasus umum. Beberapa perintah menjawab dengan pesannya sendiri ketika kebijakan organisasi Anda menonaktifkannya, seperti [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3522* Perintah yang ada tetapi tidak tersedia dalam sesi ini karena suatu persyaratan tidak terpenuhi, seperti platform, paket, atau metode autentikasi Anda. Lihat entri untuk [`/web-setup`](/docs/id/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command), [`/schedule`](/docs/id/routines#schedule-returns-unknown-command), atau [`/auto-mode-setup`](/docs/id/auto-mode-config#auto-mode-setup-returns-unknown-command). Beberapa perintah menjawab dengan pesannya sendiri ketika kebijakan organisasi Anda menonaktifkannya, seperti [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3468* Perintah dari [plugin](/docs/id/plugins/overview) atau [server MCP](/docs/id/mcp#use-mcp-prompts-as-commands) yang tidak diinstal atau tidak terhubung dalam sesi ini3523* Perintah dari [plugin](/docs/id/plugins/overview) atau [server MCP](/docs/id/mcp#use-mcp-prompts-as-commands) yang tidak diinstal atau tidak terhubung dalam sesi ini

3469 3524 

3470Claude Code menjawab nama `/` yang tidak cocok dengan cara ini hanya dalam sesi terminal interaktif. Dalam setiap sesi lainnya, Claude Code mengirimkan prompt ke Claude sebagai pesan biasa, dengan catatan bahwa perintah tidak dijalankan dan daftar perintah yang dapat dijalankan Claude dalam sesi tersebut. Sesi tersebut meliputi:3525Claude Code menjawab nama `/` yang tidak cocok dengan cara ini hanya dalam sesi terminal interaktif. Dalam setiap sesi lainnya, Claude Code mengirimkan prompt ke Claude sebagai pesan biasa, dengan catatan bahwa perintah tidak dijalankan dan daftar perintah yang dapat dijalankan Claude dalam sesi tersebut. Sesi tersebut meliputi:


3513 3568 

3514* **Anda tidak memberikan branch dasar**: Claude Code membandingkan dengan branch default repositori dan menyarankan untuk memberikan branch dasar Anda secara eksplisit, seperti pada contoh di atas3569* **Anda tidak memberikan branch dasar**: Claude Code membandingkan dengan branch default repositori dan menyarankan untuk memberikan branch dasar Anda secara eksplisit, seperti pada contoh di atas

3515* **Anda memberikan branch dasar yang sudah ada di clone Anda**: petunjuknya berbunyi ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3570* **Anda memberikan branch dasar yang sudah ada di clone Anda**: petunjuknya berbunyi ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3516* **Anda meneruskan branch dasar yang tidak ada di clone Anda**: Claude Code mengambilnya dari origin sebelum membandingkan. Petunjuk berbunyi ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; ketika Claude Code tidak dapat menentukan apakah clone Anda shallow, Claude Code menyarankan `git fetch --unshallow origin` sebagai gantinya. Sebelum v2.1.221, petunjuk menyarankan `git fetch --unshallow origin` untuk setiap branch dasar yang diambil, dan pada clone yang lengkap perintah tersebut gagal dengan `fatal: --unshallow on a complete repository does not make sense`.3571* **Anda meneruskan branch dasar yang tidak ada di clone Anda**: Claude Code mengambilnya dari origin sebelum membandingkan. Petunjuk berbunyi ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; ketika Claude Code tidak dapat menentukan apakah clone Anda dangkal, ia menyarankan `git fetch --unshallow origin` sebagai gantinya. Sebelum v2.1.221, petunjuk menyarankan `git fetch --unshallow origin` untuk setiap branch dasar yang diambil, dan pada clone yang lengkap perintah tersebut gagal dengan `fatal: --unshallow on a complete repository does not make sense`.

3517 3572 

3518**Yang perlu dilakukan:**3573**Yang perlu dilakukan:**

3519 3574 


3856* Buka sesi sendiri dan jalankan `/recap` di sana: di terminalnya, di [aplikasi Desktop](/docs/id/desktop) atau [aplikasi seluler](/docs/id/mobile), di [claude.ai/code](https://claude.ai/code), atau melalui [Remote Control](/docs/id/remote-control)3911* Buka sesi sendiri dan jalankan `/recap` di sana: di terminalnya, di [aplikasi Desktop](/docs/id/desktop) atau [aplikasi seluler](/docs/id/mobile), di [claude.ai/code](https://claude.ai/code), atau melalui [Remote Control](/docs/id/remote-control)

3857* Jika tugas terjadwal cloud atau program lain yang mengirimkannya, hapus `/recap` dari prompt tersebut3912* Jika tugas terjadwal cloud atau program lain yang mengirimkannya, hapus `/recap` dari prompt tersebut

3858 3913 

3914### /feedback is disabled by your organization's policy

3915 

3916Pesan ini berarti kebijakan organisasi Anda tidak mengizinkan umpan balik produk dari Claude Code, sehingga `/feedback`, `/bug`, dan `/share` tidak membuka dialog umpan balik. Pesan tersebut menyebutkan perintah yang Anda ketik di prompt Claude Code:

3917 

3918```text wrap theme={null}

3919/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

3920```

3921 

3922Pesan tersebut juga dapat berupa kalimat pertamanya saja.

3923 

3924**Yang harus dilakukan:**

3925 

3926* Untuk melaporkan bug, buka issue di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Siapa pun dapat membaca issue di sana, jadi jangan sertakan kode, transkrip, dan apa pun yang bersifat rahasia.

3927 

3928Sebelum v2.1.302, pesan lengkapnya berbunyi `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

3929 

3859## Kesalahan plugin3930## Kesalahan plugin

3860 3931 

3861Kesalahan ini berasal dari konfigurasi [plugin](/docs/id/plugins/overview) dan [marketplace](/docs/id/plugins/overview). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Pemecahan masalah plugin](/docs/id/plugins/troubleshooting).3932Kesalahan ini berasal dari konfigurasi [plugin](/docs/id/plugins/overview) dan [marketplace](/docs/id/plugins/overview). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Pemecahan masalah plugin](/docs/id/plugins/troubleshooting).


4001 4072 

4002### Path escapes plugin directory4073### Path escapes plugin directory

4003 4074 

4004Jalur komponen plugin, yang dideklarasikan dalam `plugin.json` plugin atau dalam [entri marketplace](/docs/id/plugins/marketplace-reference#plugin-entries), diselesaikan di luar direktori plugin itu sendiri. Claude Code menghapus jalur itu dan memuat sisa plugin. Nama komponen dalam pesan, seperti `commands` atau `hooks`, menamai bidang yang mendeklarasikan jalur.4075Salah satu jalur komponen plugin mengarah ke luar direktori plugin atau tidak dapat dipastikan berada di dalamnya, sehingga Claude Code menghapus jalur itu dan memuat sisa plugin. Untuk jalur yang dideklarasikan plugin dalam `plugin.json` atau [entri marketplace](/docs/id/plugins/marketplace-reference#plugin-entries)-nya, nama komponen dalam pesan, seperti `commands` atau `hooks`, menamai bidang yang mendeklarasikan jalur tersebut.

4005 4076 

4006```text theme={null}4077```text theme={null}

4007commands path escapes plugin directory: ./../shared.md4078commands path escapes plugin directory: ./../shared.md


4015commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4086commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4016```4087```

4017 4088 

4089Pesan yang memberikan jalur lengkap dari salah satu file milik plugin marketplace itu sendiri, seperti `hooks/hooks.json`, berarti Claude Code melewati file tersebut. Hal itu terjadi ketika Claude Code tidak dapat memastikan bahwa file berada di dalam plugin atau, untuk plugin di [marketplace lokal](/docs/id/plugins/loading#in-place-and-copied-plugins), di dalam marketplace tersebut. Pesan melaporkan setiap file ini di bawah nama komponen yang ditampilkan:

4090 

4091* `hooks/hooks.json`: `hooks`

4092* `monitors/monitors.json`: `monitors`

4093* `settings.json`: `settings`

4094* `SKILL.md` di root plugin: `skills`

4095 

4096Misalnya, pesan ini untuk `hooks/hooks.json` yang diselesaikan di luar plugin maupun marketplace lokalnya:

4097 

4098```text theme={null}

4099hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory

4100```

4101 

4018Di macOS dan Linux, Claude Code juga menolak jalur komponen yang berisi backslash di mana pun di dalamnya, bahkan ketika jalur tetap berada di dalam plugin. Plugin yang jalur komponen menggunakan pemisah gaya Windows memuat di Windows dan memicu penolakan ini di platform lain:4102Di macOS dan Linux, Claude Code juga menolak jalur komponen yang berisi backslash di mana pun di dalamnya, bahkan ketika jalur tetap berada di dalam plugin. Plugin yang jalur komponen menggunakan pemisah gaya Windows memuat di Windows dan memicu penolakan ini di platform lain:

4019 4103 

4020```text theme={null}4104```text theme={null}


4023 4107 

4024Sebelum v2.1.251, Claude Code memuat jalur `commands` yang dideklarasikan dalam entri marketplace bahkan ketika menunjuk di luar direktori plugin.4108Sebelum v2.1.251, Claude Code memuat jalur `commands` yang dideklarasikan dalam entri marketplace bahkan ketika menunjuk di luar direktori plugin.

4025 4109 

4026Sebelum v2.1.257, pemeriksaan hanya melihat ejaan jalur, bukan di mana symlink mengarah.4110Sebelum v2.1.257, pemeriksaan pada jalur yang dideklarasikan plugin hanya melihat ejaan jalur, bukan ke mana symlink mengarah.

4027 4111 

4028**Yang harus dilakukan:**4112**Yang harus dilakukan:**

4029 4113 

4030* Pindahkan file yang direferensikan ke dalam direktori plugin dan arahkan jalur ke sana dengan jalur relatif `./`4114* Jika Anda memasang plugin dan tidak memeliharanya, laporkan pesan tersebut kepada penulisnya

4031* Jika jalur adalah symlink ke file di luar plugin, ganti symlink dengan salinan file4115* Untuk jalur yang dideklarasikan plugin, pindahkan file yang direferensikan ke dalam direktori plugin dan arahkan jalur ke sana dengan jalur relatif `./`

4032* Jika pesan mengatakan jalur berisi backslash, tulis jalur dengan garis miring maju, misalnya `./commands/deploy.md`4116* Jika jalur, atau folder di atasnya di dalam plugin, adalah symlink yang mengarah ke luar plugin, ganti symlink dengan salinan dari apa yang ditunjuknya

4117* Jika pesan mengatakan jalur yang dideklarasikan plugin berisi backslash, tulis jalur dengan garis miring maju, misalnya `./commands/deploy.md`

4118* Jika pesan diakhiri dengan `EACCES`, pulihkan permission eksekusi Anda pada setiap direktori yang mengarah ke file atau folder yang dinamai jalur. Periksa direktori di atas jalur, lalu ikuti setiap symlink yang Anda temui dan periksa direktori yang mengarah ke tempat yang ditunjuknya. Untuk kode kesalahan lainnya, cari di [penyebab dan langkah untuk jalur yang tidak dapat diperiksa](#path-could-not-be-checked).

4033* Untuk berbagi file dengan plugin lain di marketplace yang sama, tautkan dengan symlink di dalam direktori plugin, mengikuti [aturan symlink](/docs/id/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)4119* Untuk berbagi file dengan plugin lain di marketplace yang sama, tautkan dengan symlink di dalam direktori plugin, mengikuti [aturan symlink](/docs/id/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)

4034 4120 

4121### Plugin not loaded: its manifest was not read

4122 

4123Claude Code tidak dapat memastikan bahwa [manifest](/docs/id/plugins/manifest-reference) plugin marketplace di `.claude-plugin/plugin.json` berada di dalam plugin, sehingga tidak memuat apa pun dari plugin tersebut. Untuk plugin di [marketplace lokal](/docs/id/plugins/loading#in-place-and-copied-plugins), Claude Code juga tidak dapat memastikan bahwa manifest berada di dalam marketplace tersebut. Pesan muncul di tab **Errors** `/plugin`, dan alasan di akhir pesan menyebutkan apa yang ditemukan Claude Code.

4124 

4125Misalnya, pesan ini untuk plugin di marketplace lokal yang folder `.claude-plugin`-nya adalah symlink yang mengarah ke luar marketplace:

4126 

4127```text theme={null}

4128Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory

4129```

4130 

4131**Yang harus dilakukan:**

4132 

4133* Jika alasan diakhiri dengan `EACCES`, pulihkan permission eksekusi Anda pada setiap direktori yang mengarah ke manifest. Periksa direktori di atas manifest, lalu ikuti setiap symlink yang Anda temui dan periksa direktori yang mengarah ke tempat yang ditunjuknya. Untuk kode kesalahan lainnya, cari di [penyebab dan langkah untuk jalur yang tidak dapat diperiksa](#path-could-not-be-checked).

4134* Jika Anda memelihara plugin dan alasan menyebutkan ke mana manifest diselesaikan, folder `.claude-plugin` atau `plugin.json` itu sendiri adalah symlink yang mengarah ke sana. Ganti tautan itu dengan salinan dari apa yang ditunjuknya.

4135* Jika Anda memasang plugin dan tidak memeliharanya, laporkan pesan tersebut kepada penulisnya

4136 

4035### Path could not be checked4137### Path could not be checked

4036 4138 

4037Claude Code menanyakan sistem operasi apakah jalur plugin ada dan mendapat kesalahan selain "tidak ditemukan", jadi tidak memuat apa yang dinamai jalur. Berapa banyak plugin yang memuat tergantung pada jalur mana yang gagal:4139Claude Code menanyakan sistem operasi apakah jalur plugin ada dan mendapat kesalahan selain "tidak ditemukan", jadi tidak memuat apa yang dinamai jalur. Berapa banyak plugin yang memuat tergantung pada jalur mana yang gagal:


4226 4328 

4227Sebelum v2.1.281, null byte dalam jalur Read, Write, Edit, atau NotebookEdit mengakhiri seluruh giliran dengan kesalahan yang menyebutkan `Path contains null bytes`, dan tool tidak pernah berjalan.4329Sebelum v2.1.281, null byte dalam jalur Read, Write, Edit, atau NotebookEdit mengakhiri seluruh giliran dengan kesalahan yang menyebutkan `Path contains null bytes`, dan tool tidak pernah berjalan.

4228 4330 

4331### File is too large to read as an image

4332 

4333Claude mencoba membaca file sebagai gambar dengan [tool Read](/docs/id/tools-reference#read-tool-behavior), dan file tersebut lebih besar dari 128 MB, ukuran maksimum yang dimuat Read dari file gambar. Tidak ada yang dibaca, dan Claude menerima kesalahan ini sebagai hasil tool:

4334 

4335```text wrap theme={null}

4336File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.

4337```

4338 

4339Ketika jalur tersebut adalah pipe atau perangkat, bukan file biasa, Read berhenti setelah lebih dari 128 MB diterima dan mengembalikan kesalahan ini sebagai gantinya:

4340 

4341```text wrap theme={null}

4342Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.

4343```

4344 

4345**What to do:**

4346 

4347* Jika Claude mengikuti pesan `File is too large` dan melanjutkan dengan mengubah ukuran gambar atau membaca salinan yang lebih kecil, tidak perlu melakukan apa pun

4348* Jika Claude berhenti pada kesalahan tersebut, ekspor sendiri salinan di bawah 128 MB, misalnya dengan resolusi yang lebih rendah, dan arahkan Claude ke file tersebut

4349* Jika jalur tersebut adalah pipe atau perangkat, arahkan Claude ke file gambar biasa sebagai gantinya

4350 

4229### subagent\_type is required4351### subagent\_type is required

4230 4352 

4231```text theme={null}4353```text theme={null}


4316* Jalankan `claude` di folder yang disebutkan [debug log](/docs/id/debug-your-config) dan terima dialog kepercayaan. Definisi diterapkan ulang saat berikutnya Claude Code menghidupkan kembali rekan kerja; Anda tidak perlu memulai ulang sesi pemimpin4438* Jalankan `claude` di folder yang disebutkan [debug log](/docs/id/debug-your-config) dan terima dialog kepercayaan. Definisi diterapkan ulang saat berikutnya Claude Code menghidupkan kembali rekan kerja; Anda tidak perlu memulai ulang sesi pemimpin

4317* Atau atur entri `hasTrustDialogAccepted` ke `true` di `~/.claude.json`, menggunakan kunci `projects["<path>"]` persis seperti yang dicetak log debug4439* Atau atur entri `hasTrustDialogAccepted` ke `true` di `~/.claude.json`, menggunakan kunci `projects["<path>"]` persis seperti yang dicetak log debug

4318 4440 

4441### Only a teammate can approve a shutdown request

4442 

4443Claude Code menolak persetujuan shutdown [tim agent](/docs/id/agent-teams) karena sesi yang mengirimnya tidak berjalan sebagai rekan kerja. Tidak ada yang dikirim dan tidak ada yang di-shutdown. Penolakan muncul dalam hasil tool sesi pengirim:

4444 

4445```text wrap theme={null}

4446Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.

4447```

4448 

4449**What to do:**

4450 

4451* Jika penolakan muncul di sesi pemimpin Anda, periksa terlebih dahulu apakah rekan kerja tersebut sudah di-shutdown sejak itu. Penolakan dikembalikan ke Claude dengan instruksi untuk mengirim `shutdown_request` sebagai gantinya, dan giliran berlanjut. Dalam sesi pemimpin interaktif, `<name> has shut down.` muncul ketika rekan kerja menyetujui permintaan shutdown.

4452* Jika rekan kerja masih berjalan, minta pemimpin di prompt-nya untuk men-shutdown rekan kerja tersebut, misalnya `Ask the researcher teammate to shut down`. Lihat [Shut down teammates](/docs/id/agent-teams#shut-down-teammates).

4453* Jika mantan rekan kerja yang Anda lanjutkan sendiri dengan `claude --resume` mendapatkan penolakan ini, tidak ada yang dikirim. Untuk mengakhiri sesi tersebut, jalankan `/exit` di prompt-nya.

4454 

4319### Message too large for cross-session delivery4455### Message too large for cross-session delivery

4320 4456 

4321Pesan [lintas sesi](/docs/id/cross-session-messaging) Claude ke sesi lain Anda di mesin ini terlalu panjang untuk dikirim. Claude Code menolaknya, dan sesi penerima tidak mendapat apa pun. Penolakan muncul dalam hasil tool sesi pengirim, bukan sebagai spanduk di terminal Anda. Penolakan ini menyebutkan kedua ukuran dan cara membuat pesan muat:4457Pesan [lintas sesi](/docs/id/cross-session-messaging) Claude ke sesi lain Anda di mesin ini terlalu panjang untuk dikirim. Claude Code menolaknya, dan sesi penerima tidak mendapat apa pun. Penolakan muncul dalam hasil tool sesi pengirim, bukan sebagai spanduk di terminal Anda. Penolakan ini menyebutkan kedua ukuran dan cara membuat pesan muat:


4449 4585 

4450### Disk quota or temp filesystem is full4586### Disk quota or temp filesystem is full

4451 4587 

4452Claude Code menyimpan output setiap perintah Bash dan PowerShell ke file di bawah direktori temp-nya. Ketika perintah keluar dengan kode bukan nol dan tanpa output sama sekali, Claude Code memeriksa apakah sistem file yang menyimpan file itu kehabisan ruang atau inode, atau apakah kuota disk Anda di dalamnya sudah habis. Jika demikian, diagnostik muncul dalam hasil perintah sebagai pengganti output kosong:4588Claude Code menyimpan output setiap perintah Bash dan PowerShell ke file di bawah direktori temp-nya. Pesan-pesan berikut dalam hasil perintah berarti sistem file yang menyimpan direktori tersebut, atau kuota disk Anda di dalamnya, sudah penuh.

4589 

4590Jika Claude Code tidak dapat membuat file tersebut karena sistem file atau kuota Anda di dalamnya sudah penuh, perintah Anda tidak dimulai, dan hasilnya berbunyi:

4591 

4592```text wrap theme={null}

4593The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran. If this is the user's own computer, tell them before deleting anything to make room.

4594```

4595 

4596Ketika perintah keluar dengan kode bukan nol dan tanpa output sama sekali, Claude Code memeriksa sistem file yang menyimpan file output. Jika sistem file tersebut kehabisan ruang atau inode, atau kuota disk Anda di dalamnya sudah habis, diagnostik menggantikan output kosong dalam hasil perintah:

4453 4597 

4454```text wrap theme={null}4598```text wrap theme={null}

4455Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4599Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.


4460* `Your disk quota is full ... (EDQUOT)`: kuota Anda sendiri di sistem file itu sudah habis. Kuota dapat penuh sementara sistem file masih menunjukkan ruang kosong4604* `Your disk quota is full ... (EDQUOT)`: kuota Anda sendiri di sistem file itu sudah habis. Kuota dapat penuh sementara sistem file masih menunjukkan ruang kosong

4461* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: sistem file, atau kuota Anda di dalamnya, tidak memiliki ruang tersisa4605* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: sistem file, atau kuota Anda di dalamnya, tidak memiliki ruang tersisa

4462* `Command output was lost: the temp filesystem at ... is full` atau `... is out of inodes`: sistem file hampir tidak memiliki ruang kosong tersisa, atau kehabisan inode4606* `Command output was lost: the temp filesystem at ... is full` atau `... is out of inodes`: sistem file hampir tidak memiliki ruang kosong tersisa, atau kehabisan inode

4607* `The command was not started: this computer's disk is full (ENOSPC)` atau `... (EDQUOT)`: sistem file tidak memiliki ruang tersisa untuk file output, atau dengan `EDQUOT` kuota Anda sendiri di dalamnya sudah habis

4463 4608 

4464**What to do:**4609**What to do:**

4465 4610 

4466* Hapus file yang tidak lagi Anda butuhkan di sistem file yang menyimpan direktori temp Claude Code. Untuk `EDQUOT`, hapus file yang dihitung terhadap kuota Anda sendiri. Untuk `out of inodes`, hapus banyak file alih-alih beberapa file besar, karena setiap file menggunakan satu inode berapa pun ukurannya4611* Hapus file yang tidak lagi Anda butuhkan di sistem file yang menyimpan direktori temp Claude Code. Jika pesan Anda tidak menyebutkan direktori tersebut, cari lokasi default-nya di referensi [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars). Untuk `EDQUOT`, hapus file yang dihitung terhadap kuota Anda sendiri. Untuk `out of inodes`, hapus banyak file alih-alih beberapa file besar, karena setiap file menggunakan satu inode berapa pun ukurannya

4467* Atau mulai ulang Claude Code dengan [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) diatur ke direktori di sistem file yang memiliki ruang4612* Atau mulai ulang Claude Code dengan [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) diatur ke direktori di sistem file yang memiliki ruang

4468* Kemudian minta Claude menjalankan perintah lagi. Output yang dicetaknya hilang, bukan terpotong4613* Kemudian minta Claude menjalankan perintah lagi

4614 

4615Sebelum v2.1.305, perintah yang tidak dapat dimulai Claude Code karena disk penuh hanya mengembalikan teks kesalahan sistem operasi. Teks tersebut berbunyi, misalnya, `ENOSPC: no space left on device, open <path>.output`.

4469 4616 

4470### File is not valid UTF-84617### File is not valid UTF-8

4471 4618 


4524* Di Windows, agar Claude dapat menerbitkan langsung dari share, petakan share tersebut ke huruf drive dan berikan drive tersebut saat Anda memulai Claude Code. Di PowerShell, misalnya, jalankan `net use Z: \\server\share` lalu `claude --add-dir Z:\`. Claude kemudian dapat menerbitkan file dari drive tersebut. Menambahkan drive di tengah sesi dengan `/add-dir` tidak cukup.4671* Di Windows, agar Claude dapat menerbitkan langsung dari share, petakan share tersebut ke huruf drive dan berikan drive tersebut saat Anda memulai Claude Code. Di PowerShell, misalnya, jalankan `net use Z: \\server\share` lalu `claude --add-dir Z:\`. Claude kemudian dapat menerbitkan file dari drive tersebut. Menambahkan drive di tengah sesi dengan `/add-dir` tidak cukup.

4525* Di macOS atau Linux, mount share tersebut di sebuah direktori seperti di bawah `/mnt` atau `/Volumes`, dan terbitkan dari jalur itu alih-alih jalur automount4672* Di macOS atau Linux, mount share tersebut di sebuah direktori seperti di bawah `/mnt` atau `/Volumes`, dan terbitkan dari jalur itu alih-alih jalur automount

4526 4673 

4674### Not published: Claude sent the same content again after a newer version of the artifact turned it away

4675 

4676Baris merah di bawah panggilan Artifact ini berarti Claude Code menghentikan penerbitan berulang: [artifact](/docs/id/artifacts) tidak diperbarui, dan tidak ada yang ditulis ke file yang menjadi sumber penerbitan Claude. Anda tidak perlu melakukan apa pun kecuali Claude berhenti tanpa menerbitkan.

4677 

4678Sebelumnya dalam sesi, Claude Code menolak penerbitan karena artifact memiliki versi yang lebih baru, misalnya versi yang diterbitkan oleh [editor](/docs/id/artifacts#let-someone-edit-with-you) atau oleh sesi lain Anda. Bagian akhir baris tersebut menyatakan apa yang harus dilakukan Claude selanjutnya:

4679 

4680```text wrap theme={null}

4681Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.

4682Not published: Claude sent the same content again after a newer version of the artifact turned it away. The artifact hasn't changed since, so publishing it once more should go through.

4683Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. Claude needs to work from that newer version first.

4684Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.

4685```

4686 

4687**What to do:**

4688 

4689* **Berakhir dengan `Claude needs to work from that newer version first`**: jika Claude berhenti di sana, minta Claude mengambil versi artifact saat ini, menggabungkan perubahannya ke dalamnya, dan menerbitkan lagi

4690* **Berakhir dengan `should go through`**: jika Claude berhenti di sana, minta Claude menerbitkan lagi

4691 

4527### Reading a local file from outside the connected folders in a Cowork session4692### Reading a local file from outside the connected folders in a Cowork session

4528 4693 

4529Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) yang berjalan di mesin Anda di aplikasi Claude Desktop, Claude menyebutkan file lokal untuk [artifact](/docs/id/artifacts). Claude Code tidak dapat mengonfirmasi bahwa file tersebut adalah file biasa di dalam folder yang terhubung ke sesi: jalurnya berada di luar folder tersebut, melewati tautan simbolis, atau dieja dengan cara yang dapat menunjuk ke file yang berbeda dari yang terlihat. Membaca file seperti itu memerlukan persetujuan Anda, dan dalam sesi yang tidak dapat menampilkan kartu persetujuan, seperti sesi yang diatur untuk melewati semua persetujuan, Claude Code menolak pembacaan.4694Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) yang berjalan di mesin Anda di aplikasi Claude Desktop, Claude menyebutkan file lokal untuk [artifact](/docs/id/artifacts). Claude Code tidak dapat mengonfirmasi bahwa file tersebut adalah file biasa di dalam folder yang terhubung ke sesi: jalurnya berada di luar folder tersebut, melewati tautan simbolis, atau dieja dengan cara yang dapat menunjuk ke file yang berbeda dari yang terlihat. Membaca file seperti itu memerlukan persetujuan Anda, dan dalam sesi yang tidak dapat menampilkan kartu persetujuan, seperti sesi yang diatur untuk melewati semua persetujuan, Claude Code menolak pembacaan.


4816* Untuk melanjutkan loop, [balas ke sesi](/docs/id/agent-view#peek-and-reply) dan katakan demikian, seperti `keep the loop running`. Claude membaca pemberitahuan bersama balasan Anda dan dapat menjadwalkan wakeup berikutnya4981* Untuk melanjutkan loop, [balas ke sesi](/docs/id/agent-view#peek-and-reply) dan katakan demikian, seperti `keep the loop running`. Claude membaca pemberitahuan bersama balasan Anda dan dapat menjadwalkan wakeup berikutnya

4817* Jika Anda sudah selesai dengan loop, tidak perlu melakukan apa pun. Loop sudah berhenti4982* Jika Anda sudah selesai dengan loop, tidak perlu melakukan apa pun. Loop sudah berhenti

4818 4983 

4984### No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder

4985 

4986[Sesi latar belakang](/docs/id/agent-view) yang menampilkan pesan ini tidak menggunakan [LLM gateway](/docs/id/llm-gateway) Anda: sesi tersebut tidak mendapatkan alamat gateway, sehingga permintaannya gagal. Pesan muncul dalam percakapan sebagai pengganti balasan Claude, dengan ID dan folder sesi Anda terisi:

4987 

4988```text wrap theme={null}

4989No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder. To fix, run `claude respawn abc12345` from ~/project in another terminal where your gateway is set, or set ANTHROPIC_BASE_URL and its API key or token in a settings file's env block.

4990```

4991 

4992Saat Anda terhubung ke sesi, pemberitahuan di bawah prompt-nya menampilkan bentuk singkat `No LLM gateway: opened from another folder · respawn from ~/project`.

4993 

4994Anda mengirim, membangunkan, atau memulai ulang sesi dari folder selain yang dinamai pesan, saat `ANTHROPIC_BASE_URL` diatur ke gateway Anda. Untuk kasus di mana gateway yang diekspor shell memang mencapai sesi latar belakang, lihat [LLM gateway](/docs/id/agent-view#llm-gateway).

4995 

4996**Yang harus dilakukan:**

4997 

4998* **Anda menggunakan tampilan agent dalam proyek yang pengaturannya mengatur gateway**: letakkan `ANTHROPIC_BASE_URL` beserta kunci API atau token-nya di [blok `env` file pengaturan](/docs/id/llm-gateway-connect#set-in-a-settings-file). Gunakan `~/.claude/settings.json`, atau `.claude/settings.local.json` dalam proyek sesi itu sendiri, yang keduanya dibaca oleh sesi yang di-respawn. Kemudian jalankan `claude respawn <id>` di shell Anda dari folder mana pun.

4999* **Anda mengekspor gateway di terminal Anda**: di terminal tempat Anda telah mengekspor variabel gateway, `cd` ke folder yang dinamai pesan dan jalankan perintah `claude respawn <id>` dari pesan. Sesi dimulai ulang dari percakapan yang disimpannya.

5000 * Gateway mencapai sesi hanya ketika [supervisor](/docs/id/agent-view#the-supervisor-process) itu sendiri dimulai dari shell yang mengekspor gateway yang sama. Jika supervisor tidak demikian, mulai ulang dari terminal tersebut seperti yang dijelaskan [Dispatch gagal dengan `Could not resolve authentication method`](/docs/id/agent-view#dispatch-fails-with-could-not-resolve-authentication-method), kemudian jalankan perintah respawn lagi.

5001 

5002Sebelum v2.1.302, sesi latar belakang dalam situasi ini menampilkan kesalahan masuk seperti [`Not logged in · Please run /login`](#not-logged-in) sebagai gantinya, tanpa menamai folder.

5003 

4819### Kesalahan peluncur CLAUDE\_CODE\_PROCESS\_WRAPPER5004### Kesalahan peluncur CLAUDE\_CODE\_PROCESS\_WRAPPER

4820 5005 

4821[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/id/corporate-launcher) diatur, dan nilainya tidak dapat digunakan, jadi Claude Code menolak untuk memulai proses yang terpengaruh daripada menjalankannya tanpa peluncur. Masalah konfigurasi dilaporkan dengan pesan yang dimulai dengan nama variabel dan menyatakan alasannya, misalnya:5006[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/id/corporate-launcher) diatur, dan nilainya tidak dapat digunakan, jadi Claude Code menolak untuk memulai proses yang terpengaruh daripada menjalankannya tanpa peluncur. Masalah konfigurasi dilaporkan dengan pesan yang dimulai dengan nama variabel dan menyatakan alasannya, misalnya:


5094 5279 

5095## Peringatan Konfigurasi5280## Peringatan Konfigurasi

5096 5281 

5097Claude Code menulis sebagian besar pesan ini ke stderr, bukan ke dalam percakapan, dan menulis sebagian besar di saat startup. Sebuah entri mengatakan demikian ketika pesannya muncul di tempat lain, seperti dalam log debug atau sebagai pemberitahuan startup dalam tampilan percakapan, atau pada waktu lain, seperti [baris diagnostik model yang tidak dikenali](#unrecognized-model-id-on-a-request) pada saat permintaan.5282Untuk menemukan peringatan yang diberikan Claude Code saat startup dalam sesi interaktif, lihat terlebih dahulu di bawah banner startup, lalu di log debug:

5283 

5284* **Baris di bawah banner startup**: beberapa peringatan tentang [aturan izin](/docs/id/permissions), seperti [`⚠ Deny rule Bsh matches no tool · check for typos`](#matches-no-tool)

5285* **Log debug**: Claude Code menyimpan log ini hanya dalam mode debug. Untuk membaca peringatan di dalamnya, mulai Claude Code dari shell Anda dengan `claude --debug-file <path>`, lalu buka file di jalur tersebut.

5286 

5287Dalam [mode non-interaktif](/docs/id/headless) dengan output teks, di luar [background session](/docs/id/agent-view), cari peringatan startup di stderr.

5288 

5289Sebelum v2.1.305, lihat juga di stderr dalam sesi interaktif, termasuk untuk peringatan aturan izin yang sekarang ditampilkan sebagai baris di bawah banner.

5098 5290 

5099### Claude Code keluar setelah kesalahan antarmuka yang tidak dapat dipulihkan5291### Claude Code keluar setelah kesalahan antarmuka yang tidak dapat dipulihkan

5100 5292 


5214 5406 

5215### Direktori kerja adalah jalur jaringan5407### Direktori kerja adalah jalur jaringan

5216 5408 

5217Claude Code tidak menambahkan jalur jaringan sebagai direktori kerja. Mencari jalur jaringan dapat menghubungi host yang dinamainya, dan di Windows kontak itu dapat mengirim kredensial Anda ke host, jadi Claude Code menolak jalur tanpa mencarinya. Anda melihat pesan ini ketika Anda menjalankan `/add-dir` dengan jalur seperti itu, atau sebagai peringatan pada startup. Ketika muncul pada startup, Claude Code memulai tanpa direktori itu.5409Claude Code tidak menambahkan jalur jaringan sebagai direktori kerja. Mencari jalur jaringan dapat menghubungi host yang dinamainya, dan di Windows kontak itu dapat mengirim kredensial Anda ke host. Oleh karena itu, Claude Code menolak jalur tersebut tanpa mencarinya.

5410 

5411Anda melihat pesan ini ketika Anda menjalankan `/add-dir` dengan jalur jaringan:

5218 5412 

5219```text theme={null}5413```text theme={null}

5220\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).5414\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

5221```5415```

5222 5416 

5417Ketika Anda meneruskannya saat startup, dengan `--add-dir` atau dalam `permissions.additionalDirectories`, Claude Code dimulai tanpa direktori tersebut. Dalam sesi interaktif, Anda tidak melihat pesan ini saat startup, karena pesan tersebut masuk ke log debug bersama [peringatan startup](#configuration-warnings) lainnya.

5418 

5223Jalur yang Claude Code tolak dengan cara ini termasuk:5419Jalur yang Claude Code tolak dengan cara ini termasuk:

5224 5420 

5225* Berbagi UNC seperti `\\server\share`5421* Berbagi UNC seperti `\\server\share`


5465 5661 

5466Sebelum v2.1.260, Claude Code melaporkan aturan dengan tanda kurung yang tidak cocok sebagai `Mismatched parentheses`.5662Sebelum v2.1.260, Claude Code melaporkan aturan dengan tanda kurung yang tidak cocok sebagai `Mismatched parentheses`.

5467 5663 

5468### Tidak cocok dengan pemeriksaan izin file5664### Matches no tool · check for typos

5665 

5666Baris di bawah banner startup ini menyebutkan [aturan izin](/docs/id/permissions) deny atau ask yang nama tool-nya tidak dikenali Claude Code, sehingga aturan tersebut tidak berlaku untuk tool yang Anda maksud. Aturan deny yang ditulis sebagai `Bsh` tidak diterapkan pada Bash, begitu pula aturan yang menggunakan label yang ditampilkan tool dalam transkrip alih-alih nama kanoniknya. Baris tersebut mengulang aturan seperti yang Anda tulis:

5667 

5668```text theme={null}

5669⚠ Deny rule Bsh matches no tool · check for typos

5670```

5469 5671 

5470Claude Code menemukan aturan [izin](/docs/id/permissions#read-and-edit) `Write`, `NotebookEdit`, `MultiEdit`, atau `Glob` dengan jalur dalam salah satu [file pengaturan](/docs/id/settings#where-settings-live) Anda, dalam [managed settings](/docs/id/managed-settings), atau dalam nilai flag `--allowedTools`, `--disallowedTools`, atau `--settings`. Itu memeriksa izin file terhadap aturan `Edit` dan `Read` saja, jadi tidak pernah berkonsultasi dengan aturan jalur yang menyebutkan salah satu tool file lainnya. Itu menyimpan aturan dan tidak mengubah apa pun yang lain; peringatan menyebutkan aturan, sumbernya dalam tanda kurung, dan penggantian untuk ditulis:5672Dalam [mode non-interaktif](/docs/id/headless) dengan output teks, Claude Code mencetak peringatan di stderr dalam bentuk yang lebih panjang sebagai gantinya:

5471 5673 

5472```text theme={null}5674```text theme={null}

5473Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).5675Permission deny rule "Bsh" matches no known tool — check for typos.

5474```5676```

5475 5677 

5476**Yang harus dilakukan:**5678**Yang harus dilakukan:**

5477 5679 

5680* Perbaiki nama tool dalam aturan, misalnya `Bash` sebagai pengganti `Bsh`. Cari nama kanonik di [referensi tool](/docs/id/tools-reference).

5681* Untuk menemukan tempat aturan didefinisikan, jalankan `/permissions` dalam sesi dan pilih aturan tersebut. Detailnya menyebutkan asalnya, seperti `From project local settings`, atau `From CLI argument` untuk nilai `--disallowedTools`.

5682* Jika detailnya berbunyi `From enterprise managed settings`, teruskan baris tersebut kepada siapa pun yang memelihara [pengaturan terkelola](/docs/id/managed-settings) Anda, karena Anda tidak dapat mengubah aturan tersebut sendiri.

5683 

5684Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`.

5685 

5686Sebelum v2.1.305, sesi interaktif mencetak bentuk yang lebih panjang di stderr saat startup alih-alih menampilkan baris tersebut.

5687 

5688### Tidak cocok dengan pemeriksaan izin file

5689 

5690Claude Code menemukan aturan [izin](/docs/id/permissions#read-and-edit) `Write`, `NotebookEdit`, `MultiEdit`, atau `Glob` dengan jalur dalam salah satu [file pengaturan](/docs/id/settings#where-settings-live) Anda, dalam [managed settings](/docs/id/managed-settings), atau dalam nilai flag `--allowedTools`, `--disallowedTools`, atau `--settings`. Itu memeriksa izin file terhadap aturan `Edit` dan `Read` saja, jadi tidak pernah berkonsultasi dengan aturan jalur yang menyebutkan salah satu tool file lainnya. Itu menyimpan aturan dan tidak mengubah apa pun yang lain.

5691 

5692* **Sesi interaktif**: peringatan lengkap masuk ke [log debug](#configuration-warnings), dan aturan deny atau ask dengan bentuk ini juga ditampilkan sebagai baris berikut di bawah banner startup:

5693 

5694 ```text theme={null}

5695 ⚠ Deny rule Write(docs/**) never matches · use Edit(docs/**)

5696 ```

5697 

5698 Aturan allow dengan bentuk ini tidak mendapat baris. Untuk menemukan tempat aturan didefinisikan, jalankan `/permissions` dalam sesi dan pilih aturan tersebut.

5699* **[Mode non-interaktif](/docs/id/headless) dengan output teks**: peringatan lengkap di stderr menyebutkan aturan, sumbernya dalam tanda kurung, dan penggantian untuk ditulis:

5700 

5701 ```text theme={null}

5702 Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).

5703 ```

5704* **[Background session](/docs/id/agent-view), atau `--output-format json` atau `stream-json`**: peringatan lengkap masuk ke log debug daripada stderr, jadi output yang dibaca mesin tetap bersih. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`.

5705 

5706**Yang harus dilakukan:**

5707 

5478* Ganti aturan `Write(path)`, `NotebookEdit(path)`, dan `MultiEdit(path)` warisan dengan `Edit(path)`. Aturan `Edit` mencakup semua tool pengeditan file.5708* Ganti aturan `Write(path)`, `NotebookEdit(path)`, dan `MultiEdit(path)` warisan dengan `Edit(path)`. Aturan `Edit` mencakup semua tool pengeditan file.

5479* Kecuali dalam `--allowedTools`, di mana Claude Code menerima aturan `Glob` tanpa peringatan, ganti aturan `Glob(path)` dengan `Read(path)`.5709* Kecuali dalam `--allowedTools`, di mana Claude Code menerima aturan `Glob` tanpa peringatan, ganti aturan `Glob(path)` dengan `Read(path)`.

5480* Perbaiki aturan di sumber yang dinamai peringatan dalam tanda kurung: jalur file pengaturan, atau flag itu sendiri untuk `--allowed-tools` dan `--disallowed-tools`. Jalur `claude-settings-<hash>.json` yang tidak ada di disk mewakili nilai `--settings` inline. Perbaiki JSON yang Anda teruskan ke flag itu.5710* Perbaiki aturan di sumbernya, yang disebutkan peringatan lengkap dalam tanda kurung: jalur file pengaturan, atau flag itu sendiri untuk `--allowed-tools` dan `--disallowed-tools`. Jalur `claude-settings-<hash>.json` yang tidak ada di disk mewakili nilai `--settings` inline. Perbaiki JSON yang Anda teruskan ke flag itu.

5481* Biarkan aturan nama tool bare seperti `Write` atau `Glob` saja. Claude Code mencocokkannya di [tingkat tool](/docs/id/permissions#match-all-uses-of-a-tool) dan tidak memperingatkan tentang mereka.5711* Biarkan aturan nama tool bare seperti `Write` atau `Glob` saja. Claude Code mencocokkannya di [tingkat tool](/docs/id/permissions#match-all-uses-of-a-tool) dan tidak memperingatkan tentang mereka.

5482* Jika sumber berbunyi `managed policy settings`, teruskan peringatan kepada siapa pun yang memelihara pengaturan yang dikelola Anda, karena Anda tidak dapat menghapusnya sendiri.5712* Untuk aturan dari pengaturan terkelola, tanda kurung pada peringatan lengkap berbunyi `managed policy settings` dan detail aturan di `/permissions` berbunyi `From enterprise managed settings`. Teruskan peringatan tersebut kepada siapa pun yang memelihara pengaturan terkelola Anda, karena Anda tidak dapat menghapusnya sendiri.

5483 5713 

5484Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr, jadi output yang dibaca mesin tetap bersih. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`. Sebelum v2.1.210, Claude Code menerima aturan ini tanpa peringatan.5714Sebelum v2.1.210, Claude Code menerima aturan ini tanpa peringatan. Sebelum v2.1.305, sesi interaktif mencetak peringatan lengkap di stderr.

5485 5715 

5486### Memiliki wildcard sebelum sisa perintah5716### Memiliki wildcard sebelum sisa perintah

5487 5717 

5488Claude Code menemukan aturan allow `Bash` yang `*` nya datang sebelum kata belakangan yang menentukan perintah mana itu, seperti `Bash(git * main)` atau `Bash(git -C * status *)`, dalam salah satu [file pengaturan](/docs/id/settings#where-settings-live) Anda, dalam [managed settings](/docs/id/managed-settings), atau dalam nilai flag `--allowedTools` atau `--settings`. `*` cocok dengan teks apa pun, termasuk opsi yang disisipkan pada posisi itu: `Bash(git * main)` juga menyetujui `git -c core.fsmonitor=<script> diff main`, di mana `-c` membuat git menjalankan program yang dinamai perintah. [Wildcard patterns](/docs/id/permissions#wildcard-patterns) menunjukkan aturan pencocokan.5718Claude Code menemukan aturan allow `Bash` yang `*` nya datang sebelum kata belakangan yang menentukan perintah mana itu, seperti `Bash(git * main)` atau `Bash(git -C * status *)`, dalam salah satu [file pengaturan](/docs/id/settings#where-settings-live) Anda, dalam [managed settings](/docs/id/managed-settings), atau dalam nilai flag `--allowedTools` atau `--settings`. `*` cocok dengan teks apa pun, termasuk opsi yang disisipkan pada posisi itu: `Bash(git * main)` juga menyetujui `git -c core.fsmonitor=<script> diff main`, di mana `-c` membuat git menjalankan program yang dinamai perintah. [Wildcard patterns](/docs/id/permissions#wildcard-patterns) menunjukkan aturan pencocokan.

5489 5719 

5490Peringatan ada sehingga Anda dapat mempersempit aturan yang wildcard-nya lebih luas dari yang Anda maksudkan. Claude Code menyimpan aturan dan tidak mengubah apa pun tentang cara pencocokannya; peringatan menyebutkan aturan dan sumbernya dalam tanda kurung:5720Peringatan ada sehingga Anda dapat mempersempit aturan yang wildcard-nya lebih luas dari yang Anda maksudkan. Claude Code menyimpan aturan dan tidak mengubah apa pun tentang cara pencocokannya. Dalam [mode non-interaktif](/docs/id/headless) dengan output teks, peringatan di stderr menyebutkan aturan dan sumbernya dalam tanda kurung:

5491 5721 

5492```text theme={null}5722```text theme={null}

5493Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).5723Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

5494```5724```

5495 5725 

5726Dalam sesi interaktif, peringatan lengkap masuk ke [log debug](#configuration-warnings) dan aturan tersebut ditampilkan sebagai baris berikut di bawah banner startup:

5727 

5728```text theme={null}

5729⚠ Allow rule Bash(git -C * status *) allows any option at its * · use an exact value

5730```

5731 

5732Untuk menemukan tempat aturan didefinisikan, jalankan `/permissions` dalam sesi dan pilih aturan tersebut.

5733 

5496**Yang harus dilakukan:**5734**Yang harus dilakukan:**

5497 5735 

5498* Ganti `*` sebelum subperintah dengan nilai yang tepat yang Anda maksudkan: `Bash(git checkout main)` sebagai pengganti `Bash(git * main)`.5736* Ganti `*` sebelum subperintah dengan nilai yang tepat yang Anda maksudkan: `Bash(git checkout main)` sebagai pengganti `Bash(git * main)`.

5499* Pindahkan setiap `*` setelah subperintah: `Bash(git status *)` sebagai pengganti `Bash(git -C * status *)`. Tulis satu aturan per subperintah yang ingin Anda izinkan.5737* Pindahkan setiap `*` setelah subperintah: `Bash(git status *)` sebagai pengganti `Bash(git -C * status *)`. Tulis satu aturan per subperintah yang ingin Anda izinkan.

5500* Perbaiki aturan di sumber yang dinamai peringatan dalam tanda kurung: jalur file pengaturan, atau flag `--allowed-tools` itu sendiri. Jalur `claude-settings-<hash>.json` yang tidak ada di disk mewakili nilai `--settings` inline. Perbaiki JSON yang Anda teruskan ke flag itu.5738* Perbaiki aturan di sumbernya, yang disebutkan peringatan lengkap dalam tanda kurung: jalur file pengaturan, atau flag `--allowed-tools` itu sendiri. Jalur `claude-settings-<hash>.json` yang tidak ada di disk mewakili nilai `--settings` inline. Perbaiki JSON yang Anda teruskan ke flag itu.

5501* Jika sumber berbunyi `managed policy settings`, teruskan peringatan kepada siapa pun yang memelihara pengaturan yang dikelola Anda, karena Anda tidak dapat menghapusnya sendiri.5739* Untuk aturan dari pengaturan terkelola, tanda kurung pada peringatan lengkap berbunyi `managed policy settings` dan detail aturan di `/permissions` berbunyi `From enterprise managed settings`. Teruskan peringatan tersebut kepada siapa pun yang memelihara pengaturan terkelola Anda, karena Anda tidak dapat menghapusnya sendiri.

5502 5740 

5503Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr, jadi output yang dibaca mesin tetap bersih. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`. Sebelum v2.1.246, Claude Code menerima aturan ini tanpa peringatan.5741Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr, jadi output yang dibaca mesin tetap bersih. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`. Sebelum v2.1.246, Claude Code menerima aturan ini tanpa peringatan.

5504 5742 

5743Sebelum v2.1.305, sesi interaktif mencetak peringatan lengkap di stderr alih-alih menampilkan baris.

5744 

5505### Denying Bash also turns off the PowerShell tool5745### Denying Bash also turns off the PowerShell tool

5506 5746 

5507Anda menghapus seluruh tool Bash, misalnya dengan `--disallowedTools Bash` atau dengan [aturan deny](/docs/id/permissions#match-all-uses-of-a-tool) `Bash` atau `Bash(*)` tanpa cakupan di salah satu file pengaturan Anda. Di Windows dengan Git Bash terinstal, [menolak Bash juga mematikan tool PowerShell](/docs/id/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), sehingga sesi dimulai tanpa tool shell. Claude Code mencetak peringatan ini saat startup:5747Anda menghapus seluruh tool Bash, misalnya dengan `--disallowedTools Bash` atau dengan [aturan deny](/docs/id/permissions#match-all-uses-of-a-tool) `Bash` atau `Bash(*)` tanpa cakupan di salah satu file pengaturan Anda. Di Windows dengan Git Bash terinstal, [menolak Bash juga mematikan tool PowerShell](/docs/id/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), sehingga sesi dimulai tanpa tool shell.

5748 

5749Dalam [mode non-interaktif](/docs/id/headless) dengan output teks, Claude Code mencetak peringatan ini di stderr saat startup, dan sesi interaktif hanya menuliskannya ke [log debug](#configuration-warnings):

5508 5750 

5509```text theme={null}5751```text theme={null}

5510Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.5752Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.


5517 5759 

5518Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`. Sebelum v2.1.287, Claude Code mematikan tool PowerShell dengan cara yang sama tanpa mencetak peringatan.5760Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`. Sebelum v2.1.287, Claude Code mematikan tool PowerShell dengan cara yang sama tanpa mencetak peringatan.

5519 5761 

5762Sebelum v2.1.305, sesi interaktif juga mencetak peringatan di stderr saat startup.

5763 

5520### crossSessionInbound harus salah satu dari accept, hold, refuse5764### crossSessionInbound harus salah satu dari accept, hold, refuse

5521 5765 

5522File pengaturan menetapkan [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke nilai yang tidak dikenali Claude Code, seperti typo `"reject"`. Kalimat kedua peringatan tergantung pada file mana yang menyimpan nilai; dalam file pengguna, proyek, lokal, atau `--settings` berbunyi:5766File pengaturan menetapkan [`crossSessionInbound`](/docs/id/settings-reference#crosssessioninbound) ke nilai yang tidak dikenali Claude Code, seperti typo `"reject"`. Kalimat kedua peringatan tergantung pada file mana yang menyimpan nilai; dalam file pengguna, proyek, lokal, atau `--settings` berbunyi:


5566* Jika pesan menyebutkan ID model yang versi ini tidak kenali, jalankan `claude update`. Versi yang mengenali ID sebagai model konteks 1M menegakkan batas tanpa konfigurasi lebih lanjut.5810* Jika pesan menyebutkan ID model yang versi ini tidak kenali, jalankan `claude update`. Versi yang mengenali ID sebagai model konteks 1M menegakkan batas tanpa konfigurasi lebih lanjut.

5567* Jika Anda ingin sesi menggunakan jendela penuh model sebagai gantinya, batalkan `CLAUDE_CODE_DISABLE_1M_CONTEXT`; peringatan melaporkan hanya bahwa batas 200K tidak ditegakkan5811* Jika Anda ingin sesi menggunakan jendela penuh model sebagai gantinya, batalkan `CLAUDE_CODE_DISABLE_1M_CONTEXT`; peringatan melaporkan hanya bahwa batas 200K tidak ditegakkan

5568 5812 

5569Dalam [background session](/docs/id/agent-view) atau dengan `--output-format json` atau `stream-json`, Claude Code menulis peringatan ke log debug daripada stderr.5813Dalam [mode non-interaktif](/docs/id/headless) dengan output teks, peringatan ini muncul di stderr. Dalam sesi interaktif, [background session](/docs/id/agent-view), atau dengan `--output-format json` atau `stream-json`, peringatan ini masuk ke log debug sebagai gantinya. Jalankan dengan `--debug` untuk menangkapnya di `~/.claude/debug/<session-id>.txt`.

5814 

5815Sebelum v2.1.305, sesi interaktif mencetak peringatan di stderr saat startup.

5570 5816 

5571### ID model yang tidak dikenali pada permintaan5817### ID model yang tidak dikenali pada permintaan

5572 5818 


5678Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:5924Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:

5679 5925 

5680* Jalankan `/feedback` di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan [authentication](/docs/id/authentication). Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, atau ketika tidak ada kredensial Anthropic yang dikonfigurasi, `/feedback` menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.5926* Jalankan `/feedback` di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan [authentication](/docs/id/authentication). Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, atau ketika tidak ada kredensial Anthropic yang dikonfigurasi, `/feedback` menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.

5927* Jika `/feedback` menjawab bahwa perintah tersebut dinonaktifkan oleh kebijakan organisasi Anda, lihat [entri untuk pesan tersebut](#feedback-is-disabled-by-your-organizations-policy)

5681* Jalankan `claude doctor` dari shell Anda untuk diagnostik sistem file read-only dari instalasi Anda, atau jalankan pemeriksaan `/doctor` di dalam Claude Code untuk menemukan dan memperbaiki masalah pengaturan5928* Jalankan `claude doctor` dari shell Anda untuk diagnostik sistem file read-only dari instalasi Anda, atau jalankan pemeriksaan `/doctor` di dalam Claude Code untuk menemukan dan memperbaiki masalah pengaturan

5682* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif5929* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif

5683* Cari [existing issues](https://github.com/anthropics/claude-code/issues) di GitHub5930* Cari [existing issues](https://github.com/anthropics/claude-code/issues) di GitHub

Details

34 34 

35Ini memiliki perbedaan khusus penyedia:35Ini memiliki perbedaan khusus penyedia:

36 36 

37* **Server MCP**: [konektor dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) dimuat hanya ketika langganan claude.ai Anda adalah metode autentikasi aktif. [Pencarian tool](/docs/id/mcp#configure-tool-search) dimatikan secara default ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, dan tidak didukung pada model Platform Agent Google Cloud yang lebih awal dari Claude Opus 4.5, Claude Sonnet 4.5, dan Claude Haiku 4.5 atau pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)37* **Server MCP**: [konektor dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) dimuat hanya ketika langganan claude.ai Anda adalah metode autentikasi aktif. [Pencarian tool](/docs/id/mcp#configure-tool-search) tidak didukung pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options). Di Platform Agent Google Cloud, pencarian tool tidak didukung pada model yang lebih awal dari Claude Opus 4.5, Claude Sonnet 4.5, dan Claude Haiku 4.5

38* **Subagents**: ketika percakapan utama menjalankan Fable, [subagent Explore](/docs/id/sub-agents#built-in-subagents) bawaan berjalan di Opus dengan langganan Claude, akun Anthropic Console, atau [gateway LLM](/docs/id/llm-gateway) yang dijangkau melalui `ANTHROPIC_BASE_URL`. Di penyedia lain, termasuk Claude Platform di AWS, subagent tersebut berjalan di Fable38* **Subagents**: ketika percakapan utama menjalankan Fable, [subagent Explore](/docs/id/sub-agents#built-in-subagents) bawaan berjalan di Opus dengan langganan Claude, akun Anthropic Console, atau [gateway LLM](/docs/id/llm-gateway) yang dijangkau melalui `ANTHROPIC_BASE_URL`. Di penyedia lain, termasuk Claude Platform di AWS, subagent tersebut berjalan di Fable

39* **[Commands](/docs/id/commands#all-commands)**:39* **[Commands](/docs/id/commands#all-commands)**:

40 * `/design-sync` dan `/import` dengan bentuk subperintah `claude import` tidak tersedia di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, dan melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations)40 * `/design-sync` dan `/import` dengan bentuk subperintah `claude import` tidak tersedia di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, dan melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations)


57* [Artifacts](/docs/id/artifacts): paket Pro, Max, Team, dan Enterprise57* [Artifacts](/docs/id/artifacts): paket Pro, Max, Team, dan Enterprise

58* [Voice dictation](/docs/id/voice-dictation)58* [Voice dictation](/docs/id/voice-dictation)

59 59 

60Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](/docs/id/llm-gateway-connect#desktop-app), deployment Enterprise dapat merutekan Desktop ke Platform Agent Google Cloud atau penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration), dan [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).60Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](/docs/id/llm-gateway-connect#desktop-app). [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) juga menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Aplikasi ini juga menjalankan tab Code di [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) dengan kunci API Anthropic Console. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).

61 61 

62### Kemampuan CLI yang bervariasi per penyedia62### Kemampuan CLI yang bervariasi per penyedia

63 63 


227 227 

228### Ringkasan per penyedia228### Ringkasan per penyedia

229 229 

230Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, terlepas dari [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/docs/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.230Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, kecuali [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/docs/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.

231 231 

232**Amazon Bedrock**232**Amazon Bedrock**

233 233 


287 287 

288Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](/docs/id/fast-mode) memerlukan [akses yang disediakan](/docs/id/fast-mode#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](/docs/id/server-managed-settings) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](/docs/id/server-managed-settings#platform-availability) untuk cara mencakup sesi tersebut.288Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](/docs/id/fast-mode) memerlukan [akses yang disediakan](/docs/id/fast-mode#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](/docs/id/server-managed-settings) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](/docs/id/server-managed-settings#platform-availability) untuk cara mencakup sesi tersebut.

289 289 

290**Dukungan parsial:**

291 

292* [Desktop](/docs/id/desktop): melalui [Claude Desktop pada 3P dengan Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 

290## Ketersediaan per paket langganan294## Ketersediaan per paket langganan

291 295 

292Jika 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.296Jika 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.

Details

148* **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya148* **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya

149* **[Dynamic workflows](/docs/id/workflows)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil149* **[Dynamic workflows](/docs/id/workflows)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil

150 150 

151**Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude beri nama ketika memunculkannya juga dapat [saling berkirim pesan](/docs/id/sub-agents#what-loads-at-startup).151**Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude [beri nama](/docs/id/sub-agents#subagent-names) ketika memunculkannya juga dapat [saling berkirim pesan](/docs/id/sub-agents#what-loads-at-startup).

152 152 

153**Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](/docs/id/workflows#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](/docs/id/workflows#ask-for-a-workflow-in-your-prompt).153**Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](/docs/id/workflows#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](/docs/id/workflows#ask-for-a-workflow-in-your-prompt).

154 154 

fullscreen.md +1 −0

Details

32* [Mode izin](/docs/id/permission-modes) dan [tingkat upaya](/docs/id/model-config#adjust-effort-level) Anda32* [Mode izin](/docs/id/permission-modes) dan [tingkat upaya](/docs/id/model-config#adjust-effort-level) Anda

33* Model yang terakhir Anda pilih dengan [`/model`](/docs/id/model-config#setting-your-model)33* Model yang terakhir Anda pilih dengan [`/model`](/docs/id/model-config#setting-your-model)

34* Aturan yang Anda berikan dengan [`--allowed-tools` atau `--disallowed-tools`](/docs/id/cli-reference#cli-flags), dan flag `--agent`, `--agents`, `--append-system-prompt`, dan `--system-prompt-snapshot` Anda34* Aturan yang Anda berikan dengan [`--allowed-tools` atau `--disallowed-tools`](/docs/id/cli-reference#cli-flags), dan flag `--agent`, `--agents`, `--append-system-prompt`, dan `--system-prompt-snapshot` Anda

35* Flag `--chrome` atau `--no-chrome` yang Anda gunakan saat meluncurkan, sehingga [integrasi Chrome](/docs/id/chrome) tetap aktif atau nonaktif sesuai pilihan Anda untuk sesi ini

35 36 

36Claude Code menolak untuk meluncurkan kembali jika sesi memiliki pembatasan yang tidak dapat dilewatkan ke proses yang dimulai ulang. Pembatasan yang tidak dapat dilewatkan termasuk:37Claude Code menolak untuk meluncurkan kembali jika sesi memiliki pembatasan yang tidak dapat dilewatkan ke proses yang dimulai ulang. Pembatasan yang tidak dapat dilewatkan termasuk:

37 38 

hipaa-setup.md +1 −0

Details

93| :- | :- |93| :- | :- |

94| `api.anthropic.com` | Permintaan Claude API, telemetri, dan kebijakan organisasi yang memberi tahu Claude Code bahwa konfigurasi HIPAA aktif |94| `api.anthropic.com` | Permintaan Claude API, telemetri, dan kebijakan organisasi yang memberi tahu Claude Code bahwa konfigurasi HIPAA aktif |

95| `claude.ai`, `claude.com`, `platform.claude.com` | Login dan penyegaran token |95| `claude.ai`, `claude.com`, `platform.claude.com` | Login dan penyegaran token |

96| `sso.claude.com` | Login, saat organisasi Anda menggunakan single sign-on |

96| `downloads.claude.ai` | Installer native dan pembaruannya |97| `downloads.claude.ai` | Installer native dan pembaruannya |

97| `mcp-proxy.anthropic.com` | [Konektor dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) |98| `mcp-proxy.anthropic.com` | [Konektor dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) |

98 99 

hooks.md +12 −6

Details

294| `SessionStart` | bagaimana sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |294| `SessionStart` | bagaimana sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |

295| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |295| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |

296| `SessionEnd` | mengapa sesi berakhir | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |296| `SessionEnd` | mengapa sesi berakhir | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

297| `Notification` | tipe notifikasi | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |297| `Notification` | tipe notifikasi | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

298| `SubagentStart` | tipe agent | `general-purpose`, `Explore`, `Plan`, nama agent kustom, atau nama dengan cakupan plugin seperti `^my-plugin:reviewer$` |298| `SubagentStart` | tipe agent | `general-purpose`, `Explore`, `Plan`, nama agent kustom, atau nama dengan cakupan plugin seperti `^my-plugin:reviewer$` |

299| `PreCompact`, `PostCompact` | apa yang memicu compaction | `manual`, `auto` |299| `PreCompact`, `PostCompact` | apa yang memicu compaction | `manual`, `auto` |

300| `PreModelSwitch`, `PostModelSwitch` | nama kanonik model yang sesi beralih ke, seperti dijelaskan di bawah [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |300| `PreModelSwitch`, `PostModelSwitch` | nama kanonik model yang sesi beralih ke, seperti dijelaskan di bawah [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |


1923 1923 

1924| Kolom | Deskripsi |1924| Kolom | Deskripsi |

1925| :- | :- |1925| :- | :- |

1926| `permissionDecision` | `"allow"` melewati permintaan izin, kecuali untuk [tindakan yang tidak disetujui otomatis oleh mode apa pun](/docs/id/permission-modes#actions-no-mode-auto-approves) dan [pembacaan dari path jaringan](/docs/id/permissions#network-paths). `AskUserQuestion` dan `ExitPlanMode` memerlukan [`updatedInput` yang dipasangkan dengan `"allow"`](#allow-with-updatedinput). Untuk plan mode, lihat [Persetujuan hook dalam plan mode](/docs/id/permissions#hook-approvals-in-plan-mode). `"deny"` mencegah panggilan tool. `"ask"` meminta pengguna untuk mengonfirmasi. `"defer"` keluar dengan baik sehingga tool dapat dilanjutkan nanti. [Aturan deny dan ask](/docs/id/permissions#manage-permissions) tetap dievaluasi terlepas dari apa yang dikembalikan hook |1926| `permissionDecision` | `"allow"` melewati permintaan izin, kecuali untuk [tindakan yang tidak disetujui otomatis oleh mode mana pun](/docs/id/permission-modes#actions-no-mode-auto-approves) dan [pembacaan dari path jaringan](/docs/id/permissions#network-paths). `AskUserQuestion` dan `ExitPlanMode` memerlukan [`updatedInput` yang dipasangkan dengan `"allow"`](#allow-with-updatedinput). Untuk plan mode, lihat [Persetujuan hook dalam plan mode](/docs/id/permissions#hook-approvals-in-plan-mode). `"deny"` mencegah panggilan tool. `"ask"` meminta pengguna untuk mengonfirmasi. `"defer"` mengakhiri giliran sehingga tool dapat dilanjutkan nanti, dan memerlukan [mode non-interaktif](#defer-a-tool-call-for-later) dengan flag `-p`. [Aturan deny dan ask](/docs/id/permissions#manage-permissions) tetap dievaluasi apa pun yang dikembalikan hook |

1927| `permissionDecisionReason` | Untuk `"ask"`, ditampilkan kepada pengguna dalam permintaan izin. Saat Claude Code [menolak panggilan](/docs/id/headless#turn-off-permission-prompts-in-unattended-runs) dalam eksekusi `-p` tempat tidak ada yang dapat menjawab permintaan tersebut, Claude membaca alasannya di hasil tool sebagai gantinya. Untuk `"deny"`, ditampilkan kepada Claude. Untuk `"allow"` dan `"defer"`, hanya ditulis ke [debug log](#debug-hooks) |1927| `permissionDecisionReason` | Untuk `"ask"`, ditampilkan kepada pengguna dalam permintaan izin. Saat Claude Code [menolak panggilan](/docs/id/headless#turn-off-permission-prompts-in-unattended-runs) dalam eksekusi `-p` tempat tidak ada yang dapat menjawab permintaan tersebut, Claude membaca alasannya di hasil tool sebagai gantinya. Untuk `"deny"`, ditampilkan kepada Claude. Untuk `"allow"` dan `"defer"`, hanya ditulis ke [debug log](#debug-hooks) |

1928| `updatedInput` | Mengubah parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan kolom yang tidak berubah bersama kolom yang diubah. Claude Code mengevaluasi aturan izin dan [kelayakan auto-background](/docs/id/tools-reference#foreground-commands-that-move-to-the-background) perintah Bash terhadap input yang dikembalikan hook Anda, bukan input yang dikirim Claude. Kombinasikan dengan `"allow"` untuk menyetujui otomatis, atau `"ask"` untuk menampilkan input yang diubah kepada pengguna. Untuk `"defer"`, diabaikan |1928| `updatedInput` | Mengubah parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan kolom yang tidak berubah bersama kolom yang diubah. Claude Code mengevaluasi aturan izin dan [kelayakan auto-background](/docs/id/tools-reference#foreground-commands-that-move-to-the-background) perintah Bash terhadap input yang dikembalikan hook Anda, bukan input yang dikirim Claude. Kombinasikan dengan `"allow"` untuk menyetujui otomatis, atau `"ask"` untuk menampilkan input yang diubah kepada pengguna. Untuk `"defer"`, diabaikan |

1929| `additionalContext` | String yang ditambahkan ke konteks Claude bersama hasil tool. Diabaikan saat `permissionDecision` bernilai `"defer"`. Lihat [Menambahkan konteks untuk Claude](#add-context-for-claude) |1929| `additionalContext` | String yang ditambahkan ke konteks Claude bersama hasil tool. Diabaikan saat `permissionDecision` bernilai `"defer"`. Lihat [Menambahkan konteks untuk Claude](#add-context-for-claude) |


1997Tool `AskUserQuestion` adalah kasus yang umum: Claude ingin menanyakan sesuatu kepada pengguna, tetapi tidak ada terminal untuk menjawabnya. Eksekusi `-p` hanya menawarkan `AskUserQuestion` saat memiliki [host izin](/docs/id/headless#turn-off-permission-prompts-in-unattended-runs), seperti tool MCP yang Anda berikan dengan `--permission-prompt-tool`, jadi mulailah eksekusi dengan salah satunya. Alur bolak-baliknya berjalan seperti ini:1997Tool `AskUserQuestion` adalah kasus yang umum: Claude ingin menanyakan sesuatu kepada pengguna, tetapi tidak ada terminal untuk menjawabnya. Eksekusi `-p` hanya menawarkan `AskUserQuestion` saat memiliki [host izin](/docs/id/headless#turn-off-permission-prompts-in-unattended-runs), seperti tool MCP yang Anda berikan dengan `--permission-prompt-tool`, jadi mulailah eksekusi dengan salah satunya. Alur bolak-baliknya berjalan seperti ini:

1998 1998 

19991. Claude memanggil `AskUserQuestion`. Hook `PreToolUse` dipicu.19991. Claude memanggil `AskUserQuestion`. Hook `PreToolUse` dipicu.

20002. Hook mengembalikan `permissionDecision: "defer"`. Tool tidak dieksekusi. Proses keluar dengan `stop_reason: "tool_deferred"` dan panggilan tool yang tertunda dipertahankan dalam transkrip.20002. Hook mengembalikan `permissionDecision: "defer"`. Tool tidak dieksekusi. Giliran berakhir dengan hasil yang membawa `stop_reason: "tool_deferred"`, dan panggilan tool yang tertunda tetap berada di transkrip.

20013. Proses pemanggil membaca `deferred_tool_use` dari hasil SDK, menampilkan pertanyaan di UI-nya sendiri, dan menunggu jawaban.20013. Proses pemanggil membaca `deferred_tool_use` dari hasil SDK, menampilkan pertanyaan di UI-nya sendiri, dan menunggu jawaban.

20024. Proses pemanggil menjalankan `claude -p --resume <session-id>` dengan host izin yang sama. Panggilan tool yang sama memicu `PreToolUse` lagi.20024. Proses pemanggil menjalankan `claude -p --resume <session-id>` dengan host izin yang sama. Panggilan tool yang sama memicu `PreToolUse` lagi.

20035. Hook mengembalikan `permissionDecision: "allow"` dengan jawaban di `updatedInput`. Tool dieksekusi dan Claude melanjutkan.20035. Hook mengembalikan `permissionDecision: "allow"` dengan jawaban di `updatedInput`. Tool dieksekusi dan Claude melanjutkan.


2018}2018}

2019```2019```

2020 2020 

2021Tidak ada timeout atau batas retry. Sesi tetap berada di disk hingga Anda melanjutkannya, dengan tunduk pada pembersihan retensi [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), yang menghapus file sesi setelah 30 hari secara default, mengikuti [aturan pembersihan retensi](/docs/id/claude-directory#cleaned-up-automatically). Jika jawaban belum siap saat Anda melanjutkan, hook dapat mengembalikan `"defer"` lagi dan proses keluar dengan cara yang sama. Proses pemanggil mengontrol kapan memutus perulangan dengan pada akhirnya mengembalikan `"allow"` atau `"deny"` dari hook.2021Tidak ada timeout atau batas retry. Sesi tetap ada di disk hingga Anda melanjutkannya, dengan tunduk pada pembersihan retensi [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), yang menghapus file sesi setelah 30 hari secara default, mengikuti [aturan pembersihan retensi](/docs/id/claude-directory#cleaned-up-automatically).

2022 2022 

2023`"defer"` hanya berfungsi saat Claude melakukan satu panggilan tool dalam giliran tersebut. Jika Claude melakukan beberapa panggilan tool sekaligus, `"defer"` diabaikan dengan peringatan dan tool berlanjut melalui alur izin normal. Batasan ini ada karena resume hanya dapat menjalankan ulang satu tool: tidak ada cara untuk menangguhkan satu panggilan dari sekumpulan panggilan tanpa membiarkan yang lain tidak terselesaikan.2023Jika tool yang ditunda tidak lagi tersedia saat Anda melanjutkan, hasil pertama dari pelanjutan tersebut memiliki `stop_reason: "tool_deferred_unavailable"` dan `is_error: true`, dan hook tidak dipicu. Ini terjadi saat server MCP yang menyediakan tool tersebut tidak terhubung untuk sesi yang dilanjutkan. Payload `deferred_tool_use` tetap disertakan sehingga Anda dapat mengidentifikasi tool mana yang hilang.

2024 

2025* **Jika Anda tidak mengirim prompt, baik bersama pelanjutan maupun setelahnya**, panggilan masih tertunda. Lanjutkan lagi dengan tool tersedia dan panggilan tersebut akan berjalan terlebih dahulu.

2026* **Jika Anda mengirim prompt, baik bersama pelanjutan maupun setelahnya**, Claude Code menjawabnya tanpa hasil tool dan membuang panggilan yang ditunda. Kirim prompt baru setelah tool tersedia jika Anda masih memerlukan tool tersebut dipanggil.

2024 2027 

2025Jika tool yang ditangguhkan tidak lagi tersedia saat Anda melanjutkan, proses keluar dengan `stop_reason: "tool_deferred_unavailable"` dan `is_error: true` sebelum hook dipicu. Ini terjadi saat server MCP yang menyediakan tool tersebut tidak terhubung untuk sesi yang dilanjutkan. Payload `deferred_tool_use` tetap disertakan sehingga Anda dapat mengidentifikasi tool mana yang hilang.2028Jika jawaban yang Anda tunggu belum siap saat Anda melanjutkan tanpa prompt, hook dapat mengembalikan `"defer"` lagi. Jika Anda mengirim prompt dan hook menunda lagi, Claude Code memperlakukan prompt dengan cara yang sama: menjawab tanpa hasil tool dan membuang panggilan. Lanjutkan tanpa prompt hingga hook mengembalikan `"allow"` atau `"deny"`, yang merupakan cara proses pemanggil memutus perulangan.

2029 

2030`"defer"` hanya berfungsi saat Claude melakukan satu panggilan tool dalam giliran tersebut. Jika Claude melakukan beberapa panggilan tool sekaligus, `"defer"` diabaikan dengan peringatan dan tool berlanjut melalui alur izin normal. Batasan ini ada karena resume hanya dapat menjalankan ulang satu tool: tidak ada cara untuk menangguhkan satu panggilan dari sekumpulan panggilan tanpa membiarkan yang lain tidak terselesaikan.

2026 2031 

2027> [!NOTE]2032> [!NOTE]

2028>2033>


2424| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjedanya: pada saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket Anda, atau beralih model, membuat penggunaan tersedia kembali, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |2429| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjedanya: pada saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket Anda, atau beralih model, membuat penggunaan tersedia kembali, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |

2425| `quota_auto_resume_stale` | Batas penggunaan claude.ai di-reset saat komputer Anda dalam mode tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` alih-alih melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan memicu `quota_auto_resume_fired` sebagai gantinya |2430| `quota_auto_resume_stale` | Batas penggunaan claude.ai di-reset saat komputer Anda dalam mode tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` alih-alih melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan memicu `quota_auto_resume_fired` sebagai gantinya |

2426| `quota_auto_resume_disabled` | Claude Code mengakhiri penantiannya untuk batas penggunaan claude.ai tanpa melanjutkan tugas Anda: [`autoContinueAtUsageLimit`](/docs/id/settings-reference#autocontinueatusagelimit) dimatikan atau reset bergeser lebih dari 24 jam selama penantian yang dimulai Claude Code sendiri, tugas yang dilanjutkan terus mencapai batas, atau kelanjutan diblokir sebelum mencapai model. Tidak dipicu ketika Anda menekan `Esc` atau `Ctrl+C`, atau memilih **Don't continue automatically** |2431| `quota_auto_resume_disabled` | Claude Code mengakhiri penantiannya untuk batas penggunaan claude.ai tanpa melanjutkan tugas Anda: [`autoContinueAtUsageLimit`](/docs/id/settings-reference#autocontinueatusagelimit) dimatikan atau reset bergeser lebih dari 24 jam selama penantian yang dimulai Claude Code sendiri, tugas yang dilanjutkan terus mencapai batas, atau kelanjutan diblokir sebelum mencapai model. Tidak dipicu ketika Anda menekan `Esc` atau `Ctrl+C`, atau memilih **Don't continue automatically** |

2432| `plugin_notification` | Sebuah [mod](/docs/id/plugins/mods/api#show-something-without-starting-a-turn) memunculkan notifikasi dengan `$.ui.notify`. `title` hook adalah nama mod kecuali mod tersebut menetapkannya |

2427 2433 

2428Jenis `quota_auto_resume_fired`, `quota_auto_resume_stale`, dan `quota_auto_resume_disabled` memerlukan Claude Code v2.1.234 atau lebih baru.2434Jenis `quota_auto_resume_fired`, `quota_auto_resume_stale`, dan `quota_auto_resume_disabled` memerlukan Claude Code v2.1.234 atau lebih baru.

2429 2435 

hooks-guide.md +3 −2

Details

193| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjeda: saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket, atau beralih model, membuat penggunaan tersedia lagi, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |193| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjeda: saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket, atau beralih model, membuat penggunaan tersedia lagi, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |

194| `quota_auto_resume_stale` | Batas penggunaan claude.ai reset saat komputer Anda tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` daripada melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan menampilkan `quota_auto_resume_fired` sebagai gantinya |194| `quota_auto_resume_stale` | Batas penggunaan claude.ai reset saat komputer Anda tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` daripada melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan menampilkan `quota_auto_resume_fired` sebagai gantinya |

195| `quota_auto_resume_disabled` | Claude Code mengakhiri penantiannya untuk batas penggunaan claude.ai tanpa melanjutkan tugas Anda: [`autoContinueAtUsageLimit`](/docs/id/settings-reference#autocontinueatusagelimit) dimatikan atau reset bergerak lebih dari 24 jam jauh selama menunggu Claude Code dimulai sendiri, tugas yang dilanjutkan terus mencapai batas, atau kelanjutan diblokir sebelum mencapai model. Tidak aktif ketika Anda menekan `Esc` atau `Ctrl+C`, atau memilih **Don't continue automatically** |195| `quota_auto_resume_disabled` | Claude Code mengakhiri penantiannya untuk batas penggunaan claude.ai tanpa melanjutkan tugas Anda: [`autoContinueAtUsageLimit`](/docs/id/settings-reference#autocontinueatusagelimit) dimatikan atau reset bergerak lebih dari 24 jam jauh selama menunggu Claude Code dimulai sendiri, tugas yang dilanjutkan terus mencapai batas, atau kelanjutan diblokir sebelum mencapai model. Tidak aktif ketika Anda menekan `Esc` atau `Ctrl+C`, atau memilih **Don't continue automatically** |

196| `plugin_notification` | Sebuah [mod](/docs/id/plugins/mods/api#show-something-without-starting-a-turn) memunculkan notifikasi dengan `$.ui.notify`. `title` hook adalah nama mod kecuali mod menetapkannya sendiri |

196 197 

197Claude Code mengatur waktu `permission_prompt` berbeda di terminal dan di Claude Desktop, ekstensi VS Code, dan host lain yang menjawab permintaan izin melalui Agent SDK. Lihat [kapan setiap jenis notifikasi aktif](/docs/id/hooks#notification) untuk kedua waktu.198Claude Code mengatur waktu `permission_prompt` berbeda di terminal dan di Claude Desktop, ekstensi VS Code, dan host lain yang menjawab permintaan izin melalui Agent SDK. Lihat [kapan setiap jenis notifikasi aktif](/docs/id/hooks#notification) untuk kedua waktu.

198 199 


632 633 

633 Untuk apa yang dilakukan `"allow"` dalam plan mode, lihat [Persetujuan hook dalam plan mode](/docs/id/permissions#hook-approvals-in-plan-mode).634 Untuk apa yang dilakukan `"allow"` dalam plan mode, lihat [Persetujuan hook dalam plan mode](/docs/id/permissions#hook-approvals-in-plan-mode).

634 635 

635Nilai keempat, `"defer"`, tersedia dalam [non-interactive mode](/docs/id/headless) dengan flag `-p`. Ini keluar dari proses dengan panggilan alat yang dipertahankan sehingga pembungkus Agent SDK dapat mengumpulkan input dan melanjutkan. Lihat [Defer a tool call for later](/docs/id/hooks#defer-a-tool-call-for-later) dalam referensi.636Nilai keempat, `"defer"`, tersedia dalam [mode non-interaktif](/docs/id/headless) dengan flag `-p`. Mengembalikannya akan mengakhiri giliran dengan panggilan tool yang dipertahankan, sehingga pembungkus Agent SDK dapat mengumpulkan input dan melanjutkan. Lihat [Defer a tool call for later](/docs/id/hooks#defer-a-tool-call-for-later) dalam referensi.

636 637 

637Hook `PreModelSwitch` mengembalikan bidang `permissionDecision` yang sama: `"allow"` membiarkan switch model berlanjut, dan `"deny"` membatalkannya. `"ask"` membuat Anda mengonfirmasi switch ketika Anda menjalankan `/model` dalam sesi interaktif; di tempat lain, Claude Code memperlakukan `"ask"` sebagai penolakan. Lihat [PreModelSwitch decision control](/docs/id/hooks#premodelswitch-decision-control).638Hook `PreModelSwitch` mengembalikan bidang `permissionDecision` yang sama: `"allow"` membiarkan switch model berlanjut, dan `"deny"` membatalkannya. `"ask"` membuat Anda mengonfirmasi switch ketika Anda menjalankan `/model` dalam sesi interaktif; di tempat lain, Claude Code memperlakukan `"ask"` sebagai penolakan. Lihat [PreModelSwitch decision control](/docs/id/hooks#premodelswitch-decision-control).

638 639 


686| `SessionStart` | cara sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |687| `SessionStart` | cara sesi dimulai | `startup`, `resume`, `clear`, `compact`, `fork` |

687| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |688| `Setup` | flag CLI mana yang memicu setup | `init`, `maintenance` |

688| `SessionEnd` | mengapa sesi berakhir | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |689| `SessionEnd` | mengapa sesi berakhir | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

689| `Notification` | jenis notifikasi | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |690| `Notification` | jenis notifikasi | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

690| `SubagentStart` | jenis agen | `general-purpose`, `Explore`, `Plan`, atau nama agen khusus |691| `SubagentStart` | jenis agen | `general-purpose`, `Explore`, `Plan`, atau nama agen khusus |

691| `PreCompact`, `PostCompact` | apa yang memicu compaction | `manual`, `auto` |692| `PreCompact`, `PostCompact` | apa yang memicu compaction | `manual`, `auto` |

692| `PreModelSwitch`, `PostModelSwitch` | nama kanonik model yang dialihkan sesi, seperti dijelaskan di bawah [PreModelSwitch](/docs/id/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |693| `PreModelSwitch`, `PostModelSwitch` | nama kanonik model yang dialihkan sesi, seperti dijelaskan di bawah [PreModelSwitch](/docs/id/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

Details

18 18 

19| Pintasan | Deskripsi | Konteks |19| Pintasan | Deskripsi | Konteks |

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

21| `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. Tekan `Up` saat prompt masih kosong untuk mengembalikan draf yang dihapus, yang memerlukan Claude Code v2.1.288 atau yang lebih baru |21| `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. Untuk mendapatkan kembali draf yang telah dihapus, lihat [Kembalikan draf yang dihapus](#bring-back-a-cleared-draft) |

22| `Ctrl+X Ctrl+K` | Hentikan semua [subagent latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) yang berjalan dalam sesi ini, dan matikan [balasan otomatis artifact](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) untuk sisa sesi tersebut. Tekan dua kali dalam 3 detik untuk mengonfirmasi. Anda dapat menekannya saat permintaan izin subagent latar belakang sedang terbuka | Kontrol subagent |22| `Ctrl+X Ctrl+K` | Hentikan semua [subagent latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) yang berjalan dalam sesi ini, dan matikan [balasan otomatis artifact](/docs/id/artifacts#let-claude-reply-to-comments-on-its-own) untuk sisa sesi tersebut. Tekan dua kali dalam 3 detik untuk mengonfirmasi. Anda dapat menekannya saat permintaan izin subagent latar belakang sedang terbuka | Kontrol subagent |

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

24| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default Anda. `Ctrl+X Ctrl+E` adalah binding readline asli. Aktifkan **Tampilkan respons terakhir di editor eksternal** di `/config` untuk menambahkan balasan sebelumnya Claude sebagai konteks berkomentar `#` di atas prompt Anda; Claude Code menghapus blok komentar saat Anda menyimpan |24| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default Anda. `Ctrl+X Ctrl+E` adalah binding readline asli. Aktifkan **Tampilkan respons terakhir di editor eksternal** di `/config` untuk menambahkan balasan sebelumnya Claude sebagai konteks berkomentar `#` di atas prompt Anda; Claude Code menghapus blok komentar saat Anda menyimpan |


262 262 

263Mode visual berdasarkan blok dengan `Ctrl+V` tidak didukung.263Mode visual berdasarkan blok dengan `Ctrl+V` tidak didukung.

264 264 

265### Membatalkan pertanyaan dalam mode vim

266 

267Saat Anda mengetik jawaban Anda sendiri di baris `Other` dari [pertanyaan yang diajukan Claude](/docs/id/tools-reference#askuserquestion-tool-behavior), tekan `Esc` dua kali untuk membatalkan pertanyaan.

268 

269Untuk membatalkan dengan satu kali penekanan tombol, [ikat tombol lain untuk membatalkan pertanyaan](/docs/id/keybindings#cancel-a-question-with-one-key-press).

270 

265## Riwayat perintah271## Riwayat perintah

266 272 

267Claude Code menyimpan riwayat prompt yang Anda ketik, dan recall dengan tombol Up-arrow mengambil prompt dari sesi sebelumnya di proyek yang sama:273Claude Code menyimpan riwayat prompt yang Anda ketik, dan recall dengan tombol Up-arrow mengambil prompt dari sesi sebelumnya di proyek yang sama:


272* Ketika Anda mengingat kembali prompt yang menyertakan teks yang ditempel, Claude Code mengirimkan kembali konten yang ditempel penuh saat Anda mengirimkan ulang. Jika konten telah [dibersihkan](/docs/id/claude-directory#cleaned-up-automatically), Claude Code tidak mengirimkan string literal `[Pasted text #N]`; lihat [Paste large content](/docs/id/terminal-config#paste-large-content) untuk apa yang terjadi pada prompt278* Ketika Anda mengingat kembali prompt yang menyertakan teks yang ditempel, Claude Code mengirimkan kembali konten yang ditempel penuh saat Anda mengirimkan ulang. Jika konten telah [dibersihkan](/docs/id/claude-directory#cleaned-up-automatically), Claude Code tidak mengirimkan string literal `[Pasted text #N]`; lihat [Paste large content](/docs/id/terminal-config#paste-large-content) untuk apa yang terjadi pada prompt

273* Ekspansi riwayat dengan `!` dinonaktifkan secara default279* Ekspansi riwayat dengan `!` dinonaktifkan secara default

274 280 

281### Mengembalikan draf yang telah dihapus

282 

283Untuk mendapatkan kembali draf yang Anda hapus dengan `Ctrl+C`, tekan `Up`, baik segera maupun setelah Anda mengirim pesan atau perintah:

284 

285* **Segera setelah menghapus draf**: tekan `Up` sekali selagi prompt masih kosong. Memerlukan Claude Code v2.1.288 atau yang lebih baru.

286* **Setelah mengirim pesan atau perintah**: tekan `Up` untuk melangkah kembali ke draf. Claude Code menyimpan sepuluh draf terhapus terbaru untuk sesi saat ini, beserta teks yang ditempel dan gambarnya, dan membuangnya saat Anda keluar. Memerlukan Claude Code v2.1.292 atau yang lebih baru.

287 

275### Pencarian terbalik dengan Ctrl+R288### Pencarian terbalik dengan Ctrl+R

276 289 

277Tekan `Ctrl+R` untuk mencari secara interaktif melalui riwayat perintah Anda. Dalam [fullscreen rendering](/docs/id/fullscreen), `Ctrl+R` membuka dialog pencarian sebagai gantinya: ketik untuk memfilter, tekan `Up` dan `Down` untuk bergerak melalui kecocokan, dan tekan `Ctrl+S` untuk mengubah cakupan melalui sesi ini, proyek ini, dan semua proyek. Tekan `Enter` atau `Tab` untuk menempatkan kecocokan dalam input prompt, atau `Esc` untuk membatalkan. Langkah-langkah di bawah menjelaskan pencarian inline renderer klasik:290Tekan `Ctrl+R` untuk mencari secara interaktif melalui riwayat perintah Anda. Dalam [fullscreen rendering](/docs/id/fullscreen), `Ctrl+R` membuka dialog pencarian sebagai gantinya: ketik untuk memfilter, tekan `Up` dan `Down` untuk bergerak melalui kecocokan, dan tekan `Ctrl+S` untuk mengubah cakupan melalui sesi ini, proyek ini, dan semua proyek. Tekan `Enter` atau `Tab` untuk menempatkan kecocokan dalam input prompt, atau `Esc` untuk membatalkan. Langkah-langkah di bawah menjelaskan pencarian inline renderer klasik:


356 369 

357## Antrekan pesan saat Claude bekerja370## Antrekan pesan saat Claude bekerja

358 371 

359Ketik pesan dan tekan `Enter` saat Claude sedang bekerja. Claude Code mengantrekan pesan alih-alih mengganggu giliran, dan menampilkan entri yang antri di dalam percakapan hingga dikirimkan. Anda dapat mengantrekan perintah `!` [shell](#shell-mode-with-prefix) dan sebagian besar [perintah](/docs/id/commands) dengan cara yang sama, terlepas dari perintah seperti `/status` yang Claude Code jalankan segera setelah Anda mengirimkannya.372Ketik pesan dan tekan `Enter` saat Claude sedang bekerja. Claude Code mengantrekan pesan alih-alih mengganggu giliran, dan menampilkan entri yang antri di dalam percakapan hingga dikirimkan. Anda dapat mengantrekan perintah `!` [shell](#shell-mode-with-prefix) dan sebagian besar [perintah](/docs/id/commands) dengan cara yang sama, kecuali perintah seperti `/status` yang Claude Code jalankan segera setelah Anda mengirimkannya.

360 373 

361Pesan yang dikirim dan antri ditampilkan dalam warna abu-abu hingga Claude mulai merespons, sehingga Anda dapat mengetahui pesan mana yang belum dimulai oleh Claude.374Pesan yang dikirim dan antri ditampilkan dalam warna abu-abu hingga Claude mulai merespons, sehingga Anda dapat mengetahui pesan mana yang belum dimulai oleh Claude.

362 375 


386* [`/effort`](/docs/id/model-config#adjust-effort-level): setelah Anda mengonfirmasi [peringatan cache](/docs/id/prompt-caching#changing-effort-level), jika Claude Code menampilkannya, Claude Code menerapkan perubahan Anda ke permintaan berikutnya yang dibuat dalam giliran itu399* [`/effort`](/docs/id/model-config#adjust-effort-level): setelah Anda mengonfirmasi [peringatan cache](/docs/id/prompt-caching#changing-effort-level), jika Claude Code menampilkannya, Claude Code menerapkan perubahan Anda ke permintaan berikutnya yang dibuat dalam giliran itu

387* [`/fast`](/docs/id/fast-mode#toggle-fast-mode): Claude Code mempertahankan pengaturan fast mode yang aktif saat giliran dimulai, jadi perubahan kecepatan Anda berlaku dari giliran Anda berikutnya. Jika model saat ini Anda tidak mendukung fast mode, mengaktifkannya juga [beralih model Anda](/docs/id/prompt-caching#turning-on-fast-mode), dan Claude Code menggunakan model baru dari permintaan berikutnya dalam giliran itu400* [`/fast`](/docs/id/fast-mode#toggle-fast-mode): Claude Code mempertahankan pengaturan fast mode yang aktif saat giliran dimulai, jadi perubahan kecepatan Anda berlaku dari giliran Anda berikutnya. Jika model saat ini Anda tidak mendukung fast mode, mengaktifkannya juga [beralih model Anda](/docs/id/prompt-caching#turning-on-fast-mode), dan Claude Code menggunakan model baru dari permintaan berikutnya dalam giliran itu

388 401 

402### Pindahkan sesi ke latar belakang dengan pesan yang antri

403 

404Ketika sesi berpindah ke latar belakang setelah Anda [menekan `←`](/docs/id/agent-view#switch-sessions-without-leaving-the-terminal), pesan yang Anda antrekan ikut berpindah bersamanya. Claude membacanya di sana dalam urutan yang Anda kirimkan.

405 

406Perintah dan perintah shell `!` tidak dapat dipindahkan, begitu pula beberapa pesan, seperti pesan dengan [pilihan IDE](/docs/id/vs-code#the-built-in-ide-mcp-server) terlampir. Jika Anda menekan `←` saat salah satunya sedang antri, sesi tetap berada di latar depan dan muncul pemberitahuan yang diawali dengan `Cannot open agents`. Untuk memindahkan sesi ke latar belakang, keluarkan entri tersebut dari antrian lalu tekan `←` lagi:

407 

408* **Perintah dan perintah shell `!`**: tunggu hingga perintah tersebut dijalankan di akhir giliran, atau [ambil kembali](#take-back-what-you-queued) lalu kosongkan kotak input. Selama ada hal lain yang antri, Anda tidak dapat mengambil kembali perintah shell `!`, jadi tunggu hingga perintah tersebut dijalankan.

409* **Pesan yang tidak dapat dipindahkan**: tunggu hingga Claude telah membacanya

410 

389### Ambil kembali apa yang Anda antrekan411### Ambil kembali apa yang Anda antrekan

390 412 

391Tekan `Up` dari baris pertama kotak input untuk mengambil kembali pesan dan perintah yang antri. Claude Code menghapusnya dari antrian dan menempatkannya di kotak input, satu per baris, di depan teks apa pun yang telah Anda ketik. Edit teks dan tekan `Enter` untuk mengantrekannya lagi sebagai satu entri, atau kosongkan kotak input untuk melepaskannya.413Tekan `Up` dari baris pertama kotak input untuk mengambil kembali pesan dan perintah yang antri. Claude Code menghapusnya dari antrian dan menempatkannya di kotak input, satu per baris, di depan teks apa pun yang telah Anda ketik. Edit teks dan tekan `Enter` untuk mengantrekannya lagi sebagai satu entri, atau kosongkan kotak input untuk melepaskannya.

keybindings.md +23 −0

Details

446| :- | :- | :- |446| :- | :- | :- |

447| `settings:search` | / | Masuk mode pencarian |447| `settings:search` | / | Masuk mode pencarian |

448| `settings:retry` | R | Coba muat ulang data penggunaan saat terjadi kesalahan |448| `settings:retry` | R | Coba muat ulang data penggunaan saat terjadi kesalahan |

449| `settings:fixUsage` | F | Kirim ke sesi Anda [rekomendasi `/usage`](/docs/id/costs#apply-recommendations-with-the-fix-shortcut) yang dapat diterapkan Claude Code, ketika footer `/usage` menawarkan perbaikan. Memerlukan v2.1.305 atau lebih baru |

449| `select:accept` | Enter, Space | Ubah pengaturan yang dipilih atau buka submenu-nya |450| `select:accept` | Enter, Space | Ubah pengaturan yang dipilih atau buka submenu-nya |

450| `confirm:no` | Escape | Tutup panel. Perubahan sudah disimpan |451| `confirm:no` | Escape | Tutup panel. Perubahan sudah disimpan |

451 452 


688 689 

689Pada baris `Other` dari pertanyaan yang diajukan Claude, Escape tidak langsung membatalkan pertanyaan dalam mode vim. Kecuali dalam [mode pembaca layar](/docs/id/accessibility), baris tersebut dimulai dalam mode INSERT setiap kali Anda memfokuskannya. Ketika Anda menekan Escape di baris `Other`, baris tersebut beralih ke mode NORMAL atau membuang perintah vim yang baru diketik sebagian, dan pertanyaan tetap terbuka. Tekan Escape lagi dalam mode NORMAL untuk membatalkan pertanyaan.690Pada baris `Other` dari pertanyaan yang diajukan Claude, Escape tidak langsung membatalkan pertanyaan dalam mode vim. Kecuali dalam [mode pembaca layar](/docs/id/accessibility), baris tersebut dimulai dalam mode INSERT setiap kali Anda memfokuskannya. Ketika Anda menekan Escape di baris `Other`, baris tersebut beralih ke mode NORMAL atau membuang perintah vim yang baru diketik sebagian, dan pertanyaan tetap terbuka. Tekan Escape lagi dalam mode NORMAL untuk membatalkan pertanyaan.

690 691 

692### Membatalkan pertanyaan dengan satu kali tekan tombol

693 

694Untuk membatalkan pertanyaan dengan satu kali tekan tombol dalam mode vim, ikat tombol lain ke `select:cancel` dalam konteks `Select`. Anda dapat membatalkan dengan cara ini dari baris `Other` pada pertanyaan di mana Anda memilih satu opsi. Dalam [mode pembaca layar](/docs/id/accessibility) atau pada pertanyaan di mana Anda dapat memilih beberapa opsi, tombol yang diikat tidak membatalkan, jadi batalkan dengan Escape sebagai gantinya.

695 

696Pilih tombol yang Anda tekan bersama Ctrl atau Alt. Huruf atau angka tunggal [masuk ke baris `Other`](#text-fields) dan tidak mencapai pintasan keyboard Anda. Misalnya, untuk mengikat `Ctrl+Q`, tambahkan ini ke `~/.claude/keybindings.json`:

697 

698```json theme={null}

699{

700 "bindings": [

701 {

702 "context": "Select",

703 "bindings": {

704 "ctrl+q": "select:cancel"

705 }

706 }

707 ]

708}

709```

710 

711Setelah Anda menyimpan file, tekan `Ctrl+Q` di baris `Other` pada pertanyaan di mana Anda memilih satu opsi. Pertanyaan akan tertutup baik saat baris dalam mode INSERT maupun NORMAL.

712 

691## Validasi713## Validasi

692 714 

693Claude Code memvalidasi pintasan keyboard Anda dan menulis peringatan ke log debug untuk:715Claude Code memvalidasi pintasan keyboard Anda dan menulis peringatan ke log debug untuk:

694 716 

695* Parse errors (JSON atau struktur tidak valid)717* Parse errors (JSON atau struktur tidak valid)

696* Modifier yang salah eja, seperti `ctl+k`. Claude Code menghapus bagian yang tidak dikenalinya dan menerapkan binding ke keystroke yang tersisa, `k` dalam contoh ini.718* Modifier yang salah eja, seperti `ctl+k`. Claude Code menghapus bagian yang tidak dikenalinya dan menerapkan binding ke keystroke yang tersisa, `k` dalam contoh ini.

719* Spasi di samping `+` dalam string kunci, seperti `ctrl+ k`. Claude Code membaca string tersebut sebagai [chord](#chords) dari `ctrl+` diikuti oleh `k`. Tidak ada penekanan tombol yang cocok dengan `ctrl+` saja, sehingga binding tidak pernah aktif. Hapus spasinya.

697* Nama konteks tidak valid720* Nama konteks tidak valid

698* Nilai action tidak valid, seperti action yang bukan string atau `null`721* Nilai action tidak valid, seperti action yang bukan string atau `null`

699* Nama action yang tidak dikenal, seperti typo dari action yang terdaftar. Claude Code melewati binding dan mempertahankan binding default apa pun untuk kunci tersebut.722* Nama action yang tidak dikenal, seperti typo dari action yang terdaftar. Claude Code melewati binding dan mempertahankan binding default apa pun untuk kunci tersebut.

Details

93```markdown packages/api/CLAUDE.md theme={null}93```markdown packages/api/CLAUDE.md theme={null}

94Salin `.env.example` ke `.env` sebelum menjalankan apa pun. Tes dan dev server gagal tanpanya.94Salin `.env.example` ke `.env` sebelum menjalankan apa pun. Tes dan dev server gagal tanpanya.

95Tulis kueri database dengan Knex query builder. Jangan pernah letakkan string SQL mentah di route handlers.95Tulis kueri database dengan Knex query builder. Jangan pernah letakkan string SQL mentah di route handlers.

96Jangan pernah edit migrasi setelah digabung. Tambahkan migrasi baru sebagai gantinya.96Jangan pernah edit migrasi setelah di-merge. Tambahkan migrasi baru sebagai gantinya.

97```97```

98 98 

99Ketika Anda memulai Claude dari `packages/api/`, itu memuat baik `packages/api/CLAUDE.md` dan root `CLAUDE.md`. Claude melihat instruksi lokal bersama aturan repository-wide, tanpa instruksi dari `packages/web/` dalam konteks. Hal yang sama berlaku untuk subdirektori apa pun dalam pohon non-monorepo. Untuk mengonfirmasi file mana yang dimuat, jalankan `/context` dan periksa daftar di bawah **Memory files**.99Ketika Anda memulai Claude dari `packages/api/`, itu memuat baik `packages/api/CLAUDE.md` dan root `CLAUDE.md`. Claude melihat instruksi lokal bersama aturan repository-wide, tanpa instruksi dari `packages/web/` dalam konteks. Hal yang sama berlaku untuk subdirektori apa pun dalam pohon non-monorepo. Untuk mengonfirmasi file mana yang dimuat, jalankan `/context` dan periksa daftar di bawah **Memory files**.


141* `"**/packages/legacy-*/**"`: mengecualikan setiap paket yang namanya cocok dengan glob, termasuk rules141* `"**/packages/legacy-*/**"`: mengecualikan setiap paket yang namanya cocok dengan glob, termasuk rules

142* `"/home/user/monorepo/legacy/CLAUDE.md"`: mengecualikan satu file tertentu berdasarkan jalur absolut142* `"/home/user/monorepo/legacy/CLAUDE.md"`: mengecualikan satu file tertentu berdasarkan jalur absolut

143 143 

144File CLAUDE.md kebijakan yang dikelola tidak dapat dikecualikan, jadi instruksi organisasi-wide selalu berlaku. Anda dapat mengatur `claudeMdExcludes` di [settings scope](/docs/id/settings#where-settings-live) apa pun: user, project, local, atau managed. Array menggabung di seluruh scope, jadi tim dapat mengatur default level-proyek sementara individu menambahkan override lokal.144Anda dapat mengatur `claudeMdExcludes` di [cakupan pengaturan](/docs/id/settings#where-settings-live) apa pun: user, project, local, atau managed. Array digabungkan di seluruh cakupan, jadi tim dapat mengatur default level-proyek sementara individu menambahkan override lokal. Jika organisasi Anda menerapkan [file CLAUDE.md yang dikelola](/docs/id/memory#deploy-organization-wide-claude-md), pola yang cocok dengan file tersebut tidak akan melewatinya, di cakupan mana pun pola tersebut diatur.

145 145 

146Untuk dokumentasi pengecualian lengkap, lihat [Exclude specific CLAUDE.md files](/docs/id/memory#exclude-specific-claude-md-files).146Untuk dokumentasi pengecualian lengkap, lihat [Exclude specific CLAUDE.md files](/docs/id/memory#exclude-specific-claude-md-files).

147 147 


349 349 

350Subdirektori berbeda memegang skills berbeda dengan cara yang sama: `packages/web/.claude/skills/component-patterns/` menjelaskan konvensi komponen frontend bukan pengujian. Ketika Claude bekerja pada file di `packages/api/`, itu memuat skill api-testing. Ketika itu bekerja di `packages/web/`, itu memuat component-patterns sebagai gantinya. Tidak ada skill direktori yang dimuat selama tugas yang lain.350Subdirektori berbeda memegang skills berbeda dengan cara yang sama: `packages/web/.claude/skills/component-patterns/` menjelaskan konvensi komponen frontend bukan pengujian. Ketika Claude bekerja pada file di `packages/api/`, itu memuat skill api-testing. Ketika itu bekerja di `packages/web/`, itu memuat component-patterns sebagai gantinya. Tidak ada skill direktori yang dimuat selama tugas yang lain.

351 351 

352Anda juga dapat membatasi skill berdasarkan pola file bukan penempatan. Field frontmatter [`paths`](/docs/id/skills#frontmatter-reference) mengambil pola glob, dan Claude memuat skill secara otomatis hanya ketika bekerja dengan file yang cocok. Gunakan ini untuk skill yang hidup di `.claude/skills/` repository root tetapi berlaku hanya untuk file tertentu di mana pun mereka muncul, seperti skill migrasi database yang dibatasi pada `**/migrations/**`.352Anda juga dapat membatasi skill berdasarkan pola file bukan penempatan. Field frontmatter [`paths`](/docs/id/skills#frontmatter-reference) mengambil pola glob, dan Claude memuat skill secara otomatis hanya ketika bekerja dengan file yang cocok. Gunakan ini untuk skill yang hidup di `.claude/skills/` root repositori tetapi hanya berlaku untuk file tertentu, seperti skill migrasi database yang dibatasi pada `**/migrations/**`.

353 353 

354Untuk lebih lanjut tentang membuat dan mengorganisir skills, lihat [Skills](/docs/id/skills).354Untuk lebih lanjut tentang membuat dan mengorganisir skills, lihat [Skills](/docs/id/skills).

355 355 

Details

513| `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) |513| `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) |

514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` ketika tidak ada yang menjawab di alamat, atau `Can't reach the API server — check your internet or DNS (ENOTFOUND)` ketika hostname tidak terselesaikan, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/docs/id/errors#automatic-retries). Kode dalam tanda kurung bervariasi; [Unable to connect to API](/docs/id/errors#unable-to-connect-to-api) mencakup ejaan kode dan kata-kata sebelumnya | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` ketika tidak ada yang menjawab di alamat, atau `Can't reach the API server — check your internet or DNS (ENOTFOUND)` ketika hostname tidak terselesaikan, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/docs/id/errors#automatic-retries). Kode dalam tanda kurung bervariasi; [Unable to connect to API](/docs/id/errors#unable-to-connect-to-api) mencakup ejaan kode dan kata-kata sebelumnya | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |

515| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang menjawab dengan sesuatu selain respons Claude API. [Referensi kesalahan](/docs/id/errors#api-returned-an-empty-or-malformed-response) menjelaskan detail yang dilaporkan pesan |515| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang menjawab dengan sesuatu selain respons Claude API. [Referensi kesalahan](/docs/id/errors#api-returned-an-empty-or-malformed-response) menjelaskan detail yang dilaporkan pesan |

516| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu |516| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke endpoint format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh flag ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu. Untuk langkah-langkah yang bergantung pada bidang yang disebutkan dalam pesan, lihat [Extra inputs are not permitted](/docs/id/errors#extra-inputs-are-not-permitted) |

517| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found` | Build model upstream tidak menerima adaptive reasoning, yang diminta Claude Code untuk Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5, dan model yang lebih baru | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/docs/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL` |517| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found` | Build model upstream tidak menerima adaptive reasoning, yang diminta Claude Code untuk Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5, dan model yang lebih baru | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/docs/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL` |

518| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M` | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi Claude Code tidak mengenalinya sebagai [kesalahan terlalu panjang](/docs/id/errors#prompt-is-too-long) dan tidak compact dan retry secara otomatis | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; Claude Code mengklem nilai ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi Anda tidak dapat mencocokkan batas gateway di bawah 100.000, dan `/compact` tetap menjadi pemulihan di sana. Juga atur `CLAUDE_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |518| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M` | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi Claude Code tidak mengenalinya sebagai [kesalahan terlalu panjang](/docs/id/errors#prompt-is-too-long) dan tidak compact dan retry secara otomatis | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; Claude Code mengklem nilai ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi Anda tidak dapat mencocokkan batas gateway di bawah 100.000, dan `/compact` tetap menjadi pemulihan di sana. Juga atur `CLAUDE_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |

519| Kesalahan `400` pada setiap permintaan, dalam kata-kata gateway sendiri menolak skema input alat atau `pattern`-nya, pada Claude Code v2.1.265 hingga v2.1.267 | Dalam peluncuran bertahap pada versi tersebut, skema [alat Artifact](/docs/id/artifacts#availability) membawa ekspresi reguler dengan kelas karakter Unicode `\p{...}`. API Anthropic menerimanya, tetapi gateway atau upstream yang memeriksa `pattern` skema setiap alat dengan mesin regex-nya sendiri menolak seluruh permintaan | Perbarui ke v2.1.268 atau lebih baru, yang tidak mengirim ekspresi reguler. Pada versi yang terpengaruh, [matikan artifacts](/docs/id/artifacts#disable-artifacts), yang menghapus alat dan skemanya dari permintaan |519| Kesalahan `400` pada setiap permintaan, dalam kata-kata gateway sendiri menolak skema input alat atau `pattern`-nya, pada Claude Code v2.1.265 hingga v2.1.267 | Dalam peluncuran bertahap pada versi tersebut, skema [alat Artifact](/docs/id/artifacts#availability) membawa ekspresi reguler dengan kelas karakter Unicode `\p{...}`. API Anthropic menerimanya, tetapi gateway atau upstream yang memeriksa `pattern` skema setiap alat dengan mesin regex-nya sendiri menolak seluruh permintaan | Perbarui ke v2.1.268 atau lebih baru, yang tidak mengirim ekspresi reguler. Pada versi yang terpengaruh, [matikan artifacts](/docs/id/artifacts#disable-artifacts), yang menghapus alat dan skemanya dari permintaan |

Details

100| :- | :- | :- | :- |100| :- | :- | :- | :- |

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

102| Nilai `anthropic-beta` yang dikirim | Subset yang diterima Amazon Bedrock dan Agent Platform | Set lengkap yang dijelaskan di bawah [penerusan fitur](#feature-pass-through), kecuali pengembang menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Subset yang diterima Amazon Bedrock dan Agent Platform |102| Nilai `anthropic-beta` yang dikirim | Subset yang diterima Amazon Bedrock dan Agent Platform | Set lengkap yang dijelaskan di bawah [penerusan fitur](#feature-pass-through), kecuali pengembang menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Subset yang diterima Amazon Bedrock dan Agent Platform |

103| 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 |103| 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. Claude Code tetap mengirimkan [pesan sistem di tengah percakapan](#feature-pass-through) | 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 |

104| [TTL prompt cache](/docs/id/prompt-caching#choose-the-ttl-yourself) satu jam ketika pengembang memilih | Diminta melalui bidang `ttl` dalam `cache_control`, tanpa nilai beta | Diminta melalui bidang `ttl` plus nilai `extended-cache-ttl` dalam `anthropic-beta`, yang harus Anda teruskan | Lihat tabel [ketersediaan dan keterbatasan](/docs/id/claude-apps-gateway#availability-and-limitations) gateway aplikasi Claude |104| [TTL prompt cache](/docs/id/prompt-caching#choose-the-ttl-yourself) satu jam ketika pengembang memilih | Diminta melalui bidang `ttl` dalam `cache_control`, tanpa nilai beta | Diminta melalui bidang `ttl` plus nilai `extended-cache-ttl` dalam `anthropic-beta`, yang harus Anda teruskan | Lihat tabel [ketersediaan dan keterbatasan](/docs/id/claude-apps-gateway#availability-and-limitations) gateway aplikasi Claude |

105| Model untuk [tugas latar belakang](/docs/id/costs#background-token-usage) kecuali `ANTHROPIC_DEFAULT_HAIKU_MODEL` menetapkan satu | Model Sonnet default, atau model utama setelah satu dipilih, seperti yang dijelaskan halaman [Amazon Bedrock](/docs/id/amazon-bedrock#4-pin-model-versions) dan [Agent Platform](/docs/id/google-vertex-ai#5-pin-model-versions) | Model utama, atau model Haiku default ketika `ANTHROPIC_API_KEY` atau `apiKeyHelper` menyediakan kunci Anthropic Console dan `ANTHROPIC_AUTH_TOKEN` tidak diatur | Model utama |105| Model untuk [tugas latar belakang](/docs/id/costs#background-token-usage) kecuali `ANTHROPIC_DEFAULT_HAIKU_MODEL` menetapkan satu | Model Sonnet default, atau model utama setelah satu dipilih, seperti yang dijelaskan halaman [Amazon Bedrock](/docs/id/amazon-bedrock#4-pin-model-versions) dan [Agent Platform](/docs/id/google-vertex-ai#5-pin-model-versions) | Model utama, atau model Haiku default ketika `ANTHROPIC_API_KEY` atau `apiKeyHelper` menyediakan kunci Anthropic Console dan `ANTHROPIC_AUTH_TOKEN` tidak diatur | Model utama |

106 106 


207 207 

208Claude Code memperlakukan gateway `ANTHROPIC_BASE_URL` sebagai endpoint format Anthropic dan mengirimkannya header beta dan field body permintaan yang dikirimkannya ke `api.anthropic.com`, kecuali set kecil diagnostik dan default yang disediakan untuk koneksi langsung, seperti default streaming alat berbutir halus yang tercakup di bawah. Set tersebut bervariasi menurut rilis, jadi jangan bergantung pada isinya.208Claude Code memperlakukan gateway `ANTHROPIC_BASE_URL` sebagai endpoint format Anthropic dan mengirimkannya header beta dan field body permintaan yang dikirimkannya ke `api.anthropic.com`, kecuali set kecil diagnostik dan default yang disediakan untuk koneksi langsung, seperti default streaming alat berbutir halus yang tercakup di bawah. Set tersebut bervariasi menurut rilis, jadi jangan bergantung pada isinya.

209 209 

210Kemampuan yang menambahkan field body memasangkannya dengan header beta, dan pasangan bepergian bersama. Gateway yang menghapus header sambil melewatkan body, atau meneruskan body format Anthropic ke upstream dengan skema berbeda, menghasilkan kesalahan `400` keras; hanya ketika kedua bagian tidak ada bersama-sama fitur mati diam-diam. Gateway yang menulis ulang atau menyunting body permintaan untuk inspeksi konten memecah pasangan dengan cara yang sama seperti penghapusan, jadi inspeksi tanpa memodifikasi. Tabel mencatat di mana fitur menyimpang dari pasangan.

211 

212Streaming 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).210Streaming 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).

213 211 

212### Pasangan header beta dan field body

213 

214Kemampuan yang menambahkan field body memasangkannya dengan header beta, dan pasangan tersebut dikirim bersama. Gateway yang menghapus header sambil melewatkan body, atau meneruskan body format Anthropic ke upstream dengan skema berbeda, menghasilkan kesalahan `400`. Ketika kedua bagian tidak ada bersama-sama, fitur mati secara diam-diam.

215 

216Gateway yang menulis ulang atau menyunting body permintaan untuk inspeksi konten memecah pasangan dengan cara yang sama seperti penghapusan, jadi lakukan inspeksi tanpa memodifikasi. Tabel mencatat di mana fitur menyimpang dari pasangan.

217 

214| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |218| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |

215| :- | :- | :- | :- |219| :- | :- | :- | :- |

216| [Penalaran adaptif](/docs/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5, dan model yang 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 |220| [Penalaran adaptif](/docs/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5, dan model yang 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 |

217| [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`](#disable-pre-release-capabilities) |221| [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. Pada v2.1.304 atau lebih baru, Claude Code [mencoba ulang sendiri tanpa pasangan tersebut](#automatic-retry-and-error-forwarding) | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

218| [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 |222| [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 |

219| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| Beta [field tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait tool berpasangan dengan field skema tool seperti `strict` dan `defer_loading` | `400` yang menyebutkan field skema tool yang tidak dikenali ketika body lewat tanpa headernya. Untuk `defer_loading`, lihat [Retry tanpa pencarian tool](#retry-without-tool-search) | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

220| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` yang menyebutkan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), yang menghapus pengaturan format dan anggaran tugas tetapi tidak menghapus upaya. Untuk menghapus format saja, mereka dapat mengatur [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/id/env-vars) sebagai gantinya, yang memerlukan v2.1.288 atau lebih baru |224| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` yang menyebutkan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), yang menghapus pengaturan format dan anggaran tugas tetapi tidak menghapus upaya. Untuk menghapus format saja, mereka dapat mengatur [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/id/env-vars) sebagai gantinya, yang memerlukan v2.1.288 atau lebih baru |

225| Pesan sistem mid-conversation | Tidak ada header beta. Claude Code mengirim sebagian teks pengingat dan lampiran sebagai entri `role: "system"` dalam `messages` untuk Claude Opus 4.8, model yang dirilis setelahnya, dan ID model yang tidak dikenali | `400` seperti `Unexpected role "system"` | Claude Code [mencoba ulang tanpa pesan sistem](#automatic-retry-and-error-forwarding). Untuk menghentikan pesan sistem pada alias model yang dirilis sebelum Claude Opus 4.8, tambahkan [entri `modelOverrides`](#settings-for-unrecognized-model-ids) ke pengaturan yang Anda distribusikan |

226| [Upaya yang diatur per giliran](/docs/id/prompt-caching#changing-effort-level) | Pada Opus 5.5, Sonnet 5.5, Haiku 5.5, dan Fable 5.1, header beta berpasangan dengan `output_config.effort` pada entri `role: "system"`, baik pesan sistem maupun entri dengan konten kosong | `400` dengan `messages.N: system content must contain at least one block` ketika gateway Anda menghapus field tersebut dari entri kosong | Teruskan keduanya, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) untuk menghentikan field tersebut dan entri kosong |

221| [Prompt caching](/docs/id/prompt-caching) | Tidak ada pasangan beta. Claude Code melampirkan penanda `cache_control` ke blok `system` dan ke entri `messages`, termasuk entri `role: "system"` yang ditambahkan mid-conversation | Tidak ada kesalahan: percakapan ditagih sebagai input uncached pada setiap giliran, terlihat sebagai `input_tokens` tinggi dengan sedikit atau tidak ada aktivitas cache dalam `usage` | Teruskan `cache_control` tidak berubah di mana pun muncul, dan jangan konversi blok-form `system` atau konten pesan ke string biasa |227| [Prompt caching](/docs/id/prompt-caching) | Tidak ada pasangan beta. Claude Code melampirkan penanda `cache_control` ke blok `system` dan ke entri `messages`, termasuk entri `role: "system"` yang ditambahkan mid-conversation | Tidak ada kesalahan: percakapan ditagih sebagai input uncached pada setiap giliran, terlihat sebagai `input_tokens` tinggi dengan sedikit atau tidak ada aktivitas cache dalam `usage` | Teruskan `cache_control` tidak berubah di mana pun muncul, dan jangan konversi blok-form `system` atau konten pesan ke string biasa |

222| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Tidak ada kesalahan: Claude Code kembali ke perkiraan berbasis karakter, jadi `/context` menampilkan penghitungan perkiraan | Ekspos endpoint untuk penghitungan token yang tepat |228| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Tidak ada kesalahan: Claude Code kembali ke perkiraan berbasis karakter, jadi `/context` menampilkan penghitungan perkiraan | Ekspos endpoint untuk penghitungan token yang tepat |

223 229 


225 231 

226### Retry otomatis dan penerusan kesalahan232### Retry otomatis dan penerusan kesalahan

227 233 

228Apa yang Claude Code lakukan setelah penolakan upstream tergantung pada apa yang ditolak:234Ketika upstream menolak salah satu kemampuan ini, Claude Code dapat mencoba ulang permintaan sendiri dengan bagian yang ditolak dihapus atau diubah:

229 235 

230* Ketika upstream menolak field `thinking`, pesan sistem mid-conversation, atau penanda `cache_control` pada pesan tersebut, Claude Code mengulangi permintaan dan menonaktifkan kemampuan yang ditolak untuk sisa percakapan236* Ketika `400` menyatakan bahwa nilai `thinking.type` `enabled` atau `adaptive` tidak didukung, Claude Code mencoba ulang sekali dengan tipe lainnya dan mempertahankan field `thinking`. Permintaan berikutnya ke model tersebut tetap menggunakan tipe yang telah diganti sampai Claude Code keluar. Sebelum v2.1.121, Claude Code tidak mencoba ulang, sehingga [`thinking.type.enabled is not supported`](/docs/id/errors#thinking-type-enabled-is-not-supported-for-this-model) sampai ke pengembang

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

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

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

232* Ketika gateway atau upstream-nya menolak entri [alat advisor](/docs/id/advisor) dalam `tools` sebagai tipe alat yang tidak dikenali, Claude Code mengulangi permintaan sekali tanpa entri tersebut dan nilai `anthropic-beta`-nya. Permintaan kemudian ke URL dasar tersebut meninggalkan advisor keluar sampai Claude Code keluar, dan `/advisor` tidak tersedia untuk pengembang untuk waktu itu. Claude Code mengenali penolakan ini dengan respons `400` atau `422` yang pesannya menyebutkan tipe alat setelah `Input tag`, seperti `Input tag 'advisor_20260301'`. Sebelum v2.1.280, Claude Code tidak mengulangi penolakan ini240* Ketika gateway atau upstream-nya menolak entri [alat advisor](/docs/id/advisor) dalam `tools` sebagai tipe alat yang tidak dikenali, Claude Code mengulangi permintaan sekali tanpa entri tersebut dan nilai `anthropic-beta`-nya. Permintaan kemudian ke URL dasar tersebut meninggalkan advisor keluar sampai Claude Code keluar, dan `/advisor` tidak tersedia untuk pengembang untuk waktu itu. Claude Code mengenali penolakan ini dengan respons `400` atau `422` yang pesannya menyebutkan tipe alat setelah `Input tag`, seperti `Input tag 'advisor_20260301'`. Sebelum v2.1.280, Claude Code tidak mengulangi penolakan ini

233* Ketika upstream menolak `output_config.effort`, Claude Code mencoba ulang permintaan tanpa upaya dan tidak menyertakannya dalam permintaan berikutnya ke model tersebut sampai Claude Code keluar. Claude Code mengenali penolakan ini dari `400` yang pesannya menyebutkan `output_config.effort` bersama dengan `Extra inputs are not permitted`, atau menyatakan bahwa model tidak mendukung parameter effort241* Ketika upstream menolak `output_config.effort`, Claude Code mencoba ulang permintaan tanpa upaya dan tidak menyertakannya dalam permintaan berikutnya ke model tersebut sampai Claude Code keluar. Claude Code mengenali penolakan ini dari `400` yang pesannya menyebutkan `output_config.effort` bersama dengan `Extra inputs are not permitted`, atau menyatakan bahwa model tidak mendukung parameter effort

234* Claude Code tidak mengulangi penolakan manajemen konteks atau field skema alat, jadi kesalahan `400` tersebut mencapai pengembang242* Ketika upstream menolak field `context_management` atau nilai `anthropic-beta`-nya, gateway melihat permintaan tersebut sekali lagi tanpa keduanya. Jika gateway melihatnya lagi dalam permintaan berikutnya dan upstream menolaknya lagi, retry yang sama terjadi. Claude Code mengenali penolakan ini dari pesannya, misalnya pesan yang berisi `context_management: Extra inputs are not permitted`. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini

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

235 244 

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

237 246 

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

248 

249#### Retry tanpa pencarian tool

250 

251Pada v2.1.305 atau lebih baru, permintaan yang membawa [field `defer_loading` dan blok `tool_reference`](/docs/id/mcp#tool-search-through-a-gateway) dapat tiba lagi tanpa keduanya setelah `400` atau `422` yang penyebabnya tidak dikenali Claude Code. Setelah retry berhasil, permintaan berikutnya juga tidak menyertakannya.

252 

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

239 254 

240### Nonaktifkan kemampuan pra-rilis255### Nonaktifkan kemampuan pra-rilis

241 256 


250Variabel ini tidak menghapus setiap nilai `anthropic-beta`. Yang tetap dipertahankan meliputi:265Variabel ini tidak menghapus setiap nilai `anthropic-beta`. Yang tetap dipertahankan meliputi:

251 266 

252* Nilai `anthropic-beta` untuk konteks diperluas, interleaved thinking, dan upaya, yang juga diterima oleh penyedia cloud267* Nilai `anthropic-beta` untuk konteks diperluas, interleaved thinking, dan upaya, yang juga diterima oleh penyedia cloud

253* Field `output_config.effort`. [Retry otomatis dan penerusan kesalahan](#automatic-retry-and-error-forwarding) membahas upstream yang menolaknya268* Field tingkat atas `output_config.effort`. [Retry otomatis dan penerusan kesalahan](#automatic-retry-and-error-forwarding) membahas upstream yang menolaknya

254* Field `thinking` penalaran adaptif, yang tidak memiliki header beta269* Field `thinking` penalaran adaptif, yang tidak memiliki header beta

270* Entri `role: "system"` yang membawa [pesan sistem mid-conversation](#feature-pass-through)

255* Nilai `anthropic-beta` OAuth yang diperlukan autentikasi langganan271* Nilai `anthropic-beta` OAuth yang diperlukan autentikasi langganan

256* Nilai header dan field body yang ditambahkan sendiri oleh pengembang melalui [`ANTHROPIC_BETAS`](/docs/id/env-vars) atau [`CLAUDE_CODE_EXTRA_BODY`](/docs/id/env-vars)272* Nilai header dan field body yang ditambahkan sendiri oleh pengembang melalui [`ANTHROPIC_BETAS`](/docs/id/env-vars) atau [`CLAUDE_CODE_EXTRA_BODY`](/docs/id/env-vars)

257 273 

Details

78Kebijakan yang diterapkan mencapai sesi pengembang sebagai berikut:78Kebijakan yang diterapkan mencapai sesi pengembang sebagai berikut:

79 79 

80* **Permukaan**: di mesin pengembang, terminal, ekstensi VS Code dan JetBrains, tab Code aplikasi desktop, dan sesi [Agent SDK](/docs/id/agent-sdk/typescript) membaca semua sumber ini. Sesi Agent SDK memuat pengaturan terkelola bahkan ketika `settingSources` mengecualikan file pengguna, proyek, dan lokal.80* **Permukaan**: di mesin pengembang, terminal, ekstensi VS Code dan JetBrains, tab Code aplikasi desktop, dan sesi [Agent SDK](/docs/id/agent-sdk/typescript) membaca semua sumber ini. Sesi Agent SDK memuat pengaturan terkelola bahkan ketika `settingSources` mengecualikan file pengguna, proyek, dan lokal.

81* **Sesi cloud**: sesi di lingkungan yang dihosting Anthropic tidak membaca profil MDM atau file perangkat, jadi kebijakan untuk itu harus berasal dari pengaturan terkelola server. Sesi di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan terkelola di gambar runner-nya, secara default hanya ketika pengaturan terkelola server tidak mengirimkan kunci kebijakan, terlepas dari [kunci yang Claude Code baca dari setiap sumber admin](#keys-read-from-every-admin-source). [Bagaimana Claude Code menggabungkan sumber terkelola](#how-claude-code-combines-managed-sources) mencakup opt-in yang menerapkan keduanya.81* **Sesi cloud**: sesi di lingkungan yang dihosting Anthropic tidak membaca profil MDM atau file perangkat, jadi kebijakan untuk itu harus berasal dari pengaturan terkelola server. Sesi di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan terkelola di gambar runner-nya, secara default hanya ketika pengaturan terkelola server tidak mengirimkan kunci kebijakan, kecuali [kunci yang Claude Code baca dari setiap sumber admin](#keys-read-from-every-admin-source). [Bagaimana Claude Code menggabungkan sumber terkelola](#how-claude-code-combines-managed-sources) mencakup opt-in yang menerapkan keduanya.

82* **Sesi Claude Tag**: sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) berjalan di lingkungan cloud tetapi tidak menerima pengaturan terkelola server. Di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments), mereka masih membaca file pengaturan terkelola di gambar runner. Konfigurasikan Claude Tag itu sendiri di [pengaturan admin Claude Tag](https://claude.com/docs/claude-tag/admins/customize).82* **Sesi Claude Tag**: sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) berjalan di lingkungan cloud tetapi tidak menerima pengaturan terkelola server. Di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments), mereka masih membaca file pengaturan terkelola di gambar runner. Konfigurasikan Claude Tag itu sendiri di [pengaturan admin Claude Tag](https://claude.com/docs/claude-tag/admins/customize).

83* **Sesi Cowork**: [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop menjalankan sesinya di Claude Code. Dalam sesi Cowork, Claude Code tidak pernah mengambil pengaturan terkelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise, jadi kebijakan mana yang berlaku tergantung di mana sesi berjalan:83* **Sesi Cowork**: [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop menjalankan sesinya di Claude Code. Dalam sesi Cowork, Claude Code tidak pernah mengambil pengaturan terkelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise, jadi kebijakan mana yang berlaku tergantung di mana sesi berjalan:

84 84 


86 * **Di sandbox VM penuh**: ketika konfigurasi terkelola Claude Desktop Anda menetapkan [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code berjalan di dalam mesin virtual di mana kebijakan MDM perangkat dan file pengaturan terkelola tidak ada.86 * **Di sandbox VM penuh**: ketika konfigurasi terkelola Claude Desktop Anda menetapkan [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code berjalan di dalam mesin virtual di mana kebijakan MDM perangkat dan file pengaturan terkelola tidak ada.

87 * **Sesi Cowork jarak jauh**: ini berjalan di VM yang dikelola Anthropic, di mana Claude Code tidak memiliki kebijakan perangkat untuk dibaca.87 * **Sesi Cowork jarak jauh**: ini berjalan di VM yang dikelola Anthropic, di mana Claude Code tidak memiliki kebijakan perangkat untuk dibaca.

88 88 

89 Di mana pun sesi berjalan, claude.ai menerapkan daftar [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) dan [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) konsol admin itu sendiri ketika siapa pun menambahkan marketplace dari repositori git di claude.ai atau dari **Customize** di tab Cowork. [Bagaimana pembatasan bekerja](/docs/id/plugins/org#restrict-what-users-can-install) menjelaskan pemeriksaan itu. Tabel [cakupan permukaan](/docs/id/model-config#surface-coverage) membandingkan Cowork dengan permukaan lainnya.89 Di mana pun sesi berjalan, claude.ai menerapkan daftar [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) dan [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) konsol admin itu sendiri ketika siapa pun menambahkan marketplace dari repositori git di claude.ai atau dari **Customize** di Cowork. [Bagaimana pembatasan bekerja](/docs/id/plugins/org#restrict-what-users-can-install) menjelaskan pemeriksaan itu. Tabel [cakupan surface](/docs/id/model-config#surface-coverage) membandingkan Cowork dengan surface lainnya.

90* **Sesi yang berjalan**: sebagian besar perubahan mencapai sesi yang berjalan sesuai jadwal dalam [tabel mekanisme pengiriman](#choose-a-delivery-mechanism), tanpa restart.90* **Sesi yang berjalan**: sebagian besar perubahan mencapai sesi yang berjalan sesuai jadwal dalam [tabel mekanisme pengiriman](#choose-a-delivery-mechanism), tanpa restart.

91 * Perubahan pada [`forceRemoteSettingsRefresh`](/docs/id/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/id/settings-reference#requiredminimumversion), dan [beberapa kunci yang dapat diedit pengguna](/docs/id/settings#when-edits-take-effect) berlaku pada startup sesi berikutnya.91 * Perubahan pada [`forceRemoteSettingsRefresh`](/docs/id/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/id/settings-reference#requiredminimumversion), dan [beberapa kunci yang dapat diedit pengguna](/docs/id/settings#when-edits-take-effect) berlaku pada startup sesi berikutnya.

92 * Entri [`policyHelper`](/docs/id/settings-reference#policyhelper) yang baru atau berubah berlaku pada peluncuran berikutnya. Jika pengaturan terkelola server menaungi helper pada peluncuran itu, helper berjalan segera setelah pengambilan melaporkan pengaturan tersebut dihapus.92 * Entri [`policyHelper`](/docs/id/settings-reference#policyhelper) yang baru atau berubah berlaku pada peluncuran berikutnya. Jika pengaturan terkelola server menaungi helper pada peluncuran itu, helper berjalan segera setelah pengambilan melaporkan pengaturan tersebut dihapus.

93* **Perubahan yang memerlukan persetujuan**: terlepas dari [pembaruan yang menunggu peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior), perubahan terkelola server ke pengaturan yang [memerlukan persetujuan](/docs/id/server-managed-settings#security-approval-dialogs), seperti hook atau variabel `env`, menunggu pengembang menerima dialog dalam sesi interaktif, dan berlaku untuk run saat ini dalam sesi yang dihosting ekstensi IDE atau Agent SDK. Perubahan terkelola server lainnya berlaku pada polling berikutnya.93* **Perubahan yang memerlukan persetujuan**: kecuali untuk [pembaruan yang menunggu peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior), perubahan terkelola server ke pengaturan yang [memerlukan persetujuan](/docs/id/server-managed-settings#security-approval-dialogs), seperti hook atau variabel `env`, menunggu pengembang menerima dialog dalam sesi interaktif, dan berlaku untuk run saat ini dalam sesi yang dihosting ekstensi IDE atau Agent SDK. Perubahan terkelola server lainnya berlaku pada polling berikutnya.

94* **Sesi yang tahan lama**: sesi yang dibiarkan terbuka selama berminggu-minggu masih bisa tertinggal dari rollout. [`requiredMinimumVersion`](/docs/id/settings-reference#requiredminimumversion) memblokir biner yang ketinggalan zaman dari memulai dan tidak mengakhiri sesi yang sudah berjalan.94* **Sesi yang tahan lama**: sesi yang dibiarkan terbuka selama berminggu-minggu masih bisa tertinggal dari rollout. [`requiredMinimumVersion`](/docs/id/settings-reference#requiredminimumversion) memblokir biner yang ketinggalan zaman dari memulai dan tidak mengakhiri sesi yang sudah berjalan.

95 95 

96### Di mana setiap mekanisme menyimpan kebijakan96### Di mana setiap mekanisme menyimpan kebijakan


207 207 

208[`policyHelper`](/docs/id/settings-reference#policyhelper) adalah executable yang dinamai kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu memancarkan objek `managedSettings`, output itu mengubah apa yang dibaca Claude Code:208[`policyHelper`](/docs/id/settings-reference#policyhelper) adalah executable yang dinamai kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu memancarkan objek `managedSettings`, output itu mengubah apa yang dibaca Claude Code:

209 209 

210* **Objek `managedSettings` yang dipancarkan adalah satu-satunya pengaturan terkelola untuk sesi**, termasuk untuk [kunci yang sebaliknya dibacanya dari setiap sumber admin](#keys-read-from-every-admin-source), terlepas dari [`forceRemoteSettingsRefresh`, yang memiliki aturan startup sendiri](/docs/id/settings-reference#forceremotesettingsrefresh)210* **Objek `managedSettings` yang dipancarkan adalah satu-satunya pengaturan terkelola untuk sesi**, termasuk untuk [kunci yang sebaliknya dibacanya dari setiap sumber admin](#keys-read-from-every-admin-source), kecuali [`forceRemoteSettingsRefresh`, yang memiliki aturan startup sendiri](/docs/id/settings-reference#forceremotesettingsrefresh)

211 211 

212Untuk eksekusi pembantu mana yang dianggap gagal, dan apa yang dilakukan Claude Code ketika itu terjadi, lihat [Kegagalan pembantu](/docs/id/settings-reference#helper-failures).212Untuk eksekusi pembantu mana yang dianggap gagal, dan apa yang dilakukan Claude Code ketika itu terjadi, lihat [Kegagalan pembantu](/docs/id/settings-reference#helper-failures).

213 213 

mcp.md +32 −8

Details

302Jika permintaan Anda memerlukan tool dari server yang masih terhubung di latar belakang, Claude menunggu server itu sebelum melanjutkan. Cara menunggu terjadi tergantung pada konfigurasi Anda:302Jika permintaan Anda memerlukan tool dari server yang masih terhubung di latar belakang, Claude menunggu server itu sebelum melanjutkan. Cara menunggu terjadi tergantung pada konfigurasi Anda:

303 303 

304* **Dengan [pencarian tool](#scale-with-mcp-tool-search), default**: penantian terjadi di dalam panggilan `ToolSearch`.304* **Dengan [pencarian tool](#scale-with-mcp-tool-search), default**: penantian terjadi di dalam panggilan `ToolSearch`.

305* **Tanpa pencarian tool**: Claude menggunakan tool `WaitForMcpServers` sebagai gantinya. Konfigurasi tanpa pencarian tool mencakup `ANTHROPIC_BASE_URL` khusus, `ENABLE_TOOL_SEARCH=false`, dan model yang lebih awal dari Claude Opus 4.5, Claude Sonnet 4.5, dan Claude Haiku 4.5 di Agent Platform Google Cloud.305* **Tanpa pencarian tool**: Claude menggunakan tool `WaitForMcpServers` sebagai gantinya. Konfigurasi tanpa pencarian tool mencakup `ENABLE_TOOL_SEARCH=false` dan model yang lebih awal dari Claude Opus 4.5, Claude Sonnet 4.5, dan Claude Haiku 4.5 di Agent Platform Google Cloud. Untuk gateway `ANTHROPIC_BASE_URL`, lihat [Pencarian tool melalui gateway LLM](#tool-search-through-a-gateway).

306* **Pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude dimulai pada jalur pencarian tool daripada dengan `WaitForMcpServers`, karena Claude Code menemukan penolakan sisi server deployment hanya dari API. Setelah Claude Code mengalihkan deployment itu ke [pemuatan di awal](#scale-with-mcp-tool-search), tool dari server yang selesai terhubung menjadi tersedia pada permintaan Claude berikutnya.306* **Pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude dimulai pada jalur pencarian tool daripada dengan `WaitForMcpServers`, karena Claude Code menemukan penolakan sisi server deployment hanya dari API. Setelah Claude Code mengalihkan deployment itu ke [pemuatan di awal](#scale-with-mcp-tool-search), tool dari server yang selesai terhubung menjadi tersedia pada permintaan Claude berikutnya.

307 307 

308Dengan pencarian tool diaktifkan, ketika server selesai terhubung saat Claude bekerja, Claude Code mencantumkan nama tool server ke Claude pada permintaan berikutnya dalam giliran yang sama. Claude kemudian dapat mencari dan memanggil tool itu tanpa menunggu pesan Anda berikutnya.308Dengan pencarian tool diaktifkan, ketika server selesai terhubung saat Claude bekerja, Claude Code mencantumkan nama tool server ke Claude pada permintaan berikutnya dalam giliran yang sama. Claude kemudian dapat mencari dan memanggil tool itu tanpa menunggu pesan Anda berikutnya.


509 509 

510Server plugin muncul di `/mcp` dengan indikator yang menunjukkan bahwa mereka berasal dari plugin.510Server plugin muncul di `/mcp` dengan indikator yang menunjukkan bahwa mereka berasal dari plugin.

511 511 

512Untuk server stdio plugin, `claude mcp get` mencetak `Command: stdio`, baris `Args:` kosong, dan setiap environment variable sebagai `NAME=[REDACTED]`. Nilai disembunyikan karena dapat membawa kredensial.512`claude mcp get` menyembunyikan nilai yang dikonfigurasi untuk server stdio atau WebSocket plugin, karena nilai tersebut dapat membawa kredensial:

513 

514* **Server stdio**: mencetak `Command: stdio`, baris `Args:` kosong, dan setiap environment variable sebagai `NAME=[REDACTED]`

515* **Server WebSocket**: mencetak `URL: ws` dan setiap header sebagai `<name>: [REDACTED]`, dan `claude mcp list` menampilkan `ws` sebagai pengganti URL

516 

517Untuk melihat apa yang dikonfigurasi plugin, [temukan plugin di disk](/docs/id/plugins/loading#find-plugins-on-disk) dan baca `.mcp.json` atau `plugin.json`-nya.

513 518 

514**Nama tool MCP plugin**:519**Nama tool MCP plugin**:

515 520 


592 597 

593Untuk alasan keamanan, Claude Code meminta persetujuan dalam sesi interaktif sebelum menggunakan server dengan cakupan proyek dari file `.mcp.json`. Untuk mengatur ulang pilihan persetujuan tersebut, jalankan `claude mcp reset-project-choices`.598Untuk alasan keamanan, Claude Code meminta persetujuan dalam sesi interaktif sebelum menggunakan server dengan cakupan proyek dari file `.mcp.json`. Untuk mengatur ulang pilihan persetujuan tersebut, jalankan `claude mcp reset-project-choices`.

594 599 

595Dalam menjalankan `claude -p`, sesi [Agent SDK](/docs/id/headless), dan [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code tidak dapat menampilkan prompt tersebut: Claude Code memuat server dengan cakupan proyek tanpa bertanya. Claude Code juga melewati prompt dalam sesi yang Anda mulai dalam mode `bypassPermissions` dengan [`skipDangerousModePermissionPrompt`](/docs/id/settings-reference#skipdangerousmodepermissionprompt) diatur dalam pengaturan pengguna Anda atau dalam pengaturan terkelola. Untuk tetap menjaga server agar tidak dimuat:600Dalam menjalankan `claude -p`, sesi [Agent SDK](/docs/id/headless), dan [sesi cloud](/docs/id/claude-code-on-the-web) di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), Claude Code tidak dapat menampilkan prompt tersebut: Claude Code memuat server dengan cakupan proyek tanpa bertanya. Claude Code juga melewati prompt dalam sesi yang Anda mulai dalam mode `bypassPermissions` dengan [`skipDangerousModePermissionPrompt`](/docs/id/settings-reference#skipdangerousmodepermissionprompt) diatur dalam pengaturan pengguna Anda atau dalam pengaturan terkelola. Untuk tetap menjaga server agar tidak dimuat:

596 601 

597* Tambahkan ke [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers), yang memblokir server di setiap mode izin.602* Tambahkan ke [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers), yang memblokir server di setiap mode izin.

598* Kecualikan pengaturan proyek sepenuhnya dengan [`--setting-sources`](/docs/id/cli-reference#cli-flags) atau opsi `settingSources` SDK.603* Kecualikan pengaturan proyek sepenuhnya dengan [`--setting-sources`](/docs/id/cli-reference#cli-flags) atau opsi `settingSources` SDK.


1026* **Dihapus**: server di `.mcp.json` proyek atau di plugin, dan server inline di file agent dari proyek Anda atau dari direktori `--add-dir`1031* **Dihapus**: server di `.mcp.json` proyek atau di plugin, dan server inline di file agent dari proyek Anda atau dari direktori `--add-dir`

1027* **Tidak dihapus**: server di [cakupan pengguna](#user-scope) atau [cakupan lokal](#local-scope), di [MCP terkelola](/docs/id/managed-mcp), dari [konektor claude.ai](#use-mcp-servers-from-claude-ai), atau disediakan oleh SDK atau [`--mcp-config`](/docs/id/cli-reference), dan server inline di file agent dari `~/.claude/agents/`, dari pengaturan terkelola, atau diteruskan dengan `--agents`1032* **Tidak dihapus**: server di [cakupan pengguna](#user-scope) atau [cakupan lokal](#local-scope), di [MCP terkelola](/docs/id/managed-mcp), dari [konektor claude.ai](#use-mcp-servers-from-claude-ai), atau disediakan oleh SDK atau [`--mcp-config`](/docs/id/cli-reference), dan server inline di file agent dari `~/.claude/agents/`, dari pengaturan terkelola, atau diteruskan dengan `--agents`

1028 1033 

1029Terlepas dari variabel `GIT_CONFIG_KEY_<n>` Git, Claude Code menghapus setiap variabel dari lingkungan Anda yang namanya terlihat seperti kredensial, seperti nama dengan `TOKEN`, `SECRET`, `PASSWORD`, `KEY`, atau `AUTH` di dalamnya dalam huruf besar atau kecil, jadi `ANTHROPIC_API_KEY` dan `MY_REGISTRY_TOKEN` keduanya dihapus. Claude Code juga menghapus daftar tetap variabel kredensial yang namanya tidak mengikuti pola itu, seperti `ANTHROPIC_CUSTOM_HEADERS`.1034Kecuali variabel `GIT_CONFIG_KEY_<n>` Git, Claude Code menghapus setiap variabel dari lingkungan Anda yang namanya terlihat seperti kredensial, seperti nama dengan `TOKEN`, `SECRET`, `PASSWORD`, `KEY`, atau `AUTH` di dalamnya dalam huruf besar atau kecil, jadi `ANTHROPIC_API_KEY` dan `MY_REGISTRY_TOKEN` keduanya dihapus. Claude Code juga menghapus daftar tetap variabel kredensial yang namanya tidak mengikuti pola itu, seperti `ANTHROPIC_CUSTOM_HEADERS`.

1030 1035 

1031Ketika ini berlaku untuk helper Anda, buat skrip membaca kredensialnya dari file atau penyimpanan kredensial. Jika `url` server [membawa nilai langsung dari salah satu variabel ini](#environment-variable-expansion-in-mcp-json), seperti `MY_REGISTRY_TOKEN`, nilai `CLAUDE_CODE_MCP_SERVER_URL` yang diterima helper memiliki bagian itu diganti dengan `REDACTED` juga.1036Ketika ini berlaku untuk helper Anda, buat skrip membaca kredensialnya dari file atau penyimpanan kredensial. Jika `url` server [membawa nilai langsung dari salah satu variabel ini](#environment-variable-expansion-in-mcp-json), seperti `MY_REGISTRY_TOKEN`, nilai `CLAUDE_CODE_MCP_SERVER_URL` yang diterima helper memiliki bagian itu diganti dengan `REDACTED` juga.

1032 1037 


1483 1488 

1484### Konfigurasi pencarian tool1489### Konfigurasi pencarian tool

1485 1490 

1486Pencarian tool diaktifkan secara default: tool MCP ditunda dan ditemukan sesuai permintaan. Claude Code menonaktifkannya ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk menimpa fallback tersebut.1491Pencarian tool diaktifkan secara default: tool MCP ditunda dan ditemukan sesuai permintaan.

1487 1492 

1488Mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/id/env-vars) menjaga pencarian tool tetap mati. Anda tidak dapat menimpanya dengan mengatur `ENABLE_TOOL_SEARCH` sendiri. Pada Claude Code v2.1.227 atau lebih baru, organisasi Anda dapat menjaga pencarian tool tetap aktif di bawah variabel ini melalui [pengaturan terkelola](/docs/id/managed-settings). Dalam sesi yang [mendapatkan konfigurasi HIPAA](/docs/id/hipaa-setup#check-how-developers-sign-in-and-connect), pencarian tool dimatikan, dan baik `ENABLE_TOOL_SEARCH` maupun pengaturan terkelola tidak dapat mengaktifkannya kembali. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup tempat override berlaku dan apa yang dihapus variabel.1493Mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/id/env-vars) menjaga pencarian tool tetap mati. Anda tidak dapat menimpanya dengan mengatur `ENABLE_TOOL_SEARCH` sendiri. Pada Claude Code v2.1.227 atau lebih baru, organisasi Anda dapat menjaga pencarian tool tetap aktif di bawah variabel ini melalui [pengaturan terkelola](/docs/id/managed-settings). Dalam sesi yang [mendapatkan konfigurasi HIPAA](/docs/id/hipaa-setup#check-how-developers-sign-in-and-connect), pencarian tool dimatikan, dan baik `ENABLE_TOOL_SEARCH` maupun pengaturan terkelola tidak dapat mengaktifkannya kembali. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup tempat override berlaku dan apa yang dihapus variabel.

1489 1494 


1500 1505 

1501| Nilai | Perilaku |1506| Nilai | Perilaku |

1502| :- | :- |1507| :- | :- |

1503| (tidak diatur) | Semua tool MCP ditunda dan dimuat sesuai permintaan. Kembali ke pemuatan di awal pada model yang lebih awal dari Opus 4 dan Sonnet 4, pada model Agent Platform Google Cloud yang lebih awal dari Opus 4.5, Sonnet 4.5, dan Haiku 4.5, ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama, atau pada deployment Microsoft Foundry yang dihosting di Azure |1508| (tidak diatur) | Semua tool MCP ditunda dan dimuat sesuai permintaan. Dimuat di awal pada model yang lebih awal dari Opus 4 dan Sonnet 4, pada [model Agent Platform yang lebih awal](#configure-tool-search), dan pada deployment Microsoft Foundry yang dihosting di Azure |

1504| `true` | Tool MCP tetap ditunda ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama. Fallback lain dari (tidak diatur) tetap berlaku. Claude Code mengirim header beta melalui proxy, dan permintaan gagal pada proxy yang tidak mendukung blok `tool_reference` |1509| `true` | Tool MCP ditunda, dengan fallback yang sama seperti (tidak diatur) |

1505| `auto` | Mode ambang: Claude Code memuat tool yang akan ditunda di awal sementara definisinya berjumlah kurang dari 10% context window, dan menunda semuanya setelah definisi mencapai 10% |1510| `auto` | Mode ambang. Tool yang seharusnya ditunda dimuat di awal selama total definisinya kurang dari 10% context window. Pada 10% atau lebih, pencarian tool diaktifkan, dan tool tersebut dapat [tetap ditunda](#tools-that-stay-deferred-below-the-threshold) meskipun totalnya turun di bawah 10% |

1506| `auto:N` | Mode ambang dengan persentase khusus, di mana `N` adalah 0-100. Misalnya, `auto:5` untuk 5% |1511| `auto:N` | Mode ambang dengan persentase khusus, di mana `N` adalah 0-100. Misalnya, `auto:5` untuk 5% |

1507| `false` | Semua tool MCP dimuat di awal, tidak ada penundaan |1512| `false` | Semua tool MCP dimuat di awal, tidak ada penundaan |

1508 1513 


1526}1531}

1527```1532```

1528 1533 

1534Jika Anda menolak `ToolSearch` atau tidak menyertakannya dalam [`--tools`](/docs/id/cli-reference#cli-flags), tool MCP akan dimuat di awal, tetapi permintaan masih dapat membawa entri `defer_loading` placeholder. Jika gateway menolak entri tersebut, lihat [Pencarian tool melalui LLM gateway](#tool-search-through-a-gateway).

1535 

1536#### Pencarian tool melalui LLM gateway

1537 

1538> [!NOTE]

1539>

1540> Kasus-kasus berikut dibahas di tempat lain:

1541>

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

1543> * **Permintaan gagal dengan error yang menyebut `defer_loading` atau `tool_reference`**: lihat [Extra inputs are not permitted](/docs/id/errors#extra-inputs-are-not-permitted)

1544 

1545Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway, pencarian tool aktif secara default, sehingga permintaan menyertakan bidang tool `defer_loading` dan blok `tool_reference` untuk diteruskan oleh gateway. Selama pencarian tool aktif, tool MCP [ditunda](#scale-with-mcp-tool-search). Untuk memuat setiap tool di awal, atur `ENABLE_TOOL_SEARCH=false` di shell Anda atau di [`env` pengaturan](/docs/id/settings-reference#env) Anda. Sebelum v2.1.304, pencarian tool dimatikan di belakang gateway kecuali `ENABLE_TOOL_SEARCH` bernilai `true`, `auto`, atau `auto:N`.

1546 

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

1548 

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

1550 

1551Jika [`/context`](/docs/id/commands#all-commands) memberi label `(deferred)` atau `(loaded on-demand)` pada tool meskipun total definisinya berada di bawah ambang `auto`, pencarian tool sudah aktif dalam percakapan ini dan tetap aktif. Totalnya dapat turun kemudian, misalnya saat server MCP terhubung kembali setelah Anda melanjutkan sesi. Anda tidak perlu melakukan apa pun: Claude memuat setiap tool tersebut ketika suatu tugas membutuhkannya.

1552 

1529### Bebaskan server dari penundaan1553### Bebaskan server dari penundaan

1530 1554 

1531Jika tool server harus selalu terlihat oleh Claude tanpa langkah pencarian, atur `alwaysLoad` ke `true` dalam konfigurasi server tersebut. Tool dari server tersebut kemudian dimuat ke dalam konteks terlepas dari pengaturan `ENABLE_TOOL_SEARCH`. Gunakan ini untuk sejumlah kecil tool yang Claude butuhkan di setiap giliran, karena setiap tool di awal mengonsumsi konteks yang akan tersedia untuk percakapan Anda.1555Jika tool server harus selalu terlihat oleh Claude tanpa langkah pencarian, atur `alwaysLoad` ke `true` dalam konfigurasi server tersebut. Tool dari server tersebut kemudian dimuat ke dalam konteks terlepas dari pengaturan `ENABLE_TOOL_SEARCH`. Gunakan ini untuk sejumlah kecil tool yang Claude butuhkan di setiap giliran, karena setiap tool di awal mengonsumsi konteks yang akan tersedia untuk percakapan Anda.

Details

278* **Aplikasi desktop Claude Code**: tambahkan server melalui [UI Connectors](/docs/id/desktop#connect-external-tools).278* **Aplikasi desktop Claude Code**: tambahkan server melalui [UI Connectors](/docs/id/desktop#connect-external-tools).

279* **Aplikasi chat Claude Desktop**: aplikasi terpisah dari Claude Code. Untuk menyalin server dari `claude_desktop_config.json`-nya ke CLI, jalankan `claude mcp add-from-claude-desktop` di macOS atau WSL.279* **Aplikasi chat Claude Desktop**: aplikasi terpisah dari Claude Code. Untuk menyalin server dari `claude_desktop_config.json`-nya ke CLI, jalankan `claude mcp add-from-claude-desktop` di macOS atau WSL.

280* **VS Code**: lihat [Terhubung ke alat eksternal dengan MCP](/docs/id/vs-code#connect-to-external-tools-with-mcp).280* **VS Code**: lihat [Terhubung ke alat eksternal dengan MCP](/docs/id/vs-code#connect-to-external-tools-with-mcp).

281* **Cloud sessions**: komit `.mcp.json` ke repositori Anda; sesi dengan satu repositori memuatnya. Lihat [Edit .mcp.json secara langsung](#edit-mcp-json-directly) dan [Apa yang terbawa dari pengaturan Anda](/docs/id/cloud-environments#what-carries-over-from-your-setup).281* **Sesi cloud**: di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), lakukan commit `.mcp.json` ke repositori Anda; sesi dengan satu repositori memuatnya. Thread cloud dalam proyek menggunakan konektor claude.ai Anda sebagai gantinya. Lihat [Edit .mcp.json secara langsung](#edit-mcp-json-directly) dan [Apa yang terbawa dari pengaturan Anda](/docs/id/cloud-environments#what-carries-over-from-your-setup).

282* **Claude.ai**: konektor yang Anda tambahkan di [claude.ai/customize/connectors](https://claude.ai/customize/connectors) dimuat secara otomatis di CLI ketika Anda masuk dengan akun itu. Lihat [Gunakan server MCP dari Claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai).282* **Claude.ai**: konektor yang Anda tambahkan di [claude.ai/customize/connectors](https://claude.ai/customize/connectors) dimuat secara otomatis di CLI ketika Anda masuk dengan akun itu. Lihat [Gunakan server MCP dari Claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai).

283 283 

284## Troubleshooting284## Troubleshooting

memory.md +10 −5

Details

208 208 

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

210 210 

211Setiap pola bersifat relatif terhadap direktori dasar aturan:

212 

213* **Aturan proyek**: direktori yang berisi folder `.claude` milik aturan tersebut

214* **[Aturan tingkat pengguna](#user-level-rules)**: [direktori kerja utama](/docs/id/permissions#working-directories) sesi

215 

216Agar aturan dengan cakupan path dimuat untuk file di git worktree saudara, mulai Claude Code di worktree tersebut atau [pindahkan sesi ke sana dengan `/cd`](/docs/id/permissions#move-the-session-to-another-directory).

217 

211Gunakan pola glob dalam bidang `paths` untuk mencocokkan file berdasarkan ekstensi, direktori, atau kombinasi apa pun:218Gunakan pola glob dalam bidang `paths` untuk mencocokkan file berdasarkan ekstensi, direktori, atau kombinasi apa pun:

212 219 

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


279 286 

280#### Terapkan CLAUDE.md di seluruh organisasi287#### Terapkan CLAUDE.md di seluruh organisasi

281 288 

282Organisasi dapat menerapkan CLAUDE.md yang dikelola secara terpusat yang berlaku untuk semua pengguna di mesin. File ini tidak dapat dikecualikan oleh pengaturan individual.289Organisasi dapat menerapkan CLAUDE.md yang dikelola secara terpusat yang berlaku untuk semua pengguna di mesin. Pengembang dapat [mengecualikan file CLAUDE.md lain](#exclude-specific-claude-md-files) dengan pengaturan `claudeMdExcludes`, tetapi tidak dengan file ini. Jika pengembang memulai sesi dengan pemuatan CLAUDE.md dimatikan sepenuhnya, sesi tersebut juga tidak memuat konten terkelola. Gunakan file ini untuk panduan, dan tegakkan aturan dengan [pengaturan terkelola](/docs/id/managed-settings) seperti `permissions.deny`.

283 290 

284**1. Buat file di lokasi kebijakan terkelola**291**1. Buat file di lokasi kebijakan terkelola**

285 292 


293 300 

294Kunci `claudeMd` memungkinkan Anda menempatkan konten CLAUDE.md terkelola langsung di dalam `managed-settings.json` daripada menerapkan file terpisah.301Kunci `claudeMd` memungkinkan Anda menempatkan konten CLAUDE.md terkelola langsung di dalam `managed-settings.json` daripada menerapkan file terpisah.

295 302 

296**Cakupan**: setiap sesi Claude Code di mesin, di setiap repositori. Untuk panduan khusus repositori, lakukan commit CLAUDE.md proyek sebagai gantinya.303**Cakupan**: semua pengguna di mesin, di repositori mana pun. Untuk panduan khusus repositori, lakukan commit CLAUDE.md proyek sebagai gantinya.

297 304 

298**Prioritas**: sama dengan file CLAUDE.md terkelola. Dimuat sebelum CLAUDE.md pengguna dan proyek.305**Prioritas**: sama dengan file CLAUDE.md terkelola. Dimuat sebelum CLAUDE.md pengguna dan proyek.

299 306 


323 330 

324#### Kecualikan file CLAUDE.md tertentu331#### Kecualikan file CLAUDE.md tertentu

325 332 

326Dalam monorepo besar, file CLAUDE.md leluhur mungkin berisi instruksi yang tidak relevan dengan pekerjaan Anda. Pengaturan `claudeMdExcludes` memungkinkan Anda melewati file tertentu berdasarkan jalur atau pola glob.333Dalam monorepo besar, file CLAUDE.md leluhur mungkin berisi instruksi yang tidak relevan dengan pekerjaan Anda. Pengaturan `claudeMdExcludes` memungkinkan Anda melewati file tertentu berdasarkan jalur atau pola glob. Anda tidak dapat mengecualikan [file CLAUDE.md terkelola](#deploy-organization-wide-claude-md) dengan `claudeMdExcludes`.

327 334 

328Contoh ini mengecualikan CLAUDE.md tingkat atas dan direktori aturan dari folder induk. Tambahkan ke `.claude/settings.local.json` sehingga pengecualian tetap lokal ke mesin Anda:335Contoh ini mengecualikan CLAUDE.md tingkat atas dan direktori aturan dari folder induk. Tambahkan ke `.claude/settings.local.json` sehingga pengecualian tetap lokal ke mesin Anda:

329 336 


340 347 

341Untuk mengecualikan file aturan yang Anda jangkau melalui [symlink](#share-rules-across-projects-with-symlinks), apakah file atau direktorinya adalah tautan, tulis pola terhadap jalur mana pun: jalur file di bawah `.claude/rules/` atau target tautannya. Pola yang cocok dengan jalur mana pun mengecualikan file. Sebelum v2.1.239, hanya pola yang cocok dengan target tautan yang mengecualikan file.348Untuk mengecualikan file aturan yang Anda jangkau melalui [symlink](#share-rules-across-projects-with-symlinks), apakah file atau direktorinya adalah tautan, tulis pola terhadap jalur mana pun: jalur file di bawah `.claude/rules/` atau target tautannya. Pola yang cocok dengan jalur mana pun mengecualikan file. Sebelum v2.1.239, hanya pola yang cocok dengan target tautan yang mengecualikan file.

342 349 

343File CLAUDE.md kebijakan terkelola tidak dapat dikecualikan. Ini memastikan instruksi di seluruh organisasi selalu berlaku terlepas dari pengaturan individual.

344 

345## AGENTS.md350## AGENTS.md

346 351 

347Claude 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:352Claude 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:

model-config.md +7 −3

Details

347 347 

348### Perilaku penggabungan348### Perilaku penggabungan

349 349 

350Ketika pengaturan terkelola yang diterapkan Claude Code mendefinisikan `availableModels`, daftar itu saja berlaku, terlepas dari [platform host yang menyediakan miliknya sendiri](/docs/id/settings#exceptions-to-managed-settings-precedence): entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperpanjangnya, dan Claude Code tidak pernah menggabungkan `availableModels` di seluruh sumber terkelola baik; [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan daftar sumber mana yang berlaku. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal adalah [digabungkan dan dideduplikasi](/docs/id/settings#settings-precedence) seperti pengaturan array lainnya. Sebelum Claude Code v2.1.175, entri dari cakupan prioritas lebih rendah digabungkan ke dalam daftar terkelola sebagai gantinya dari diganti olehnya.350Ketika pengaturan terkelola yang diterapkan Claude Code mendefinisikan `availableModels`, daftar itu saja yang berlaku, kecuali untuk [platform host yang menyediakan miliknya sendiri](/docs/id/settings#exceptions-to-managed-settings-precedence): entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperpanjangnya, dan Claude Code tidak pernah menggabungkan `availableModels` di seluruh sumber terkelola baik; [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan daftar sumber mana yang berlaku. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal adalah [digabungkan dan dideduplikasi](/docs/id/settings#settings-precedence) seperti pengaturan array lainnya. Sebelum Claude Code v2.1.175, entri dari cakupan prioritas lebih rendah digabungkan ke dalam daftar terkelola sebagai gantinya dari diganti olehnya.

351 351 

352Dalam daftar efektif, entri yang menyebutkan model tertentu dalam keluarga, baik awalan versi atau ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` memungkinkan hanya versi Sonnet 4.5, bukan setiap model Sonnet.352Dalam daftar efektif, entri yang menyebutkan model tertentu dalam keluarga, baik awalan versi atau ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` memungkinkan hanya versi Sonnet 4.5, bukan setiap model Sonnet.

353 353 


441 441 

442Organisasi Anda dapat membatasi [tingkat upaya](#adjust-effort-level) dengan dua cara. Pada paket Claude Enterprise, admin organisasi menetapkan batas upaya per peran, dijelaskan di bawah. Pada paket apa pun dan penyedia apa pun, termasuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, pengaturan terkelola [`maxEffortLevel`](/docs/id/settings-reference#maxeffortlevel) membatasi upaya pada klien sebagai gantinya. Ketika keduanya berlaku untuk model, batas yang lebih rendah diterapkan.442Organisasi Anda dapat membatasi [tingkat upaya](#adjust-effort-level) dengan dua cara. Pada paket Claude Enterprise, admin organisasi menetapkan batas upaya per peran, dijelaskan di bawah. Pada paket apa pun dan penyedia apa pun, termasuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, pengaturan terkelola [`maxEffortLevel`](/docs/id/settings-reference#maxeffortlevel) membatasi upaya pada klien sebagai gantinya. Ketika keduanya berlaku untuk model, batas yang lebih rendah diterapkan.

443 443 

444Admin organisasi pada paket Claude Enterprise dapat menetapkan tingkat [upaya](#adjust-effort-level) maksimum per model untuk setiap peran kustom, bersama dengan [pembatasan model organisasi](#organization-model-restrictions) tingkat peran. Level di atas batas tidak ditawarkan dalam pemilih `/effort`, dan menamai level yang lebih tinggi dengan `--effort` atau `/effort` berjalan pada batas sebagai gantinya. Dalam sesi interaktif dan `--print` teks biasa, peringatan menyebutkan level yang diminta dan diterapkan; dengan output `json` atau `stream-json` atau dalam agen latar belakang, penjepit diterapkan secara diam-diam. Batas adalah per model, jadi beralih model dapat mengubah level mana yang tersedia. Ketika beberapa peran Anda memberikan model yang sama, batas paling tidak ketat berlaku. Memerlukan Claude Code v2.1.195 atau lebih baru.444Admin organisasi pada paket Claude Enterprise dapat menetapkan [tingkat effort](#adjust-effort-level) maksimum per model untuk setiap peran kustom, bersama dengan [pembatasan model organisasi](#organization-model-restrictions) tingkat peran. Memerlukan Claude Code v2.1.195 atau lebih baru.

445 

446* Level di atas batas tidak ditawarkan dalam pemilih `/effort`, dan menyebutkan level yang lebih tinggi dengan `--effort` atau `/effort` akan berjalan pada batas sebagai gantinya. Jika Anda memulai proses `--print` teks biasa dengan `--effort` di atas batas, peringatan pada stderr menyebutkan level yang diminta dan yang diterapkan. Dalam sesi interaktif, dengan output `json` atau `stream-json`, atau dalam agent latar belakang, peringatan tersebut dikirim ke [log debug](/docs/id/errors#configuration-warnings) sebagai gantinya.

447* Batas berlaku per model, jadi beralih model dapat mengubah level mana yang tersedia.

448* Ketika beberapa peran Anda memberikan model yang sama, batas yang paling tidak ketat yang berlaku.

445 449 

446Batas upaya disampaikan bersama dengan [pembatasan model organisasi](#organization-model-restrictions) dan mencapai sesi yang sama.450Batas upaya disampaikan bersama dengan [pembatasan model organisasi](#organization-model-restrictions) dan mencapai sesi yang sama.

447 451 


843* Jika Claude Code tidak dapat me-resolve ejaan penyedia atau kustom ke model yang dikenalinya dan ID tersebut tidak mengandung `[1m]`, variabel ini berlaku secara langsung dan compaction proaktif berlanjut pada jendela yang dideklarasikan.847* Jika Claude Code tidak dapat me-resolve ejaan penyedia atau kustom ke model yang dikenalinya dan ID tersebut tidak mengandung `[1m]`, variabel ini berlaku secara langsung dan compaction proaktif berlanjut pada jendela yang dideklarasikan.

844* Jika Claude Code tidak dapat me-resolve ejaan penyedia atau kustom ke model yang dikenalinya dan ID tersebut mengandung `[1m]`, dalam huruf besar maupun kecil apa pun, Claude Code mengasumsikan jendela 1M untuknya dan variabel ini tidak berlaku dengan sendirinya. Untuk mengoreksi jendela sambil mempertahankan compaction proaktif, atur juga [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/id/env-vars). Dengan variabel tersebut diatur, Claude Code menentukan ukuran ID seperti ejaan yang sama tanpa `[1m]`, sehingga `CLAUDE_CODE_MAX_CONTEXT_TOKENS` berlaku ketika variabel tersebut akan berlaku untuk ejaan tanpa tag itu.848* Jika Claude Code tidak dapat me-resolve ejaan penyedia atau kustom ke model yang dikenalinya dan ID tersebut mengandung `[1m]`, dalam huruf besar maupun kecil apa pun, Claude Code mengasumsikan jendela 1M untuknya dan variabel ini tidak berlaku dengan sendirinya. Untuk mengoreksi jendela sambil mempertahankan compaction proaktif, atur juga [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/id/env-vars). Dengan variabel tersebut diatur, Claude Code menentukan ukuran ID seperti ejaan yang sama tanpa `[1m]`, sehingga `CLAUDE_CODE_MAX_CONTEXT_TOKENS` berlaku ketika variabel tersebut akan berlaku untuk ejaan tanpa tag itu.

845 849 

846 Dengan jendela yang dideklarasikan di atas 200K, Claude Code kemudian menampilkan [peringatan saat startup](/docs/id/errors#the-200k-limit-isnt-enforced) bahwa batas 200K tidak diberlakukan. Peringatan ini memang diharapkan dalam konfigurasi ini.850 Dengan jendela yang dideklarasikan di atas 200K, peringatan bahwa [batas 200K tidak diberlakukan](/docs/id/errors#the-200k-limit-isnt-enforced) memang diharapkan dalam konfigurasi ini.

847* Jika ID di-resolve ke model yang dikenali Claude Code, atau ID tersebut adalah nama `claude-` polos tanpa akhiran yang perlu dihapus Claude Code, dalam huruf besar maupun kecil apa pun, variabel ini hanya berlaku jika Anda juga mengatur [`DISABLE_COMPACT`](/docs/id/env-vars), yang menonaktifkan semua compaction.851* Jika ID di-resolve ke model yang dikenali Claude Code, atau ID tersebut adalah nama `claude-` polos tanpa akhiran yang perlu dihapus Claude Code, dalam huruf besar maupun kecil apa pun, variabel ini hanya berlaku jika Anda juga mengatur [`DISABLE_COMPACT`](/docs/id/env-vars), yang menonaktifkan semua compaction.

848 852 

849 Misalnya, ID yang mengandung nama model Claude yang dikenal Claude Code, seperti `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, atau `claude-sonnet-4-5@20250929` yang bertanggal, di-resolve ke model tersebut. Ini termasuk ID yang juga mengandung `[1m]`: Claude Code me-resolve `claude-opus-4-8[1m]` ke Opus 4.8 bahkan dengan `CLAUDE_CODE_DISABLE_1M_CONTEXT` diatur.853 Misalnya, ID yang mengandung nama model Claude yang dikenal Claude Code, seperti `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, atau `claude-sonnet-4-5@20250929` yang bertanggal, di-resolve ke model tersebut. Ini termasuk ID yang juga mengandung `[1m]`: Claude Code me-resolve `claude-opus-4-8[1m]` ke Opus 4.8 bahkan dengan `CLAUDE_CODE_DISABLE_1M_CONTEXT` diatur.

Details

220| `claude.ai` | Autentikasi akun claude.ai |220| `claude.ai` | Autentikasi akun claude.ai |

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

222| `platform.claude.com` | Autentikasi akun Anthropic Console. Pertukaran token OAuth, penyegaran, dan pencabutan juga menuju host ini untuk akun claude.ai, jadi masuk Console dan claude.ai memerlukan keduanya |222| `platform.claude.com` | Autentikasi akun Anthropic Console. Pertukaran token OAuth, penyegaran, dan pencabutan juga menuju host ini untuk akun claude.ai, jadi masuk Console dan claude.ai memerlukan keduanya |

223| `sso.claude.com` | Bagian dari alur masuk browser untuk organisasi yang menggunakan single sign-on (SSO). Jika proxy memblokir host ini, proses masuk tersebut dapat gagal |

223| `mcp-proxy.anthropic.com` | [MCP connectors dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai), termasuk konektor yang dikonfigurasi administrator organisasi. Lalu lintas konektor merutekan melalui proxy ini; konektor diaktifkan secara default untuk pengguna yang diautentikasi claude.ai. Untuk menghentikan Claude Code dari mengambilnya, atur [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/id/env-vars) atau pengaturan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) |224| `mcp-proxy.anthropic.com` | [MCP connectors dari claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai), termasuk konektor yang dikonfigurasi administrator organisasi. Lalu lintas konektor merutekan melalui proxy ini; konektor diaktifkan secara default untuk pengguna yang diautentikasi claude.ai. Untuk menghentikan Claude Code dari mengambilnya, atur [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/id/env-vars) atau pengaturan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) |

224| `downloads.claude.ai` | Unduhan executable plugin; installer asli, auto-updater asli, dan pemeriksaan versi pembaruan |225| `downloads.claude.ai` | Unduhan executable plugin; installer asli, auto-updater asli, dan pemeriksaan versi pembaruan |

225| `storage.googleapis.com` | Jumlah instalasi plugin dan metadata yang ditampilkan di `/plugin` |226| `storage.googleapis.com` | Jumlah instalasi plugin dan metadata yang ditampilkan di `/plugin` |

overview.md +5 −5

Details

22 22 

23**macOS, Linux, WSL:**23**macOS, Linux, WSL:**

24 24 

25```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}25```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26curl -fsSL https://claude.ai/install.sh | bash

27```27```

28 28 


30 30 

31**Windows PowerShell:**31**Windows PowerShell:**

32 32 

33```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}33```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34irm https://claude.ai/install.ps1 | iex

35```35```

36 36 

37**Windows CMD:**37**Windows CMD:**

38 38 

39```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}39```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41```

42 42 


54 54 

55**Homebrew**55**Homebrew**

56 56 

57```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}57```bash theme={null}

58brew install --cask claude-code58brew install --cask claude-code

59```59```

60 60 


66 66 

67**WinGet**67**WinGet**

68 68 

69```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}69```powershell theme={null}

70winget install Anthropic.ClaudeCode70winget install Anthropic.ClaudeCode

71```71```

72 72 

Details

172 172 

173Perhatikan bilah status dalam klip sesi yang dimulai dalam auto mode ini. Setiap kali Anda menekan `Shift+Tab`, bilah status berubah dari `auto mode on` ke `manual mode on`, `accept edits on`, `plan mode on`, lalu kembali ke `auto mode on`.173Perhatikan bilah status dalam klip sesi yang dimulai dalam auto mode ini. Setiap kali Anda menekan `Shift+Tab`, bilah status berubah dari `auto mode on` ke `manual mode on`, `accept edits on`, `plan mode on`, lalu kembali ke `auto mode on`.

174 174 

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/oa7CKjMeIChox26S/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=oa7CKjMeIChox26S&q=85&s=198ca90aeb2e3675b3d01b7d686aab0b" aria-label="Bilah status di bawah prompt Claude Code berubah setiap kali Shift+Tab ditekan: auto mode on, manual mode on, accept edits on, plan mode on, lalu auto mode on lagi." />175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="Bilah status di bawah prompt Claude Code berubah setiap kali Shift+Tab ditekan: auto mode on, manual mode on, accept edits on, plan mode on, lalu auto mode on lagi." />

176 176 

177Tidak setiap mode ada dalam siklus default:177Tidak setiap mode ada dalam siklus default:

178 178 


236* **Auto**: muncul ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode)236* **Auto**: muncul ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode)

237* **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** dalam pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya237* **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** dalam pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya

238 238 

239Tab Cowork tidak menggunakan mode ini. Cowork memiliki mode izinnya sendiri, diaktifkan secara terpisah, dan tab Cowork tidak menampilkan pemilih mode sama sekali sampai mode di luar defaultnya diaktifkan untuk akun Anda. Lihat [dokumen Cowork](https://claude.com/docs/cowork/overview).239Cowork tidak menggunakan mode ini. Cowork memiliki mode izinnya sendiri, diaktifkan secara terpisah, dan tidak menampilkan pemilih mode sama sekali sampai mode di luar defaultnya diaktifkan untuk akun Anda. Lihat [dokumen Cowork](https://claude.com/docs/cowork/overview).

240 240 

241Untuk detail khusus desktop, lihat [Pilih mode izin](/docs/id/desktop#choose-a-permission-mode) dalam panduan Desktop.241Untuk detail khusus desktop, lihat [Pilih mode izin](/docs/id/desktop#choose-a-permission-mode) dalam panduan Desktop.

242 242 


579>579>

580> [Mod](/docs/id/plugins/mods/overview) yang Anda instal yang menangani `tool.check` juga dapat menyetujui suatu tindakan. Untuk kasus di mana persetujuannya tidak dapat melewati aturan dan hook Anda, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).580> [Mod](/docs/id/plugins/mods/overview) yang Anda instal yang menangani `tool.check` juga dapat menyetujui suatu tindakan. Untuk kasus di mana persetujuannya tidak dapat melewati aturan dan hook Anda, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).

581>581>

582> Di ekstensi VS Code, cara tindakan browser [Claude in Chrome](/docs/id/chrome) disetujui bergantung pada cara sesi terhubung ke browser: lihat [Permintaan izin dalam sesi VS Code](/docs/id/chrome#permission-prompts-in-vs-code-sessions).582> Untuk cara tindakan browser [Claude in Chrome](/docs/id/chrome) disetujui di ekstensi VS Code, lihat [Permintaan izin dalam sesi VS Code](/docs/id/chrome#permission-prompts-in-vs-code-sessions).

583>583>

584> Saat memasuki auto mode, aturan allow luas yang memberikan eksekusi kode arbitrer dihapus:584> Saat memasuki auto mode, aturan allow luas yang memberikan eksekusi kode arbitrer dihapus:

585>585>


667* **Jika Anda menerima**: Claude Code menetapkan `skipDangerousModePermissionPrompt` ke `true` dalam `~/.claude/settings.json`, sehingga sesi berikutnya melewati dialog. Untuk melihat dialog lagi, hapus kunci dari file tersebut atau atur ke `false`. Referensi [`skipDangerousModePermissionPrompt`](/docs/id/settings-reference#skipdangerousmodepermissionprompt) mencantumkan file pengaturan lainnya di mana Anda atau organisasi Anda dapat mengaturnya.667* **Jika Anda menerima**: Claude Code menetapkan `skipDangerousModePermissionPrompt` ke `true` dalam `~/.claude/settings.json`, sehingga sesi berikutnya melewati dialog. Untuk melihat dialog lagi, hapus kunci dari file tersebut atau atur ke `false`. Referensi [`skipDangerousModePermissionPrompt`](/docs/id/settings-reference#skipdangerousmodepermissionprompt) mencantumkan file pengaturan lainnya di mana Anda atau organisasi Anda dapat mengaturnya.

668* **Jika Anda menolak**: Claude Code keluar.668* **Jika Anda menolak**: Claude Code keluar.

669 669 

670Dalam [mode non-interaktif](/docs/id/headless) tidak ada dialog yang ditampilkan. [Sesi latar belakang](/docs/id/agent-view) menghormati penerimaan Anda ketika penerimaan tersebut tercatat dalam pengaturan pengguna atau pengaturan terkelola:670Dalam [mode non-interaktif](/docs/id/headless) tidak ada dialog yang ditampilkan.

671 

672[Sesi latar belakang](/docs/id/agent-view) menghormati penerimaan Anda ketika penerimaan tersebut tercatat dalam pengaturan pengguna atau pengaturan terkelola:

673 

674* Tanpa penerimaan yang tercatat, `claude --bg --permission-mode bypassPermissions` ditolak. Terima dialog dalam sesi interaktif terlebih dahulu.

675* Dengan `skipDangerousModePermissionPrompt` yang hanya diatur dalam `.claude/settings.local.json`, sesi latar belakang dimulai dengan [permintaan bypass diabaikan](#bypass-permissions-ignored-in-a-background-session):

671 676 

672* Tanpa penerimaan yang tercatat, `claude --bg --permission-mode bypassPermissions` ditolak sampai Anda menerima dialog dalam sesi interaktif.

673* Dengan `skipDangerousModePermissionPrompt` yang hanya diatur dalam `.claude/settings.local.json`, sesi latar belakang dimulai dengan permintaan bypass diabaikan dan menyematkan pemberitahuan `Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true`. Tambahkan kunci tersebut ke `~/.claude/settings.json`, lalu mulai sesi latar belakang baru. Sesi yang menampilkan pemberitahuan tersebut tetap berjalan:

674 * Jika `--allow-dangerously-skip-permissions` diabaikan, `bypassPermissions` tidak disertakan dalam siklus `Shift+Tab`-nya.677 * Jika `--allow-dangerously-skip-permissions` diabaikan, `bypassPermissions` tidak disertakan dalam siklus `Shift+Tab`-nya.

675 * Jika `--permission-mode bypassPermissions` atau `--dangerously-skip-permissions` diabaikan, sesi dimulai dalam mode Manual sebagai gantinya.678 * Jika `--permission-mode bypassPermissions` atau `--dangerously-skip-permissions` diabaikan, sesi dimulai dalam mode Manual sebagai gantinya.

676 679 

680 Tambahkan `"skipDangerousModePermissionPrompt": true` ke `~/.claude/settings.json`, lalu mulai sesi latar belakang baru.

681 

677Di Linux dan macOS, Claude Code menolak untuk memulai dalam mode `bypassPermissions` saat berjalan sebagai root atau di bawah `sudo`:682Di Linux dan macOS, Claude Code menolak untuk memulai dalam mode `bypassPermissions` saat berjalan sebagai root atau di bawah `sudo`:

678 683 

679```text theme={null}684```text theme={null}


688>693>

689> `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode auto](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).694> `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode auto](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).

690 695 

696### Bypass permissions diabaikan dalam sesi latar belakang

697 

698Pemberitahuan ini berarti [sesi latar belakang](/docs/id/agent-view) tidak menemukan penerimaan Anda atas [peringatan bypass permissions](#bypass-permissions-acceptance) dalam pengaturan pengguna atau pengaturan terkelola, sehingga sesi tersebut mengabaikan permintaan bypass yang dibuat saat peluncuran:

699 

700```text theme={null}

701Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true

702```

703 

704Tambahkan `"skipDangerousModePermissionPrompt": true` ke `~/.claude/settings.json`, lalu mulai sesi latar belakang baru.

705 

706### `claude agents` menampilkan peringatan bypass permissions yang dilewati sesi interaktif

707 

708Jika [`claude agents`](/docs/id/agent-view#dispatch-defaults) menampilkan [peringatan bypass permissions](#bypass-permissions-acceptance) meskipun sesi interaktif Anda melewatinya, periksa apakah `skipDangerousModePermissionPrompt` diatur dalam `.claude/settings.local.json` atau file `--settings`. Sesi interaktif menganggap kunci di sana sebagai penerimaan Anda atas peringatan tersebut, sedangkan `claude agents` tidak. Terlepas dari apakah Anda menemukannya di sana atau tidak, terima peringatan tersebut untuk menambahkan kunci ke `~/.claude/settings.json`, tempat `claude agents` mencarinya.

709 

691## Jalur yang dilindungi710## Jalur yang dilindungi

692 711 

693Penulisan 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.712Penulisan 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.

permissions.md +29 −6

Details

202}202}

203```203```

204 204 

205Aturan allow menerima glob nama alat hanya setelah awalan `mcp__<server>__` literal. Segmen server harus bebas glob sehingga aturan menamai server spesifik yang Anda konfigurasi. `mcp__puppeteer__*` mencocokkan setiap alat dari server `puppeteer`, dan `mcp__github__get_*` mencocokkan alat `get_` miliknya. Glob allow yang tidak berlabuh seperti `"*"`, `"B*"`, atau `"mcp__*"` dilewati dengan peringatan dan tidak auto-approve apa pun.205Aturan allow menerima glob nama tool hanya setelah awalan `mcp__<server>__` literal. Segmen server harus bebas glob sehingga aturan menamai server spesifik yang Anda konfigurasi. `mcp__puppeteer__*` mencocokkan setiap tool dari server `puppeteer`, dan `mcp__github__get_*` mencocokkan tool `get_` miliknya. Glob allow yang tidak berlabuh seperti `"*"`, `"B*"`, atau `"mcp__*"` dilewati dan tidak auto-approve apa pun.

206 206 

207Aturan deny atau ask yang nama alatnya tidak cocok dengan alat yang diketahui menghasilkan peringatan startup untuk menangkap typo. Nama alat yang berisi `_` atau `*` dikecualikan dari pemeriksaan, begitu juga nama alat yang telah dihapus Claude Code, seperti `TaskOutput`.207Aturan deny atau ask yang nama tool-nya tidak cocok dengan tool yang diketahui menghasilkan [peringatan startup](/docs/id/errors#matches-no-tool) untuk menangkap typo. Nama tool yang berisi `_` atau `*` dikecualikan dari pemeriksaan, begitu juga nama tool yang telah dihapus Claude Code, seperti `TaskOutput`.

208 208 

209Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat berlabel `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/docs/id/hooks) tidak mencocokkan label, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan deny dan ask, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/docs/id/tools-reference).209Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat berlabel `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/docs/id/hooks) tidak mencocokkan label, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan deny dan ask, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/docs/id/tools-reference).

210 210 


241Aturan prefiks seperti `Bash(watch *)` atau `Bash(find *)` tidak dapat menyetujui otomatis perintah-perintah berikut, sehingga dalam mode Manual perintah tersebut memunculkan permintaan izin:241Aturan prefiks seperti `Bash(watch *)` atau `Bash(find *)` tidak dapat menyetujui otomatis perintah-perintah berikut, sehingga dalam mode Manual perintah tersebut memunculkan permintaan izin:

242 242 

243* **Wrapper eksekusi**: seperti `watch`, `setsid`, `ionice`, dan `flock`243* **Wrapper eksekusi**: seperti `watch`, `setsid`, `ionice`, dan `flock`

244* **`find`**: dengan aksi yang menjalankan perintah, menghapus file, atau menulis file, seperti `-exec`, `-delete`, atau `-fprint`, atau dengan `-files0-from`, yang mengambil path yang akan dicari dari sebuah file244* **`find`**: dengan aksi yang menjalankan perintah, menghapus file, atau menulis file, seperti `-exec`, `-delete`, `-rm`, atau `-fprint`, atau dengan `-files0-from`, yang mengambil path yang akan dicari dari sebuah file

245 245 

246Untuk menyetujui pemanggilan tertentu yang tidak mengandung `*`, tulis aturan pencocokan persis untuk string perintah lengkap, seperti `Bash(find build -type f -delete)`.246Untuk menyetujui pemanggilan tertentu yang tidak mengandung `*`, tulis aturan pencocokan persis untuk string perintah lengkap, seperti `Bash(find build -type f -delete)`.

247 247 


460 460 

461Grep dan Glob mencari di direktori yang dituju oleh argumen `path`. Claude Code menerapkan aturan deny `Read` ke direktori tersebut.461Grep dan Glob mencari di direktori yang dituju oleh argumen `path`. Claude Code menerapkan aturan deny `Read` ke direktori tersebut.

462 462 

463##### Lampiran melalui symlink

464 

465Aturan deny `Read` juga mencakup lampiran berikut, dengan mencocokkan masing-masing pada path yang disebutkan atau file yang dituju. Claude Code tidak menyertakan lampiran dalam percakapan ketika sebuah aturan cocok dengannya:

466 

467* **`@`-mention**: file atau direktori yang Anda mention dalam prompt Anda. File yang ditolak tidak meninggalkan apa pun dalam percakapan, dan [daftar direktori](#read-and-edit) tidak menyertakan nama yang dicakup oleh aturan.

468* **Gambar yang ditempelkan**: gambar yang path-nya Anda tempelkan atau seret ke dalam prompt di terminal

469* **File yang berubah**: file yang dibaca ulang oleh Claude Code setelah file tersebut berubah di disk

470* **Konteks IDE**: konteks seleksi dan file terbuka yang dibagikan oleh IDE yang terhubung

471 

472Dengan [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktif, atau dalam sesi [`--restricted`](/docs/id/cli-reference#cli-flags), lampiran ini juga tidak disertakan ketika berasal dari path tempat pengaturan atau flag tersebut menolak pembacaan file oleh Claude.

473 

474Baris berikut di tempat file yang Anda `@`-mention berarti Claude Code tidak dapat menentukan ke mana path tersebut mengarah, misalnya karena symlink-nya membentuk loop:

475 

476```text theme={null}

477Referenced <path> (not read: could not be examined)

478```

479 

480Claude diminta untuk membaca path tersebut dengan tool file-nya sebagai gantinya, yang dapat berhasil ketika Claude Code hanya kehabisan waktu untuk memeriksa path tersebut.

481 

482Ketika symlink pada path tersebut tidak dapat di-resolve, pembacaan itu juga [ditolak](/docs/id/errors#refusing-after-a-symlink-changed), jadi perbaiki tautan di disk atau `@`-mention file tersebut melalui path yang dapat di-resolve.

483 

463##### Penulisan melalui symlink484##### Penulisan melalui symlink

464 485 

465Jika path yang diminta Claude untuk diedit atau ditulis itu sendiri adalah symlink, tool Edit dan Write [menolak penulisan dan mengarahkan Claude ke target tautan tersebut](/docs/id/errors#refusing-after-a-symlink-changed).486Jika path yang diminta Claude untuk diedit atau ditulis itu sendiri adalah symlink, tool Edit dan Write [menolak penulisan dan mengarahkan Claude ke target tautan tersebut](/docs/id/errors#refusing-after-a-symlink-changed).


489 510 

490Untuk membaca file di share jaringan tanpa permintaan izin ini, berikan share tersebut path lokal terlebih dahulu:511Untuk membaca file di share jaringan tanpa permintaan izin ini, berikan share tersebut path lokal terlebih dahulu:

491 512 

492* **Windows**: petakan share ke sebuah huruf drive dan teruskan drive tersebut dengan `--add-dir` saat Anda meluncurkan Claude Code, seperti yang dijelaskan di [Direktori kerja](#working-directories)513* **Windows**: petakan share ke sebuah huruf drive dan teruskan drive tersebut dengan `--add-dir` saat Anda meluncurkan Claude Code, seperti yang dijelaskan di [Direktori kerja](#working-directories). Pembacaan di bawah drive yang Anda tambahkan kemudian dengan `/add-dir`, atau yang Anda cantumkan dalam `additionalDirectories` di file pengaturan, tetap memunculkan permintaan izin. Untuk menghentikan permintaan izin tersebut bagi share yang dipetakan ke `Z:`, mulai sesi baru di PowerShell dengan `claude --add-dir Z:\`.

493* **macOS dan Linux**: mount share di path lokal, seperti direktori di bawah `/mnt` atau `/Volumes`, dan baca file dari sana, seperti yang dijelaskan di [Direktori kerja adalah path jaringan](/docs/id/errors#working-directory-is-a-network-path)514* **macOS dan Linux**: mount share di path lokal, seperti direktori di bawah `/mnt` atau `/Volumes`, dan baca file dari sana, seperti yang dijelaskan di [Direktori kerja adalah path jaringan](/docs/id/errors#working-directory-is-a-network-path)

494 515 

495### WebFetch516### WebFetch


545 566 

546* **Nama dengan karakter seperti `.` atau spasi**: karakter tersebut menjadi `_`, sehingga untuk server yang Anda konfigurasi sebagai `my.server`, tulis `mcp__my_server__*`567* **Nama dengan karakter seperti `.` atau spasi**: karakter tersebut menjadi `_`, sehingga untuk server yang Anda konfigurasi sebagai `my.server`, tulis `mcp__my_server__*`

547* **Server yang disediakan plugin**: `<server>` menggunakan [bentuk bercakupan plugin](/docs/id/mcp#plugin-provided-mcp-servers), sehingga untuk server `database-tools` dalam plugin bernama `my-plugin`, tulis `mcp__plugin_my-plugin_database-tools__*`568* **Server yang disediakan plugin**: `<server>` menggunakan [bentuk bercakupan plugin](/docs/id/mcp#plugin-provided-mcp-servers), sehingga untuk server `database-tools` dalam plugin bernama `my-plugin`, tulis `mcp__plugin_my-plugin_database-tools__*`

548* **`<server>` yang mengandung `__` atau berakhiran `_`**: tulis bentuk wildcard, `mcp__<server>__*`, dengan nama lengkapnya. Untuk server bernama `reports__v2`, tulis `mcp__reports__v2__*`. `mcp__reports__v2` tanpa wildcard dan `mcp__reports` yang lebih pendek tidak cocok dengan tool-nya sebagai aturan allow, karena Claude Code membaca keduanya sebagai aturan untuk server bernama `reports`569* **`<server>` yang mengandung `__` atau berakhiran `_`**: tulis bentuk wildcard, `mcp__<server>__*`, dengan nama lengkapnya. Untuk server bernama `reports__v2`, tulis `mcp__reports__v2__*`. `mcp__reports__v2` tanpa wildcard dan `mcp__reports` yang lebih pendek tidak cocok dengan tool-nya sebagai aturan allow, karena Claude Code membaca keduanya sebagai aturan untuk server bernama `reports`.

570 

571 Namun, sebagai aturan deny atau ask, masing-masing dari kedua nama tersebut juga mencakup setiap tool dari server `reports__v2`. Untuk hanya mencakup server bernama `reports`, tulis satu aturan per tool dalam bentuk `mcp__reports__<tool>`, atau ganti nama salah satu server.

549 572 

550Jika organisasi Anda telah menetapkan tool [konektor claude.ai](/docs/id/mcp#organization-controls-on-connector-tools) ke `ask` dan pengaturan tersebut sampai ke Claude Code dalam sesi Anda, aturan allow untuk tool tersebut tidak berlaku: Claude Code meminta persetujuan pada setiap panggilan, bahkan dalam mode `auto` dan `bypassPermissions`. Dalam mode `dontAsk`, yang tidak pernah meminta persetujuan, Claude Code justru menolak panggilan tersebut. Tool dari konektor yang diambil sendiri oleh Claude Code muncul sebagai `mcp__claude_ai_<server>__<tool>`.573Jika organisasi Anda telah menetapkan tool [konektor claude.ai](/docs/id/mcp#organization-controls-on-connector-tools) ke `ask` dan pengaturan tersebut sampai ke Claude Code dalam sesi Anda, aturan allow untuk tool tersebut tidak berlaku: Claude Code meminta persetujuan pada setiap panggilan, bahkan dalam mode `auto` dan `bypassPermissions`. Dalam mode `dontAsk`, yang tidak pernah meminta persetujuan, Claude Code justru menolak panggilan tersebut. Tool dari konektor yang diambil sendiri oleh Claude Code muncul sebagai `mcp__claude_ai_<server>__<tool>`.

551 574 


593 616 

594Keputusan hook PreToolUse tidak melewati aturan izin. Claude Code mengevaluasi aturan deny dan ask terlepas dari apa yang dikembalikan hook PreToolUse: aturan deny yang cocok memblokir panggilan, dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.617Keputusan hook PreToolUse tidak melewati aturan izin. Claude Code mengevaluasi aturan deny dan ask terlepas dari apa yang dikembalikan hook PreToolUse: aturan deny yang cocok memblokir panggilan, dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.

595 618 

596Prioritas tersebut mencakup hook dalam file pengaturan dan dalam `hooks/hooks.json` plugin. Sebuah [mod](/docs/id/plugins/mods/overview) yang Anda instal yang menangani event [`tool.check`](/docs/id/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) memberikan jawabannya setelah aturan izin dan hook `PreToolUse` telah memutuskan. Dengan [pengaturan terkelola](/docs/id/settings#check-what-your-organization-enforces) pada mesin, atau [`/login`](/docs/id/authentication#authentication-precedence) Team atau Enterprise sebagai kredensial sesi, hasil-hasil berikut tetap berlaku secara default ketika mod menyetujui panggilan:619Prioritas tersebut mencakup hook dalam file pengaturan dan dalam `hooks/hooks.json` plugin. Sebuah [mod](/docs/id/plugins/mods/overview) yang Anda instal yang menangani event [`tool.check`](/docs/id/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) memberikan jawabannya setelah hook `PreToolUse` selesai berjalan. Dengan [pengaturan terkelola](/docs/id/settings#check-what-your-organization-enforces) pada mesin, atau [`/login`](/docs/id/authentication#authentication-precedence) Team atau Enterprise sebagai kredensial sesi, hasil-hasil berikut tetap berlaku secara default ketika mod menyetujui panggilan:

597 620 

598* Panggilan yang ditolak oleh aturan deny tetap ditolak, dan organisasi Anda dapat mengubahnya.621* Panggilan yang ditolak oleh aturan deny tetap ditolak, dan organisasi Anda dapat mengubahnya.

599* Panggilan yang akan dimintakan persetujuan oleh aturan ask tetap meminta persetujuan Anda.622* Panggilan yang akan dimintakan persetujuan oleh aturan ask tetap meminta persetujuan Anda.

Details

211| `$.ui.status(text)` | Satu baris di bawah prompt yang tetap sampai Anda mengubahnya. Dimulai dengan `⚠` dan nama mod, seperti `⚠ my-mod: checks: 3 passing`. |211| `$.ui.status(text)` | Satu baris di bawah prompt yang tetap sampai Anda mengubahnya. Dimulai dengan `⚠` dan nama mod, seperti `⚠ my-mod: checks: 3 passing`. |

212| `$.ui.toast(text)` | Notifikasi toast dengan nama mod yang hilang setelah beberapa detik. Berupa kotak di kanan atas dalam [rendering layar penuh](/docs/id/fullscreen), dan satu baris di sebelah kanan di bawah prompt dalam renderer klasik. |212| `$.ui.toast(text)` | Notifikasi toast dengan nama mod yang hilang setelah beberapa detik. Berupa kotak di kanan atas dalam [rendering layar penuh](/docs/id/fullscreen), dan satu baris di sebelah kanan di bawah prompt dalam renderer klasik. |

213| `$.ui.log(text)` | Baris redup dalam transkrip yang tidak dibaca Claude. Dimulai dengan `●` dan nama mod, seperti `● my-mod: build finished`. |213| `$.ui.log(text)` | Baris redup dalam transkrip yang tidak dibaca Claude. Dimulai dengan `●` dan nama mod, seperti `● my-mod: build finished`. |

214| `$.ui.notify(text)` | Notifikasi dari terminal mereka, di luar Claude Code, yang dikirim sesuai pengaturan [`preferredNotifChannel`](/docs/id/settings-reference#preferrednotifchannel) mereka. Nama mod menjadi judulnya kecuali Anda meneruskan `{ title }` yang tidak kosong, yang ditampilkan persis seperti yang Anda berikan. |

215 

216`$.ui.notify` adalah satu-satunya panggilan di antara ini yang memberikan jawaban. Panggilan ini menyelesaikan dengan `{ isSent: true, channel }` saat channel pengguna menulis notifikasi ke terminal mereka. `channel` adalah nilai pengaturan yang mengirimkannya, seperti `kitty` atau `terminal_bell`. Channel `terminal_bell` membunyikan bel dan tidak menampilkan teks Anda maupun judulnya.

217 

218Jika tidak, panggilan menyelesaikan dengan `{ isSent: false, reason }`:

219 

220| `reason` | Arti |

221| :- | :- |

222| `disabled` | Pengguna mengatur `preferredNotifChannel` ke `notifications_disabled` |

223| `no-channel` | Pengaturannya `auto` dan terminal mereka tidak memiliki notifikasi yang dapat dikirim Claude Code |

224| `no-surface` | Sesi tidak memiliki terminal, seperti dalam eksekusi `-p`, Agent SDK, aplikasi desktop, ekstensi VS Code, atau sesi cloud. Juga merupakan jawaban untuk panggilan yang dilakukan sebelum sesi dimulai, saat mod Anda sedang dimuat, dan untuk panggilan yang dilakukan saat Claude Code sedang keluar |

225| `refused` | Hook milik mod lain pada `ui.notify` menjawab menggantikan Claude Code tanpa mengirim |

226 

227Panggilan menolak alih-alih menyelesaikan saat `text` bukan string, saat hook milik mod lain pada `ui.notify` mengembalikan `{ deny }`, atau saat penulisan ke terminal gagal.

228 

229Mod Anda tidak dapat memilih channel, dan Claude Code tidak membatasi seberapa sering mod mengirim notifikasi. Pengaturan pengguna adalah satu-satunya pengendali.

230 

231Saat panggilan mencapai sesi yang sedang berjalan, [hook `Notification`](/docs/id/hooks#notification) milik pengguna berjalan dengan tipe `plugin_notification`. Hook tersebut tetap berjalan bahkan saat jawabannya `disabled`, dan dalam sesi tanpa terminal, dengan jawaban `no-surface`. Tidak ada hook yang berjalan untuk panggilan yang dilakukan sebelum sesi dimulai atau saat Claude Code sedang keluar. Hook tempat mod Anda memanggil `$.ui.notify` dikecualikan dari eksekusi tersebut, sehingga hook `classic.Notification` yang mengirim notifikasi tidak dipanggil lagi untuk notifikasinya sendiri.

232 

233Terminal tidak melaporkan apakah notifikasi telah ditampilkan, jadi `isSent: true` berarti notifikasi telah dikirim, bukan berarti pengguna telah melihatnya.

234 

235Contoh ini mengirim notifikasi saat giliran percakapan utama berakhir tanpa interupsi, dan beralih ke toast sebagai fallback saat tidak ada notifikasi dengan teks yang terkirim. Contoh ini tidak menunggu notifikasi sebelum meneruskan peristiwa, karena hook `Notification` milik pengguna berjalan terlebih dahulu dan dapat memakan waktu:

236 

237```javascript theme={null}

238on('turn.complete', ($, e, next) => {

239 const isMainTurn = e.agentId === undefined && !e.isAborted

240 const fallBack = () => $.ui.toast('Turn finished')

241 if (isMainTurn) {

242 $.ui.notify('Turn finished').then(sent => {

243 const hasText = sent.isSent && sent.channel !== 'terminal_bell'

244 if (!hasText) fallBack()

245 }, fallBack)

246 }

247 return next(e)

248})

249```

214 250 

215Di [ekstensi VS Code](/docs/id/plugins/mods/interface#draw-in-the-vs-code-extension), baris status dan toast ditampilkan di atas kotak prompt, dan baris log ditampilkan dalam percakapan.251Di [ekstensi VS Code](/docs/id/plugins/mods/interface#draw-in-the-vs-code-extension), baris status dan toast ditampilkan di atas kotak prompt, dan baris log ditampilkan dalam percakapan.

216 252 

Details

181 181 

182#### Setujui atau tolak panggilan tool sebelum pengguna ditanya182#### Setujui atau tolak panggilan tool sebelum pengguna ditanya

183 183 

184Untuk memutuskan apakah panggilan tool boleh berjalan, tangani [`tool.check`](/docs/id/plugins/mods/reference#tools), peristiwa tempat Claude Code membuat keputusan tersebut. Peristiwa ini diaktifkan setelah aturan izin dan hook pengaturan telah memutuskan, dan `next(e)` diselesaikan dengan keputusan mereka: `allow`, `ask`, atau `deny`. Hook Anda mengembalikan keputusan tersebut atau keputusan yang berbeda. `e.input` berisi argumen tool, seperti `command` untuk Bash.184Untuk memutuskan apakah panggilan tool boleh berjalan, tangani [`tool.check`](/docs/id/plugins/mods/reference#tools), peristiwa tempat Claude Code membuat keputusan tersebut.

185 185 

186Untuk perintah atau path yang tetap, gunakan [aturan izin](/docs/id/permissions#permission-rule-syntax) seperti `Bash(npm test)`, yang tidak memerlukan kode. Tangani `tool.check` ketika keputusan bergantung pada apa yang berlaku pada saat itu, seperti branch Git saat ini atau nilai yang dicatat oleh hook lain.186Untuk perintah atau path yang tetap, gunakan [aturan izin](/docs/id/permissions#permission-rule-syntax) seperti `Bash(npm test)`, yang tidak memerlukan kode. Tangani `tool.check` ketika keputusan bergantung pada apa yang berlaku pada saat itu, seperti branch Git saat ini atau nilai yang dicatat oleh hook lain.

187 187 

188* **Apa yang dikembalikan**: untuk memutuskan panggilan sendiri, kembalikan objek Anda sendiri, seperti `{ decision: 'allow' }` atau `{ decision: 'deny', reason }`. Untuk membiarkan keputusan apa adanya, kembalikan apa yang diberikan `await next(e)` kepada Anda.

189* **Apa yang diberikan `await next(e)`**: keputusan Claude Code sendiri, sebagai objek yang `decision`-nya adalah `allow`, `ask`, atau `deny`. Tidak ada permintaan izin yang muncul selama `next(e)` berjalan.

190* **Argumen**: `e.input` berisi argumen tool, seperti `command` untuk Bash

191* **Kapan `tool.check` diaktifkan**: setelah [hook `PreToolUse`](/docs/id/hooks#pretooluse) berjalan, dan sebelum permintaan izin, pengklasifikasi [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), atau hook [`PermissionRequest`](/docs/id/hooks#permissionrequest)

192 

188Hook ini menolak `git push` saat branch saat ini adalah `main`:193Hook ini menolak `git push` saat branch saat ini adalah `main`:

189 194 

190```javascript theme={null}195```javascript theme={null}

191on('tool.check', { tool: 'Bash' }, async ($, e, next) => {196on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

192 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'197 // Claude Code's own decision

193 const decided = await next(e)198 const decided = await next(e)

194 if (!e.input.command.includes('git push')) return decided199 if (!e.input.command.includes('git push')) return decided

195 const branch = await $.process.run(['git', 'branch', '--show-current'])200 const branch = await $.process.run(['git', 'branch', '--show-current'])


209>214>

210> Hook `tool.check` juga dapat mengembalikan `allow` atau `ask`. Dalam [plan mode](/docs/id/permissions#hook-approvals-in-plan-mode), untuk panggilan yang tidak read-only, seperti pengeditan file, hook Anda dapat memperketat keputusan yang dikembalikan `next(e)` tetapi tidak dapat melonggarkannya. Untuk aturan izin dan keputusan hook `PreToolUse` yang tidak dapat digantikan oleh `allow` dari hook Anda, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).215> Hook `tool.check` juga dapat mengembalikan `allow` atau `ask`. Dalam [plan mode](/docs/id/permissions#hook-approvals-in-plan-mode), untuk panggilan yang tidak read-only, seperti pengeditan file, hook Anda dapat memperketat keputusan yang dikembalikan `next(e)` tetapi tidak dapat melonggarkannya. Untuk aturan izin dan keputusan hook `PreToolUse` yang tidak dapat digantikan oleh `allow` dari hook Anda, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).

211 216 

217#### Periksa apakah panggilan tool bersifat read-only

218 

219Dalam hook [`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked), `e.isReadOnly` bernilai `true` ketika tool melaporkan panggilan tersebut sebagai read-only. Jika tidak, bidang ini tidak ada, bukan `false`. `e.isReadOnly` memerlukan Claude Code v2.1.304 atau yang lebih baru.

220 

221Beberapa tool, seperti Read, Grep, Glob, dan WebSearch, melaporkan setiap panggilan sebagai read-only. Bash dan tool MCP melaporkan panggilan sebagai read-only dalam kasus berikut:

222 

223* **Bash**: perintah lolos [pemeriksaan perintah read-only](/docs/id/permissions#read-only-commands) bawaan Claude Code

224* **Tool MCP**: server menetapkan anotasi `readOnlyHint` tool tersebut ke `true`

225 

226Nilai ini adalah laporan tool itu sendiri, jadi jangan menyetujui panggilan hanya berdasarkan bidang ini. Misalnya, panggilan WebFetch dan Agent dilaporkan sebagai read-only, meskipun [WebFetch](/docs/id/tools-reference#webfetch-tool-behavior) meminta URL dan [Agent](/docs/id/tools-reference#agent-tool-behavior) memulai subagent yang menjalankan tool-nya sendiri.

227 

228Hook ini mengembalikan `ask` untuk setiap panggilan `mcp__github__` yang tidak read-only dan belum ditolak:

229 

230```javascript theme={null}

231on('tool.check', { tool: /^mcp__github__/ }, async ($, e, next) => {

232 const decided = await next(e)

233 // Read-only calls and denied calls pass through unchanged

234 if (e.isReadOnly || decided.decision === 'deny') return decided

235 return { decision: 'ask', reason: 'This tool can change the GitHub repository' }

236})

237```

238 

239#### Filter hook `tool.check` berdasarkan apakah panggilan bersifat read-only

240 

241Untuk membatasi panggilan mana yang ditangani hook Anda berdasarkan [`e.isReadOnly`](#check-whether-a-tool-call-is-read-only), gunakan [matcher](#filter-which-events-a-hook-handles) untuk panggilan read-only dan badan hook untuk sisanya:

242 

243* **Hanya panggilan read-only**: tambahkan `isReadOnly: true` ke matcher, seperti dalam `on('tool.check', { tool: 'Bash', isReadOnly: true }, hook)`

244* **Panggilan yang tidak read-only**: uji `e.isReadOnly` di badan hook, seperti yang dilakukan [contoh `mcp__github__`](#check-whether-a-tool-call-is-read-only). Jika Anda menaruh `isReadOnly: false` dalam matcher, hook Anda tidak pernah berjalan.

245 

212### Tulis ulang atau tambahkan ke prompt246### Tulis ulang atau tambahkan ke prompt

213 247 

214Hook `prompt.submit` melihat setiap prompt sebelum giliran dimulai, sehingga dapat menulis ulang teks atau menambahkan sesuatu padanya. `e.text` adalah apa yang diketik.248Hook `prompt.submit` melihat setiap prompt sebelum giliran dimulai, sehingga dapat menulis ulang teks atau menambahkan sesuatu padanya. `e.text` adalah apa yang diketik.


312* **Hook `PreToolUse` dari pengaturan terkelola**: berjalan sebelum hook `tool.call` mod pertama. Ketika hook terkelola memblokir panggilan, tidak ada hook `tool.call` mod yang berjalan untuk panggilan tersebut.346* **Hook `PreToolUse` dari pengaturan terkelola**: berjalan sebelum hook `tool.call` mod pertama. Ketika hook terkelola memblokir panggilan, tidak ada hook `tool.call` mod yang berjalan untuk panggilan tersebut.

313* **Hook `PreToolUse` dari setiap file pengaturan lain dan dari `hooks/hooks.json` plugin**: berjalan setelah mod terakhir memanggil `next`, sebagai bagian dari perilaku Claude Code sendiri. Mod yang menjawab `tool.call` tanpa memanggil `next` mencegah mereka berjalan, dan mod yang memanggil `next` melihat keputusan mereka dalam hasil yang dikembalikan.347* **Hook `PreToolUse` dari setiap file pengaturan lain dan dari `hooks/hooks.json` plugin**: berjalan setelah mod terakhir memanggil `next`, sebagai bagian dari perilaku Claude Code sendiri. Mod yang menjawab `tool.call` tanpa memanggil `next` mencegah mereka berjalan, dan mod yang memanggil `next` melihat keputusan mereka dalam hasil yang dikembalikan.

314 348 

315[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) diaktifkan setelah aturan izin dan kedua kelompok hook `PreToolUse` telah memutuskan. Untuk mengetahui keputusan mana yang tidak dapat digantikan oleh `allow` dari hook `tool.check`, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).349[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) diaktifkan setelah hook `PreToolUse` berjalan. Untuk aturan izin dan keputusan hook `PreToolUse` yang tidak dapat digantikan oleh `allow` dari hook `tool.check`, lihat [Perluas izin dengan hook](/docs/id/permissions#precedence-among-rules-hooks-and-mods).

316 350 

317### Tangani hook yang gagal351### Tangani hook yang gagal

318 352 

Details

306| `closeOnEscape` | Membuat Esc menutup panel |306| `closeOnEscape` | Membuat Esc menutup panel |

307| `holdToasts` | Di terminal, menahan toast selama panel ini yang sedang ditampilkan. Lihat [Tahan toast di balik dialog](#hold-toasts-behind-a-dialog). |307| `holdToasts` | Di terminal, menahan toast selama panel ini yang sedang ditampilkan. Lihat [Tahan toast di balik dialog](#hold-toasts-behind-a-dialog). |

308| `rows` | Tinggi untuk diminta saat panel duduk di atas prompt. Default adalah sepertiga dari ruang. |308| `rows` | Tinggi untuk diminta saat panel duduk di atas prompt. Default adalah sepertiga dari ruang. |

309| `columns` | Lebar untuk diminta saat panel duduk di samping transkrip |309| `columns` | Lebar untuk diminta saat panel duduk di samping transkrip, paling banyak 45% dari lebar terminal. Setelah pengguna mengubah ukuran panel di samping transkrip, dalam sesi ini atau sesi sebelumnya, panel dibuka di sana dengan lebar yang mereka tetapkan. Batas 45% yang sama berlaku untuk lebar tersebut. |

310 310 

311[Ekstensi VS Code](#draw-in-the-vs-code-extension) mengabaikan `rows` dan `columns` dan menentukan ukuran panel sendiri.311[Ekstensi VS Code](#draw-in-the-vs-code-extension) mengabaikan `rows` dan `columns` dan menentukan ukuran panel sendiri.

312 312 


512 512 

513### Fokus keyboard dan pintasan keyboard513### Fokus keyboard dan pintasan keyboard

514 514 

515Mod Anda tidak pernah membaca keyboard itu sendiri. Pengguna menekan kunci, Claude Code memutuskan kontrol mana yang dimaksudkan, dan callback kontrol itu berjalan. Terlepas dari [pintasan keyboard digit di pita](/docs/id/plugins/mods/reference#elements), itu hanya terjadi saat panel atau pita Anda memiliki fokus keyboard. Sisa waktu, kunci pergi ke prompt.515Mod Anda tidak pernah membaca keyboard itu sendiri. Pengguna menekan kunci, Claude Code memutuskan kontrol mana yang dimaksudkan, dan callback kontrol itu berjalan. Kecuali untuk [pintasan keyboard digit di pita](/docs/id/plugins/mods/reference#elements), itu hanya terjadi saat panel atau pita Anda memiliki fokus keyboard. Sisa waktu, kunci pergi ke prompt.

516 516 

517Di [ekstensi VS Code](#draw-in-the-vs-code-extension), tombol tidak memiliki pintasan keyboard: pengguna mengklik tombol atau menekan Enter padanya, dan mengetik ke bidang.517Di [ekstensi VS Code](#draw-in-the-vs-code-extension), tombol tidak memiliki pintasan keyboard: pengguna mengklik tombol atau menekan Enter padanya, dan mengetik ke bidang.

518 518 


537| Enter | Menekan `Button` yang fokus, mengirimkan `Input` yang fokus, atau memilih di `Select` |537| Enter | Menekan `Button` yang fokus, mengirimkan `Input` yang fokus, atau memilih di `Select` |

538| Pintasan keyboard tombol | Menekan tombol itu. Saat `Input` memiliki fokus, setiap kunci yang dapat dicetak pergi ke bidang. |538| Pintasan keyboard tombol | Menekan tombol itu. Saat `Input` memiliki fokus, setiap kunci yang dapat dicetak pergi ke bidang. |

539| Page Up, Page Down, Home, dan End | Menggulir panel atau pita Anda ketika memiliki lebih banyak baris daripada yang dapat ditampilkan |539| Page Up, Page Down, Home, dan End | Menggulir panel atau pita Anda ketika memiliki lebih banyak baris daripada yang dapat ditampilkan |

540| Ctrl+X kemudian tombol panah | Mengubah ukuran panel Anda. Kiri atau Atas memberinya lebih banyak ruang, dan Kanan atau Bawah mengembalikan ruang tersebut. |540| Ctrl+X kemudian tombol panah | Mengubah ukuran panel Anda. Kiri atau Atas memberinya lebih banyak ruang, dan Kanan atau Bawah mengembalikan ruang tersebut. Panel di samping transkrip berhenti melebar pada 45% lebar terminal. |

541| Ctrl+X kemudian X | Menutup panel Anda, bahkan saat salah satu bidangnya memiliki fokus |541| Ctrl+X kemudian X | Menutup panel Anda, bahkan saat salah satu bidangnya memiliki fokus |

542| Esc | Mengembalikan fokus keyboard ke prompt. Dengan `closeOnEscape: true`, itu juga menutup panel. |542| Esc | Mengembalikan fokus keyboard ke prompt. Dengan `closeOnEscape: true`, itu juga menutup panel. |

543 543 

Details

56| Event | Dipicu saat | Hook dapat mengembalikan |56| Event | Dipicu saat | Hook dapat mengembalikan |

57| :- | :- | :- |57| :- | :- | :- |

58| [`tool.call`](/docs/id/plugins/mods/events#guard-or-change-a-tool-call) | Sebuah tool akan dijalankan | `next(e)`, `{ deny: reason }`, atau `{ result }` |58| [`tool.call`](/docs/id/plugins/mods/events#guard-or-change-a-tool-call) | Sebuah tool akan dijalankan | `next(e)`, `{ deny: reason }`, atau `{ result }` |

59| [`tool.check`](/docs/id/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code memutuskan apakah panggilan tool boleh dijalankan, setelah hook `tool.call` dan `PreToolUse`. `next(e)` resolve ke keputusan yang dicapai oleh aturan, mode izin, dan hook-hook tersebut. | `{ decision }`, yaitu `allow`, `ask`, atau `deny` |59| [`tool.check`](/docs/id/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code memutuskan apakah panggilan tool boleh dijalankan, setelah hook `tool.call` dan `PreToolUse`. `next(e)` resolve ke keputusan yang dicapai oleh aturan, mode izin, dan hook-hook tersebut. | `next(e)` atau `{ decision }`, dengan `decision` diatur ke `allow`, `ask`, atau `deny` dan `reason` opsional |

60| `tool.describe` | Sekali untuk setiap tool, saat deskripsinya pertama kali dikirim ke Claude. Sekali lagi untuk tool MCP saat Claude memuatnya melalui [pencarian tool](/docs/id/mcp#scale-with-mcp-tool-search), dengan `e.description` diatur ke teks yang dibaca Claude untuk tool yang dimuat tersebut. | `{ description }`, secara opsional dengan `isDeferred` diatur ke `true` untuk menempatkan tool di balik pencarian tool atau `false` untuk memuatnya sejak awal |60| `tool.describe` | Sekali untuk setiap tool, saat deskripsinya pertama kali dikirim ke Claude. Sekali lagi untuk tool MCP saat Claude memuatnya melalui [pencarian tool](/docs/id/mcp#scale-with-mcp-tool-search), dengan `e.description` diatur ke teks yang dibaca Claude untuk tool yang dimuat tersebut. | `{ description }`, secara opsional dengan `isDeferred` diatur ke `true` untuk menempatkan tool di balik pencarian tool atau `false` untuk memuatnya sejak awal |

61 61 

62#### Field agent dan organisasi pada `tool.check`62#### Field agent dan organisasi pada `tool.check`


68 68 

69Pada `tool.check`, `e.agentId` dan `e.ceiling` memerlukan Claude Code v2.1.290 atau yang lebih baru.69Pada `tool.check`, `e.agentId` dan `e.ceiling` memerlukan Claude Code v2.1.290 atau yang lebih baru.

70 70 

71#### Field `e.isReadOnly` pada `tool.check`

72 

73Dalam hook `tool.check`, `e.isReadOnly` bernilai `true` saat tool melaporkan panggilan ini sebagai read-only. Jika tidak, field tersebut tidak ada, bukan `false`. Nilainya adalah laporan tool itu sendiri, jadi baca [Memeriksa apakah panggilan tool bersifat read-only](/docs/id/plugins/mods/events#check-whether-a-tool-call-is-read-only) sebelum Anda menyetujui sebuah panggilan hanya berdasarkan field ini.

74 

75Pada `tool.check`, `e.isReadOnly` memerlukan Claude Code v2.1.304 atau yang lebih baru.

76 

71### Prompt dan apa yang dibaca Claude77### Prompt dan apa yang dibaca Claude

72 78 

73Event prompt mencakup teks yang diketik pengguna dan teks yang dikirim Claude Code ke Claude atas inisiatifnya sendiri, seperti system prompt dan pengingat:79Event prompt mencakup teks yang diketik pengguna dan teks yang dikirim Claude Code ke Claude atas inisiatifnya sendiri, seperti system prompt dan pengingat:


196| Namespace | Metode |202| Namespace | Metode |

197| :- | :- |203| :- | :- |

198| `$.plugin` | `name`, `root`: nama dan direktori plugin ini |204| `$.plugin` | `name`, `root`: nama dan direktori plugin ini |

199| [`$.ui`](/docs/id/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |205| [`$.ui`](/docs/id/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

200| [`$.command`](/docs/id/plugins/mods/api#add-a-command) | `register`, `run`, `list` |206| [`$.command`](/docs/id/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

201| [`$.tool`](/docs/id/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |207| [`$.tool`](/docs/id/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

202| `$.agent` | `register`, `spawn`, `list`. `list()` mengembalikan subagent dan rekan tim (teammate) sesi ini, masing-masing dengan `status` berupa `pending`, `running`, `waiting`, `idle`, `completed`, `failed`, atau `killed`, di mana `idle` dan `waiting` memerlukan Claude Code v2.1.289 atau yang lebih baru. |208| `$.agent` | `register`, `spawn`, `list`. `list()` mengembalikan subagent dan rekan tim (teammate) sesi ini, masing-masing dengan `status` berupa `pending`, `running`, `waiting`, `idle`, `completed`, `failed`, atau `killed`, di mana `idle` dan `waiting` memerlukan Claude Code v2.1.289 atau yang lebih baru. |


266| `Svg` | Dokumen SVG, hingga 131.072 karakter | | ✓ | ✓ |272| `Svg` | Dokumen SVG, hingga 131.072 karakter | | ✓ | ✓ |

267| [`Client`](/docs/id/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |273| [`Client`](/docs/id/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |

268| [`Raster`](/docs/id/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` hingga 512, `rows` hingga 256, `cells`. Lihat [Menggambar grid sel berwarna](/docs/id/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |274| [`Raster`](/docs/id/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` hingga 512, `rows` hingga 256, `cells`. Lihat [Menggambar grid sel berwarna](/docs/id/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |

269| `Image` | Byte PNG atau RGBA hingga 2 MiB, atau path file, `columns` dan `rows` hingga 255, serta teks `alt`. | ✓ | | |275| `Image` | Byte PNG atau RGBA hingga 2 MiB, atau path file, `columns` dan `rows` hingga 255, serta teks `alt`. Lihat [terminal mana yang menggambarnya](/docs/id/plugins/mods/gallery#image-and-client). | ✓ | | |

270 276 

271Aturan `Button` lainnya: `action` menyebutkan salah satu [aksi pintasan keyboard](/docs/id/keybindings) milik Claude Code sendiri, dan pintasan keyboard pengguna untuk aksi tersebut akan menekan tombol jika pintasan itu berupa chord atau tombol dengan modifier. `hotkey` berupa digit pada tombol di band juga terpicu saat pengguna mengetik digit tersebut saja ke dalam prompt kosong lalu berhenti sejenak. Jika dua tombol dalam satu gambar menyebutkan `hotkey` yang sama, tombol yang lebih belakang yang mendapatkannya. `autoFocus` hanya menerima `true` pada kontrol apa pun, jadi hilangkan prop tersebut untuk menonaktifkannya.277Aturan `Button` lainnya: `action` menyebutkan salah satu [aksi pintasan keyboard](/docs/id/keybindings) milik Claude Code sendiri, dan pintasan keyboard pengguna untuk aksi tersebut akan menekan tombol jika pintasan itu berupa chord atau tombol dengan modifier. `hotkey` berupa digit pada tombol di band juga terpicu saat pengguna mengetik digit tersebut saja ke dalam prompt kosong lalu berhenti sejenak. Jika dua tombol dalam satu gambar menyebutkan `hotkey` yang sama, tombol yang lebih belakang yang mendapatkannya. `autoFocus` hanya menerima `true` pada kontrol apa pun, jadi hilangkan prop tersebut untuk menonaktifkannya.

272 278 

Details

187| `prompt.fill` | `() => ({ isFilled: true })` |187| `prompt.fill` | `() => ({ isFilled: true })` |

188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |

189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |

190| `$.ui.notify` | `() => ({ value: { isSent: true, channel: 'terminal_bell' } })`. Teksnya adalah `e.text` dan judulnya adalah `e.title`. |

190| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |191| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |

191| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |

192| `session.send` | `() => ({ isDelivered: true })`. `e.to` tiba sebagai string bahkan ketika mod Anda melewatkan `{ sessionId }`. |193| `session.send` | `() => ({ isDelivered: true })`. `e.to` tiba sebagai string bahkan ketika mod Anda melewatkan `{ sessionId }`. |

plugins/org.md +2 −2

Details

39 39 

40#### Sumber terkelola mana yang berlaku di mesin40#### Sumber terkelola mana yang berlaku di mesin

41 41 

42Secara default, hanya satu dari tiga sumber ini yang berlaku di mesin. Claude Code menggunakan yang pertama yang mengirimkan kunci kebijakan, memeriksa pengaturan terkelola server terlebih dahulu, kemudian kebijakan MDM, kemudian file pengaturan terkelola. Jika pengaturan terkelola server mengirimkan bahkan satu kunci kebijakan yang tidak terkait, Claude Code mengabaikan kunci plugin dalam kebijakan MDM atau file pengaturan terkelola di mesin itu, terlepas dari [kunci yang dibacanya dari setiap sumber](/docs/id/managed-settings#keys-read-from-every-admin-source).42Secara default, hanya satu dari tiga sumber ini yang berlaku di mesin. Claude Code menggunakan yang pertama yang mengirimkan kunci kebijakan, memeriksa pengaturan terkelola server terlebih dahulu, kemudian kebijakan MDM, kemudian file pengaturan terkelola. Jika pengaturan terkelola server mengirimkan bahkan satu kunci kebijakan yang tidak terkait, Claude Code mengabaikan kunci plugin dalam kebijakan MDM atau file pengaturan terkelola di mesin itu, kecuali [kunci yang dibacanya dari setiap sumber](/docs/id/managed-settings#keys-read-from-every-admin-source).

43 43 

44Untuk menerapkan setiap sumber sebagai gantinya, tetapkan [`managedSourcesBehavior`](/docs/id/managed-settings#compose-every-managed-source) ke `"merge"`.44Untuk menerapkan setiap sumber sebagai gantinya, tetapkan [`managedSourcesBehavior`](/docs/id/managed-settings#compose-every-managed-source) ke `"merge"`.

45 45 


192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/id/env-vars) | Menghentikan sesi terminal interaktif dari auto-registering marketplace resmi | Tidak menghapus marketplace yang sudah didaftarkan. Allowlist dan blocklist gerbang auto-registering yang sama tanpanya. Mesin yang dimulai sekali dengan itu ditetapkan tidak melanjutkan auto-registering setelah Anda membatalkannya |192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/id/env-vars) | Menghentikan sesi terminal interaktif dari auto-registering marketplace resmi | Tidak menghapus marketplace yang sudah didaftarkan. Allowlist dan blocklist gerbang auto-registering yang sama tanpanya. Mesin yang dimulai sekali dengan itu ditetapkan tidak melanjutkan auto-registering setelah Anda membatalkannya |

193| [`allowManagedModsOnly`](/docs/id/plugins/mods/admin#stop-user-installed-mods-from-loading) | Menghentikan setiap [mod](/docs/id/plugins/mods/overview) yang diinstal yang tidak [dihitung sebagai milik organisasi Anda](/docs/id/plugins/mods/admin#install-your-organizations-mods) dari menjalankan hook-nya | Tidak menghentikan plugin yang berisi mod dari instalasi. Untuk itu, gunakan kunci marketplace dalam tabel ini |193| [`allowManagedModsOnly`](/docs/id/plugins/mods/admin#stop-user-installed-mods-from-loading) | Menghentikan setiap [mod](/docs/id/plugins/mods/overview) yang diinstal yang tidak [dihitung sebagai milik organisasi Anda](/docs/id/plugins/mods/admin#install-your-organizations-mods) dari menjalankan hook-nya | Tidak menghentikan plugin yang berisi mod dari instalasi. Untuk itu, gunakan kunci marketplace dalam tabel ini |

194 194 

195Setiap kunci dalam tabel adalah pengaturan terkelola, terlepas dari `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`, dan `allowManagedModsOnly`:195Setiap kunci dalam tabel adalah pengaturan terkelola, kecuali `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`, dan `allowManagedModsOnly`:

196 196 

197* **`enabledPlugins`**: Anda dapat menetapkannya dalam cakupan apa pun, dan pengaturan terkelola menguncinya.197* **`enabledPlugins`**: Anda dapat menetapkannya dalam cakupan apa pun, dan pengaturan terkelola menguncinya.

198* **`syncClaudeAiPlugins`**: setiap pengguna juga dapat menetapkannya dalam pengaturan pengguna atau lokal mereka sendiri. Lihat [cakupannya dalam referensi pengaturan](/docs/id/settings-reference#syncclaudeaiplugins).198* **`syncClaudeAiPlugins`**: setiap pengguna juga dapat menetapkannya dalam pengaturan pengguna atau lokal mereka sendiri. Lihat [cakupannya dalam referensi pengaturan](/docs/id/settings-reference#syncclaudeaiplugins).

Details

830 830 

831* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json` bukan JSON yang valid atau gagal schema hooks. Alasan menyebutkan parse atau kesalahan validasi. Perbaiki file. Untuk menangkap masalah sintaks JSON di `hooks/hooks.json` sebelum Anda menerbitkan plugin, jalankan `claude plugin validate <plugin-directory>` di shell Anda831* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json` bukan JSON yang valid atau gagal schema hooks. Alasan menyebutkan parse atau kesalahan validasi. Perbaiki file. Untuk menangkap masalah sintaks JSON di `hooks/hooks.json` sebelum Anda menerbitkan plugin, jalankan `claude plugin validate <plugin-directory>` di shell Anda

832* **`hooks path not found: <path>`**: field `hooks` manifest menyebutkan file yang tidak ada di path itu relatif terhadap root plugin. Perbaiki path atau tambahkan file832* **`hooks path not found: <path>`**: field `hooks` manifest menyebutkan file yang tidak ada di path itu relatif terhadap root plugin. Perbaiki path atau tambahkan file

833* **`hooks path escapes plugin directory: <path>`**: lihat [Path escapes plugin directory](/docs/id/errors#path-escapes-plugin-directory)

833 834 

834#### `hook error` notices in the transcript835#### `hook error` notices in the transcript

835 836 


948 949 

949Claude Code menyelesaikan path dari `plugin.json` Anda atau entri marketplace terhadap root plugin dan menemukan tidak ada di sana. Path dalam pesan adalah path absolut yang diperiksa, jadi bandingkan dengan apa yang ada di disk. Perbaiki path atau buat direktori, lalu jalankan `/reload-plugins`.950Claude Code menyelesaikan path dari `plugin.json` Anda atau entri marketplace terhadap root plugin dan menemukan tidak ada di sana. Path dalam pesan adalah path absolut yang diperiksa, jadi bandingkan dengan apa yang ada di disk. Perbaiki path atau buat direktori, lalu jalankan `/reload-plugins`.

950 951 

952> [!NOTE]

953>

954> Sebelum v2.1.299, pesan ini dapat muncul saat startup pada baris yang diberi label dengan tag seperti `synced[0]`. Baris tersebut adalah untuk plugin yang [disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins). Pesan ini muncul ketika sesi Claude Code lain di mesin Anda telah memperbarui plugin beberapa saat sebelumnya dan memindahkan file-nya. Untuk memuat plugin, mulai ulang Claude Code. Agar pesan tidak muncul karena alasan ini, perbarui ke v2.1.299 atau lebih baru.

955 

951Path dalam manifest relatif terhadap root plugin dan dimulai dengan `./`. Path yang diselesaikan di luar root plugin dilaporkan sebagai `<component> path escapes plugin directory` sebagai gantinya dan dijatuhkan.956Path dalam manifest relatif terhadap root plugin dan dimulai dengan `./`. Path yang diselesaikan di luar root plugin dilaporkan sebagai `<component> path escapes plugin directory` sebagai gantinya dan dijatuhkan.

952 957 

953### `--plugin-dir` at a marketplace root doesn't load the plugins under `plugins/`958### `--plugin-dir` at a marketplace root doesn't load the plugins under `plugins/`

Details

55Ketika permintaan Anda melewati [LLM gateway](/docs/id/llm-gateway), `ANTHROPIC_BASE_URL` kustom, atau override base-URL penyedia cloud seperti [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/id/env-vars), apa yang tetap di-cache tergantung pada cara gateway menangani [marker `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) yang dikirim Claude Code:55Ketika permintaan Anda melewati [LLM gateway](/docs/id/llm-gateway), `ANTHROPIC_BASE_URL` kustom, atau override base-URL penyedia cloud seperti [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/id/env-vars), apa yang tetap di-cache tergantung pada cara gateway menangani [marker `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) yang dikirim Claude Code:

56 56 

57* **Meneruskannya tanpa perubahan**: blok dan percakapan Anda di-cache dengan cara yang sama seperti di endpoint penyedia sendiri.57* **Meneruskannya tanpa perubahan**: blok dan percakapan Anda di-cache dengan cara yang sama seperti di endpoint penyedia sendiri.

58* **Menolak permintaan yang ditandai dengan error `400` yang menyebutkan `cache_control`**: Claude Code mengirim ulang permintaan dengan marker dipindahkan dari blok dan ke pesan percakapan terakhir Anda, dan menyimpannya di sana untuk sisa percakapan. Blok ditagih sebagai input tanpa cache; percakapan Anda tetap di-cache.58* **Menolak permintaan yang ditandai dengan error `400` yang menyebutkan `cache_control`**: Claude Code mengirim ulang permintaan dengan marker dipindahkan dari blok dan ke pesan percakapan terakhir Anda, dan menyimpannya di sana hingga Claude Code keluar. Blok ditagih sebagai input tanpa cache; percakapan Anda tetap di-cache.

59* **Menghapus marker sambil mengembalikan respons sukses**: seluruh riwayat percakapan Anda ditagih sebagai input tanpa cache di setiap giliran. Gateway yang mengonversi konten sistem bentuk blok ke string biasa menghapus marker dengan cara yang sama.59* **Menghapus marker sambil mengembalikan respons sukses**: seluruh riwayat percakapan Anda ditagih sebagai input tanpa cache di setiap giliran. Gateway yang mengonversi konten sistem bentuk blok ke string biasa menghapus marker dengan cara yang sama.

60 60 

61Untuk apa yang disimpan dan diproses setiap penyedia, lihat [penggunaan data](/docs/id/data-usage). Di mana pun cache berada, entri kedaluwarsa setelah periode tidak aktif, dan [Cache lifetime](#cache-lifetime) di bawah mencakup TTL dan cara memperpanjangnya.61Untuk apa yang disimpan dan diproses setiap penyedia, lihat [penggunaan data](/docs/id/data-usage). Di mana pun cache berada, entri kedaluwarsa setelah periode tidak aktif, dan [Cache lifetime](#cache-lifetime) di bawah mencakup TTL dan cara memperpanjangnya.


109Definisi tool berada di lapisan system prompt, sehingga cache menjadi tidak valid ketika kumpulan definisi tool dalam permintaan berubah antar giliran. Mengaktifkan atau menonaktifkan [tool advisor](/docs/id/advisor) merupakan pengecualian: definisinya berada setelah breakpoint cache, sehingga mengaktifkan atau menonaktifkan `/advisor` menjaga prefiks yang di-cache tetap utuh. Apakah perubahan [server MCP](/docs/id/mcp) berdampak seperti ini bergantung pada apakah [tool search](/docs/id/mcp#scale-with-mcp-tool-search) menunda tool MCP sesi, yang merupakan default pada model yang didukung:109Definisi tool berada di lapisan system prompt, sehingga cache menjadi tidak valid ketika kumpulan definisi tool dalam permintaan berubah antar giliran. Mengaktifkan atau menonaktifkan [tool advisor](/docs/id/advisor) merupakan pengecualian: definisinya berada setelah breakpoint cache, sehingga mengaktifkan atau menonaktifkan `/advisor` menjaga prefiks yang di-cache tetap utuh. Apakah perubahan [server MCP](/docs/id/mcp) berdampak seperti ini bergantung pada apakah [tool search](/docs/id/mcp#scale-with-mcp-tool-search) menunda tool MCP sesi, yang merupakan default pada model yang didukung:

110 110 

111* **Tool ditunda**: Claude Code mempertahankan daftar tool dari permintaan pertama percakapan untuk seluruh percakapan, sehingga server yang terhubung atau terputus di tengah sesi tidak mengganggu apa pun yang sudah di-cache. Server yang selesai terhubung setelah permintaan pertama menyediakan tool-nya sebagai definisi tertunda yang dimuat Claude sesuai kebutuhan.111* **Tool ditunda**: Claude Code mempertahankan daftar tool dari permintaan pertama percakapan untuk seluruh percakapan, sehingga server yang terhubung atau terputus di tengah sesi tidak mengganggu apa pun yang sudah di-cache. Server yang selesai terhubung setelah permintaan pertama menyediakan tool-nya sebagai definisi tertunda yang dimuat Claude sesuai kebutuhan.

112* **Tool dimuat di awal**: menambahkan definisi membatalkan cache, begitu pula menghapusnya dengan sengaja. Ini berlaku ketika tool search [berada di bawah ambang `auto`-nya, dinonaktifkan, atau tidak tersedia](/docs/id/mcp#configure-tool-search), seperti pada model Google Cloud's Agent Platform yang lebih lama dari Opus 4.5, Sonnet 4.5, dan Haiku 4.5, dengan gateway `ANTHROPIC_BASE_URL` kustom, atau pada [deployment Microsoft Foundry yang di-hosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) setelah Claude Code mendeteksi bahwa deployment tersebut menolak tool search.112* **Tool dimuat di awal**: menambahkan definisi membatalkan cache, begitu pula menghapusnya dengan sengaja. Ini berlaku ketika tool search [dinonaktifkan atau tidak tersedia](/docs/id/mcp#configure-tool-search), seperti pada:

113 * Model Google Cloud's Agent Platform yang lebih lama dari Opus 4.5, Sonnet 4.5, dan Haiku 4.5

114 * [Deployment Microsoft Foundry yang di-hosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) setelah Claude Code mendeteksi bahwa deployment tersebut menolak tool search

113 115 

114Tanpa tool search, apakah perubahan server di tengah sesi membatalkan cache bergantung pada apa yang berubah. Untuk setiap perubahan, tabel ini menunjukkan apakah cache dipertahankan dan apa yang terjadi pada definisi tool dalam permintaan berikutnya.116Tanpa tool search, apakah perubahan server di tengah sesi membatalkan cache bergantung pada apa yang berubah. Untuk setiap perubahan, tabel ini menunjukkan apakah cache dipertahankan dan apa yang terjadi pada definisi tool dalam permintaan berikutnya.

115 117 


169 171 

170### Memadatkan percakapan172### Memadatkan percakapan

171 173 

172[Compaction](/docs/id/context-window#what-survives-compaction) menggantikan riwayat pesan Anda dengan ringkasan. Secara desain, ini membatalkan lapisan percakapan, karena permintaan berikutnya memiliki riwayat baru yang lebih pendek yang tidak berbagi prefiks dengan riwayat lama. Claude Code menggunakan kembali lapisan system prompt kecuali percakapan [dilanjutkan sambil mempertahankan system prompt yang seharusnya telah berubah](#resuming-a-session); dalam hal itu, compaction pertama beralih ke prompt saat ini dan lapisan tersebut dibangun ulang satu kali. Claude Code memuat ulang konteks proyek dari disk, yang menghasilkan cache hit hanya jika CLAUDE.md dan memori tidak berubah sejak sesi dimulai.174[Compaction](/docs/id/context-window#what-survives-compaction) menggantikan riwayat pesan Anda dengan ringkasan. Secara desain, ini membatalkan lapisan percakapan: permintaan berikutnya memiliki riwayat baru yang lebih pendek yang tidak berbagi prefiks dengan riwayat lama. Lapisan system prompt dan konteks proyek dapat tetap di-cache:

173 175 

174Untuk menghasilkan ringkasan, Claude Code mengirim permintaan terpisah dengan system prompt, tool, dan riwayat yang sama seperti percakapan Anda, ditambah instruksi peringkasan yang ditambahkan sebagai pesan pengguna terakhir. Saat cache hangat, permintaan itu membaca prefiks Anda dari cache, sehingga `/compact` di tengah sesi hanya memakan sebagian kecil dari biaya yang tersirat dari ukuran konteks dan menghabiskan sebagian besar waktunya untuk menghasilkan ringkasan.176* **System prompt**: permintaan berikutnya membaca lapisan ini dari cache, kecuali [percakapan yang dilanjutkan](#resuming-a-session) mempertahankan system prompt yang kini sudah usang. Saat percakapan tersebut pertama kali di-compact, Claude Code mengalihkannya ke prompt saat ini, dan permintaan berikutnya membangun ulang cache lapisan ini satu kali.

177* **Konteks proyek**: Claude Code memuat ulang lapisan ini dari disk. Permintaan berikutnya membacanya dari cache hanya jika CLAUDE.md dan memori tidak berubah sejak sesi dimulai.

175 178 

176Setelah jeda yang lebih lama dari [masa berlaku cache](#cache-lifetime), tidak ada cache yang tersisa untuk dibaca, sehingga permintaan peringkasan memproses ulang seluruh riwayat sebagai input yang tidak di-cache. Inilah mengapa `/compact` paling mahal ketika Anda [melanjutkan sesi lama](/docs/id/sessions#resume-a-session). Baik dalam kondisi cache hangat maupun dingin, giliran setelah compaction membangun ulang cache percakapan hanya untuk ringkasan yang jauh lebih pendek, sehingga giliran itu bukan bagian yang lambat.179Untuk menghasilkan ringkasan, Claude Code mengirim permintaan terpisah. Permintaan tersebut mengulang system prompt, tool, dan riwayat yang sedang diringkas dari percakapan Anda. Permintaan itu diakhiri dengan instruksi peringkasan. Saat cache hangat, permintaan itu membaca prefiks Anda dari cache. `/compact` di tengah sesi kemudian hanya memakan sebagian kecil dari biaya yang tersirat dari ukuran konteks dan menghabiskan sebagian besar waktunya untuk menghasilkan ringkasan.

180 

181Setelah jeda yang lebih lama dari [masa berlaku cache](#cache-lifetime), tidak ada cache yang tersisa untuk dibaca, sehingga permintaan peringkasan memproses ulang riwayat tersebut sebagai input yang tidak di-cache. Inilah mengapa `/compact` paling mahal ketika Anda [melanjutkan sesi lama](/docs/id/sessions#resume-a-session). Baik dalam kondisi cache hangat maupun dingin, giliran setelah compaction membangun ulang cache percakapan hanya untuk ringkasan yang jauh lebih pendek, sehingga giliran itu bukan bagian yang lambat.

177 182 

178> [!TIP]183> [!TIP]

179>184>

Details

26Sebelum menggunakan Remote Control, konfirmasi bahwa lingkungan Anda memenuhi kondisi berikut:26Sebelum menggunakan Remote Control, konfirmasi bahwa lingkungan Anda memenuhi kondisi berikut:

27 27 

28* **Langganan**: tersedia di paket Pro, Max, Tim, dan Enterprise. Kunci API tidak didukung. Di Tim dan Enterprise, seorang Pemilik harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).28* **Langganan**: tersedia di paket Pro, Max, Tim, dan Enterprise. Kunci API tidak didukung. Di Tim dan Enterprise, seorang Pemilik harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

29* **Peran kustom**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda harus memberi Anda izin sesi cloud sekaligus izin **Claude Code remote control**. Jika salah satunya tidak ada, memulai Remote Control akan menampilkan [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Minta seorang Owner untuk memeriksa peran Anda dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

29* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.30* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.

30* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:31* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:

31 * Anda menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.32 * Anda menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.

32 * Anda menunjukkan [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control.33 * Anda menunjukkan [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control.

33 * Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway) perusahaan.34 * Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway) perusahaan.

34* **Evaluasi bendera fitur**: jika Anda menetapkan [variabel lingkungan yang mematikan evaluasi bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), apakah Remote Control tersedia tergantung pada yang mana:35* **Evaluasi bendera fitur**: jika Anda menetapkan [environment variable yang mematikan evaluasi bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), apakah Remote Control tersedia tergantung pada yang mana:

35 * Jika Anda menetapkan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`, Remote Control tidak tersedia. Batalkan pengaturan variabel di mana pun variabel tersebut diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings), untuk menggunakan Remote Control.36 * Jika Anda menetapkan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`, Remote Control tidak tersedia. Batalkan pengaturan variabel di mana pun variabel tersebut diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings), untuk menggunakan Remote Control.

36 * Jika Anda hanya menetapkan `DISABLE_TELEMETRY` atau `DO_NOT_TRACK`, Remote Control tetap tersedia kecuali organisasi Anda memerlukan [Perangkat Terpercaya](#trusted-devices). Jika demikian, batalkan pengaturan variabel untuk menggunakan Remote Control. Menggunakan Remote Control dengan salah satu variabel yang ditetapkan memerlukan Claude Code v2.1.283 atau lebih baru.37 * Jika Anda hanya menetapkan `DISABLE_TELEMETRY` atau `DO_NOT_TRACK`, Remote Control tetap tersedia kecuali organisasi Anda memerlukan [Perangkat Terpercaya](#trusted-devices). Jika demikian, batalkan pengaturan variabel untuk menggunakan Remote Control. Menggunakan Remote Control dengan salah satu variabel yang ditetapkan memerlukan Claude Code v2.1.283 atau lebih baru, atau v2.1.304 atau lebih baru di aplikasi Claude Desktop.

37* **Kepercayaan ruang kerja**: di direktori yang belum Anda percayai, `claude remote-control` mencetak apa yang dipercayai dan meminta `Trust <directory>? [y/N]` sebelum dimulai. Menjawab `y` menyimpan pilihan, kecuali di direktori beranda Anda, di mana kepercayaan tidak pernah disimpan dan pertanyaan kembali pada setiap run. Ketika input atau output standarnya bukan terminal, perintah tidak dapat bertanya dan keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-starting-remote-control).38* **Kepercayaan ruang kerja**: di direktori yang belum Anda percayai, `claude remote-control` mencetak apa yang dipercayai dan meminta `Trust <directory>? [y/N]` sebelum dimulai. Menjawab `y` menyimpan pilihan, kecuali di direktori beranda Anda, di mana kepercayaan tidak pernah disimpan dan pertanyaan kembali pada setiap run. Ketika input atau output standarnya bukan terminal, perintah tidak dapat bertanya dan keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-starting-remote-control).

38 39 

39## Mulai sesi Remote Control40## Mulai sesi Remote Control


60| `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |61| `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |

61| `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, bukan membuat yang baru. Lihat [Resume sessions after stopping the 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. |62| `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, bukan membuat yang baru. Lihat [Resume sessions after stopping the 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. |

62| `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |63| `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |

63| `--spawn <mode>` | Bagaimana server membuat sesi. • `same-dir` (default): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama. • `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/docs/id/worktrees) miliknya sendiri. Memerlukan repositori git atau [hook `WorktreeCreate`](/docs/id/hooks#worktreecreate). • `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja. Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. |64| `--spawn <mode>` | Bagaimana server membuat sesi. • `same-dir` (default ketika tidak ada mode yang disimpan): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama. • `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/docs/id/worktrees) miliknya sendiri. Memerlukan repositori git atau [hook `WorktreeCreate`](/docs/id/hooks#worktreecreate). • `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja. Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. Mode yang Anda pilih menjadi [default untuk proyek ini](#set-the-default-spawn-mode-for-a-project). |

64| `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |65| `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |

65| `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |66| `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |

66| `--permission-mode <mode>` | Atur [mode izin](/docs/id/permission-modes) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |67| `--permission-mode <mode>` | Atur [mode izin](/docs/id/permission-modes) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |


203 204 

204Jika hanya `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` yang diatur, sesi Anda tidak terhubung secara otomatis melalui default admin organisasi Anda maupun default Claude Code sendiri. Jika ada hal lain yang membuat Remote Control tidak tersedia bagi Anda, seperti `DISABLE_GROWTHBOOK` atau LLM gateway, mulailah dengan [Persyaratan](#requirements) sebagai gantinya.205Jika hanya `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` yang diatur, sesi Anda tidak terhubung secara otomatis melalui default admin organisasi Anda maupun default Claude Code sendiri. Jika ada hal lain yang membuat Remote Control tidak tersedia bagi Anda, seperti `DISABLE_GROWTHBOOK` atau LLM gateway, mulailah dengan [Persyaratan](#requirements) sebagai gantinya.

205 206 

206Mengaktifkan auto-connect dengan hanya `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` yang diatur memerlukan Claude Code v2.1.283 atau lebih baru. Untuk terhubung secara otomatis, periksa apakah organisasi Anda mewajibkan [Trusted Devices](#trusted-devices):207Sebelum Anda mengaktifkan auto-connect dengan hanya `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` yang diatur, pastikan versi Claude Code Anda memenuhi [persyaratan untuk variabel-variabel ini](#requirements). Kemudian periksa apakah organisasi Anda mewajibkan [Trusted Devices](#trusted-devices):

207 208 

208* **Tidak diwajibkan**: atur **Enable Remote Control for all sessions** ke `true` di `/config`.209* **Tidak diwajibkan**: atur **Enable Remote Control for all sessions** ke `true` di `/config`.

209* **Diwajibkan**: Remote Control tidak tersedia selama `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` diatur. Hapus pengaturan variabel mana pun dari keduanya yang Anda atur. Jika sesi Anda masih tidak terhubung secara otomatis, atur **Enable Remote Control for all sessions** ke `true` di `/config`.210* **Diwajibkan**: Remote Control tidak tersedia selama `DISABLE_TELEMETRY` atau `DO_NOT_TRACK` diatur. Hapus pengaturan variabel mana pun dari keduanya yang Anda atur. Jika sesi Anda masih tidak terhubung secara otomatis, atur **Enable Remote Control for all sessions** ke `true` di `/config`.


224 225 

225Saat Anda melanjutkan percakapan di Claude Desktop atau ekstensi IDE yang memiliki Remote Control aktif, Claude Code melampirkannya kembali ke sesi claude.ai yang ada bukan menambahkan yang baru ke daftar sesi.226Saat Anda melanjutkan percakapan di Claude Desktop atau ekstensi IDE yang memiliki Remote Control aktif, Claude Code melampirkannya kembali ke sesi claude.ai yang ada bukan menambahkan yang baru ke daftar sesi.

226 227 

228### Atur mode spawn default untuk proyek

229 

230Jika `claude remote-control` mencetak `Spawn mode: <mode> (saved for this folder; press w to change)` saat startup, server dimulai dalam mode spawn yang disimpan sebelumnya untuk proyek ini.

231 

232Mode yang disimpan berasal dari pilihan yang Anda buat di terminal Anda sendiri. Jika `claude remote-control` menanyakan `Spawn mode for this project:` di sana, Claude Code menyimpan jawaban Anda: `1` untuk `same-dir` atau `2` untuk `worktree`. Jika Anda menekan `w` saat server berjalan, Claude Code menyimpan mode yang Anda pilih, bahkan pada eksekusi yang Anda mulai dengan `--spawn same-dir` atau `--spawn worktree`.

233 

234* Saat server berjalan dalam mode `same-dir` atau `worktree`, tekan `w` di terminal server untuk beralih ke mode lainnya. Peralihan memerlukan repositori git atau hook `WorktreeCreate`.

235* Untuk menggunakan mode berbeda untuk satu eksekusi, lewatkan `--spawn <mode>`.

236 

227## Koneksi dan keamanan237## Koneksi dan keamanan

228 238 

229Sesi Claude Code lokal Anda membuat permintaan HTTPS keluar saja dan tidak pernah membuka port masuk di mesin Anda. Ketika Anda memulai Remote Control, sesi tersebut mendaftarkan dengan API Anthropic dan polling untuk pekerjaan. Ketika Anda terhubung dari perangkat lain, server merutekan pesan antara klien web atau mobile dan sesi lokal Anda melalui koneksi streaming.239Sesi Claude Code lokal Anda membuat permintaan HTTPS keluar saja dan tidak pernah membuka port masuk di mesin Anda. Ketika Anda memulai Remote Control, sesi tersebut mendaftarkan dengan API Anthropic dan polling untuk pekerjaan. Ketika Anda terhubung dari perangkat lain, server merutekan pesan antara klien web atau mobile dan sesi lokal Anda melalui koneksi streaming.


426[Environment variable](/docs/id/env-vars#features-that-need-feature-flag-fetching) yang mematikan evaluasi feature-flag diatur, dan pesan lengkap menyebutkan variabel yang ditemukan Claude Code. Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya. Apa yang harus dilakukan tergantung pada variabel yang disebutkan pesan:436[Environment variable](/docs/id/env-vars#features-that-need-feature-flag-fetching) yang mematikan evaluasi feature-flag diatur, dan pesan lengkap menyebutkan variabel yang ditemukan Claude Code. Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya. Apa yang harus dilakukan tergantung pada variabel yang disebutkan pesan:

427 437 

428* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`**: batalkan pengaturan variabel di mana pun itu diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings).438* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`**: batalkan pengaturan variabel di mana pun itu diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings).

429* **`DISABLE_TELEMETRY` atau `DO_NOT_TRACK`**: pada paket Pro, Max, Team, atau Enterprise dengan `DISABLE_GROWTHBOOK` tidak diatur, variabel ini meninggalkan Remote Control tersedia kecuali organisasi Anda memerlukan [Trusted Devices](#trusted-devices). Jika demikian, batalkan pengaturan variabel di mana pun itu diatur untuk menggunakan Remote Control. Dari v2.1.154 hingga v2.1.282, salah satu variabel menghasilkan pesan ini, jadi perbarui Claude Code ke v2.1.283 atau lebih baru.439* **`DISABLE_TELEMETRY` atau `DO_NOT_TRACK`**: pada paket Pro, Max, Team, atau Enterprise dengan `DISABLE_GROWTHBOOK` tidak diatur, variabel ini meninggalkan Remote Control tersedia kecuali organisasi Anda memerlukan [Trusted Devices](#trusted-devices). Jika demikian, batalkan pengaturan variabel di mana pun itu diatur untuk menggunakan Remote Control. Pada v2.1.154 hingga v2.1.282, Anda melihat pesan ini jika salah satu variabel diatur, jadi perbarui Claude Code ke versi yang memenuhi [persyaratan untuk variabel-variabel ini](#requirements).

430 440 

431### "Remote Control is only available when using Claude via api.anthropic.com"441### "Remote Control is only available when using Claude via api.anthropic.com"

432 442 


441* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan terkelola](/docs/id/managed-settings), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.451* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan terkelola](/docs/id/managed-settings), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.

442* **Paket claude.ai Anda adalah Pro atau Max**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.452* **Paket claude.ai Anda adalah Pro atau Max**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.

443* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](/docs/id/hipaa-setup), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.453* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](/docs/id/hipaa-setup), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.

454* **Remote Control berfungsi untuk orang lain di organisasi Anda tetapi tidak untuk Anda**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda dapat menjadi penyebabnya. Remote Control memerlukan izin sesi cloud sekaligus izin **Claude Code remote control**. Minta Owner untuk memeriksa apakah peran Anda mencakup keduanya dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

444* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.455* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.

445 456 

446Sebelum v2.1.281, pesan ini juga muncul ketika Claude Code belum memuat kebijakan organisasi Anda di mesin ini, misalnya setelah memulai offline. Versi yang lebih baru melaporkan keadaan itu sebagai [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) sebagai gantinya.457Sebelum v2.1.281, pesan ini juga muncul ketika Claude Code belum memuat kebijakan organisasi Anda di mesin ini, misalnya setelah memulai offline. Versi yang lebih baru melaporkan keadaan itu sebagai [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) sebagai gantinya.

routines.md +10 −9

Details

33 33 

34Owner Team dan Enterprise dapat menonaktifkan tugas terjadwal untuk semua anggota dengan toggle **Scheduled tasks (Was Routines)** di [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Ketika toggle dimatikan, tugas terjadwal yang ada berhenti berjalan dan anggota tidak dapat membuat yang baru.34Owner Team dan Enterprise dapat menonaktifkan tugas terjadwal untuk semua anggota dengan toggle **Scheduled tasks (Was Routines)** di [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Ketika toggle dimatikan, tugas terjadwal yang ada berhenti berjalan dan anggota tidak dapat membuat yang baru.

35 35 

36Jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), Anda juga memerlukan peran yang mencakup izin tugas terjadwal. Owner dapat menambahkannya di bagian **Remote sessions** pada suatu peran di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

37 

36## Contoh kasus penggunaan38## Contoh kasus penggunaan

37 39 

38Setiap contoh memasangkan jenis pemicu dengan jenis pekerjaan yang cocok untuk tugas terjadwal: tanpa pengawasan, dapat diulang, dan terikat pada hasil yang jelas.40Setiap contoh memasangkan jenis pemicu dengan jenis pekerjaan yang cocok untuk tugas terjadwal: tanpa pengawasan, dapat diulang, dan terikat pada hasil yang jelas.


48 50 

49Buat tugas terjadwal dari web di [claude.ai/code/routines](https://claude.ai/code/routines), dari aplikasi Desktop, atau dari CLI. Ketiga surface menulis ke akun cloud yang sama, sehingga tugas terjadwal yang Anda buat di salah satunya langsung muncul di yang lain. Di tab **Code** aplikasi Desktop, klik **Scheduled** di sidebar atau di menu **More** pada sidebar, lalu **New task**, dan lanjutkan dengan [Buat dari web](#create-from-the-web).51Buat tugas terjadwal dari web di [claude.ai/code/routines](https://claude.ai/code/routines), dari aplikasi Desktop, atau dari CLI. Ketiga surface menulis ke akun cloud yang sama, sehingga tugas terjadwal yang Anda buat di salah satunya langsung muncul di yang lain. Di tab **Code** aplikasi Desktop, klik **Scheduled** di sidebar atau di menu **More** pada sidebar, lalu **New task**, dan lanjutkan dengan [Buat dari web](#create-from-the-web).

50 52 

51Tugas terjadwal berjalan secara otonom sebagai sesi cloud Claude Code penuh. Anda tidak memilih mode izin. Sesi menjalankan perintah shell, menggunakan [skills](/docs/id/skills) yang di-commit ke repositori yang diklon, dan memanggil konektor apa pun yang Anda sertakan, semuanya tanpa berhenti untuk meminta persetujuan kecuali untuk beberapa [tindakan artifact](#when-a-run-publishes-an-artifact-without-asking).53Tugas terjadwal berjalan secara otonom sebagai sesi cloud Claude Code penuh. Anda tidak memilih mode izin. Sesi menjalankan perintah shell, menggunakan [skills](/docs/id/skills), dan memanggil konektor apa pun yang Anda sertakan, semuanya tanpa berhenti untuk meminta persetujuan kecuali untuk beberapa [tindakan artifact](#when-a-run-publishes-an-artifact-without-asking). Di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), skills tersebut mencakup skills yang di-commit ke repositori yang diklon.

52 54 

53Apa yang dapat dijangkau tugas terjadwal ditentukan oleh:55Apa yang dapat dijangkau tugas terjadwal ditentukan oleh:

54 56 


116 118 

117Klik **Create**. Dialog tertutup dan halaman detail tugas baru terbuka. Tugas berjalan saat salah satu pemicunya cocok berikutnya. Untuk memulai eksekusi segera, klik **Run now** di halaman detail.119Klik **Create**. Dialog tertutup dan halaman detail tugas baru terbuka. Tugas berjalan saat salah satu pemicunya cocok berikutnya. Untuk memulai eksekusi segera, klik **Run now** di halaman detail.

118 120 

119Setiap eksekusi membuat sesi baru di samping sesi Anda yang lain, tempat Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, dan membuat pull request.121Untuk melihat apa yang dilakukan suatu eksekusi, klik eksekusi tersebut di daftar **History** pada halaman detail. Eksekusi [terbuka sebagai sesi penuh](#view-and-interact-with-runs), sesi baru untuk setiap eksekusi, tempat Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, dan membuat pull request.

120 122 

121#### Dialog dengan Repositories dan Environment di tampilan utama123#### Dialog dengan Repositories dan Environment di tampilan utama

122 124 


147 149 

148Pemicu jadwal menjalankan tugas dengan frekuensi berulang, atau sekali pada waktu tertentu di masa depan. Di dialog pembuatan atau edit tugas di web, pilih frekuensi preset seperti per jam, harian, atau mingguan:150Pemicu jadwal menjalankan tugas dengan frekuensi berulang, atau sekali pada waktu tertentu di masa depan. Di dialog pembuatan atau edit tugas di web, pilih frekuensi preset seperti per jam, harian, atau mingguan:

149 151 

150* **Zona waktu**: waktu dimasukkan dalam zona lokal Anda dan dikonversi secara otomatis, sehingga tugas berjalan pada waktu jam dinding tersebut terlepas dari lokasi infrastruktur cloud.

151* **Eksekusi tepat pada jam**: jika Anda menjadwalkan eksekusi tepat pada jam, seperti 9:00, eksekusi dapat dimulai beberapa menit terlambat. Untuk memulai mendekati waktu terjadwal, pilih beberapa menit setelah jam, misalnya 9:07.152* **Eksekusi tepat pada jam**: jika Anda menjadwalkan eksekusi tepat pada jam, seperti 9:00, eksekusi dapat dimulai beberapa menit terlambat. Untuk memulai mendekati waktu terjadwal, pilih beberapa menit setelah jam, misalnya 9:07.

152* **Interval khusus**: untuk interval khusus seperti setiap dua jam, pilih preset terdekat di dialog, lalu jalankan `/schedule update` di CLI untuk menetapkan ekspresi cron tertentu. Interval minimum adalah satu jam; ekspresi yang berjalan lebih sering akan ditolak.153* **Interval khusus**: untuk frekuensi yang tidak tersedia di preset, buat tugas lalu pilih **Custom** di [dialog edit](#edit-and-control-scheduled-tasks) tugas tersebut. Kemudian masukkan ekspresi cron, seperti `0 */2 * * *` untuk setiap dua jam. Untuk menetapkannya dari CLI, jalankan [`/schedule update`](#manage-scheduled-tasks-from-the-cli). Ekspresi yang berjalan lebih sering dari sekali per jam akan ditolak.

154* **Zona waktu**: saat Anda memilih frekuensi preset, masukkan waktu dalam zona waktu lokal Anda.

153 155 

154#### Jadwalkan eksekusi satu kali156#### Jadwalkan eksekusi satu kali

155 157 


159* Membuka PR pembersihan setelah rollout selesai161* Membuka PR pembersihan setelah rollout selesai

160* Memulai pekerjaan lanjutan setelah perubahan upstream dirilis162* Memulai pekerjaan lanjutan setelah perubahan upstream dirilis

161 163 

162Setelah tugas berjalan, tugas tersebut menonaktifkan dirinya sendiri dan UI web menandainya sebagai **Completed**. Untuk menjalankannya lagi, buka dialog edit tugas di web, yang menawarkan **One-time** untuk tugas satu kali, dan atur waktu baru.164Setelah tugas berjalan, tugas tersebut menonaktifkan dirinya sendiri dan UI web menandainya sebagai **Completed**. Untuk menjalankannya lagi, buka [dialog edit](#edit-and-control-scheduled-tasks) tugas di web dan pilih **One-time** atau **Once**, sesuai label yang ditampilkan dialog Anda. Lalu atur tanggal dan waktu baru dalam zona waktu lokal Anda dan simpan.

163 165 

164Buat eksekusi satu kali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menafsirkan frasa tersebut terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.166Buat eksekusi satu kali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menafsirkan frasa tersebut terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.

165 167 


171/schedule in 2 weeks, open a cleanup PR that removes the feature flag173/schedule in 2 weeks, open a cleanup PR that removes the feature flag

172```174```

173 175 

174Konversi lokal-ke-UTC yang sama seperti jadwal berulang berlaku untuk stempel waktu satu kali.

175 

176Eksekusi satu kali dihitung terhadap batas per jam yang sama dengan eksekusi terjadwal lainnya. Lihat [Penggunaan dan batas](#usage-and-limits) untuk detailnya.176Eksekusi satu kali dihitung terhadap batas per jam yang sama dengan eksekusi terjadwal lainnya. Lihat [Penggunaan dan batas](#usage-and-limits) untuk detailnya.

177 177 

178### Tambahkan pemicu API178### Tambahkan pemicu API


356Konektor adalah [integrasi claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) di akun Anda. Server MCP yang Anda tambahkan secara lokal di CLI dengan `claude mcp add` disimpan di mesin Anda, bukan di akun claude.ai Anda, sehingga tidak muncul dalam daftar konektor. Untuk menggunakan salah satu server tersebut dalam tugas terjadwal:356Konektor adalah [integrasi claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) di akun Anda. Server MCP yang Anda tambahkan secara lokal di CLI dengan `claude mcp add` disimpan di mesin Anda, bukan di akun claude.ai Anda, sehingga tidak muncul dalam daftar konektor. Untuk menggunakan salah satu server tersebut dalam tugas terjadwal:

357 357 

358* **Sebagai konektor**: tambahkan sebagai konektor di [claude.ai/customize/connectors](https://claude.ai/customize/connectors)358* **Sebagai konektor**: tambahkan sebagai konektor di [claude.ai/customize/connectors](https://claude.ai/customize/connectors)

359* **Di repositori**: untuk tugas terjadwal dengan satu repositori, Anda dapat mendeklarasikan server dalam [`.mcp.json`](/docs/id/mcp#project-scope) yang di-commit sehingga menjadi bagian dari repositori yang diklon359* **Di repositori**: untuk tugas terjadwal dengan satu repositori di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), Anda dapat mendeklarasikan server dalam [`.mcp.json`](/docs/id/mcp#project-scope) yang di-commit sebagai gantinya. Tugas terjadwal dalam proyek tidak memuat `.mcp.json`, jadi tambahkan server sebagai konektor

360 360 

361Ketika Anda membuat tugas terjadwal, semua konektor Anda yang saat ini terhubung disertakan secara default. Hapus yang tidak diperlukan untuk membatasi tool mana yang dapat diakses Claude selama eksekusi. Anda juga dapat menambahkan konektor langsung dari dialog pembuatan atau edit tugas.361Ketika Anda membuat tugas terjadwal, semua konektor Anda yang saat ini terhubung disertakan secara default. Hapus yang tidak diperlukan untuk membatasi tool mana yang dapat diakses Claude selama eksekusi. Anda juga dapat menambahkan konektor langsung dari dialog pembuatan atau edit tugas.

362 362 


452* Anda berada di dalam sesi cloud, di mana mengirimkan `/schedule` menjawab bahwa perintah tidak tersedia di lingkungan tersebut. Kelola tugas terjadwal dari [UI web](https://claude.ai/code/routines) sebagai gantinya452* Anda berada di dalam sesi cloud, di mana mengirimkan `/schedule` menjawab bahwa perintah tidak tersedia di lingkungan tersebut. Kelola tugas terjadwal dari [UI web](https://claude.ai/code/routines) sebagai gantinya

453* Kebijakan organisasi Anda menonaktifkan [sesi cloud](/docs/id/claude-code-on-the-web), yang dibutuhkan tugas terjadwal. Dalam kasus ini, mengirimkan `/schedule` justru menjawab [`Cloud sessions are disabled by your organization's policy`](/docs/id/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Sebelum v2.1.268, perintah ini mengembalikan `Unknown command: /schedule`453* Kebijakan organisasi Anda menonaktifkan [sesi cloud](/docs/id/claude-code-on-the-web), yang dibutuhkan tugas terjadwal. Dalam kasus ini, mengirimkan `/schedule` justru menjawab [`Cloud sessions are disabled by your organization's policy`](/docs/id/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Sebelum v2.1.268, perintah ini mengembalikan `Unknown command: /schedule`

454* Owner [menonaktifkan tugas terjadwal](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah tetap muncul dalam kasus ini, dan claude.ai menolak tugas ketika Claude mencoba membuat atau menjalankannya454* Owner [menonaktifkan tugas terjadwal](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah tetap muncul dalam kasus ini, dan claude.ai menolak tugas ketika Claude mencoba membuat atau menjalankannya

455* Organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), dan tidak ada peran Anda yang mencakup izin tugas terjadwal di bawah **Remote sessions**. Minta Owner untuk menambahkannya ke salah satu peran Anda

455 456 

456Kecuali kebijakan organisasi Anda menonaktifkan tugas terjadwal atau sesi cloud, Anda dapat membuat dan mengelola tugas terjadwal di [claude.ai/code/routines](https://claude.ai/code/routines) terlepas dari bagaimana CLI dikonfigurasi.457Jika penyebabnya adalah login CLI Anda atau karena Anda berada di dalam sesi cloud, Anda tetap dapat membuat dan mengelola tugas terjadwal di [claude.ai/code/routines](https://claude.ai/code/routines). Anda memerlukan akun Pro, Max, Team, atau Enterprise di sana. Jika tugas terjadwal atau sesi cloud dinonaktifkan untuk organisasi Anda atau tidak ada dalam peran Anda, Anda juga tidak dapat membuatnya di web.

457 458 

458### "Routines are disabled by your organization's policy"459### "Routines are disabled by your organization's policy"

459 460 

Details

163 163 

164## Cloud sessions164## Cloud sessions

165 165 

166A [cloud session](/docs/id/claude-code-on-the-web) runs in an isolated, Anthropic-managed virtual machine. A network proxy enforces a default allowlist, and a separate proxy holds your GitHub token outside the sandbox while issuing scoped credentials for repository access inside it. Sessions your organization routes to a [self-hosted environment](/docs/id/self-hosted-environments) run on infrastructure you provision instead, where isolation, egress control, and git credentials are your deployment's responsibility.166[Sesi cloud](/docs/id/claude-code-on-the-web) berjalan di mesin virtual terisolasi yang dikelola Anthropic. Proxy jaringan menegakkan allowlist default, dan proxy terpisah menyimpan token GitHub Anda di luar sandbox sambil menerbitkan kredensial dengan cakupan terbatas untuk akses repositori di dalamnya. Sesi yang diarahkan organisasi Anda ke [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) berjalan di infrastruktur yang Anda sediakan sendiri, dan di sana isolasi, kontrol egress, serta kredensial git menjadi tanggung jawab deployment Anda.

167 167 

168Use this approach when you want full VM isolation without provisioning infrastructure yourself, or when you are delegating tasks from a device that does not have a local development environment. It requires a Claude subscription. Unless you launch from the CLI, you also need a connected GitHub account so the sandbox can clone your repository. When you launch from the CLI with `--cloud`, Claude Code can [bundle and upload your local repository](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) instead. See [Use Claude Code in the cloud](/docs/id/claude-code-on-the-web) for plan availability and GitHub authentication options.168Gunakan pendekatan ini ketika Anda menginginkan isolasi VM penuh tanpa menyediakan infrastruktur sendiri, atau ketika Anda mendelegasikan tugas dari perangkat yang tidak memiliki lingkungan pengembangan lokal. Pendekatan ini memerlukan langganan Claude. Kecuali Anda meluncurkan dari CLI, Anda juga memerlukan akun GitHub yang terhubung agar sandbox dapat mengkloning repositori Anda. Ketika Anda meluncurkan dari CLI dengan `--cloud`, Claude Code dapat [membundel dan mengunggah repositori lokal Anda](/docs/id/claude-code-on-the-web#send-local-repositories-without-github) sebagai gantinya. Lihat [Gunakan Claude Code di cloud](/docs/id/claude-code-on-the-web) untuk ketersediaan paket dan opsi autentikasi GitHub.

169 169 

170## Enforce isolation across an organization170## Enforce isolation across an organization

171 171 

sandboxing.md +16 −2

Details

546 546 

547Jika `git merge` atau `git checkout` gagal dengan `unable to unlink old` pada salah satu jalur ini, lihat [Perintah git gagal dengan `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).547Jika `git merge` atau `git checkout` gagal dengan `unable to unlink old` pada salah satu jalur ini, lihat [Perintah git gagal dengan `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).

548 548 

549#### Jalur yang ditolak yang melewati symlink

550 

551Di macOS, ketika jalur yang ditolak melewati sebuah symlink, seperti `~/.claude` yang merupakan tautan ke repositori dotfiles, sandbox juga menolak lokasi sebenarnya dari jalur tersebut. Ini mencakup penolakan milik sandbox sendiri serta entri `denyWrite` dan `denyRead` literal milik Anda.

552 

549### Isolasi jaringan553### Isolasi jaringan

550 554 

551Perintah yang di-sandbox tidak memiliki rute langsung ke jaringan:555Perintah yang di-sandbox tidak memiliki rute langsung ke jaringan:


974✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.978✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.

975```979```

976 980 

977Jika alasan dalam tanda kurung adalah `EACCES`, `EPERM`, atau `EROFS`, mulai Claude Code di folder proyek yang dapat Anda tulisi, lalu jalankan `/sandbox` lagi dalam sesi tersebut.981Jika alasan dalam tanda kurung adalah `EACCES`, `EPERM`, atau `EROFS`, mulai Claude Code di folder proyek yang dapat Anda tulisi, lalu jalankan `/sandbox` lagi dalam sesi tersebut. Jika alasannya diawali dengan `Invalid JSON syntax in settings file`, perbaiki JSON di `.claude/settings.local.json` proyek Anda, lalu jalankan `/sandbox` lagi.

982 

983Jika tidak ada folder proyek yang dapat ditulisi yang tersedia bagi Anda, aktifkan sandbox dari pengaturan pengguna Anda sebagai gantinya. Tambahkan ini ke `~/.claude/settings.json`:

984 

985```json theme={null}

986{

987 "sandbox": {

988 "enabled": true

989 }

990}

991```

978 992 

979Jika alasannya diawali dengan `Invalid JSON syntax in settings file`, perbaiki JSON di `.claude/settings.local.json` proyek Anda, lalu jalankan `/sandbox` lagi.993Ini mengaktifkan [mode auto-allow](#sandbox-modes). Untuk mode izin reguler, atur juga [`sandbox.autoAllowBashIfSandboxed`](/docs/id/settings-reference#sandbox-autoallowbashifsandboxed) ke `false`. Perubahan berlaku di sesi Anda yang sedang berjalan pada perintah shell berikutnya yang dijalankan Claude, dan tab **Mode** di `/sandbox` kemudian menandai mode yang berlaku.

980 994 

981## Keterbatasan995## Keterbatasan

982 996 

Details

30| Akses ke file lokal | Tidak (klon segar) | Ya | Ya |30| Akses ke file lokal | Tidak (klon segar) | Ya | Ya |

31| Server MCP | Konektor dikonfigurasi per tugas | [File konfigurasi](/docs/id/mcp) dan konektor | Mewarisi dari sesi |31| Server MCP | Konektor dikonfigurasi per tugas | [File konfigurasi](/docs/id/mcp) dan konektor | Mewarisi dari sesi |

32| Prompt izin | Tidak (berjalan secara otonom) | Dapat dikonfigurasi per tugas | Mewarisi dari sesi |32| Prompt izin | Tidak (berjalan secara otonom) | Dapat dikonfigurasi per tugas | Mewarisi dari sesi |

33| Jadwal yang dapat disesuaikan | Via `/schedule` di CLI | Ya | Ya |33| Jadwal yang dapat disesuaikan | Ya | Ya | Ya |

34| Interval minimum | 1 jam | 1 menit | 1 menit |34| Interval minimum | 1 jam | 1 menit jika diatur oleh Claude, [1 jam di formulir](/docs/id/desktop-scheduled-tasks#schedule-options) | 1 menit |

35 35 

36> [!TIP]36> [!TIP]

37>37>


124 124 

125### Hentikan loop125### Hentikan loop

126 126 

127Untuk menghentikan [self-paced `/loop`](#let-claude-choose-the-interval) saat menunggu iterasi berikutnya, tekan `Esc`. Ini menghapus wakeup yang tertunda sehingga loop tidak berjalan lagi. Tugas yang Anda jadwalkan dengan [meminta Claude secara langsung](#manage-scheduled-tasks) tidak terpengaruh oleh `Esc` dan tetap ada sampai Anda menghapusnya.127* **[Loop self-paced](#let-claude-choose-the-interval)**: saat loop menunggu iterasi berikutnya, tekan `Esc` untuk menghentikannya. Anda juga dapat menghentikannya dengan `Ctrl+C` saat Claude sedang idle, kecuali di [sesi latar belakang yang Anda lampirkan](#detach-without-stopping-a-loop). Pemberitahuan `Pending wakeup cancelled` mengonfirmasi bahwa loop tidak akan terpicu lagi.

128* **[Loop interval tetap](#run-on-a-fixed-interval)**: untuk menghentikan loop seperti `/loop 5m`, minta Claude untuk membatalkannya, misalnya `cancel the deploy check loop`. `Esc` dan `Ctrl+C` tidak menghentikannya, maupun tugas apa pun yang Anda [jadwalkan dengan meminta Claude secara langsung](#manage-scheduled-tasks). Loop yang tidak Anda batalkan berakhir ketika [tujuh hari berlalu](#seven-day-expiry).

128 129 

129Dalam [mode self-paced](#let-claude-choose-the-interval), Claude juga dapat mengakhiri loop dengan sendirinya setelah tugas selesai. Claude memanggil tool [`ScheduleWakeup`](/docs/id/tools-reference) dengan `stop: true`, yang membatalkan wakeup yang tertunda segera. Jika iterasi berakhir tanpa menjadwalkan ulang atau menghentikan, Claude Code menjadwalkan satu wakeup fallback sekitar 20 menit kemudian dan mengakhiri loop ketika iterasi itu tidak menjadwalkan ulang juga.130Dalam [mode self-paced](#let-claude-choose-the-interval), Claude juga dapat mengakhiri loop dengan sendirinya setelah tugas selesai. Claude memanggil tool [`ScheduleWakeup`](/docs/id/tools-reference) dengan `stop: true`, yang membatalkan wakeup yang tertunda segera. Jika iterasi berakhir tanpa menjadwalkan ulang atau menghentikan, Claude Code menjadwalkan satu wakeup fallback sekitar 20 menit kemudian dan mengakhiri loop ketika iterasi itu tidak menjadwalkan ulang juga.

130 131 

131Loop pada interval tetap terus berjalan sampai Anda [membatalkannya seperti tugas terjadwal lainnya](#manage-scheduled-tasks) atau [tujuh hari berlalu](#seven-day-expiry).132#### Lepaskan tanpa menghentikan loop

133 

134Ketika Anda [terlampir ke sesi latar belakang](/docs/id/agent-view#attach-to-a-session) dan Claude sedang idle, tekan `Ctrl+C` dua kali pada prompt kosong untuk melepaskan diri. Loop self-paced yang sedang menunggu iterasi berikutnya di sana tetap berjalan, dan iterasi tersebut dimulai sesuai jadwal. Untuk menghentikan loop sebagai gantinya, tekan `Esc` sebelum Anda melepaskan diri. Melepaskan diri dengan `Ctrl+C` tanpa menghentikan loop memerlukan Claude Code v2.1.295 atau lebih baru.

132 135 

133## Atur pengingat sekali jalan136## Atur pengingat sekali jalan

134 137 


232 235 

233* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/docs/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.236* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/docs/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.

234* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.237* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.

235* Saat Anda melanjutkan sesi dengan `claude --resume` atau `claude --continue`, Claude Code memulihkan tugas yang dijadwalkan dengan `CronCreate`, kecuali tugas berulang yang telah [kedaluwarsa](#seven-day-expiry) dan tugas sekali jalan yang waktu terjadwalnya telah berlalu. Sebuah `/loop` [yang berjalan sendiri](#let-claude-choose-the-interval) tidak dipulihkan, jadi jalankan `/loop` lagi untuk memulainya kembali. Tugas Bash latar belakang dan monitor tidak pernah dipulihkan pada resume.238* Dalam [sesi latar belakang](/docs/id/agent-view#from-inside-a-session), sebuah [loop yang berjalan sendiri](#let-claude-choose-the-interval) berhenti jika waktu bangun berikutnya tiba saat proses sesi tidak berjalan, misalnya setelah crash. Saat proses dimulai lagi, transkrip menampilkan [pemberitahuan bahwa wakeup tidak akan berjalan](/docs/id/errors#restarted-after-its-next-loop-wakeup-was-due). Untuk melanjutkan loop, [balas ke sesi](/docs/id/agent-view#peek-and-reply) dan minta Claude untuk tetap menjalankannya.

239* Saat Anda melanjutkan sesi dengan `claude --resume` atau `claude --continue`, Claude Code memulihkan tugas yang dijadwalkan dengan `CronCreate`, kecuali tugas berulang yang telah [kedaluwarsa](#seven-day-expiry) dan tugas sekali jalan yang waktu terjadwalnya telah berlalu. Sebuah `/loop` [yang berjalan sendiri](#let-claude-choose-the-interval) tidak dipulihkan, jadi jalankan `/loop` lagi untuk memulainya kembali.

240* Tugas berulang yang dipulihkan tidak berjalan untuk eksekusi yang terlewat selama sesi tidak berjalan. Eksekusi berikutnya adalah yang pertama jatuh tempo setelah Anda melanjutkan, dan [jitter](#jitter) berlaku untuk eksekusi tersebut.

241* Saat Anda melanjutkan dengan `claude --resume` atau `claude --continue`, Claude Code tidak memulai ulang perintah Bash latar belakang dan monitor yang sedang berjalan saat sesi berakhir. Jika Anda masih membutuhkannya, minta Claude untuk memulainya lagi.

236* Dengan [feature-flag fetching off](/docs/id/env-vars#features-that-need-feature-flag-fetching), Claude Code menyimpan tugas yang Anda minta untuk disimpan di seluruh sesi dalam file `.claude/scheduled_tasks.json` proyek. Ketika direktori `.claude` atau file tersebut adalah symlink, Claude Code mengembalikan error alih-alih menjadwalkan tugas. Tugas yang disimpan hanya berjalan di folder proyek tempat Anda membuatnya. Jika Anda menyalin file ke folder lain, seperti worktree baru, sesi di sana menampilkan tugas yang disalin tetapi tidak menjalankannya, jadi buat tugas lagi di folder tersebut.242* Dengan [feature-flag fetching off](/docs/id/env-vars#features-that-need-feature-flag-fetching), Claude Code menyimpan tugas yang Anda minta untuk disimpan di seluruh sesi dalam file `.claude/scheduled_tasks.json` proyek. Ketika direktori `.claude` atau file tersebut adalah symlink, Claude Code mengembalikan error alih-alih menjadwalkan tugas. Tugas yang disimpan hanya berjalan di folder proyek tempat Anda membuatnya. Jika Anda menyalin file ke folder lain, seperti worktree baru, sesi di sana menampilkan tugas yang disalin tetapi tidak menjalankannya, jadi buat tugas lagi di folder tersebut.

237 243 

238Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:244Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:

Details

12 12 

13Lingkungan yang di-host sendiri menjalankan sesi cloud Claude Code pada infrastruktur yang dioperasikan organisasi Anda. [Sesi cloud](/docs/id/claude-code-on-the-web) adalah sesi apa pun yang berjalan di tempat selain mesin pengembang. Pengembang memulainya dari claude.ai, aplikasi mobile dan desktop, terminal dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud), dan [tugas terjadwal cloud](/docs/id/routines). Secara default, sesi cloud dijalankan pada infrastruktur Anthropic.13Lingkungan yang di-host sendiri menjalankan sesi cloud Claude Code pada infrastruktur yang dioperasikan organisasi Anda. [Sesi cloud](/docs/id/claude-code-on-the-web) adalah sesi apa pun yang berjalan di tempat selain mesin pengembang. Pengembang memulainya dari claude.ai, aplikasi mobile dan desktop, terminal dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud), dan [tugas terjadwal cloud](/docs/id/routines). Secara default, sesi cloud dijalankan pada infrastruktur Anthropic.

14 14 

15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Pengalaman pengembang sebaliknya sama terlepas dari perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](/docs/id/self-hosted-environments-deploy#known-issues-and-limitations) halaman deploy.15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Selebihnya, pengalaman pengembang sama, kecuali perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](/docs/id/self-hosted-environments-deploy#known-issues-and-limitations) halaman deploy.

16 16 

17Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri. Jika Anda ingin menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](/docs/id/remote-control), yang juga tersedia pada paket Pro dan Max. Ketika Anda siap untuk menyiapkan, langsung ke [quickstart](/docs/id/self-hosted-environments-quickstart); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](/docs/id/self-hosted-environments-deploy). Sisa halaman ini menjelaskan cara kerja self-hosting dan kapan memilihnya.17Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri. Jika Anda ingin menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](/docs/id/remote-control), yang juga tersedia pada paket Pro dan Max. Ketika Anda siap untuk menyiapkan, langsung ke [quickstart](/docs/id/self-hosted-environments-quickstart); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](/docs/id/self-hosted-environments-deploy). Sisa halaman ini menjelaskan cara kerja self-hosting dan kapan memilihnya.

18 18 

Details

281| `CLAUDE_RUNNER_ATTEMPT` | Penghitung per sesi untuk digunakan dalam logging. Ini bukan jumlah retry maupun jumlah permintaan. `0` untuk permintaan pre-warming, meskipun permintaan untuk suatu sesi juga dapat membawa `0`. |281| `CLAUDE_RUNNER_ATTEMPT` | Penghitung per sesi untuk digunakan dalam logging. Ini bukan jumlah retry maupun jumlah permintaan. `0` untuk permintaan pre-warming, meskipun permintaan untuk suatu sesi juga dapat membawa `0`. |

282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Waktu server dari header HTTP `Date` respons polling. Ketika hook memverifikasi `exp` JWT pesanan kerja, bandingkan terhadap nilai ini daripada jam lokal untuk mentoleransi skew. Kosong ketika gateway menghilangkan header. |282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Waktu server dari header HTTP `Date` respons polling. Ketika hook memverifikasi `exp` JWT pesanan kerja, bandingkan terhadap nilai ini daripada jam lokal untuk mentoleransi skew. Kosong ketika gateway menghilangkan header. |

283| `CLAUDE_RUNNER_POOL_ID` | ID lingkungan yang harus diikuti runner baru, dalam bentuk `ccpool_...` |283| `CLAUDE_RUNNER_POOL_ID` | ID lingkungan yang harus diikuti runner baru, dalam bentuk `ccpool_...` |

284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID yang ditandai dari akun yang antri sesi, untuk routing per-akun, kuota, atau chargeback. Kosong ketika tidak tersedia, dan selalu kosong untuk sesi saluran Claude Tag, yang tidak ada akun antri. |284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID yang ditandai dari akun yang mengantrikan sesi. Gunakan untuk routing per-akun, kuota, atau chargeback, bukan sebagai kunci dedup. Kosong ketika tidak tersedia, dan selalu kosong untuk sesi channel Claude Tag, yang tidak diantrikan oleh akun mana pun. |

285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email akun yang antri sesi. Kosong ketika tidak tersedia. Perlakukan email sebagai informasi yang dapat diidentifikasi secara pribadi dan jangan catat. |285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email akun yang antri sesi. Kosong ketika tidak tersedia. Perlakukan email sebagai informasi yang dapat diidentifikasi secara pribadi dan jangan catat. |

286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL sumber git pertama sesi, untuk routing ke runner dengan repositori itu pre-warmed. Kosong ketika sesi tidak memiliki sumber git. |286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL sumber git pertama sesi, untuk routing ke runner dengan repositori itu pre-warmed. Kosong ketika sesi tidak memiliki sumber git. |

287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Revisi sumber git pertama sesi: branch, SHA, tag, atau nama referensi lengkap. Kosong ketika tidak ditentukan. |287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Revisi sumber git pertama sesi: branch, SHA, tag, atau nama referensi lengkap. Kosong ketika tidak ditentukan. |


306 * **Keluar 1, atau masih berjalan saat `--hook-timeout` berakhir**: kegagalan yang dapat dicoba ulang. Sesi mundur dan ditawarkan kembali.306 * **Keluar 1, atau masih berjalan saat `--hook-timeout` berakhir**: kegagalan yang dapat dicoba ulang. Sesi mundur dan ditawarkan kembali.

307 * **Keluar 2 atau lebih tinggi**: kegagalan yang tidak dapat dicoba ulang. Sesi diblokir dari pemijahan lagi sampai pengguna mengirimkan pesan baru ke sesi tersebut atau [Owner](/docs/id/cloud-environments#organization-shared-environments) memilih **Retry** di atasnya di tab **Activity** lingkungan.307 * **Keluar 2 atau lebih tinggi**: kegagalan yang tidak dapat dicoba ulang. Sesi diblokir dari pemijahan lagi sampai pengguna mengirimkan pesan baru ke sesi tersebut atau [Owner](/docs/id/cloud-environments#organization-shared-environments) memilih **Retry** di atasnya di tab **Activity** lingkungan.

308 308 

309 Pada keluar bukan nol, ekor stderr hook muncul di tab **Activity** sebagai alasan kegagalan, jadi tulis kesalahan yang dapat ditindaklanjuti ke stderr dan jangan pernah menulis rahasia di sana. Dalam hook shell, [pertahankan kegagalan sementara agar dapat dicoba ulang](#keep-transient-failures-retryable-in-a-shell-hook).309 Selama sesi mundur, sesi tersebut menampilkan **Queued** di tab **Activity** tanpa kesalahan pemijahan, jadi baca output hook di log orchestrator. Setelah diblokir, sesi menampilkan **Failed**. Perluas sesi tersebut untuk membaca kesalahan pemijahan, yang diambil dari 512 karakter terakhir stderr hook. Tulis kesalahan yang dapat ditindaklanjuti ke stderr, dan jangan sertakan rahasia. Dalam hook shell, [pertahankan kegagalan sementara agar dapat dicoba ulang](#keep-transient-failures-retryable-in-a-shell-hook).

310 310 

311 Permintaan pre-warming tidak memiliki sesi untuk gagal: orchestrator mencatat keluar bukan nol secara lokal saja, dan server meminta ulang pemijahan setelah sewa `--expected-spawn-seconds` kedaluwarsa.311 Permintaan pre-warming tidak memiliki sesi untuk gagal: orchestrator mencatat keluar bukan nol secara lokal saja, dan server meminta ulang pemijahan setelah sewa `--expected-spawn-seconds` kedaluwarsa.

3124. **Atur `--expected-spawn-seconds` ke setidaknya waktu p99 Anda dari permintaan pemijahan hingga pendaftaran runner.** Ukur sejak orchestrator menerima permintaan pemijahan, dan sertakan waktu tunggu untuk kapasitas di platform Anda serta waktu boot. Nilai ini adalah sewa server-side, dan pesanan kerja kedaluwarsa bersamanya, sehingga runner yang beban kerjanya membutuhkan waktu lebih lama tidak dapat mendaftar. Semua replika orchestrator harus menggunakan nilai yang sama.3124. **Atur `--expected-spawn-seconds` ke setidaknya waktu p99 Anda dari permintaan pemijahan hingga pendaftaran runner.** Ukur sejak orchestrator menerima permintaan pemijahan, dan sertakan waktu tunggu untuk kapasitas di platform Anda serta waktu boot. Nilai ini adalah sewa server-side, dan pesanan kerja kedaluwarsa bersamanya, sehingga runner yang beban kerjanya membutuhkan waktu lebih lama tidak dapat mendaftar. Semua replika orchestrator harus menggunakan nilai yang sama.


327 327 

328Hapus beban kerja ketika runner keluar, misalnya dengan mengatur `ttlSecondsAfterFinished` pada Kubernetes Job atau dengan membuat skrip start VM menghapus VM tersebut setelahnya.328Hapus beban kerja ketika runner keluar, misalnya dengan mengatur `ttlSecondsAfterFinished` pada Kubernetes Job atau dengan membuat skrip start VM menghapus VM tersebut setelahnya.

329 329 

330#### Kirim output proses latar belakang ke file

331 

332Jika hook `spawn-runner` Anda membiarkan suatu proses berjalan di latar belakang, kirim output proses tersebut ke file yang dapat dibuat oleh pengguna hook. Misalnya, tambahkan `>> "$HOME/claude-runner.log" 2>&1` ke perintah yang memulai proses tersebut, sebelum `&` apa pun. Baris hook ini menunjukkan letak pengalihan tersebut, dengan `your-background-command` sebagai pengganti perintah yang dijalankan hook Anda di latar belakang:

333 

334```bash theme={null}

335your-background-command >> "$HOME/claude-runner.log" 2>&1 &

336```

337 

338Tanpa pengalihan, proses menulis ke stdout dan stderr hook:

339 

340* Sekitar satu detik setelah hook keluar, orchestrator mencatat `exited, but a process it started still has the hook's stdout or stderr open`. Sejak baris tersebut, orchestrator mencatat hingga 64 KB tambahan dari output tersebut di bawah `[runner:hook:spawn-runner:after-exit jti=<order id>]` lalu membuang sisanya.

341* Setelah orchestrator keluar, penulisan proses ke sana akan gagal.

342 

343Runner yang dimulai sendiri oleh hook Anda menjalankan sesi di host orchestrator, yang menyimpan [rahasia lingkungan](/docs/id/self-hosted-environments-deploy#harden-your-deployment).

344 

345Sebelum v2.1.305, hook yang sudah keluar tetap mencapai [`--hook-timeout`](/docs/id/self-hosted-environments-reference#orchestrator-cli-flags) selama proses yang dimulainya masih membuka stdout atau stderr hook, yang ditampilkan sebagai:

346 

347* **Tab Activity**, dalam kesalahan pemijahan sesi yang gagal: `spawn-runner hook timed out after 60000ms`, atau baris-baris terakhir di stderr hook.

348* **Log orchestrator**: `timed out after 60000ms, sending SIGTERM to process tree`.

349 

330#### Pertahankan kegagalan sementara agar dapat dicoba ulang dalam hook shell350#### Pertahankan kegagalan sementara agar dapat dicoba ulang dalam hook shell

331 351 

332Dalam hook shell yang menggunakan `set -e`, kegagalan yang sebenarnya dapat teratasi dengan retry dapat memblokir sesi. Hook berhenti pada perintah yang gagal dan keluar dengan status milik perintah itu sendiri, dan orchestrator menerapkan kontrak exit code pada status tersebut. Banyak kegagalan mengembalikan status 2 atau lebih tinggi, seperti `127` ketika suatu perintah tidak terinstal dan `22` dari `curl --fail` pada kesalahan HTTP, sehingga kegagalan tersebut memblokir sesi pada kegagalan pertamanya.352Dalam hook shell yang menggunakan `set -e`, kegagalan yang sebenarnya dapat teratasi dengan retry dapat memblokir sesi. Hook berhenti pada perintah yang gagal dan keluar dengan status milik perintah itu sendiri, dan orchestrator menerapkan kontrak exit code pada status tersebut. Banyak kegagalan mengembalikan status 2 atau lebih tinggi, seperti `127` ketika suatu perintah tidak terinstal dan `22` dari `curl --fail` pada kesalahan HTTP, sehingga kegagalan tersebut memblokir sesi pada kegagalan pertamanya.


350 ```bash theme={null}370 ```bash theme={null}

351 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT371 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

352 ```372 ```

353* **Perintah yang boleh gagal**: jika hook sebelumnya tidak menggunakan `set -e`, kini hook berhenti pada perintah pertama yang mengembalikan nilai bukan nol, seperti pencarian yang tidak menemukan apa pun atau pengiriman duplikat yang ditolak platform Anda. Jika hook bertindak berdasarkan hasilnya, jadikan perintah tersebut kondisi dari sebuah `if`. Jika hook mengabaikan hasilnya, tambahkan `|| true` setelah perintah tersebut.373* **Perintah yang boleh gagal**: jika hook sebelumnya tidak menggunakan `set -e`, kini hook berhenti pada perintah pertama yang mengembalikan nilai bukan nol, seperti pencarian yang tidak menemukan apa pun. Jika hook bertindak berdasarkan hasilnya, jadikan perintah tersebut kondisi dari sebuah `if`. Jika hook mengabaikan hasilnya, tambahkan `|| true` setelah perintah tersebut.

374* **Perintah yang mengirimkan beban kerja**: jangan tambahkan `|| true` setelahnya. Dengan `|| true`, hook keluar dengan 0 bahkan ketika platform Anda menolak pengiriman, misalnya karena melebihi kuota, dan sesi menunggu runner yang tidak pernah dimulai.

375 

376 Beri nama beban kerja berdasarkan `CLAUDE_RUNNER_ORDER_ID`, seperti yang dinyatakan [aturan pertama hook](#the-spawn-runner-hook). Jawaban already-exists kemudian merupakan pengiriman ulang permintaan yang sama, jadi perlakukan hanya jawaban tersebut sebagai keberhasilan. Untuk jawaban lainnya, cetak jawaban tersebut ke stderr dan keluar dengan 1, atau panggil `permanent` jika tidak ada retry yang dapat memperbaikinya. Contoh ini melakukan hal tersebut untuk `kubectl create`, dengan `job.yaml` yang hanya berisi beban kerja:

377 

378 ```bash theme={null}

379 if ! out=$(kubectl create -f job.yaml 2>&1); then

380 case "$out" in

381 *AlreadyExists*) ;;

382 *) printf '%s\n' "${out:-kubectl create failed}" >&2; exit 1 ;;

383 esac

384 fi

385 ```

386 

387 Log orchestrator kemudian menampilkan pesan tersebut. Jika hook membuat objek lain, beri nama masing-masing berdasarkan order ID, berikan perintahnya sendiri, dan perlakukan jawaban already-exists-nya sebagai keberhasilan dengan cara yang sama. Untuk objek yang menyimpan rahasia, cetak pesan tetap sebagai pengganti output perintah.

354 388 

355Untuk mengonfirmasi bahwa trap berfungsi, tambahkan baris tepat di bawah baris `trap` yang memanggil perintah yang tidak ada, seperti `no-such-command`. Jalankan file hook dari shell Anda dan periksa bahwa `echo $?` mencetak `1`, lalu hapus baris tersebut.389Untuk mengonfirmasi bahwa trap berfungsi, tambahkan baris tepat di bawah baris `trap` yang memanggil perintah yang tidak ada, seperti `no-such-command`. Jalankan file hook dari shell Anda dan periksa bahwa `echo $?` mencetak `1`, lalu hapus baris tersebut.

356 390 


457 491 

458* [File MCP terkelola](/docs/id/managed-mcp) cakupan enterprise pada jalur sistem standarnya: `/etc/claude-code/managed-mcp.json` pada host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` pada host macOS. Gunakan file ini untuk armada yang dikunci ketat di mana hanya server yang didaftarkan administrator yang boleh dimuat. Lihat [kontrol eksklusif dengan managed-mcp.json](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) untuk aturan prioritas. Ketika file ini ada di host runner, Claude Code melewati server MCP yang dikirimkan control plane Anthropic ke sesi, termasuk konektor claude.ai, dan menyebutkan namanya dalam peringatan di stderr proses anak sesi, yang dicatat runner pada level log `debug`. Sebelum v2.1.229, sesi tersebut keluar saat startup dengan `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.492* [File MCP terkelola](/docs/id/managed-mcp) cakupan enterprise pada jalur sistem standarnya: `/etc/claude-code/managed-mcp.json` pada host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` pada host macOS. Gunakan file ini untuk armada yang dikunci ketat di mana hanya server yang didaftarkan administrator yang boleh dimuat. Lihat [kontrol eksklusif dengan managed-mcp.json](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) untuk aturan prioritas. Ketika file ini ada di host runner, Claude Code melewati server MCP yang dikirimkan control plane Anthropic ke sesi, termasuk konektor claude.ai, dan menyebutkan namanya dalam peringatan di stderr proses anak sesi, yang dicatat runner pada level log `debug`. Sebelum v2.1.229, sesi tersebut keluar saat startup dengan `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

459* Kunci [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) dalam [pengaturan terkelola](/docs/id/managed-settings) pada host runner: menyediakan server HTTP dan SSE tanpa mengambil kontrol eksklusif, sehingga server dari sumber lain tetap dimuat. Memerlukan Claude Code v2.1.259 atau yang lebih baru.493* Kunci [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) dalam [pengaturan terkelola](/docs/id/managed-settings) pada host runner: menyediakan server HTTP dan SSE tanpa mengambil kontrol eksklusif, sehingga server dari sumber lain tetap dimuat. Memerlukan Claude Code v2.1.259 atau yang lebih baru.

460* `<repo>/.mcp.json`: cakupan project. Lakukan commit file ini ke repositori; server-servernya disetujui secara otomatis di sesi cloud. Dalam sesi dengan beberapa repositori, [paling banyak file dari satu repositori yang dimuat](#repository-settings-in-sessions-with-several-repositories).494* `<repo>/.mcp.json`: cakupan project. Di luar thread [project](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), lakukan commit file ini ke repositori, dan server-servernya disetujui secara otomatis di sesi cloud. Dalam sesi dengan beberapa repositori, [paling banyak file dari satu repositori yang dimuat](#repository-settings-in-sessions-with-several-repositories).

461* File [`--mcp-config`](/docs/id/cli-reference#cli-flags) dari skrip wrapper Anda: tambahkan flag tersebut setelah `"$@"`, seperti pada `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Agar server dari file tersebut tetap berjalan ketika server yang dikirimkan ke sesi diperbarui di tengah sesi, pastikan wrapper Anda meneruskan [environment lengkap](#wrapper-scripts) ke proses anak, seperti yang dilakukan `exec`. Sebelum v2.1.299, server stdio, HTTP, dan SSE dalam file tersebut berhenti pada pembaruan pertama semacam itu yang tidak menyebutkan namanya.495* File [`--mcp-config`](/docs/id/cli-reference#cli-flags) dari skrip wrapper Anda: tambahkan flag tersebut setelah `"$@"`, seperti pada `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Agar server dari file tersebut tetap berjalan ketika server yang dikirimkan ke sesi diperbarui di tengah sesi, pastikan wrapper Anda meneruskan [environment lengkap](#wrapper-scripts) ke proses anak, seperti yang dilakukan `exec`. Sebelum v2.1.299, server stdio, HTTP, dan SSE dalam file tersebut berhenti pada pembaruan pertama semacam itu yang tidak menyebutkan namanya.

462 496 

463Ketika pengiriman konektor diaktifkan untuk organisasi Anda, control plane Anthropic mengirimkan konektor yang telah Anda konfigurasikan di claude.ai ke sesi yang dibuat secara interaktif melalui konfigurasi MCP yang disediakan server, yang dirutekan melalui `api.anthropic.com`. Sesi yang dibuat secara terprogram, seperti [dispatch CLI](/docs/id/self-hosted-environments-testing#run-the-test-loop), tidak menerima pengiriman konektor; berikan server MCP kepada sesi tersebut melalui sumber lain yang tercantum di bagian ini. Token OAuth proses anak tidak membawa scope untuk mengambil konektor secara langsung, sehingga proses anak tidak mencoba pengambilan tersebut sendiri; pengiriman digerakkan oleh server.497Ketika pengiriman konektor diaktifkan untuk organisasi Anda, control plane Anthropic mengirimkan konektor yang telah Anda konfigurasikan di claude.ai ke sesi yang dibuat secara interaktif melalui konfigurasi MCP yang disediakan server, yang dirutekan melalui `api.anthropic.com`. Sesi yang dibuat secara terprogram, seperti [dispatch CLI](/docs/id/self-hosted-environments-testing#run-the-test-loop), tidak menerima pengiriman konektor; berikan server MCP kepada sesi tersebut melalui sumber lain yang tercantum di bagian ini. Token OAuth proses anak tidak membawa scope untuk mengambil konektor secara langsung, sehingga proses anak tidak mencoba pengambilan tersebut sendiri; pengiriman digerakkan oleh server.

464 498 

499> [!NOTE]

500>

501> Dalam sesi yang menerima konektor, server dengan nama yang sama dari `.claude.json` milik host atau `.mcp.json` milik repositori tidak akan terhubung. Untuk menggunakan keduanya, beri server Anda nama yang berbeda.

502 

465`settings.json` tidak memuat definisi server MCP, dan tidak ada field `mcpServers` tingkat atas dalam skema pengaturan. Dalam pengaturan terkelola, sediakan server dengan kunci [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) sebagai gantinya.503`settings.json` tidak memuat definisi server MCP, dan tidak ada field `mcpServers` tingkat atas dalam skema pengaturan. Dalam pengaturan terkelola, sediakan server dengan kunci [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) sebagai gantinya.

466 504 

467Sesi mewarisi environment runner, jadi atur [`ENABLE_TOOL_SEARCH`](/docs/id/mcp#scale-with-mcp-tool-search) di sana untuk mengontrol pencarian tool MCP bagi setiap sesi yang dijalankan runner; halaman MCP menjelaskan nilai-nilainya.505Sesi mewarisi environment runner, jadi atur [`ENABLE_TOOL_SEARCH`](/docs/id/mcp#scale-with-mcp-tool-search) di sana untuk mengontrol pencarian tool MCP bagi setiap sesi yang dijalankan runner; halaman MCP menjelaskan nilai-nilainya.


638 676 

639Sesi juga membaca file pengaturan berikut:677Sesi juga membaca file pengaturan berikut:

640 678 

641* **Pengaturan proyek**: `.claude/settings.json` yang di-commit ke repositori diterapkan di atas baseline tingkat pengguna. Dalam sesi dengan beberapa repositori, [paling banyak hanya file dari satu repositori yang berlaku](#repository-settings-in-sessions-with-several-repositories).679* **Pengaturan proyek**: di luar thread [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), `.claude/settings.json` yang di-commit ke repositori diterapkan di atas baseline tingkat pengguna. Dalam sesi dengan beberapa repositori, [paling banyak hanya file dari satu repositori yang berlaku](#repository-settings-in-sessions-with-several-repositories).

642* **Pengaturan terkelola**: sesi membaca [`managed-settings.json`](/docs/id/settings#where-settings-live) dari jalur sistem standar di image runner Anda. Untuk mengetahui apakah kuncinya berlaku bersama [pengaturan terkelola server](/docs/id/server-managed-settings), lihat [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources).680* **Pengaturan terkelola**: sesi membaca [`managed-settings.json`](/docs/id/settings#where-settings-live) dari jalur sistem standar di image runner Anda. Untuk mengetahui apakah kuncinya berlaku bersama [pengaturan terkelola server](/docs/id/server-managed-settings), lihat [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources).

643 681 

644Untuk urutan penerapan sumber-sumber ini, lihat [prioritas pengaturan](/docs/id/settings#settings-precedence).682Untuk urutan penerapan sumber-sumber ini, lihat [prioritas pengaturan](/docs/id/settings#settings-precedence).


649* **Siapa yang menulisnya**: bidang kontrol mengisinya dari konstanta tetap dalam deployment-nya sendiri, tidak pernah dari input per-sesi atau pihak ketiga.687* **Siapa yang menulisnya**: bidang kontrol mengisinya dari konstanta tetap dalam deployment-nya sendiri, tidak pernah dari input per-sesi atau pihak ketiga.

650* **Apa yang masih mengaturnya**: hook yang dikirimkan melalui `--settings` memasuki konfigurasi hook yang digabungkan biasa, bukan tingkat yang dikelola, jadi pengaturan yang dikelola Anda masih berlaku. `disableAllHooks` menonaktifkannya, dan mereka bukan di antara kategori yang [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) tetap dimuat.688* **Apa yang masih mengaturnya**: hook yang dikirimkan melalui `--settings` memasuki konfigurasi hook yang digabungkan biasa, bukan tingkat yang dikelola, jadi pengaturan yang dikelola Anda masih berlaku. `disableAllHooks` menonaktifkannya, dan mereka bukan di antara kategori yang [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) tetap dimuat.

651 689 

652Ketika seseorang memulai sesinya sendiri, Claude Code juga mengunduh [skills yang diaktifkan untuk akun claude.ai mereka](/docs/id/skills#skills-in-cowork-and-cloud-sessions) ke direktori konfigurasi sesi tersebut. Eksekusi [tugas terjadwal cloud](/docs/id/routines) tidak mendapatkan skills pemiliknya, dan sesi yang [mengirimkan permintaan model ke Bedrock atau Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) tidak mengunduh skill apa pun. Untuk skill yang dibutuhkan sesi tersebut, commit skill tersebut ke `.claude/skills/` repositori atau tambahkan ke image runner Anda.690Ketika seseorang memulai sesinya sendiri, Claude Code juga mengunduh [skills yang diaktifkan untuk akun claude.ai mereka](/docs/id/skills#skills-in-cowork-and-cloud-sessions) ke direktori konfigurasi sesi tersebut. Eksekusi [tugas terjadwal cloud](/docs/id/routines) tidak mendapatkan skills pemiliknya, dan sesi yang [mengirimkan permintaan model ke Bedrock atau Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) tidak mengunduh skill apa pun. Untuk skill yang dibutuhkan sesi tersebut, tambahkan skill tersebut ke image runner Anda atau, di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), commit skill tersebut ke `.claude/skills/` repositori.

653 691 

654Di luar sesi [Claude Tag](https://claude.com/docs/claude-tag/overview), sesi dalam lingkungan yang di-host sendiri berjalan dengan [auto memory](/docs/id/memory#auto-memory) nonaktif secara default. Untuk instruksi yang harus terbawa antar sesi, gunakan `CLAUDE.md` di image runner Anda atau di repositori.692Di luar sesi [Claude Tag](https://claude.com/docs/claude-tag/overview), sesi dalam lingkungan yang di-host sendiri berjalan dengan [auto memory](/docs/id/memory#auto-memory) nonaktif secara default. Untuk instruksi yang harus terbawa antar sesi, gunakan `CLAUDE.md` di image runner Anda atau di repositori.

655 693 


657 695 

658### Pengaturan repositori dalam sesi dengan beberapa repositori696### Pengaturan repositori dalam sesi dengan beberapa repositori

659 697 

660Dalam sesi dengan beberapa repositori, Claude Code membaca pengaturan proyek dari direktori tempat sesi dimulai, sehingga paling banyak hanya `.claude/settings.json` dari satu repositori yang berlaku sebagai pengaturan proyek. Hook yang didefinisikan dalam file repositori lain tidak berjalan, aturan deny di dalamnya tidak berlaku, dan `env`-nya tidak diatur.698Dalam thread di sebuah [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), tidak ada `.claude/settings.json` repositori mana pun yang berlaku sebagai pengaturan proyek dan tidak ada `.mcp.json` atau skills repositori mana pun yang dimuat, di mana pun thread dimulai. Untuk memberikan skill kepada thread tersebut, tambahkan skill tersebut ke image runner Anda.

699 

700Dalam sesi lain dengan beberapa repositori, Claude Code membaca pengaturan proyek dari direktori tempat sesi dimulai, sehingga paling banyak hanya `.claude/settings.json` dari satu repositori yang berlaku sebagai pengaturan proyek. Hook yang didefinisikan dalam file repositori lain tidak berjalan, aturan deny di dalamnya tidak berlaku, dan `env`-nya tidak diatur.

661 701 

662* **`--capacity 1`, default, dengan checkout bawaan**: sesi dimulai di repositori pertama dalam daftar repositorinya. `.claude/settings.json` repositori tersebut berlaku sebagai pengaturan proyek dan `.mcp.json`-nya dimuat, sedangkan milik repositori lain tidak.702* **`--capacity 1`, default, dengan checkout bawaan**: sesi dimulai di repositori pertama dalam daftar repositorinya. `.claude/settings.json` repositori tersebut berlaku sebagai pengaturan proyek dan `.mcp.json`-nya dimuat, sedangkan milik repositori lain tidak.

663* **`--capacity` lebih dari satu, atau [hook `checkout`](#checkout)**: sesi dimulai di direktori per sesi yang berisi hasil checkout. Tidak ada `.claude/settings.json` repositori mana pun yang berlaku sebagai pengaturan proyek, tidak ada `.mcp.json` repositori mana pun yang dimuat, dan [`$CLAUDE_PROJECT_DIR`](/docs/id/hooks#reference-scripts-by-path) dalam perintah hook adalah direktori tersebut, bukan hasil checkout.703* **`--capacity` lebih dari satu, atau [hook `checkout`](#checkout)**: sesi dimulai di direktori per sesi yang berisi hasil checkout. Tidak ada `.claude/settings.json` repositori mana pun yang berlaku sebagai pengaturan proyek, tidak ada `.mcp.json` repositori mana pun yang dimuat, dan [`$CLAUDE_PROJECT_DIR`](/docs/id/hooks#reference-scripts-by-path) dalam perintah hook adalah direktori tersebut, bukan hasil checkout.

664 704 

665`CLAUDE.md` dan skills setiap repositori dimuat di mana pun sesi dimulai. Runner meneruskan setiap repositori ke Claude Code sebagai [direktori tambahan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration), sehingga Claude Code juga membaca kunci `enabledPlugins` dan `extraKnownMarketplaces` dari `.claude/settings.json` setiap repositori.705`CLAUDE.md` setiap repositori dimuat di mana pun sesi dimulai. Di luar thread proyek, skills-nya juga dimuat. Runner meneruskan setiap repositori ke Claude Code sebagai [direktori tambahan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration), sehingga Claude Code juga membaca kunci `enabledPlugins` dan `extraKnownMarketplaces` dari `.claude/settings.json` setiap repositori.

666 706 

667Untuk menjalankan hook atau menerapkan aturan izin di setiap sesi, letakkan di `~/.claude/settings.json` pada host runner. Runner [mengisikan file host ke setiap sesi](#how-each-session’s-config-is-assembled), di mana pun sesi dimulai. Tulis jalur dalam aturan `Read` atau `Edit` sebagai [pola](/docs/id/permissions#read-and-edit) absolut `//` atau relatif terhadap home `~/`, karena pola lain berjangkar pada sumber pengaturan atau direktori saat ini.707Untuk menjalankan hook atau menerapkan aturan izin di setiap sesi, letakkan di `~/.claude/settings.json` pada host runner. Runner [mengisikan file host ke setiap sesi](#how-each-session’s-config-is-assembled), di mana pun sesi dimulai. Tulis jalur dalam aturan `Read` atau `Edit` sebagai [pola](/docs/id/permissions#read-and-edit) absolut `//` atau relatif terhadap home `~/`, karena pola lain berjangkar pada sumber pengaturan atau direktori saat ini.

668 708 

Details

80Alur sisi host berikut memang menjangkau `claude.ai`, jadi jalankan dari host yang egress-nya memungkinkannya daripada memperluas egress kontainer sesi:80Alur sisi host berikut memang menjangkau `claude.ai`, jadi jalankan dari host yang egress-nya memungkinkannya daripada memperluas egress kontainer sesi:

81 81 

82* **Installer satu baris**: mengambil `install.sh` dari `claude.ai` pada waktu instalasi.82* **Installer satu baris**: mengambil `install.sh` dari `claude.ai` pada waktu instalasi.

83* **`claude auth login` interaktif**: masuk melalui `claude.ai`, `claude.com`, dan `platform.claude.com`. [Guided setup](/docs/id/self-hosted-environments-quickstart#run-the-guided-setup), mode signed-in `doctor`, dan [CI dispatch](/docs/id/self-hosted-environments-testing#authenticate-from-ci) menggunakannya. Browser yang Anda gunakan untuk masuk juga memuat pemeriksaan browser halaman masuk claude.ai dari `hcaptcha.com`, `*.hcaptcha.com`, dan `challenges.cloudflare.com`.83* **`claude auth login` interaktif**: masuk melalui `claude.ai`, `claude.com`, dan `platform.claude.com`. [Guided setup](/docs/id/self-hosted-environments-quickstart#run-the-guided-setup), mode signed-in `doctor`, dan [CI dispatch](/docs/id/self-hosted-environments-testing#authenticate-from-ci) menggunakannya. Browser yang Anda gunakan untuk masuk juga memuat pemeriksaan browser halaman masuk claude.ai dari `hcaptcha.com`, `*.hcaptcha.com`, dan `challenges.cloudflare.com`. Jika organisasi Anda menggunakan single sign-on, browser tersebut juga dapat dialihkan melalui `sso.claude.com`.

84 84 

85### Default-deny egress85### Default-deny egress

86 86 


654* **Runner keluar saat startup dengan `RegisterRunner failed:` dan kesalahan sertifikat TLS**: kesalahannya dapat berupa `self signed certificate in certificate chain`, misalnya. Runner tidak memercayai otoritas sertifikat (CA) di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](/docs/id/network-config#custom-ca-certificates) di lingkungan runner ke file PEM yang berisi root CA proxy tersebut.654* **Runner keluar saat startup dengan `RegisterRunner failed:` dan kesalahan sertifikat TLS**: kesalahannya dapat berupa `self signed certificate in certificate chain`, misalnya. Runner tidak memercayai otoritas sertifikat (CA) di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](/docs/id/network-config#custom-ca-certificates) di lingkungan runner ke file PEM yang berisi root CA proxy tersebut.

655 655 

656 Anda tidak perlu mengaturnya lagi untuk sesi, karena sesi mewarisinya. Git tidak membacanya: untuk clone melalui proxy tersebut, atur juga [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).656 Anda tidak perlu mengaturnya lagi untuk sesi, karena sesi mewarisinya. Git tidak membacanya: untuk clone melalui proxy tersebut, atur juga [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

657* **Skrip start Anda mencetak kesalahan penulisan yang berisi `Resource temporarily unavailable` lalu keluar**: skrip Anda berbagi stdout atau stderr dengan proses `claude self-hosted-runner` atau [orkestrator](/docs/id/self-hosted-environments-configuration#on-demand-runners) yang dimulainya, dan proses tersebut telah mengalihkan pipe atau socket bersama itu ke mode non-blocking. Ketika pipe penuh, penulisan dari skrip Anda gagal dengan kesalahan sistem operasi ini alih-alih menunggu, dan di bawah `set -e` skrip tersebut keluar.

658 

659 Untuk menghentikan kesalahan ini, kirim output runner atau orkestrator ke file yang dapat dibuat oleh pengguna skrip Anda. Tambahkan `>> "$HOME/claude-runner.log" 2>&1` ke perintah yang memulainya, sebelum `&` yang menjalankannya di latar belakang:

660 

661 ```bash theme={null}

662 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1

663 ```

664 

665 Output skrip Anda sendiri tetap menuju ke tempat sebelumnya, sedangkan apa yang ditulis runner ke stdout dan stderr, termasuk kesalahan startup-nya, menuju ke file tersebut. Gunakan pengalihan shell ini, bukan [`--log-file`](/docs/id/self-hosted-environments-reference#runner-cli-flags) saja, yang mencerminkan log ke sebuah file sementara runner tetap menulis ke stdout dan stderr. Jika Anda sudah meneruskan `--log-file`, pertahankan juga, karena pengalihan tersebut tidak mengubah apa yang diterima file itu.

657* **Orkestrator mencatat `poll failed:` dengan kesalahan sertifikat TLS dan terus mencoba ulang**: orkestrator tidak memercayai CA di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](/docs/id/network-config#custom-ca-certificates) di lingkungan orkestrator ke file PEM yang berisi root CA proxy tersebut. Atur juga untuk runner yang dimulai oleh hook `spawn-runner` Anda.666* **Orkestrator mencatat `poll failed:` dengan kesalahan sertifikat TLS dan terus mencoba ulang**: orkestrator tidak memercayai CA di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](/docs/id/network-config#custom-ca-certificates) di lingkungan orkestrator ke file PEM yang berisi root CA proxy tersebut. Atur juga untuk runner yang dimulai oleh hook `spawn-runner` Anda.

658 667 

659 Misalnya, sebuah baris dapat diakhiri dengan `poll failed: self signed certificate in certificate chain — retrying in 1s`, dengan kata-kata dari pustaka TLS di antara titik dua dan tanda pisah. Untuk memastikan perbaikannya berhasil, periksa bahwa `connected` bernilai `true` di body [`/healthz`](/docs/id/self-hosted-environments-reference#health-endpoint) orkestrator.668 Misalnya, sebuah baris dapat diakhiri dengan `poll failed: self signed certificate in certificate chain — retrying in 1s`, dengan kata-kata dari pustaka TLS di antara titik dua dan tanda pisah. Untuk memastikan perbaikannya berhasil, periksa bahwa `connected` bernilai `true` di body [`/healthz`](/docs/id/self-hosted-environments-reference#health-endpoint) orkestrator.

Details

321* **Token OAuth**: buat token dengan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token), otorisasi token tersebut untuk organisasi Team atau Enterprise Anda, dan atur sebagai `CLAUDE_CODE_OAUTH_TOKEN` di environment job. Hapus kredensial apa pun yang [diutamakan](/docs/id/authentication#authentication-precedence) daripada token dari environment tersebut, seperti `ANTHROPIC_API_KEY`.321* **Token OAuth**: buat token dengan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token), otorisasi token tersebut untuk organisasi Team atau Enterprise Anda, dan atur sebagai `CLAUDE_CODE_OAUTH_TOKEN` di environment job. Hapus kredensial apa pun yang [diutamakan](/docs/id/authentication#authentication-precedence) daripada token dari environment tersebut, seperti `ANTHROPIC_API_KEY`.

322* **Pengaturan terkelola endpoint**: deploy [file pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) ke mesin yang menjalankan job.322* **Pengaturan terkelola endpoint**: deploy [file pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) ke mesin yang menjalankan job.

323 323 

324Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop, Claude Code tidak mengambil pengaturan yang dikelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise. [Di mana dan kapan kebijakan berlaku](/docs/id/managed-settings#where-and-when-a-policy-applies) mencakup kebijakan mana yang mencapai sesi Cowork di mesin pengguna dan sesi Cowork jarak jauh. claude.ai masih menerapkan daftar [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) dan [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) Anda sendiri ketika pengguna Cowork menambahkan marketplace dari repositori git di claude.ai atau dari **Customize** di tab Cowork. [Bagaimana pembatasan bekerja](/docs/id/plugins/org#restrict-what-users-can-install) menjelaskan pemeriksaan tersebut.324Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop, Claude Code tidak mengambil pengaturan terkelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise. [Di mana dan kapan kebijakan berlaku](/docs/id/managed-settings#where-and-when-a-policy-applies) mencakup kebijakan mana yang mencapai sesi Cowork di mesin pengguna dan sesi Cowork jarak jauh. claude.ai masih menerapkan daftar [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) dan [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) Anda sendiri ketika pengguna Cowork menambahkan marketplace dari repositori git di claude.ai atau dari **Customize** di Cowork. [Bagaimana pembatasan bekerja](/docs/id/plugins/org#restrict-what-users-can-install) menjelaskan pemeriksaan tersebut.

325 325 

326Jika Anda mengekspor variabel penyedia `CLAUDE_CODE_USE_*` atau `ANTHROPIC_BASE_URL` non-default di shell Anda, Claude Code melewati pengambilan pengaturan untuk sesi Anda. [`claude doctor` dan `/status` melaporkan pengambilan yang dilewati dan penyebabnya](#verify-settings-delivery).326Jika Anda mengekspor variabel penyedia `CLAUDE_CODE_USE_*` atau `ANTHROPIC_BASE_URL` non-default di shell Anda, Claude Code melewati pengambilan pengaturan untuk sesi Anda. [`claude doctor` dan `/status` melaporkan pengambilan yang dilewati dan penyebabnya](#verify-settings-delivery).

327 327 

settings.md +4 −2

Details

321 321 

322Sesi [cloud](/docs/id/claude-code-on-the-web) berjalan di [lingkungan cloud](/docs/id/cloud-environments) pada klon segar repositori Anda, bukan di mesin Anda. Itu mengubah pengaturan mana yang mencapainya:322Sesi [cloud](/docs/id/claude-code-on-the-web) berjalan di [lingkungan cloud](/docs/id/cloud-environments) pada klon segar repositori Anda, bukan di mesin Anda. Itu mengubah pengaturan mana yang mencapainya:

323 323 

324* **Pengaturan proyek bersama** (`.claude/settings.json`): dibaca dalam sesi dengan satu repositori, karena file adalah bagian dari klon dan sesi dimulai di dalamnya. Lakukan commit pengaturan di sana untuk menerapkannya dalam sesi tersebut. Dalam lingkungan yang di-host Anthropic, sesi dengan beberapa repositori dimulai di atas klon dan membaca hanya kunci `enabledPlugins` dan `extraKnownMarketplaces` dari `.claude/settings.json` setiap repositori, bukan aturan izin, hook, `env`, atau kunci lainnya. Marketplace dan plugin yang dideklarasikan oleh dua kunci tersebut masih [tidak dimuat dalam sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup). Untuk lingkungan yang di-host sendiri, lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).324* **Thread cloud dalam proyek**: dalam thread cloud di sebuah [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), tidak ada aturan izin, hook, atau `env` dari `.claude/settings.json` repositori yang berlaku, berapa pun jumlah repositori yang dimiliki proyek tersebut. [Apa yang diambil thread dari repositori Anda](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories) mencantumkan apa yang dapat digunakan sebagai gantinya.

325* **Pengaturan proyek bersama** (`.claude/settings.json`): dibaca dalam sesi dengan satu repositori di luar proyek, karena file adalah bagian dari klon dan sesi dimulai di dalamnya. Lakukan commit pengaturan di sana untuk menerapkannya dalam sesi tersebut.

326* **Pengaturan proyek bersama dengan beberapa repositori**: dalam lingkungan yang di-host Anthropic, sesi dengan beberapa repositori dimulai di atas klon dan membaca hanya kunci `enabledPlugins` dan `extraKnownMarketplaces` dari `.claude/settings.json` setiap repositori, bukan aturan izin, hook, `env`, atau kunci lainnya. Marketplace dan plugin yang dideklarasikan oleh dua kunci tersebut masih [tidak dimuat dalam sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup). Untuk lingkungan yang di-host sendiri, lihat [pengaturan repositori mana yang berlaku](/docs/id/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

325* **Pengaturan pengguna dan proyek lokal** (`~/.claude/settings.json` dan `.claude/settings.local.json`): tidak dibaca. Keduanya tetap di mesin Anda, dan file lokal tidak ada dalam klon.327* **Pengaturan pengguna dan proyek lokal** (`~/.claude/settings.json` dan `.claude/settings.local.json`): tidak dibaca. Keduanya tetap di mesin Anda, dan file lokal tidak ada dalam klon.

326* **Pengaturan yang dikelola**: file `managed-settings.json` atau profil MDM di perangkat Anda tidak mencapai sesi cloud. [Pengaturan yang dikelola server](/docs/id/server-managed-settings) organisasi Anda melakukannya; [cakupan permukaan](/docs/id/model-config#surface-coverage) mencantumkan sesi cloud mana yang menerimanya. [Lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan yang dikelola dalam gambar runner-nya. [Bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku.328* **Pengaturan yang dikelola**: file `managed-settings.json` atau profil MDM di perangkat Anda tidak mencapai sesi cloud. [Pengaturan yang dikelola server](/docs/id/server-managed-settings) organisasi Anda melakukannya; [cakupan permukaan](/docs/id/model-config#surface-coverage) mencantumkan sesi cloud mana yang menerimanya. [Lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan yang dikelola dalam gambar runner-nya. [Bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku.

327* **`/config`**: di browser Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan claude.ai Anda daripada mengubah nilai. Untuk mengubah pengaturan untuk sesi cloud, atur [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) di lingkungan, atau dalam sesi dengan satu repositori, komit kunci ke `.claude/settings.json` repositori tersebut.329* **`/config`**: di browser Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan claude.ai Anda daripada mengubah nilai. Untuk mengubah pengaturan untuk sesi cloud, atur [environment variable](/docs/id/cloud-environments#set-environment-variables) di lingkungan. Dalam sesi dengan satu repositori di luar proyek, Anda dapat sebagai gantinya melakukan commit kunci ke `.claude/settings.json` repositori tersebut.

328 330 

329[Apa yang dibawa dari pengaturan Anda](/docs/id/cloud-environments#what-carries-over-from-your-setup) mencantumkan sisanya: `CLAUDE.md`, skills, server MCP, plugins, dan kredensial.331[Apa yang dibawa dari pengaturan Anda](/docs/id/cloud-environments#what-carries-over-from-your-setup) mencantumkan sisanya: `CLAUDE.md`, skills, server MCP, plugins, dan kredensial.

330 332 

Details

94 94 

95Pengaturan bersama satu tim, dikomit ke repositori sehingga semua orang yang mengklonnya mendapatkan izin, hooks, dan marketplace plugin yang sama. Simpan file seperti ini di `.claude/settings.json` di bagian atas repositori. Apa yang perlu diketahui sebelum Anda mengkomitnya:95Pengaturan bersama satu tim, dikomit ke repositori sehingga semua orang yang mengklonnya mendapatkan izin, hooks, dan marketplace plugin yang sama. Simpan file seperti ini di `.claude/settings.json` di bagian atas repositori. Apa yang perlu diketahui sebelum Anda mengkomitnya:

96 96 

97* **Sesi cloud membacanya juga.** Sesi [cloud session](/docs/id/settings#settings-in-cloud-sessions) dimulai dari klon repositori, jadi file yang dikomit berlaku di sana juga.97* **Sesi cloud di luar [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories) juga membacanya.** [Sesi cloud](/docs/id/settings#settings-in-cloud-sessions) dengan satu repositori dimulai di dalam klon, sehingga file yang di-commit juga berlaku di sana.

98* **Telemetri masuk dalam pengaturan terkelola atau pribadi.** Claude Code mengabaikan [variabel pengekspor OpenTelemetry](/docs/id/settings-reference#variables-claude-code-ignores-in-env) dalam file pengaturan repositori, kecuali beberapa nilai yang mematikan telemetri. Atur mereka dalam [pengaturan terkelola](/docs/id/monitoring-usage#administrator-configuration) untuk organisasi Anda, atau dalam `~/.claude/settings.json` setiap orang.98* **Telemetri masuk dalam pengaturan terkelola atau pribadi.** Claude Code mengabaikan [variabel pengekspor OpenTelemetry](/docs/id/settings-reference#variables-claude-code-ignores-in-env) dalam file pengaturan repositori, kecuali beberapa nilai yang mematikan telemetri. Atur mereka dalam [pengaturan terkelola](/docs/id/monitoring-usage#administrator-configuration) untuk organisasi Anda, atau dalam `~/.claude/settings.json` setiap orang.

99* **Aturan izin menunggu kepercayaan.** Aturan izin dan entri `extraKnownMarketplaces` berlaku setelah setiap orang [mempercayai folder ini sendiri](/docs/id/permissions#project-allow-rules-and-workspace-trust), bukan hanya folder induk; aturan deny dan ask berlaku di setiap sesi, terpercaya atau tidak.99* **Aturan izin menunggu kepercayaan.** Aturan izin dan entri `extraKnownMarketplaces` berlaku setelah setiap orang [mempercayai folder ini sendiri](/docs/id/permissions#project-allow-rules-and-workspace-trust), bukan hanya folder induk; aturan deny dan ask berlaku di setiap sesi, terpercaya atau tidak.

100* **Hook adalah skrip di repo.** Hook file ini menjalankan `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/id/hooks#how-a-hook-resolves) memandu penulisannya.100* **Hook adalah skrip di repo.** Hook file ini menjalankan `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/id/hooks#how-a-hook-resolves) memandu penulisannya.

Details

14 14 

15Setiap kunci di bawah menautkan ke entrinya. Scope mencantumkan [file](/docs/id/settings#settings-files-and-who-they-affect) tempat kunci dapat digunakan: `User` adalah `~/.claude/settings.json`, `Project` adalah `.claude/settings.json`, `Local` adalah `.claude/settings.local.json`, dan `Managed` adalah [apa yang organisasi Anda terapkan](/docs/id/managed-settings). `Any file` berarti keempat file tersebut, dan `Global config` berarti [`~/.claude.json`](#global-config-settings).15Setiap kunci di bawah menautkan ke entrinya. Scope mencantumkan [file](/docs/id/settings#settings-files-and-who-they-affect) tempat kunci dapat digunakan: `User` adalah `~/.claude/settings.json`, `Project` adalah `.claude/settings.json`, `Local` adalah `.claude/settings.local.json`, dan `Managed` adalah [apa yang organisasi Anda terapkan](/docs/id/managed-settings). `Any file` berarti keempat file tersebut, dan `Global config` berarti [`~/.claude.json`](#global-config-settings).

16 16 

17| Kunci | Deskripsi | Topik | Scope |17| Key | Description | Topic | Scope |

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

19| [`advisorModel`](#advisormodel) | Pilih model mana yang menjawab ketika Claude menggunakan [tool advisor](/docs/id/advisor) | Model dan respons | Any file |19| [`advisorModel`](#advisormodel) | Pilih model mana yang menjawab ketika Claude menggunakan [tool advisor](/docs/id/advisor) | Model dan respons | Any file |

20| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, tool, dan modelnya | Agents, sessions, and worktrees | Any file |20| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, tool, dan modelnya | Agents, sessions, and worktrees | Any file |


725 725 

726### `showThinkingSummaries`726### `showThinkingSummaries`

727 727 

728Lihat ringkasan [extended thinking](/docs/id/model-config#extended-thinking) Claude dalam sesi interaktif. Tetapkan jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak disetel atau `false`, Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh; penyedia pihak ketiga tidak menyensor.728Lihat ringkasan [extended thinking](/docs/id/model-config#extended-thinking) Claude dalam sesi interaktif. Tetapkan jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak disetel atau `false`, Anthropic API menyensor thinking block dan Claude Code menampilkan stub yang diciutkan.

729 729 

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

731* **Type**: Boolean731* **Type**: Boolean


1370* **`allowWrite` dan `denyWrite`**: di macOS, wildcard berfungsi. Di Linux dan WSL2, sandbox memasang jalur konkret, jadi Claude Code melewati entri yang berisi `*`, `?`, atau `[` setelah `/**` di akhir dihapus, dan entri itu tidak berpengaruh. Claude Code menambahkan jalur dari aturan izin `Edit` Anda ke daftar ini, jadi batas yang sama berlaku untuknya, dan tab **Config** `/sandbox` memperingatkan tentang aturan izin `Edit` dan `Read` yang berisi wildcard.1370* **`allowWrite` dan `denyWrite`**: di macOS, wildcard berfungsi. Di Linux dan WSL2, sandbox memasang jalur konkret, jadi Claude Code melewati entri yang berisi `*`, `?`, atau `[` setelah `/**` di akhir dihapus, dan entri itu tidak berpengaruh. Claude Code menambahkan jalur dari aturan izin `Edit` Anda ke daftar ini, jadi batas yang sama berlaku untuknya, dan tab **Config** `/sandbox` memperingatkan tentang aturan izin `Edit` dan `Read` yang berisi wildcard.

1371* **`denyRead` dan `allowRead`**: wildcard berfungsi di setiap platform. Di Linux dan WSL2, Claude Code memperluas entri baca ke jalur konkret yang cocok, yang tidak dilakukannya untuk daftar tulis.1371* **`denyRead` dan `allowRead`**: wildcard berfungsi di setiap platform. Di Linux dan WSL2, Claude Code memperluas entri baca ke jalur konkret yang cocok, yang tidak dilakukannya untuk daftar tulis.

1372 1372 

1373Kurung kurawal dicocokkan sebagai karakter biasa dalam nama, jadi `~/data/{keys,tokens}` mencakup direktori yang secara harfiah bernama `{keys,tokens}`, bukan dua alternatif. Untuk mencakup `~/data/keys` dan `~/data/tokens`, tambahkan masing-masing sebagai entri tersendiri.

1374 

1373### `sandbox.filesystem.allowWrite`1375### `sandbox.filesystem.allowWrite`

1374 1376 

1375Tambahkan jalur tempat perintah bersandbox dapat menulis, di luar direktori kerja, direktori temp per pengguna, dan direktori yang telah Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`. Gunakan ketika subprocess seperti `kubectl` atau alat build perlu menulis di luar proyek.1377Tambahkan jalur tempat perintah bersandbox dapat menulis, di luar direktori kerja, direktori temp per pengguna, dan direktori yang telah Anda tambahkan dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`. Gunakan ketika subprocess seperti `kubectl` atau alat build perlu menulis di luar proyek.


2321 2323 

2322 Mengabaikan grup ini dalam pengaturan proyek dan lokal memerlukan Claude Code v2.1.282 atau lebih baru.2324 Mengabaikan grup ini dalam pengaturan proyek dan lokal memerlukan Claude Code v2.1.282 atau lebih baru.

2323 * Variabel yang mengubah cara Claude Code dimulai atau disinkronkan, seperti `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR`, dan `CLAUDE_CODE_PLUGIN_SEED_DIR`.2325 * Variabel yang mengubah cara Claude Code dimulai atau disinkronkan, seperti `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR`, dan `CLAUDE_CODE_PLUGIN_SEED_DIR`.

2324 * Variabel yang mengatur pengatur waktu pada dialog yang tidak dijawab: [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`, `CLAUDE_AFK_TIMEOUT_MS`, dan `CLAUDE_AFK_COUNTDOWN_MS`](/docs/id/env-vars#variables).2326 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](/docs/id/env-vars#variables), yang mengatur pengatur waktu pada dialog yang tidak dijawab.

2325 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/id/env-vars#variables), yang mematikan pemrosesan lampiran.2327 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/id/env-vars#variables), yang mematikan pemrosesan lampiran.

2326 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/id/env-vars#variables), yang menghentikan Claude Code dari memperluas mention `@` untuk file dan direktori.2328 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/id/env-vars#variables), yang menghentikan Claude Code dari memperluas mention `@` untuk file dan direktori.

2327 2329 


2470* **Scope**: [`User or managed`](#scopes)2472* **Scope**: [`User or managed`](#scopes)

2471* **Type**: string, salah satu dari `"60s"`, `"5m"`, `"10m"`, atau `"never"`2473* **Type**: string, salah satu dari `"60s"`, `"5m"`, `"10m"`, atau `"never"`

2472* **Default**: `"never"`2474* **Default**: `"never"`

2473* **Per-session overrides**: [`CLAUDE_AFK_TIMEOUT_MS`](/docs/id/env-vars) mengambil alih kunci ini untuk satu sesi

2474 2475 

2475```json settings.json theme={null}2476```json settings.json theme={null}

2476{2477{


4854 4855 

4855### `preferredNotifChannel`4856### `preferredNotifChannel`

4856 4857 

4857Pilih bagaimana Claude Code memberi tahu Anda ketika tugas selesai atau prompt izin menunggu. Muncul di `/config` sebagai **Local notifications**.4858Pilih bagaimana Claude Code memberi tahu Anda ketika tugas selesai atau permintaan izin menunggu. [Notifikasi dari mod](/docs/id/plugins/mods/api#show-something-without-starting-a-turn) menggunakan pengaturan yang sama. Muncul di `/config` sebagai **Local notifications**.

4858 4859 

4859* **Scope**: [`Any file`](#scopes). Claude Code juga membaca nilai yang ditinggalkan di `~/.claude.json` oleh versi yang lebih lama.4860* **Scope**: [`Any file`](#scopes). Claude Code juga membaca nilai yang ditinggalkan di `~/.claude.json` oleh versi yang lebih lama.

4860* **Type**: string, salah satu dari:4861* **Type**: string, salah satu dari:

setup.md +1 −1

Details

200 200 

201Claude Code memeriksa pembaruan saat startup dan secara berkala saat berjalan. Pembaruan diunduh dan diinstal di latar belakang, kemudian berlaku saat Anda memulai Claude Code berikutnya.201Claude Code memeriksa pembaruan saat startup dan secara berkala saat berjalan. Pembaruan diunduh dan diinstal di latar belakang, kemudian berlaku saat Anda memulai Claude Code berikutnya.

202 202 

203Jalankan `claude doctor` untuk melihat hasil upaya pembaruan terbaru.203Jalankan `claude doctor` di shell Anda untuk melihat hasil upaya pembaruan terakhir yang dicatat oleh Claude Code. Pada instalasi asli, jika perintah tersebut melaporkan upaya yang gagal, lihat [`Auto-update failed` di footer sesi](/docs/id/troubleshoot-install#auto-update-failed) untuk langkah selanjutnya.

204 204 

205Di macOS dan Linux, installer asli mengelola launcher di `~/.local/bin/claude` sebagai symlink ke `~/.local/share/claude/versions/`. Jika Anda mengganti launcher itu dengan skrip atau symlink Anda sendiri, auto-update dan `claude update` membiarkannya tetap ada: versi baru masih diinstal di bawah direktori `versions/`, dan launcher Anda memutuskan versi mana yang berjalan.205Di macOS dan Linux, installer asli mengelola launcher di `~/.local/bin/claude` sebagai symlink ke `~/.local/share/claude/versions/`. Jika Anda mengganti launcher itu dengan skrip atau symlink Anda sendiri, auto-update dan `claude update` membiarkannya tetap ada: versi baru masih diinstal di bawah direktori `versions/`, dan launcher Anda memutuskan versi mana yang berjalan.

206 206 

skills.md +10 −7

Details

42* **Ekstensi**: skill, server MCP, dan plugin yang tidak digunakan dibandingkan dengan biaya konteksnya, serta [hook](/docs/id/hooks) yang lambat42* **Ekstensi**: skill, server MCP, dan plugin yang tidak digunakan dibandingkan dengan biaya konteksnya, serta [hook](/docs/id/hooks) yang lambat

43* **File `CLAUDE.md`**: file `CLAUDE.md` lokal yang menduplikasi file yang di-check-in, [konten `CLAUDE.md` yang di-check-in yang dapat disimpulkan Claude dari codebase](/docs/id/memory#my-claude-md-is-too-large), dan panduan yang selalu dimuat yang tersisa, yang ditawarkan Claude untuk dimigrasikan ke skill dan file `CLAUDE.md` bertingkat yang dimuat sesuai kebutuhan43* **File `CLAUDE.md`**: file `CLAUDE.md` lokal yang menduplikasi file yang di-check-in, [konten `CLAUDE.md` yang di-check-in yang dapat disimpulkan Claude dari codebase](/docs/id/memory#my-claude-md-is-too-large), dan panduan yang selalu dimuat yang tersisa, yang ditawarkan Claude untuk dimigrasikan ke skill dan file `CLAUDE.md` bertingkat yang dimuat sesuai kebutuhan

44* **Izin**: tawaran untuk menjadikan [auto mode](/docs/id/permissions#permission-modes) sebagai mode izin default Anda dan untuk [menyetujui terlebih dahulu](/docs/id/permissions) perintah read-only yang sering Anda tolak44* **Izin**: tawaran untuk menjadikan [auto mode](/docs/id/permissions#permission-modes) sebagai mode izin default Anda dan untuk [menyetujui terlebih dahulu](/docs/id/permissions) perintah read-only yang sering Anda tolak

45* **Penggunaan**: pada paket Pro, Max, Team, atau Enterprise, [perubahan yang direkomendasikan `/usage`](/docs/id/costs#plan-usage-breakdown) untuk menurunkan penggunaan paket Anda, yang diukur selama 7 hari terakhir. Claude mengusulkan perubahan yang dapat dilakukannya sendiri dan melaporkan sisanya sebagai saran, seperti perintah untuk Anda jalankan. Pemeriksaan penggunaan memerlukan Claude Code v2.1.305 atau yang lebih baru, dan `/doctor` melewatinya saat [Remote Control](/docs/id/remote-control) terhubung.

45 46 

46Untuk diagnostik instalasi read-only tanpa memulai sesi, jalankan `claude doctor` di terminal Anda sebagai gantinya.47Untuk diagnostik instalasi read-only tanpa memulai sesi, jalankan `claude doctor` di terminal Anda sebagai gantinya.

47 48 


83| :- | :- | :- |84| :- | :- | :- |

84| `migrate` | Memperbarui kode Claude API Anda yang sudah ada ke model yang lebih baru | Lebih awal dari v2.1.221 |85| `migrate` | Memperbarui kode Claude API Anda yang sudah ada ke model yang lebih baru | Lebih awal dari v2.1.221 |

85| `upgrade` | Memindahkan dependensi Anthropic SDK proyek Anda melintasi versi mayor, saat ini paket Python `anthropic` dari 0.x ke 1.x | v2.1.236 atau yang lebih baru |86| `upgrade` | Memindahkan dependensi Anthropic SDK proyek Anda melintasi versi mayor, saat ini paket Python `anthropic` dari 0.x ke 1.x | v2.1.236 atau yang lebih baru |

87| `api-version` | Memperbarui kode Claude API Anda untuk [versi API](https://platform.claude.com/docs/en/api/versioning) yang lebih baru, lalu mengalihkan permintaan Anda ke versi tersebut | v2.1.307 atau yang lebih baru |

86| `managed-agents-onboard` | Memandu pembuatan Managed Agent baru | Lebih awal dari v2.1.221 |88| `managed-agents-onboard` | Memandu pembuatan Managed Agent baru | Lebih awal dari v2.1.221 |

87| `managed-agents-onboard <url>` | Membangun Managed Agent yang dijelaskan oleh halaman di URL tersebut, seperti halaman di [dokumentasi Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 atau yang lebih baru |89| `managed-agents-onboard <url>` | Membangun Managed Agent yang dijelaskan oleh halaman di URL tersebut, seperti halaman di [dokumentasi Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 atau yang lebih baru |

88| `managed-agents-onboard <quickstart-name>` | Membangun salah satu template mulai cepat Console, seperti `deep-researcher`. Jika Anda memberikan satu kata yang bukan nama template, Claude mencantumkan nama-nama yang valid | v2.1.290 atau yang lebih baru |90| `managed-agents-onboard <quickstart-name>` | Membangun salah satu template mulai cepat Console, seperti `deep-researcher`. Jika Anda memberikan satu kata yang bukan nama template, Claude mencantumkan nama-nama yang valid | v2.1.290 atau yang lebih baru |


155| :- | :- | :- |157| :- | :- | :- |

156| Enterprise | `.claude/skills/<skill-name>/SKILL.md` di [direktori pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Semua pengguna di mesin tempat organisasi Anda menerapkannya |158| Enterprise | `.claude/skills/<skill-name>/SKILL.md` di [direktori pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Semua pengguna di mesin tempat organisasi Anda menerapkannya |

157| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda di mesin ini, tetapi tidak di [Cowork atau sesi cloud](#skills-in-cowork-and-cloud-sessions) |159| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Semua proyek Anda di mesin ini, tetapi tidak di [Cowork atau sesi cloud](#skills-in-cowork-and-cloud-sessions) |

158| Proyek | `.claude/skills/<skill-name>/SKILL.md` | Sesi di repositori ini. Lakukan commit agar tim Anda juga mendapatkannya |160| Proyek | `.claude/skills/<skill-name>/SKILL.md` | Sesi di repositori ini, tetapi tidak di [thread cloud dalam proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories). Lakukan commit agar tim Anda juga mendapatkannya |

159| Bersarang | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sesi yang dimulai di dalam atau di bawah `<subdir>`. Sesi yang dimulai di atasnya memuat skill tersebut setelah Claude mengerjakan file di sana. Lihat [monorepo dan subdirektori](#discovery-from-parent-and-nested-directories) |161| Bersarang | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sesi yang dimulai di dalam atau di bawah `<subdir>`, tetapi tidak di thread cloud dalam proyek. Di luar thread tersebut, sesi yang dimulai di atasnya memuat skill tersebut setelah Claude mengerjakan file di sana. Lihat [monorepo dan subdirektori](#discovery-from-parent-and-nested-directories) |

160| Direktori tambahan | `.claude/skills/<skill-name>/SKILL.md` di direktori yang Anda berikan dengan `--add-dir` | Sesi tersebut. Lihat [direktori di luar proyek](#skills-from-additional-directories) |162| Direktori tambahan | `.claude/skills/<skill-name>/SKILL.md` di direktori yang Anda berikan dengan `--add-dir` | Sesi tersebut. Lihat [direktori di luar proyek](#skills-from-additional-directories) |

161| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Di mana pun [plugin](/docs/id/plugins/overview) diaktifkan, sebagai `/plugin-name:skill-name` |163| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Di mana pun [plugin](/docs/id/plugins/overview) diaktifkan, sebagai `/plugin-name:skill-name` |

162| Akun claude.ai | Skill yang diaktifkan untuk akun claude.ai Anda | Sesi Cowork, sesi cloud, dan sesi terminal tempat Anda masuk dengan akun tersebut. Lihat [Skill yang disinkronkan dari claude.ai](#how-synced-skills-behave) |164| Akun claude.ai | Skill yang diaktifkan untuk akun claude.ai Anda | Sesi Cowork, sesi cloud, dan sesi terminal tempat Anda masuk dengan akun tersebut. Lihat [Skill yang disinkronkan dari claude.ai](#how-synced-skills-behave) |


207 209 

208### Menggunakan skill di Cowork dan sesi cloud210### Menggunakan skill di Cowork dan sesi cloud

209 211 

210Sesi [Cowork](https://claude.com/product/cowork) dan [sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup), termasuk [tugas terjadwal cloud](/docs/id/routines), tidak membaca `~/.claude/skills/` di mesin Anda. Sesi Cowork interaktif maupun terjadwal memuat skill yang diaktifkan untuk akun claude.ai Anda, yang disinkronkan saat sesi dimulai. Kelola skill tersebut dari **Customize** di sidebar aplikasi Desktop atau dari pengaturan skill di claude.ai. Sesi cloud juga memuat skill proyek yang di-commit ke `.claude/skills/` milik repositori yang di-clone.212Sesi [Cowork](https://claude.com/product/cowork) dan [sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup), termasuk [tugas terjadwal cloud](/docs/id/routines), tidak membaca `~/.claude/skills/` di mesin Anda. Sesi Cowork interaktif maupun terjadwal memuat skill yang diaktifkan untuk akun claude.ai Anda, yang disinkronkan saat sesi dimulai. Kelola skill tersebut dari **Customize** di sidebar aplikasi Desktop atau dari pengaturan skill di claude.ai.

211 213 

212Jika skill hanya ada di `~/.claude/skills/` di mesin Anda, Claude Code melaporkan bahwa skill tidak ditemukan saat [tugas terjadwal cloud](/docs/id/routines) memanggilnya. Hal ini terjadi karena setiap eksekusi dimulai sebagai sesi cloud baru. Untuk membuat skill personal tersedia di sesi-sesi ini:214Jika skill hanya ada di `~/.claude/skills/` di mesin Anda, Claude Code melaporkan bahwa skill tidak ditemukan saat [tugas terjadwal cloud](/docs/id/routines) memanggilnya. Hal ini terjadi karena setiap eksekusi dimulai sebagai sesi cloud baru. Untuk membuat skill personal tersedia di sesi-sesi ini:

213 215 

214* Untuk Cowork dan sesi cloud, aktifkan skill tersebut untuk akun claude.ai Anda. [Beberapa sesi di lingkungan self-hosted](/docs/id/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) tidak memuat skill akun Anda.216* Untuk sesi Cowork, sesi cloud, dan thread cloud dalam [proyek](/docs/id/claude-projects#what-threads-pick-up-from-your-repositories), aktifkan skill tersebut untuk akun claude.ai Anda. Di thread cloud milik proyek, skill yang di-commit ke `.claude/skills/` milik repositori tidak tersedia. [Beberapa sesi di lingkungan self-hosted](/docs/id/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) tidak memuat skill akun Anda.

215* Untuk sesi cloud, Anda dapat melakukan commit skill ke `.claude/skills/` milik repositori sebagai gantinya. Plugin yang dideklarasikan di `.claude/settings.json` milik repositori dan plugin yang hanya diaktifkan di pengaturan pengguna Anda [tidak dimuat di sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup).217* Untuk sesi cloud selain thread proyek, Anda dapat melakukan commit skill ke `.claude/skills/` milik repositori sebagai gantinya. Plugin yang dideklarasikan di `.claude/settings.json` milik repositori dan plugin yang hanya diaktifkan di pengaturan pengguna Anda [tidak dimuat di sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup).

216 218 

217[Tugas terjadwal Desktop](/docs/id/desktop-scheduled-tasks) berjalan secara lokal di mesin Anda, sehingga tugas tersebut memuat `~/.claude/skills/`.219[Tugas terjadwal Desktop](/docs/id/desktop-scheduled-tasks) berjalan secara lokal di mesin Anda, sehingga tugas tersebut memuat `~/.claude/skills/`.

218 220 


398| `agent` | Tidak | Jenis subagent yang digunakan ketika `context: fork` diatur. |400| `agent` | Tidak | Jenis subagent yang digunakan ketika `context: fork` diatur. |

399| `background` | Tidak | Hanya berlaku dengan `context: fork`. Atur ke `false` untuk menunggu hasil subagent hasil fork dalam giliran yang memanggil skill, alih-alih [menjalankannya di latar belakang](#run-skills-in-a-subagent). Default: `true`. Memerlukan Claude Code v2.1.218 atau yang lebih baru. |401| `background` | Tidak | Hanya berlaku dengan `context: fork`. Atur ke `false` untuk menunggu hasil subagent hasil fork dalam giliran yang memanggil skill, alih-alih [menjalankannya di latar belakang](#run-skills-in-a-subagent). Default: `true`. Memerlukan Claude Code v2.1.218 atau yang lebih baru. |

400| `hooks` | Tidak | Hook yang didaftarkan Claude Code ketika skill dipanggil dan tetap berjalan selama sisa sesi. Lihat [Hooks dalam skills dan agent](/docs/id/hooks#hooks-in-skills-and-agents) untuk format konfigurasi dan opsi `once`. |402| `hooks` | Tidak | Hook yang didaftarkan Claude Code ketika skill dipanggil dan tetap berjalan selama sisa sesi. Lihat [Hooks dalam skills dan agent](/docs/id/hooks#hooks-in-skills-and-agents) untuk format konfigurasi dan opsi `once`. |

401| `paths` | Tidak | Pola glob yang membatasi kapan skill ini diaktifkan. Menerima string yang dipisahkan koma atau daftar YAML. Jika diatur, Claude memuat skill secara otomatis hanya ketika bekerja dengan file yang cocok dengan pola tersebut. Menggunakan format yang sama dengan [aturan khusus path](/docs/id/memory#path-specific-rules). |403| `paths` | Tidak | Pola glob yang membatasi kapan skill ini diaktifkan. Menerima string yang dipisahkan koma atau daftar YAML. Jika diatur, Claude memuat skill secara otomatis hanya ketika bekerja dengan file yang cocok dengan pola tersebut. Pola bersifat relatif terhadap direktori kerja Claude saat ini, dan file di luar direktori tersebut tidak cocok. Menggunakan format glob yang sama dengan [aturan khusus path](/docs/id/memory#path-specific-rules). |

402| `shell` | Tidak | Shell yang digunakan untuk blok `` !`command` `` dan ` ```! ` dalam skill ini. Menerima `bash` (default) atau `powershell`. Mengatur `powershell` menjalankan perintah shell inline melalui PowerShell ketika [tool PowerShell](/id/tools-reference#powershell-tool) diaktifkan: tool ini aktif secara default di Windows tanpa Git Bash, aktif secara default dengan Git Bash untuk akun claude.ai dan Console, dan memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dalam sesi Amazon Bedrock, Agent Platform milik Google Cloud, dan Microsoft Foundry serta di macOS, Linux, dan WSL. Atur ke `0` untuk mematikan tool tersebut. |404| `shell` | Tidak | Shell yang digunakan untuk blok `` !`command` `` dan ` ```! ` dalam skill ini. Menerima `bash` (default) atau `powershell`. Mengatur `powershell` menjalankan perintah shell inline melalui PowerShell ketika [tool PowerShell](/id/tools-reference#powershell-tool) diaktifkan: tool ini aktif secara default di Windows tanpa Git Bash, aktif secara default dengan Git Bash untuk akun claude.ai dan Console, dan memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dalam sesi Amazon Bedrock, Agent Platform milik Google Cloud, dan Microsoft Foundry serta di macOS, Linux, dan WSL. Atur ke `0` untuk mematikan tool tersebut. |

403| `metadata` | Tidak | Map YAML bentuk bebas untuk data key-value Anda sendiri, seperti field entitlement atau katalog, yang dibaca oleh tooling Anda sendiri dari `SKILL.md`. Claude Code tidak bertindak berdasarkan isinya, dan membuang nilai yang bukan map. Jangan menggunakan ulang nama field frontmatter seperti `paths` sebagai key. |405| `metadata` | Tidak | Map YAML bentuk bebas untuk data key-value Anda sendiri, seperti field entitlement atau katalog, yang dibaca oleh tooling Anda sendiri dari `SKILL.md`. Claude Code tidak bertindak berdasarkan isinya, dan membuang nilai yang bukan map. Jangan menggunakan ulang nama field frontmatter seperti `paths` sebagai key. |

404| `license` | Tidak | Lisensi yang mencakup skill. Bagian dari spesifikasi [Agent Skills](https://agentskills.io); lihat [Menggunakan frontmatter skill di luar Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code menerima field ini tetapi tidak bertindak berdasarkannya. |406| `license` | Tidak | Lisensi yang mencakup skill. Bagian dari spesifikasi [Agent Skills](https://agentskills.io); lihat [Menggunakan frontmatter skill di luar Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code menerima field ini tetapi tidak bertindak berdasarkannya. |


755Perintah mana yang mendapatkan pengecualian tergantung pada shell:757Perintah mana yang mendapatkan pengecualian tergantung pada shell:

756 758 

757* Shell `bash` default: perintah yang tercantum di bawah [Output limits](/docs/id/tools-reference#output-limits)759* Shell `bash` default: perintah yang tercantum di bawah [Output limits](/docs/id/tools-reference#output-limits)

758* `shell: powershell`, ketika alat PowerShell diaktifkan: [set berbeda](/docs/id/tools-reference#shell-selection-in-settings-hooks-and-skills) yang mencakup `grep` dan `git diff` tetapi bukan `find` atau `diff`760* `shell: powershell`, ketika tool PowerShell diaktifkan: [set berbeda](/docs/id/tools-reference#exit-code-1-from-searches-and-git-diff-in-powershell) yang mencakup `grep` dan `git diff` tetapi bukan `find` atau `diff`

759 761 

760Dengan shell `bash` default, tambahkan `|| true` ke perintah lain apa pun yang Anda harapkan keluar non-nol. Skrip pemeriksaan yang keluar 1 ketika menemukan masalah adalah satu contoh.762Dengan shell `bash` default, tambahkan `|| true` ke perintah lain apa pun yang Anda harapkan keluar non-nol. Skrip pemeriksaan yang keluar 1 ketika menemukan masalah adalah satu contoh.

761 763 


11773. Coba rephrase permintaan Anda untuk lebih cocok dengan deskripsi11793. Coba rephrase permintaan Anda untuk lebih cocok dengan deskripsi

11784. Panggil secara langsung dengan `/skill-name` jika skill dapat diinvokasi oleh pengguna11804. Panggil secara langsung dengan `/skill-name` jika skill dapat diinvokasi oleh pengguna

11795. Jika `/skill-name` juga tidak dikenali, periksa apakah Claude Code [menolak nama skill tersebut](#characters-a-skill-name-cant-hold)11815. Jika `/skill-name` juga tidak dikenali, periksa apakah Claude Code [menolak nama skill tersebut](#characters-a-skill-name-cant-hold)

11826. Jika skill mengatur `paths`, periksa bahwa file yang dibaca, diedit, atau ditulis Claude berada di dalam direktori kerja Claude saat ini. Skill tidak aktif untuk file di luarnya, seperti file di git worktree yang bersebelahan, bahkan worktree yang Anda tambahkan dengan `/add-dir`. Agar skill aktif untuk file tersebut, mulai Claude Code di worktree tersebut atau [pindahkan sesi ke sana dengan `/cd`](/docs/id/permissions#move-the-session-to-another-directory).

1180 1183 

1181Jika YAML frontmatter tidak valid, Claude Code memuat badan skill dengan metadata kosong, jadi `/skill-name` tetap berfungsi tetapi Claude tidak dapat mencocokkan terhadap `description` Anda. Jalankan dengan `--debug` untuk melihat error parse.1184Jika YAML frontmatter tidak valid, Claude Code memuat badan skill dengan metadata kosong, jadi `/skill-name` tetap berfungsi tetapi Claude tidak dapat mencocokkan terhadap `description` Anda. Jalankan dengan `--debug` untuk melihat error parse.

1182 1185 

sub-agents.md +27 −4

Details

265 265 

266Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi system prompt yang memandu perilaku subagent. Subagent menerima hanya system prompt ini ditambah detail lingkungan dasar seperti direktori kerja, bukan system prompt Claude Code.266Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi system prompt yang memandu perilaku subagent. Subagent menerima hanya system prompt ini ditambah detail lingkungan dasar seperti direktori kerja, bukan system prompt Claude Code.

267 267 

268Dalam [mode non-interaktif](/docs/id/headless), lewatkan [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) untuk menambahkan teks Anda ke akhir system prompt setiap subagent, subagent bersarang termasuk, terlepas dari [forked subagent](#fork-the-current-conversation), yang menggunakan kembali prompt percakapan sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru. Jika teks Anda terlalu panjang untuk dilewatkan di baris perintah, simpan ke file dan lewatkan jalur dengan `--append-subagent-system-prompt-file` sebagai gantinya. Flag file memerlukan Claude Code v2.1.261 atau lebih baru.268Dalam [mode non-interaktif](/docs/id/headless), lewatkan [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) untuk menambahkan teks Anda ke akhir system prompt setiap subagent, termasuk subagent bersarang, kecuali [forked subagent](#fork-the-current-conversation), yang menggunakan kembali prompt percakapan sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru. Jika teks Anda terlalu panjang untuk dilewatkan di baris perintah, simpan ke file dan lewatkan jalur dengan `--append-subagent-system-prompt-file` sebagai gantinya. Flag file memerlukan Claude Code v2.1.261 atau lebih baru.

269 269 

270Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan tool Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan terisolasi dari repositori, atur [`isolation: worktree`](#supported-frontmatter-fields).270Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan tool Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan terisolasi dari repositori, atur [`isolation: worktree`](#supported-frontmatter-fields).

271 271 


433* `WaitForMcpServers`433* `WaitForMcpServers`

434* `Workflow`434* `Workflow`

435 435 

436Filter kedua berlaku untuk subagent yang berjalan di latar belakang. Terlepas dari `Agent` dan `ExitPlanMode`, yang mengikuti kondisi filter pertama di mana pun subagent berjalan, subagent latar belakang menyimpan setiap tool MCP tetapi hanya tool bawaan ini: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, dan `Artifact`, ditambah [`SubagentHandback`](/docs/id/tools-reference) untuk subagent yang melaporkan melaluinya. Claude Code menghapus setiap tool bawaan lainnya dari subagent latar belakang, baik yang diwarisi atau tercantum dalam field `tools`, jadi definisi yang sama dapat diselesaikan ke tool berbeda di latar depan dan latar belakang. Penghapusan melaporkan tidak ada kesalahan kecuali itu meninggalkan daftar `tools` [diselesaikan ke tidak ada apa-apa](/docs/id/errors#agent-would-be-spawned-with-zero-tools).436Filter kedua berlaku untuk subagent yang berjalan di latar belakang. Kecuali untuk `Agent` dan `ExitPlanMode`, yang mengikuti kondisi filter pertama di mana pun subagent berjalan, subagent latar belakang menyimpan setiap tool MCP tetapi hanya tool bawaan ini: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, dan `Artifact`, ditambah [`SubagentHandback`](/docs/id/tools-reference) untuk subagent yang melaporkan melaluinya. Claude Code menghapus setiap tool bawaan lainnya dari subagent latar belakang, baik yang diwarisi atau tercantum dalam field `tools`, jadi definisi yang sama dapat diselesaikan ke tool berbeda di latar depan dan latar belakang. Penghapusan melaporkan tidak ada kesalahan kecuali itu meninggalkan daftar `tools` [diselesaikan ke tidak ada apa-apa](/docs/id/errors#agent-would-be-spawned-with-zero-tools).

437 437 

438Sebelum v2.1.280, subagent latar belakang tidak dapat menggunakan `LSP`.438Sebelum v2.1.280, subagent latar belakang tidak dapat menggunakan `LSP`.

439 439 


489 489 

490Entri `disallowedTools` dengan specifier, seperti `Bash(git push *)`, masih menghapus seluruh tool dari subagent, bukan hanya perintah yang cocok. Untuk menyimpan Bash dan memblokir perintah spesifik, tambahkan [Bash deny rule](/docs/id/permissions#bash) seperti `Bash(git push *)` ke `permissions.deny` dalam pengaturan Anda. Aturan berlaku untuk percakapan utama dan subagent.490Entri `disallowedTools` dengan specifier, seperti `Bash(git push *)`, masih menghapus seluruh tool dari subagent, bukan hanya perintah yang cocok. Untuk menyimpan Bash dan memblokir perintah spesifik, tambahkan [Bash deny rule](/docs/id/permissions#bash) seperti `Bash(git push *)` ke `permissions.deny` dalam pengaturan Anda. Aturan berlaku untuk percakapan utama dan subagent.

491 491 

492##### Nama server MCP yang berisi garis bawah ganda

493 

494Jika subagent tidak mendapatkan satu pun tool dari server MCP yang namanya berisi `__`, seperti `reports__v2`, periksa entri `mcp__` subagent:

495 

496* **Dalam `tools`**: tulis `mcp__` diikuti oleh [nama lengkap server](/docs/id/permissions#mcp) dan `__*`, seperti dalam `mcp__reports__v2__*`. Tanpa akhiran `__*`, `mcp__reports__v2` tidak cocok dengan satu pun tool server itu.

497* **Dalam `disallowedTools`**: cari `mcp__reports` atau `mcp__reports__*`, entri yang menahan server bernama `reports`. Dengan salah satu entri tersebut, subagent juga kehilangan setiap tool `reports__v2`, karena nama tool tersebut juga dimulai dengan `mcp__reports__`. Untuk menahan hanya tool server `reports`, cantumkan satu per satu sebagai gantinya, seperti `mcp__reports__run_query`.

498 

492#### Batasi subagent mana yang dapat di-spawn499#### Batasi subagent mana yang dapat di-spawn

493 500 

494Ketika agent berjalan sebagai thread utama dengan `claude --agent`, ia dapat menspawn subagent menggunakan tool Agent. Untuk membatasi tipe subagent mana yang dapat di-spawn, gunakan sintaks `Agent(agent_type)` dalam field `tools`.501Ketika agent berjalan sebagai thread utama dengan `claude --agent`, ia dapat menspawn subagent menggunakan tool Agent. Untuk membatasi tipe subagent mana yang dapat di-spawn, gunakan sintaks `Agent(agent_type)` dalam field `tools`.


955 962 

956### Nama subagent963### Nama subagent

957 964 

958Claude dapat memberi subagent nama dengan melewatkan parameter `name` pada panggilan tool Agent, dan dapat melakukannya sendiri, tanpa bertanya kepada Anda terlebih dahulu. Nama membuat subagent dapat dialamatkan: Claude dapat [mengirim pesan atau melanjutkannya berdasarkan nama](#resume-subagents) setelah selesai.965Jika Anda memulai sesi dengan [tim agent](/docs/id/agent-teams#enable-agent-teams) diaktifkan, Claude dapat memberi subagent nama dengan melewatkan parameter `name` pada panggilan tool Agent. Claude dapat melakukannya sendiri, tanpa bertanya kepada Anda terlebih dahulu. Nama membuat subagent dapat dialamatkan: Claude dapat [mengirim pesan atau melanjutkannya berdasarkan nama](#resume-subagents) setelah selesai.

959 966 

960Dalam sesi interaktif dengan [tim agent](/docs/id/agent-teams) diaktifkan, subagent yang Claude hasilkan dari percakapan utama dengan `name` diluncurkan sebagai anggota tim sebagai gantinya, kecuali panggilan adalah [fork](#fork-the-current-conversation) atau melewatkan `isolation` pada panggilan itu sendiri. Nilai `isolation` dalam frontmatter subagent tidak mencegahnya, dan anggota tim kemudian berjalan di direktori kerja sesi utama. Lihat [Bagaimana Claude memulai tim agent](/docs/id/agent-teams#how-claude-starts-agent-teams).967Dalam sesi interaktif dengan [tim agent](/docs/id/agent-teams) diaktifkan, subagent yang Claude hasilkan dari percakapan utama dengan `name` diluncurkan sebagai anggota tim sebagai gantinya, kecuali panggilan adalah [fork](#fork-the-current-conversation) atau melewatkan `isolation` pada panggilan itu sendiri. Nilai `isolation` dalam frontmatter subagent tidak mencegahnya, dan anggota tim kemudian berjalan di direktori kerja sesi utama. Lihat [Bagaimana Claude memulai tim agent](/docs/id/agent-teams#how-claude-starts-agent-teams).

961 968 


968* **Foreground**: jika rate limit, kelebihan beban, atau kesalahan server memotong subagent yang sudah menghasilkan output teks, tool Agent mengembalikan output parsial itu dengan catatan bahwa subagent dipotong dan tidak menyelesaikan tugasnya. Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya panggilan tool, gagal dengan [`Agent terminated early due to an API error`](/docs/id/errors#agent-terminated-early-due-to-an-api-error), diikuti oleh detail kesalahan.975* **Foreground**: jika rate limit, kelebihan beban, atau kesalahan server memotong subagent yang sudah menghasilkan output teks, tool Agent mengembalikan output parsial itu dengan catatan bahwa subagent dipotong dan tidak menyelesaikan tugasnya. Subagent yang tidak menghasilkan apa pun, atau yang output-nya hanya panggilan tool, gagal dengan [`Agent terminated early due to an API error`](/docs/id/errors#agent-terminated-early-due-to-an-api-error), diikuti oleh detail kesalahan.

969* **Background**: subagent ditandai gagal, dan pesan yang Claude terima saat berakhir menyebutkan kesalahan API dan menyertakan output terakhir subagent, jadi pekerjaan parsial tidak hilang.976* **Background**: subagent ditandai gagal, dan pesan yang Claude terima saat berakhir menyebutkan kesalahan API dan menyertakan output terakhir subagent, jadi pekerjaan parsial tidak hilang.

970 977 

978Jika laporan subagent dibuka dengan baris berikut, subagent tersebut selesai menggunakan model fallback:

979 

980```text theme={null}

981⚠ This agent switched to <model> because its earlier model could not be used.

982```

983 

971Ketika Anda mengonfigurasi [rantai model fallback](/docs/id/model-config#fallback-model-chains) dan subagent mengalami kegagalan yang dicakup rantai, seperti model-nya tidak tersedia, Claude Code beralih subagent ke model pertama dalam rantai yang menerima permintaan. Subagent terus bekerja daripada berakhir pada kesalahan.984Ketika Anda mengonfigurasi [rantai model fallback](/docs/id/model-config#fallback-model-chains) dan subagent mengalami kegagalan yang dicakup rantai, seperti model-nya tidak tersedia, Claude Code beralih subagent ke model pertama dalam rantai yang menerima permintaan. Subagent terus bekerja daripada berakhir pada kesalahan.

972 985 

973Setelah kesalahan API yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [lanjutkan subagent](#resume-subagents).986Setelah kesalahan API yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau [lanjutkan subagent](#resume-subagents).


1114 1127 

1115Setiap invokasi subagent membuat instance baru daripada melanjutkan yang sebelumnya. Untuk melanjutkan pekerjaan subagent yang ada daripada memulai dari awal, minta Claude untuk melanjutkannya.1128Setiap invokasi subagent membuat instance baru daripada melanjutkan yang sebelumnya. Untuk melanjutkan pekerjaan subagent yang ada daripada memulai dari awal, minta Claude untuk melanjutkannya.

1116 1129 

1117Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkap mereka, termasuk semua panggilan tool sebelumnya, hasil, dan penalaran. Jika subagent menghasilkan [subagent background miliknya sendiri](#let-subagents-spawn-their-own-subagents), riwayat itu mencakup hasil yang mereka berikan saat berjalan. Subagent melanjutkan tepat di mana ia berhenti daripada memulai segar.1130Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkap mereka, termasuk semua panggilan tool sebelumnya, hasil, dan penalaran. Jika subagent menghasilkan [subagent background miliknya sendiri](#let-subagents-spawn-their-own-subagents), riwayat itu mencakup hasil yang mereka berikan saat berjalan. Sebelum v2.1.304, subagent yang dikirimi pesan atau dilanjutkan oleh Claude tepat setelah selesai dapat melupakan pekerjaan terbarunya.

1118 1131 

1119* Ketika subagent selesai, Claude menerima ID agent-nya.1132* Ketika subagent selesai, Claude menerima ID agent-nya.

1120* Agent bawaan Explore dan Plan adalah one-shot dan tidak mengembalikan ID agent, jadi Claude tidak dapat melanjutkan mereka. Gunakan `general-purpose` atau subagent khusus ketika Anda perlu melanjutkan pekerjaan.1133* Agent bawaan Explore dan Plan adalah one-shot dan tidak mengembalikan ID agent, jadi Claude tidak dapat melanjutkan mereka. Gunakan `general-purpose` atau subagent khusus ketika Anda perlu melanjutkan pekerjaan.


1154* **Persistensi sesi**: transkrip subagent bertahan dalam sesi mereka. Anda dapat [melanjutkan subagent](#resume-subagents) setelah memulai ulang Claude Code dengan melanjutkan sesi yang sama.1167* **Persistensi sesi**: transkrip subagent bertahan dalam sesi mereka. Anda dapat [melanjutkan subagent](#resume-subagents) setelah memulai ulang Claude Code dengan melanjutkan sesi yang sama.

1155* **Pembersihan otomatis**: Claude Code menghapus transkrip subagent setelah periode retensi `cleanupPeriodDays`, 30 hari secara default, mengikuti [aturan sweep retensi](/docs/id/claude-directory#cleaned-up-automatically).1168* **Pembersihan otomatis**: Claude Code menghapus transkrip subagent setelah periode retensi `cleanupPeriodDays`, 30 hari secara default, mengikuti [aturan sweep retensi](/docs/id/claude-directory#cleaned-up-automatically).

1156 1169 

1170##### Kirim pesan ke subagent berdasarkan nama setelah restart

1171 

1172> [!NOTE]

1173>

1174> Untuk subagent yang diluncurkan sebagai anggota tim, lihat [batasan tim agent](/docs/id/agent-teams#limitations) sebagai gantinya.

1175 

1176Jika Claude tidak dapat mengirim pesan ke subagent berdasarkan nama setelah Anda memulai ulang Claude Code dan melanjutkan sesi, berikan ID agent subagent tersebut kepada Claude sebagai gantinya. Nama yang diberikan Claude dari percakapan utama sejak [compaction](/docs/id/context-window#what-survives-compaction) terakhirnya tetap bertahan setelah restart. Nama dari sebelum compaction tersebut tidak bertahan. Untuk menemukan ID dari sebuah nama, cari nama tersebut di file `agent-{agentId}.meta.json` di `~/.claude/projects/{project}/{sessionId}/subagents/`.

1177 

1178Setelah satu pesan berdasarkan ID, nama subagent berfungsi kembali, kecuali agent yang lebih baru telah mengambil nama tersebut. Sebelum v2.1.299, tidak ada nama yang bertahan setelah restart, dan pengiriman berdasarkan nama ditolak bahkan ketika ID agent masih berfungsi.

1179 

1157#### Auto-compaction1180#### Auto-compaction

1158 1181 

1159Subagent mendukung compaction otomatis. Compaction dipicu saat context window milik subagent itu sendiri terisi, dan `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` berlaku untuk subagent juga. Lihat [environment variables](/docs/id/env-vars) untuk kapan override berlaku.1182Subagent mendukung compaction otomatis. Compaction dipicu saat context window milik subagent itu sendiri terisi, dan `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` berlaku untuk subagent juga. Lihat [environment variables](/docs/id/env-vars) untuk kapan override berlaku.

Details

116 116 

117Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.117Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.

118 118 

119Di mana Anda melihat prompt izin subagent tergantung pada apakah berjalan di latar depan atau latar belakang. Claude Code menjalankan subagent di latar belakang secara default, terlepas dari [kasus yang berjalan di latar depan](/docs/id/sub-agents#run-subagents-in-foreground-or-background).119Di mana Anda melihat prompt izin subagent tergantung pada apakah berjalan di latar depan atau latar belakang. Claude Code menjalankan subagent di latar belakang secara default, kecuali [kasus yang berjalan di latar depan](/docs/id/sub-agents#run-subagents-in-foreground-or-background).

120 120 

121* **Subagent latar depan** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.121* **Subagent latar depan** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.

122* **Subagent latar belakang** menampilkan permintaan izin di sesi utama Anda. Permintaan tersebut menamai subagent mana yang meminta, dan menekan Esc menolak panggilan tool itu saja tanpa menghentikan subagent.122* **Subagent latar belakang** menampilkan permintaan izin di sesi utama Anda. Permintaan tersebut menamai subagent mana yang meminta, dan menekan Esc menolak panggilan tool itu saja tanpa menghentikan subagent.


476 476 

477Perintah PowerShell juga menerima variabel yang dipertahankan oleh hook melalui `CLAUDE_ENV_FILE`, dengan ketentuan yang dijelaskan di [Variabel yang dipertahankan dalam perintah PowerShell](/docs/id/hooks#persisted-variables-in-powershell-commands). Memerlukan Claude Code v2.1.296 atau lebih baru.477Perintah PowerShell juga menerima variabel yang dipertahankan oleh hook melalui `CLAUDE_ENV_FILE`, dengan ketentuan yang dijelaskan di [Variabel yang dipertahankan dalam perintah PowerShell](/docs/id/hooks#persisted-variables-in-powershell-commands). Memerlukan Claude Code v2.1.296 atau lebih baru.

478 478 

479Kode keluar 1 dari `grep`, `rg`, `egrep`, `fgrep`, `findstr`, dan `git grep` berarti tidak ada kecocokan. Kode keluar 1 dari `git diff` berarti ada perbedaan. Tidak satu pun dari hasil tersebut dilaporkan ke Claude sebagai kegagalan perintah. Untuk `robocopy`, kode keluar 0 hingga 7 adalah hasil informatif, seperti file yang disalin atau file ekstra yang terdeteksi. Kode keluar 8 atau lebih tinggi dihitung sebagai kegagalan.479### Kode keluar 1 dari pencarian dan `git diff` di PowerShell

480 

481Jika pencarian `grep` atau `rg` yang tidak menemukan kecocokan menampilkan `Error: Exit code 1` saat Claude menjalankannya di alat PowerShell, pencarian tersebut tidak gagal. Anda tidak perlu melakukan apa pun. Kesalahan ini dapat muncul ketika pencarian merupakan bagian dari perintah yang lebih panjang. Misalnya, ketika `rg` keluar dengan kode 1, `rg foo | Out-Null` menampilkan kesalahan tersebut sedangkan `rg foo` tidak.

482 

483Alat PowerShell dapat menghitung kode keluar 1 sebagai hasil normal dari `grep`, `rg`, `egrep`, `fgrep`, `findstr`, `git grep`, dan `git diff`. Pencarian menggunakan kode keluar 1 untuk melaporkan bahwa tidak ada kecocokan. Dari `git diff`, kode keluar 1 berarti file berbeda. Perintah yang menampilkan kesalahan saat Claude menjalankannya [dihitung sebagai gagal](/docs/id/skills#when-an-injected-command-fails) dalam skill dengan `shell: powershell`.

480 484 

481### Pengkodean Windows dan kode keluar485### Pengkodean Windows dan kode keluar

482 486 


484* Claude Code mengkodekan teks yang disalurkan ke input standar perintah native sebagai UTF-8488* Claude Code mengkodekan teks yang disalurkan ke input standar perintah native sebagai UTF-8

485* Claude Code menangkap output kesalahan tanpa urutan pelarian ANSI489* Claude Code menangkap output kesalahan tanpa urutan pelarian ANSI

486* Perintah yang proses anak-anaknya menunggu input standar menerima end-of-file alih-alih hang490* Perintah yang proses anak-anaknya menunggu input standar menerima end-of-file alih-alih hang

487* Kode keluar 1 dari `where.exe` berarti tidak ada kecocokan, dan dari `fc.exe` dan `diff.exe` berarti file berbeda, jadi ketika perintah menghasilkan output, Claude Code memperlakukan kode keluar tersebut sebagai jawaban negatif yang valid daripada kesalahan perintah. Claude Code masih melaporkan bentuk yang disenyapkan, seperti `where.exe /Q` atau pengalihan ke `$null`, sebagai kegagalan pada kode keluar 1491* Jika `where.exe` tidak menemukan kecocokan, atau `fc.exe` atau `diff.exe` mendapati bahwa file berbeda, hasilnya dapat menampilkan `Error: Exit code 1` meskipun perintah tidak gagal. Anda tidak perlu melakukan apa pun.

492* Jika kode keluar `robocopy` dari 1 hingga 7 ditampilkan sebagai kesalahan, penyalinan tidak gagal dan Anda tidak perlu melakukan apa pun. `robocopy` keluar dengan kode 0 hingga 7 untuk melaporkan hasil, seperti file yang disalin, dan dengan 8 atau lebih tinggi ketika gagal.

488 493 

489### Keterbatasan pratinjau494### Keterbatasan pratinjau

490 495 


504* **Gambar**: File PNG, JPEG, GIF, dan WebP dikembalikan sebagai konten visual yang dapat dilihat Claude, bukan sebagai byte mentah. Claude Code mengubah ukuran dan mengompresi ulang gambar besar agar sesuai dengan batas ukuran gambar model sebelum mengirimkannya, jadi Claude mungkin melihat versi yang diperkecil dari tangkapan layar besar.509* **Gambar**: File PNG, JPEG, GIF, dan WebP dikembalikan sebagai konten visual yang dapat dilihat Claude, bukan sebagai byte mentah. Claude Code mengubah ukuran dan mengompresi ulang gambar besar agar sesuai dengan batas ukuran gambar model sebelum mengirimkannya, jadi Claude mungkin melihat versi yang diperkecil dari tangkapan layar besar.

505 510 

506 Jika Claude melewatkan detail tingkat piksel halus dalam gambar besar, minta Claude untuk memotong wilayah yang Anda perlukan, misalnya dengan ImageMagick melalui Bash, lalu membaca hasil potongan tersebut.511 Jika Claude melewatkan detail tingkat piksel halus dalam gambar besar, minta Claude untuk memotong wilayah yang Anda perlukan, misalnya dengan ImageMagick melalui Bash, lalu membaca hasil potongan tersebut.

512 

513 Read menolak file gambar yang lebih besar dari 128 MB dengan kesalahan yang memberi tahu Claude untuk mengubah ukuran gambar atau mengekspor salinan yang lebih kecil, lalu membaca salinan tersebut. Jika Claude berhenti pada kesalahan tersebut alih-alih melakukannya, lihat [File is too large to read as an image](/docs/id/errors#file-is-too-large-to-read-as-an-image).

507* **PDFs**: Claude membaca file `.pdf` pendek secara keseluruhan. Untuk PDF yang lebih panjang dari 10 halaman, file tersebut dibaca dalam rentang dengan parameter `pages`, seperti `"1-5"`, hingga 20 halaman sekaligus. Pembacaan rentang halaman merender halaman dengan `pdftoppm` dari poppler-utils, jadi instal dengan `brew install poppler` di macOS atau `apt-get install poppler-utils` di Debian dan Ubuntu. Di Windows dan platform lainnya, instal build poppler yang menempatkan `pdftoppm` di `PATH` Anda. Tanpa itu, pembacaan rentang halaman gagal dengan `pdftoppm is not installed`.514* **PDFs**: Claude membaca file `.pdf` pendek secara keseluruhan. Untuk PDF yang lebih panjang dari 10 halaman, file tersebut dibaca dalam rentang dengan parameter `pages`, seperti `"1-5"`, hingga 20 halaman sekaligus. Pembacaan rentang halaman merender halaman dengan `pdftoppm` dari poppler-utils, jadi instal dengan `brew install poppler` di macOS atau `apt-get install poppler-utils` di Debian dan Ubuntu. Di Windows dan platform lainnya, instal build poppler yang menempatkan `pdftoppm` di `PATH` Anda. Tanpa itu, pembacaan rentang halaman gagal dengan `pdftoppm is not installed`.

508* **Jupyter notebooks**: File `.ipynb` mengembalikan semua sel dengan keluarannya, termasuk kode, markdown, dan visualisasi. Notebook yang sel-selnya berjumlah lebih dari 256 KB, atau lebih dari [batas token](#large-files), mengembalikan kesalahan sebagai gantinya. Claude Code menolak untuk membaca file notebook di atas 100 MB; kesalahan memberi tahu Claude cara membaca sebagian dari notebook sebagai gantinya, seperti irisan sel, dengan perintah shell.515* **Jupyter notebooks**: File `.ipynb` mengembalikan semua sel dengan keluarannya, termasuk kode, markdown, dan visualisasi. Notebook yang sel-selnya berjumlah lebih dari 256 KB, atau lebih dari [batas token](#large-files), mengembalikan kesalahan sebagai gantinya. Claude Code menolak untuk membaca file notebook di atas 100 MB; kesalahan memberi tahu Claude cara membaca sebagian dari notebook sebagai gantinya, seperti irisan sel, dengan perintah shell.

509 516 


558 565 

559Claude Code menyimpan direktori kerja Anda dalam draf lokal sehingga dapat menemukan transkrip, dan tidak mengirim direktori.566Claude Code menyimpan direktori kerja Anda dalam draf lokal sehingga dapat menemukan transkrip, dan tidak mengirim direktori.

560 567 

561Dalam [organisasi dengan retensi data nol](/docs/id/zero-data-retention#features-disabled-under-zdr), dan dalam organisasi yang menerapkan [konfigurasi HIPAA](/docs/id/hipaa-setup), Claude Code tidak menyertakan tool tersebut, seperti halnya untuk `/feedback`. Jika sesi dalam organisasi dengan retensi data nol masih menawarkan tool tersebut, draf tetap di mesin Anda, dan pengiriman gagal dengan `Feedback collection is not available for organizations with custom data retention policies.`568Dalam [organisasi dengan retensi data nol](/docs/id/zero-data-retention#features-disabled-under-zdr), dan dalam organisasi yang menerapkan [konfigurasi HIPAA](/docs/id/hipaa-setup), Claude Code tidak menyertakan tool SendFeedback dalam sesi Anda. Jika sesi dalam organisasi dengan retensi data nol masih menawarkan tool tersebut, draf tetap di mesin Anda, dan pengiriman gagal dengan `Feedback collection is not available for organizations with custom data retention policies.`

562 569 

563### Buang atau simpan draf570### Buang atau simpan draf

564 571 


665* **Tunggu pengisian ulang**: pada Claude Code v2.1.290 atau lebih baru, batas sesi terminal interaktif terisi ulang sekitar 100 panggilan per jam. Untuk mengubah lajunya, atur [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/id/env-vars#variables) ke jumlah panggilan per jam, seperti `50`.672* **Tunggu pengisian ulang**: pada Claude Code v2.1.290 atau lebih baru, batas sesi terminal interaktif terisi ulang sekitar 100 panggilan per jam. Untuk mengubah lajunya, atur [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/id/env-vars#variables) ke jumlah panggilan per jam, seperti `50`.

666* **Mulai percakapan baru**: menjalankan [`/clear`](/docs/id/commands#all-commands) pada prompt Claude Code juga mengatur ulang hitungan. Jika pekerjaan yang masih dapat menghasilkan subagent bertahan setelah pembersihan, seperti alur kerja yang sedang berjalan, hitungan akan dibawa ke depan.673* **Mulai percakapan baru**: menjalankan [`/clear`](/docs/id/commands#all-commands) pada prompt Claude Code juga mengatur ulang hitungan. Jika pekerjaan yang masih dapat menghasilkan subagent bertahan setelah pembersihan, seperti alur kerja yang sedang berjalan, hitungan akan dibawa ke depan.

667 674 

675Dalam [mode non-interaktif](/docs/id/headless) dengan `-p` dan dalam [Agent SDK](/docs/id/agent-sdk/overview), batas berlaku per giliran, bukan per sesi. Satu giliran berlangsung sejak pesan yang Anda kirim hingga Claude selesai merespons. Batas diatur ulang ketika Anda mengirim pesan berikutnya setelah itu atau memulai eksekusi `claude -p` baru, bahkan dengan [`--continue` atau `--resume`](/docs/id/headless#continue-conversations). Untuk lebih banyak pencarian, naikkan [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/id/env-vars#variables) atau atur laju pengisian ulang dengan [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/id/env-vars#variables).

676 

668## Perilaku tool Write677## Perilaku tool Write

669 678 

670Tool Write membuat file baru atau menimpa file yang sudah ada dengan konten lengkap yang disediakan. Tool ini tidak menambahkan atau menggabungkan. Write juga menimpa file yang sudah ada yang byte-nya tidak dapat didekode dan menyimpan konten baru sebagai UTF-8, seperti yang dijelaskan di [file non-UTF-8](#non-utf-8-files).679Tool Write membuat file baru atau menimpa file yang sudah ada dengan konten lengkap yang disediakan. Tool ini tidak menambahkan atau menggabungkan. Write juga menimpa file yang sudah ada yang byte-nya tidak dapat didekode dan menyimpan konten baru sebagai UTF-8, seperti yang dijelaskan di [file non-UTF-8](#non-utf-8-files).

Details

31| `CRYPT_E_NO_REVOCATION_CHECK` atau `CRYPT_E_REVOCATION_OFFLINE` | [Atasi pemeriksaan pencabutan yang diblokir](#tls-or-ssl-connection-errors) |31| `CRYPT_E_NO_REVOCATION_CHECK` atau `CRYPT_E_REVOCATION_OFFLINE` | [Atasi pemeriksaan pencabutan yang diblokir](#tls-or-ssl-connection-errors) |

32| `Failed to fetch version` atau tidak dapat menjangkau server download | [Periksa pengaturan jaringan dan proxy](#check-network-connectivity) |32| `Failed to fetch version` atau tidak dapat menjangkau server download | [Periksa pengaturan jaringan dan proxy](#check-network-connectivity) |

33| `The connection dropped while downloading the update` atau `Download timed out: exceeded the total deadline` | [Jalankan update lagi atau atur proxy Anda](#the-connection-dropped-while-downloading-the-update) |33| `The connection dropped while downloading the update` atau `Download timed out: exceeded the total deadline` | [Jalankan update lagi atau atur proxy Anda](#the-connection-dropped-while-downloading-the-update) |

34| `Release verification failed for Claude Code` | [Jalankan `claude update` atau `claude install` lagi](#release-verification-failed) |

35| `Auto-update failed · Run claude doctor` berwarna merah di footer sesi | [Jalankan `claude update` dari shell Anda](#auto-update-failed) |

34| `irm is not recognized` atau `The token '&&' is not a valid statement separator` | [Gunakan perintah yang tepat untuk shell Anda](#wrong-install-command-on-windows) |36| `irm is not recognized` atau `The token '&&' is not a valid statement separator` | [Gunakan perintah yang tepat untuk shell Anda](#wrong-install-command-on-windows) |

35| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Perbarui Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Perbarui Homebrew](#homebrew-cask-unavailable-or-outdated) |

36| `Cask 'claude-code@latest' is not installed` | [Upgrade cask yang Anda instal](#cask-is-not-installed) |38| `Cask 'claude-code@latest' is not installed` | [Upgrade cask yang Anda instal](#cask-is-not-installed) |


631* Jika proxy perusahaan terus menutup transfer, minta tim jaringan Anda untuk mengizinkan download penuh dari `downloads.claude.ai`. Lihat [Network access requirements](/docs/id/network-config#network-access-requirements).633* Jika proxy perusahaan terus menutup transfer, minta tim jaringan Anda untuk mengizinkan download penuh dari `downloads.claude.ai`. Lihat [Network access requirements](/docs/id/network-config#network-access-requirements).

632* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi634* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi

633 635 

636### Release verification failed for Claude Code

637 

638Pesan dari `claude update` atau `claude install` ini berarti Claude Code tidak dapat mengonfirmasi bahwa rilis yang akan diinstalnya asli, sehingga tidak ada yang diinstal. Versi apa pun yang sudah Anda miliki tetap berfungsi.

639 

640```text theme={null}

641Release verification failed for Claude Code <version> (<reason>). The update was not installed.

642```

643 

644Ambil langkah yang sesuai dengan nilai dalam tanda kurung di pesan Anda:

645 

646* **Nilai yang dimulai dengan `sidecar_fetch_`**: jalankan perintah yang sama lagi dari shell Anda. `claude update` berhasil jika mencetak baris yang dimulai dengan `Successfully updated from`, dan `claude install` berhasil jika mencetak `Claude Code successfully installed!`.

647* **Nilai lainnya**: coba perintah yang sama lagi nanti

648 

649Untuk nilai apa pun, jika pesan tersebut muncul lagi, [laporkan masalahnya](#still-stuck) dan sertakan pesan lengkapnya.

650 

651### `Auto-update failed · Run claude doctor` in the session footer

652 

653Baris merah ini berarti Claude Code mencoba memperbarui dirinya sendiri di latar belakang dan pembaruan tersebut tidak terinstal. Anda dapat terus bekerja tanpa melakukan apa pun.

654 

655Baris tersebut mengarahkan Anda ke `claude doctor`, yang baris `Last update attempt: failed (install_failed)`-nya memberikan tanggal tetapi tidak menyebutkan penyebab. Untuk menyelesaikan pembaruan atau melihat mengapa gagal, jalankan `claude update` di shell Anda sebagai gantinya. Jika instalasi itu juga gagal, cari error yang dicetak `claude update` di bawah [Find your error](#find-your-error).

656 

634### Wrong install command on Windows657### Wrong install command on Windows

635 658 

636Jika Anda melihat `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, atau `'bash' is not recognized as the name of a cmdlet`, Anda menyalin perintah install untuk shell atau sistem operasi yang berbeda. Jika perintah mencetak teks script alih-alih menginstal apa pun, Anda menjalankan hanya sebagian darinya.659Jika Anda melihat `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, atau `'bash' is not recognized as the name of a cmdlet`, Anda menyalin perintah install untuk shell atau sistem operasi yang berbeda. Jika perintah mencetak teks script alih-alih menginstal apa pun, Anda menjalankan hanya sebagian darinya.

Details

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` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |14| Pembaruan atau instalasi unduhan gagal dengan `The connection dropped while downloading the update` atau `aborted` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| Pembaruan atau instalasi gagal dengan `Release verification failed for Claude Code` | [Troubleshoot installation and login](/docs/id/troubleshoot-install#release-verification-failed) |

16| Footer sesi menampilkan `Auto-update failed · Run claude doctor` dengan warna merah | [Troubleshoot installation and login](/docs/id/troubleshoot-install#auto-update-failed) |

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) |17| 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) |

16| Pengaturan tidak diterapkan, hooks tidak berfungsi, server MCP tidak dimuat | [Debug your configuration](/docs/id/debug-your-config) |18| Pengaturan tidak diterapkan, hooks tidak berfungsi, server MCP tidak dimuat | [Debug your configuration](/docs/id/debug-your-config) |

17| Sesi dimulai dalam mode otomatis, atau Claude mengedit file dan menjalankan perintah tanpa bertanya | [Which mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) |19| Sesi dimulai dalam mode otomatis, atau Claude mengedit file dan menjalankan perintah tanpa bertanya | [Which mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) |

vs-code.md +16 −3

Details

174* **Bookmark**: arahkan kursor ke respons dan klik **Bookmark response** untuk menyimpannya, atau klik **Remove bookmark** pada respons yang tersimpan untuk menghapusnya.174* **Bookmark**: arahkan kursor ke respons dan klik **Bookmark response** untuk menyimpannya, atau klik **Remove bookmark** pada respons yang tersimpan untuk menghapusnya.

175 175 

176 Untuk meninjau respons yang tersimpan, buka panel Bookmarks. Anda dapat mengklik ikon bookmark di bagian atas panel Claude Code, memilih **Bookmarks** di bagian Context pada menu perintah, atau mengetik `/bookmarks`. Memerlukan Claude Code v2.1.286 atau yang lebih baru.176 Untuk meninjau respons yang tersimpan, buka panel Bookmarks. Anda dapat mengklik ikon bookmark di bagian atas panel Claude Code, memilih **Bookmarks** di bagian Context pada menu perintah, atau mengetik `/bookmarks`. Memerlukan Claude Code v2.1.286 atau yang lebih baru.

177* **File yang dikirim Claude kepada Anda**: ketika sesi terhubung ke [Remote Control](/docs/id/remote-control#start-a-remote-control-session) dan Claude mengirimkan file kepada Anda dengan [tool `SendUserFile`](/docs/id/tools-reference), percakapan menampilkan baris seperti **Sent report.md, chart.png**. Klik nama file untuk membukanya di editor.177* **File yang dikirim Claude kepada Anda**: ketika sesi terhubung ke [Remote Control](/docs/id/remote-control#start-a-remote-control-session) dan Claude mengirimkan file kepada Anda dengan [tool `SendUserFile`](/docs/id/tools-reference), percakapan menampilkan baris seperti **Sent report.md, chart.png**. Klik nama file untuk membukanya di editor. Baris tersebut tetap terlihat dalam Focus view. Memerlukan Claude Code v2.1.295 atau yang lebih baru.

178 

179 File ditampilkan sebagai path lengkap yang tidak dapat Anda klik, seperti `\\server\share\report.md`, ketika path-nya menyebutkan host jaringan. Claude Code tidak menautkan file tersebut karena membukanya akan menghubungi host tersebut dan, di Windows, [dapat mengirimkan kredensial Windows Anda ke host tersebut](/docs/id/permissions#read-only-commands).

178* **Indikator konteks**: kotak prompt menampilkan seberapa banyak context window Claude yang Anda gunakan. Claude secara otomatis melakukan compaction saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.180* **Indikator konteks**: kotak prompt menampilkan seberapa banyak context window Claude yang Anda gunakan. Claude secara otomatis melakukan compaction saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.

179* **Jam prompt cache**: ikon jam di samping indikator konteks memperkirakan berapa lama waktu tersisa sebelum [prompt cache](/docs/id/prompt-caching) percakapan kedaluwarsa. Jam ini menghitung mundur dari [masa berlaku](/docs/id/prompt-caching#cache-lifetime) cache lima menit atau satu jam, dan setiap respons yang menggunakan cache memulai ulang hitungan mundur. Selain compaction, [tindakan yang membatalkan cache](/docs/id/prompt-caching#actions-that-invalidate-the-cache) tidak mengatur ulang jam, sehingga jam masih dapat menampilkan sisa menit setelah Anda mengganti model.181* **Jam prompt cache**: ikon jam di samping indikator konteks memperkirakan berapa lama waktu tersisa sebelum [prompt cache](/docs/id/prompt-caching) percakapan kedaluwarsa. Jam ini menghitung mundur dari [masa berlaku](/docs/id/prompt-caching#cache-lifetime) cache lima menit atau satu jam, dan setiap respons yang menggunakan cache memulai ulang hitungan mundur. Selain compaction, [tindakan yang membatalkan cache](/docs/id/prompt-caching#actions-that-invalidate-the-cache) tidak mengatur ulang jam, sehingga jam masih dapat menampilkan sisa menit setelah Anda mengganti model.

180 * Hingga hitungan mundur habis, ikon menampilkan sisa menit, seperti **12m**.182 * Hingga hitungan mundur habis, ikon menampilkan sisa menit, seperti **12m**.


252 254 

253* **Judul sesi**: sesi baru menerima judul yang dihasilkan AI berdasarkan pesan pertama Anda.255* **Judul sesi**: sesi baru menerima judul yang dihasilkan AI berdasarkan pesan pertama Anda.

254* **Ganti nama dan arsipkan**: arahkan kursor ke sesi untuk menampilkan tindakan ini. Ganti nama untuk memberinya judul deskriptif, atau arsipkan untuk memindahkannya ke grup **Archived sessions** di bagian bawah daftar.256* **Ganti nama dan arsipkan**: arahkan kursor ke sesi untuk menampilkan tindakan ini. Ganti nama untuk memberinya judul deskriptif, atau arsipkan untuk memindahkannya ke grup **Archived sessions** di bagian bawah daftar.

257* **Percakapan hilang saat [`claudeProcessWrapper`](#extension-settings) diatur**: perbarui ekstensi ke versi 2.1.304 atau yang lebih baru. Daftar kemudian menyertakan percakapan yang sebelumnya hilang, beserta sesi yang dimulai oleh `claude -p` atau [Agent SDK](/docs/id/agent-sdk/overview) di workspace ini.

255 258 

256Jika percakapan terbuka di proses Claude Code lain, seperti `claude` di terminal atau jendela VS Code lain, pemberitahuan ini muncul menggantikan kotak prompt:259Jika percakapan terbuka di proses Claude Code lain, seperti `claude` di terminal atau jendela VS Code lain, pemberitahuan ini muncul menggantikan kotak prompt:

257 260 


308 311 

309* **Paket claude.ai**: bilah penggunaan untuk batas paket Anda, seperti sesi saat ini dan minggu ini. Setiap bilah menunjukkan berapa lama hingga batasnya diatur ulang.312* **Paket claude.ai**: bilah penggunaan untuk batas paket Anda, seperti sesi saat ini dan minggu ini. Setiap bilah menunjukkan berapa lama hingga batasnya diatur ulang.

310 313 

311 Dialog juga merinci apa yang berkontribusi pada batas paket Anda. Dialog menandai perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru, seperti cache miss, konteks panjang, dan sesi yang banyak menggunakan subagent atau sangat paralel. Setiap perilaku yang ditandai disertai tips untuk menguranginya. Tabel atribusi menunjukkan seberapa banyak penggunaan berasal dari setiap skill, subagent, plugin, dan server MCP.314 Dialog juga merinci apa yang berkontribusi pada batas paket Anda:

315 

316 * **Rekomendasi**: perubahan yang menurunkan penggunaan Anda, satu per baris beserta porsi penggunaan terbaru yang ditanganinya, seperti `Trim ~/code/api/CLAUDE.md · 49k tokens per request`

317 * **Tombol perbaikan**: agar Claude Code menerapkan rekomendasi yang dapat diterapkannya, klik tombol di bawahnya, seperti **Fix both**. Untuk mengetahui baris mana yang ditangani tombol tersebut dan apa yang kemudian terjadi dalam sesi Anda, lihat [Menerapkan rekomendasi dengan pintasan perbaikan](/docs/id/costs#apply-recommendations-with-the-fix-shortcut). Memerlukan Claude Code v2.1.305 atau yang lebih baru.

318 

319 Tombol tidak ditampilkan saat [Remote Control](/docs/id/remote-control) terhubung. Jika peringatan bertuliskan `The usage fix wasn’t fully sent. Open usage and try again.` muncul setelah Remote Control terhubung, [putuskan Remote Control](/docs/id/remote-control#check-connection-status) sebelum Anda mencoba lagi.

320 * **Atribusi**: tabel yang menunjukkan seberapa banyak penggunaan berasal dari setiap skill, subagent, plugin, dan server MCP

312 321 

313 Gunakan sakelar Day dan Week untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut merupakan perkiraan dan dihitung dari sesi lokal di mesin ini, sehingga penggunaan dari perangkat lain atau claude.ai tidak disertakan.322 Gunakan sakelar Day dan Week untuk beralih antara 24 jam terakhir dan 7 hari terakhir. Angka-angka tersebut merupakan perkiraan dan dihitung dari sesi lokal di mesin ini, sehingga penggunaan dari perangkat lain atau claude.ai tidak disertakan.

314* **Metode masuk lainnya**: ketika batas paket tidak berlaku untuk metode masuk Anda, seperti pada [penyedia pihak ketiga](#use-third-party-providers) atau dengan kunci API, bagian Usage menampilkan biaya dan penggunaan token sesi itu sendiri sebagai gantinya. `/usage` pada CLI menampilkan total yang sama di [blok Session](/docs/id/costs#track-your-costs)-nya. Daftar sesi di Activity Bar juga menampilkan total sesi aktif di bawah header **Account & usage**-nya. Memerlukan Claude Code v2.1.277 atau yang lebih baru.323* **Metode masuk lainnya**: ketika batas paket tidak berlaku untuk metode masuk Anda, seperti pada [penyedia pihak ketiga](#use-third-party-providers) atau dengan kunci API, bagian Usage menampilkan biaya dan penggunaan token sesi itu sendiri sebagai gantinya. `/usage` pada CLI menampilkan total yang sama di [blok Session](/docs/id/costs#track-your-costs)-nya. Daftar sesi di Activity Bar juga menampilkan total sesi aktif di bawah header **Account & usage**-nya. Memerlukan Claude Code v2.1.277 atau yang lebih baru.


573 582 

574Untuk perintah shell latar belakang, atau [monitor](/docs/id/tools-reference#monitor-tool) yang menjalankan sebuah perintah, kartu tersebut juga menampilkan output terbaru dari perintah tersebut dan memperbaruinya selama perintah berjalan.583Untuk perintah shell latar belakang, atau [monitor](/docs/id/tools-reference#monitor-tool) yang menjalankan sebuah perintah, kartu tersebut juga menampilkan output terbaru dari perintah tersebut dan memperbaruinya selama perintah berjalan.

575 584 

585#### Melihat panggilan tool subagent latar belakang

586 

587Ketika sebuah subagent ditampilkan sebagai satu baris status tanpa panggilan tool, ketik `/tasks` di kotak prompt untuk membuka [peta agent](#use-the-prompt-box) dan klik subagent tersebut di sana. Subagent tersebut [berjalan di latar belakang](#the-run-in-background-action-is-missing-under-a-subagent), dan kartunya menampilkan panggilan tool-nya serta tombol yang membuka transkripnya.

588 

576## Perintah dan pintasan VS Code589## Perintah dan pintasan VS Code

577 590 

578Untuk membuka Command Palette, tekan `Cmd+Shift+P` di Mac atau `Ctrl+Shift+P` di Windows/Linux. Ketik "Claude Code" di sana untuk melihat semua perintah VS Code yang tersedia untuk ekstensi Claude Code.591Untuk membuka Command Palette, tekan `Cmd+Shift+P` di Mac atau `Ctrl+Shift+P` di Windows/Linux. Ketik "Claude Code" di sana untuk melihat semua perintah VS Code yang tersedia untuk ekstensi Claude Code.


726 739 

727* **Balasan Claude**: ekstensi mengumumkan setiap balasan satu kali, ketika balasan tersebut selesai, dan tetap diam selama teks mengalir masuk. Pembaca layar Anda membacakan blok kode sebagai ringkasan jumlah baris, membacakan tautan berdasarkan labelnya, dan membacakan tabel sel demi sel; balasan lengkap tetap dapat dibaca di transkrip.740* **Balasan Claude**: ekstensi mengumumkan setiap balasan satu kali, ketika balasan tersebut selesai, dan tetap diam selama teks mengalir masuk. Pembaca layar Anda membacakan blok kode sebagai ringkasan jumlah baris, membacakan tautan berdasarkan labelnya, dan membacakan tabel sel demi sel; balasan lengkap tetap dapat dibaca di transkrip.

728* **Permintaan izin dan pertanyaan**: ekstensi mengumumkan permintaan ketika dialog izinnya muncul, dengan menyebutkan tool yang ingin digunakan Claude. Ekstensi mengumumkan dengan cara yang sama ketika Claude mengajukan pertanyaan kepada Anda dan ketika Claude menyelesaikan rencana serta menunggu tinjauan Anda.741* **Permintaan izin dan pertanyaan**: ekstensi mengumumkan permintaan ketika dialog izinnya muncul, dengan menyebutkan tool yang ingin digunakan Claude. Ekstensi mengumumkan dengan cara yang sama ketika Claude mengajukan pertanyaan kepada Anda dan ketika Claude menyelesaikan rencana serta menunggu tinjauan Anda.

729* **Perubahan status**: ekstensi mengumumkan ketika Claude mulai bekerja, ketika Claude siap menerima input Anda, dan ketika Claude Code mulai memadatkan percakapan.742* **Perubahan status**: ekstensi mengumumkan ketika Claude mulai bekerja, ketika Claude siap menerima input Anda, dan ketika Claude Code mulai memadatkan percakapan. Jika Anda mengirim prompt saat hook [SessionStart](/docs/id/hooks#sessionstart) milik sesi masih berjalan, pembaca layar Anda juga mengucapkan "Running start-up hooks."

730* **Pesan dalam antrean**: ketika Anda mengirim pesan saat Claude sedang bekerja, ekstensi mengumumkan "Message queued." untuk pesan tersebut.743* **Pesan dalam antrean**: ketika Anda mengirim pesan saat Claude sedang bekerja, ekstensi mengumumkan "Message queued." untuk pesan tersebut.

731* **Error dan prompt model**: ekstensi mengumumkan error dalam percakapan, dan mengumumkan ketika [dialog persetujuan kredit penggunaan](/docs/id/model-config#fable-and-usage-credits) atau [dialog permintaan yang ditandai](/docs/id/model-config#ask-before-switching) muncul.744* **Error dan prompt model**: ekstensi mengumumkan error dalam percakapan, dan mengumumkan ketika [dialog persetujuan kredit penggunaan](/docs/id/model-config#fable-and-usage-credits) atau [dialog permintaan yang ditandai](/docs/id/model-config#ask-before-switching) muncul.

732 745 

workflows.md +4 −2

Details

373 373 

374#### Agent mana yang berjalan lagi374#### Agent mana yang berjalan lagi

375 375 

376Claude Code memutar ulang run dalam urutan agen dimulai, dan setiap agen baik mengembalikan hasil yang disimpannya atau berjalan lagi:376Claude Code memutar ulang run dalam urutan agent dimulai, dan setiap agent baik mengembalikan hasil yang disimpannya atau berjalan lagi:

377 377 

378* **Selesai**: mengembalikan hasil yang disimpannya. Agen pertama yang promptnya berbeda dari run sebelumnya, karena Anda mengedit skrip atau agen sebelumnya mengembalikan sesuatu yang berbeda, berjalan lagi, begitu juga setiap agen setelahnya, bahkan yang sudah selesai.378* **Selesai**: mengembalikan hasil yang disimpannya. Agen pertama yang promptnya berbeda dari run sebelumnya, karena Anda mengedit skrip atau agen sebelumnya mengembalikan sesuatu yang berbeda, berjalan lagi, begitu juga setiap agen setelahnya, bahkan yang sudah selesai.

379 

380 Sebelum v2.1.305, agent yang sudah selesai juga dapat berjalan lagi saat Anda meluncurkan ulang skrip yang tidak diedit yang item `pipeline()` atau tugas `parallel()`-nya masing-masing menjalankan lebih dari satu agent. Untuk menghentikan run ulang tersebut pada run baru, perbarui Claude Code.

379* **Masih berjalan saat Anda menghentikan**: dimulai ulang. Menghentikan seluruh run tidak menghitung agen apa pun sebagai gagal.381* **Masih berjalan saat Anda menghentikan**: dimulai ulang. Menghentikan seluruh run tidak menghitung agen apa pun sebagai gagal.

380* **Gagal**: berjalan lagi, begitu juga setiap agen yang dimulai setelahnya, bahkan yang sudah selesai. Menghentikan satu agen saja, dengan memilihnya di [`/workflows`](#watch-the-run) dan menekan `x`, dihitung sebagai gagal.382* **Gagal**: berjalan lagi, begitu juga setiap agent yang dimulai skrip setelahnya, bahkan yang sudah selesai. Menghentikan satu agent saja, dengan memilihnya di [`/workflows`](#watch-the-run) dan menekan `x`, dihitung sebagai gagal.

381 383 

382Kasus terakhir berarti kegagalan di tengah fan-out yang menjalankan ulang pekerjaan yang sudah selesai. Jika skrip memulai A, B, C, dan D dalam urutan itu dan B gagal, meluncurkan ulang mengembalikan A dari cache dan menjalankan B, C, dan D lagi.384Kasus terakhir berarti kegagalan di tengah fan-out yang menjalankan ulang pekerjaan yang sudah selesai. Jika skrip memulai A, B, C, dan D dalam urutan itu dan B gagal, meluncurkan ulang mengembalikan A dari cache dan menjalankan B, C, dan D lagi.

383 385 

worktrees.md +1 −0

Details

58 58 

59* **Worktree bersih**: untuk sesi tanpa nama, Claude menghapus worktree dan cabangnya secara otomatis. Sesi [bernama](/docs/id/sessions#name-your-sessions) meminta Anda terlebih dahulu sehingga Anda dapat menyimpan worktree untuk nanti59* **Worktree bersih**: untuk sesi tanpa nama, Claude menghapus worktree dan cabangnya secara otomatis. Sesi [bernama](/docs/id/sessions#name-your-sessions) meminta Anda terlebih dahulu sehingga Anda dapat menyimpan worktree untuk nanti

60* **Worktree memiliki pekerjaan di dalamnya**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang. Untuk kembali nanti, jalankan perintah `claude --worktree <name> --resume` yang dicetak Claude Code saat keluar. Menghapus menghapus direktori worktree dan cabangnya, bersama dengan semua pekerjaan di dalamnya60* **Worktree memiliki pekerjaan di dalamnya**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang. Untuk kembali nanti, jalankan perintah `claude --worktree <name> --resume` yang dicetak Claude Code saat keluar. Menghapus menghapus direktori worktree dan cabangnya, bersama dengan semua pekerjaan di dalamnya

61* **Branch lain sedang di-checkout**: jika worktree berada pada branch selain branch miliknya sendiri yang memiliki commit melewati commit awal worktree, Claude meminta Anda untuk menyimpan atau menghapus worktree. Jawaban mana pun tetap menyimpan branch lain tersebut beserta commit-nya. Menghapus menghapus direktori worktree dan branch milik worktree itu sendiri, yaitu branch yang Claude buat bersamanya

61* **Status worktree tidak dapat diverifikasi**: ketika Claude Code tidak dapat menghitung perubahan worktree atau tidak dapat memeriksa checkout submodulnya, Claude meminta Anda daripada menghapus worktree secara otomatis. Prompt tersebut menyebutkan apa yang tidak dapat diperiksa62* **Status worktree tidak dapat diverifikasi**: ketika Claude Code tidak dapat menghitung perubahan worktree atau tidak dapat memeriksa checkout submodulnya, Claude meminta Anda daripada menghapus worktree secara otomatis. Prompt tersebut menyebutkan apa yang tidak dapat diperiksa

62 63 

63Jalankan non-interaktif dengan `-p` tidak memiliki prompt keluar, jadi Claude tidak membersihkan worktrees mereka, dan Claude Code meninggalkan kunci yang diambilnya pada setiap satu saat pembuatan di tempat sampai [sapuan kunci basi](#clean-up-subagent-and-background-session-worktrees) sesi nanti melepaskannya. Untuk menghapus satu, jalankan `git worktree remove`; jika git menolak karena worktree terkunci, jalankan `git worktree unlock` padanya terlebih dahulu.64Jalankan non-interaktif dengan `-p` tidak memiliki prompt keluar, jadi Claude tidak membersihkan worktrees mereka, dan Claude Code meninggalkan kunci yang diambilnya pada setiap satu saat pembuatan di tempat sampai [sapuan kunci basi](#clean-up-subagent-and-background-session-worktrees) sesi nanti melepaskannya. Untuk menghapus satu, jalankan `git worktree remove`; jika git menolak karena worktree terkunci, jalankan `git worktree unlock` padanya terlebih dahulu.